|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|
Быстрый старт в изучении C++ для относительно опытных программистов Basic18.04.2020, 16:11. Показов 14853. Ответов 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 | |
|
набор опытных C++ программистов Приглашаю На работу Опытных Программистов Нужен совет опытных программистов на C# Нужен совет опытных программистов
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу)))
Критические ошибки, мешающие компиляции и. . .
|
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата)
Этот документ предназначен для того, чтобы новый чат Claude мог продолжить
работу без необходимости заново разбираться в. . .
|
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса
Калибровка параметров симбиотической модели: технический обзор
Содержание:
Введение
Постановка проблемы
Технические аспекты реализации
Процесс внедрения изменений
|
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0»
https:/ / ibb. co/ NnkGpfMd
Представленная интегрированная схема описывает непрерывную нелинейную. . .
|
|
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы
### Аннотация
Представлено исследование по разработке агентной модели микоризной. . .
|
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики
Контекст
Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
|
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии
Введение
Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
|
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np
class PlantAgent:
def __init__(self, name, strategy, initial_biomass):
self. name = name
self. strategy = strategy # "greedy" (широколиственные) или. . .
|