|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|
Быстрый старт в изучении C++ для относительно опытных программистов Basic18.04.2020, 16:11. Показов 14308. Ответов 253
Метки basic, c++, c++ для начинающих, com для начинающих, power basic, powerbasic, vb, vb winapi com, vb_winapi_com, visual basic, winapi_com_с++, winapi_com_c++, winapi_для_начинающих, winapi_и_com, азбука com, азбука winapi, заметки недопрограммиста, различие c++ и vb, сходство c++ и vb (Все метки)
В этой ветке предлагаю обсуждать сходства и различия между C++ и Visual Basic.
Ну хотя бы для упрощения процесса изучения параллельного (дополнительного) языка для тех, кто уже относительно неплохо знаком с Visual Basic. Ну просто как-то "не вкусно" начинать изучение совсем уж с нуля, когда, в принципе, уже и без того много знаешь (циклы, ветвления, указатели, видимость переменных ... ). На самом деле, начал сейчас просмортр на ютубе курса по C++. Дядька очень толково и понятно всё объясняет, явно есть у него талант хорошего преподавателя. Самые первые отличия, которые бросились в глаза, это: - комменты обозначают двумя косыми чертами вместо апострофа, - в конце каждой строки точка с запятой, - все процедуры, функции, "тела" циклов ... в фигурных скобках, - вложенные циклы можно описывать одной строкой, - если переменная объявлена, но ей не присвоено значение, то она содержит случайный "мусор" из памяти, а не как у нас в бейсике, где сразу получает значение ноль или пустую строку, - массивы с квадратными скобками вместо круглых, - область видимости переменных ограничена фигурными скобками и причём неважно функция это, цикл или "тело" функции IF, а не как у нас область видимости переменных ограничена только функциями и процедурами. Ветка открытая, пишите кто хочет. Особенно приветствуются советы опытных специалистов, уже овладевших несколькими языками. Ну уж им-то гораздо виднее, в чём сходство и различие разных языков. Сказать по правде, лично мне сейчас C++ и его младший брат нужны, главным образом, для удобства изучения материалов MSDN.
0
|
|
| 18.04.2020, 16:11 | |
|
Ответы с готовыми решениями:
253
предложение для опытных программистов Быстрый старт и софт для Modicon TM251MESE (Schneider Electric) Книги или справочники для опытных(или проффесиональных) программистов! |
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|||||||||||||
| 20.04.2020, 17:27 [ТС] | |||||||||||||
![]() Относительно передачи параметров сейчас собираю материал, чтобы аргументированно открыть ветку на эту тему в общих бейсиках.
И кстати говоря, вы сейчас затронули очень интересный момент. Неужели и правда, в VB есть что-то, чего нет в C++, хотя первый остановился в развитии 22 года назад, а второй развивается до сих пор? Не, ну первое, что приходит мне в голову это упомянутый тип данных Variant, который имеет репутацию очень медленного. Ну а что же ещё-то? И почему не используют? Считают нецелесообразным?
![]() А там ведь, наверняка, нет возможности создать несколько потоков! А у меня же в этом вся соль замысла. Делим весь текст на несколько частей и обрабатываем каждую из них (одновременно!) в отдельном потоке. Скорость же сразу в разы выше. Хотя, я подозреваю, что с внедрением ваших инноваций, потоки и VBA Excel тоже можно будет каким-то образом использовать ![]()
А что касается Power Basic'а, то я вчера был сильно обескуражен, когда обнаружил (а до этого меня, признаться, вообще не интересовал размер моих собственных файлов), что файл, который всего лишь создаёт простое окно и больше ничего не делает, весит в Power Basic'е около 60 Кб, а файл без графики вообще с одним только Msgbox "Hello, world!" весит 17 Кб. Но с другой стороны, исходник, который я на днях здесь выкладывал, содержащий 700 строк кода (с потоками, с полосами прогресса, с обращениями к PDH счётчику загруженности процессора, с "торможением" потоков в зависимости от показаний этого счётчика и подробнейшим отчётом о работе в контрольном файле) весит после компиляции всего 119 Кб. Добавлено через 22 минуты ![]() А вот по поводу ООП в C++ это как раз из серии вопросов, ответы на которые я "всегда хотел знать, но стеснялся спросить" ![]() В VB ООП присутствует по полной программе, неужели в плюсы такие возможности не заложены?! Добавлено через 10 минут
0
|
|||||||||||||
|
|
|||||||||
| 20.04.2020, 17:28 | |||||||||
|
Если отредактировать его и после откомпилировать, получится около 500 байт. Не по теме:
0
|
|||||||||
|
Супер-модератор
|
||
| 20.04.2020, 17:35 | ||
|
1
|
||
| 20.04.2020, 17:41 | ||
|
Не по теме:
0
|
||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
||||||||
| 20.04.2020, 18:06 [ТС] | ||||||||
![]() ![]() ![]() Добавлено через 21 минуту Не по теме:
0
|
||||||||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
||||
| 20.04.2020, 18:30 [ТС] | ||||
|
Добавлено через 9 минут ![]() Месяц назад предпринял очередную попытку, дочитал до главы по DLL и SLL и сдулся
0
|
||||
| 20.04.2020, 19:23 | ||
|
Не по теме:
Много лет назад проводили сравнение разных бейсиков http://www.vbnet.ru/articles/S... spx?id=220 С того времени многое могло изменится и в текущих версиях цифры будут другие. Но том не менее, PowerBasic не на вершине списка.
0
|
||
|
Супер-модератор
|
||||
| 20.04.2020, 19:58 | ||||
|
0
|
||||
|
Модератор
|
|||||||||||
| 20.04.2020, 21:06 | |||||||||||
|
1
|
|||||||||||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|||||||||||||||||||||||||||||||||||||||||
| 21.04.2020, 01:12 [ТС] | |||||||||||||||||||||||||||||||||||||||||
![]() Но вам верю! ![]()
![]() Вот для вас это "библия", потому что вы, наверняка, первый раз прочитали эту книгу, когда процентов 90 изложенной в ней информации ещё было актуально, а теперь возможно заглядываете лишь изредка. Ну а мне-то каково сейчас окунаться в царство Windos 95, приправленное постоянными упоминаниями Win16? Ну "не вкусно" это читать в 21-ом году 21-го века из системы Win_10_64 ![]() А там же ведь ещё постоянные отсылки к его же книжке по Win16. Ну вот и думаешь, может быть я сейчас ничего здесь не пойму, потому что ту его книжку сначала не прочитал. И первые 4 главы тоже хрен пропустишь, потому что написано же: обязательно прочитай, а то дальше ничего не поймёшь! ![]() А вот кстати, он там постоянно рекомендует использовать свой самодельный API32.TXT вместо "штатного" Win32API.TXT. Имеет смысл? Добавлено через 52 минуты Не по теме:
Добавлено через 2 часа 8 минут ![]()
Ну если это действительно так, тогда, пожалуй и правда, имеет смысл использовать самую последнюю версию C++, хоть и много места займёт на диске десктопа.
![]()
На интерпретаторе VBA Excel несколько потоков запустить не получится без использования опять же WINAPI или каких-нибудь ещё "премудростей".
Вот те раз, а я уже привык, мне понравилось ![]()
![]() ![]() Добавлено через 11 минут
0
|
|||||||||||||||||||||||||||||||||||||||||
|
63 / 48 / 12
Регистрация: 28.12.2014
Сообщений: 270
|
|
| 21.04.2020, 08:58 | |
|
Говоря про книги, имел ввиду в основном Эплмана. Для IDE, которому 22 года, и нет аудитории, которой можно было бы адресовать книгу/ги смысла осовременивать что-то нет. В API вьюире нет всех объявлений для интерфейсов винды, на мой взгляд, нужно уметь их переводить на VB. Эплман рассчитан на подготовленного читателя, другой может не понять не разобраться, а так, опять же на мой взгляд, все там есть. Если что-то непонятно, то можно спросить на форуме. Либо изучать вдумчиво, любознательно, основательно. Знания, обычно, приобретаются тяжелым трудом, сами собой не приходят.
Условно, опять же, можно сказать, что VB мертв, но, если рассмотреть VB.net, можно и не согласиться с данным утверждением. Под VB.net, скажем, есть все что нужно и в современном виде. Можно его изучать. Но, если ставить вопрос изучения нового языка, возможно, что VB.net не самая лучшая кандидатура.
0
|
|
|
|
||||
| 21.04.2020, 11:01 | ||||
|
0
|
||||
|
Модератор
|
||||||||||||
| 21.04.2020, 11:12 | ||||||||||||
|
Добавлено через 1 минуту
0
|
||||||||||||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|||||||||||
| 21.04.2020, 17:30 [ТС] | |||||||||||
![]() Поэтому для меня это выглядит как книга по радиолампам в эпоху полупроводников, например. Ну там же тоже, наверняка, много чего полезного можно почерпнуть. Законы Кирхгофа, расчёт цепей, да и много ещё чего другого, наверняка. Читая Эплмана, сразу, например, понятно, что Win16 уже точно не используется, и такие отрывки книги можно смело пропускать, но вот всё остальное посвящено Windows 95. Что там устарело уже окончательно, а что нет, совершенно не понятно. Вот именно это и демотивирует. ![]() Добавлено через 27 минут
![]() А если серьёзно, то сишная рантайм-библиотека всё-таки присутствует (и всегда будет присутствовать) во всех версиях Windows и не занимает так много места как фреймворк.
![]() Просто хочется найти какой-нибудь оптимальный вариант, чтобы одновременно и места на диске не слишком много занимало, и хорошие перспективы были открытыми на тот случай, если мне всё-таки когда-нибудь захочется написать что-то и на С++ тоже.
0
|
|||||||||||
|
|
|||
| 21.04.2020, 17:41 | |||
|
0
|
|||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|||||
| 21.04.2020, 19:41 [ТС] | |||||
![]() Кстати, на днях смотрел несколько очередных уроков на ютубе. На этот раз про стек и про рекурсию. Ну и про переполнение стека заодно, как резульат неправильного использования рекурсии. Ну вот как раз пример того, что изучать новый язык совсем уж "с нуля" или уже имея определённый опыт в других языках, это всё-таки большая разница. Стек же он и в Африке стек Хоть в С++, хоть в VB. И про рекурсию и переполнение стека можно сказать то же самое. Так что это смело можно отнести к сходству двух этих языков. Хотя, конечно, в С++ содержимое стека, наверняка, можно "потрогать ручками", а в VB такое вряд ли возможно. Ну это можно записать в различия. Преподаватель тот про это не рассказывал пока, но я и сам уже догадался.Следующий урок про применение рекурсии функций для вычисления факториалов ![]() Смутно припоминаю, что давным-давно еще в институте на уроках программирования нам предлагали похожую задачу. Ну ни разу в жизни даже близко не понадобилось ничего подобного. Да и вообще я когда-то где-то прочитал, что надо стремиться к максимальной простоте кода, чтобы потом через несколько лет сам же смог в нём легко разобраться. Ну вот и придерживаюсь с тех пор этого правила.
0
|
|||||
|
|
||
| 21.04.2020, 22:08 | ||
|
Читал, что умеет она в несколько потоков, кто то писал, что даже 8. Лично я не смог её заставить так делать. Ну, знакомство было шапошное, чисто посмотреть. Накидал на коленке свой код, потому, что не дает покоя эта многозадачность. Вызвать процедуру записи в wav в несколько потоков без ошибок мне так и не удалось. Я понял, что с одним экземпляром движка это не сделать в принципе. Надо каждый раз инициализировать новый экземпляр SAPI5, после отработки его удалять, и всё это надо в потоке, которому передать параметры и следить за его работой! Сложности не соизмеримые с результатом. Гораздо проще написать отдельный exe-шник (к стати, всего 15 Кб вышел), который управляется с параметрами ком. строки, и уже из основной программы управлять его запусками. В принципе то же самое делает MP3book2005, когда кодирует lame.exe в mp3, значит ни чего зазорного в этом нет. Когда концепция выстроилась, дальше уже дело техники. Заложил я 10 потоков, загрузил нашего Льва Толстого "Война и мир" оба 2 тома. Разбил по 100 строк - 127 штук вышло. Это такие характеристики текста : 12 573 строки, 1 483 566 символов, ~ 25 часов чтения голосом. Голос Николай отработал за 6.38 минут Мой 4-х ядерный i5 грузился от 8% до 50%. Т.е смело могу ещё + 8 потоков накинуть, и за 3 минуты закодировать!. Голос Алёна 22k, более современный, грузил комп на 98-100%, при 10 потоках работал 6.91 минуту, считай на пределе. Теперь MP3book2005, работал 32 минуты, грузил комп на 25%. Т.е. по всему видно в 1 поток, и если бы на 1 ядро, то 100% загрузка. В общем это я к тому, что задачу можно распараллелить, но проще это сделать способом как я. Смысл соревнования есть, MP3book2005 не шибко быстрая.
1
|
||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|||||||
| 21.04.2020, 23:23 [ТС] | |||||||
![]() Взаимодействие с WINAPI всегда под рукой, а если что, то можно же ещё и DLL-айки подключать, написанные хотя бы на том же PowerBasic'е.
![]() Но сейчас просто ситуация такая, что я ничего нового не программирую, а только старый проект "до ума довожу", а там всё взаимодействие с COM и с WINAPI уже худо-бедно организовано. Так что, примеров, как выяснилось, вот прямо сейчас привести не смогу. Даже пытался специально найти те места, где у меня были сложности, и не нашёл. Сомнительные места кода удалены вместе со "следами преступлений" Так что пока тему проблемы передачи параметров в COM и WINAPI временно открывать не буду. Открою, когда возникнет первая же подобная трудность.
0
|
|||||||
| 21.04.2020, 23:23 | |
|
Помогаю со студенческими работами здесь
40
набор опытных C++ программистов Приглашаю На работу Опытных Программистов Нужен совет опытных программистов на C# Нужен совет опытных программистов
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|