|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|
Быстрый старт в изучении C++ для относительно опытных программистов Basic18.04.2020, 16:11. Показов 14733. Ответов 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) Книги или справочники для опытных(или проффесиональных) программистов! |
|
Модератор
|
|||
| 27.04.2020, 12:42 | |||
|
0
|
|||
|
Модератор
|
|||||||
| 27.04.2020, 13:40 | |||||||
|
Пример который привел ты решается просто:
0
|
|||||||
|
|
||||||||
| 27.04.2020, 14:19 | ||||||||
|
Я конечно удивился, учитывая что судя по коду ссылки это указатели на объекты, но подумал может есть какая-то лазейка позволяющая использовать их как обычные указатели.
0
|
||||||||
|
Модератор
|
|||||||
| 27.04.2020, 15:02 | |||||||
|
Реальная задача к примеру, динамическая загрузка сущностей и работа с ними. В C это решается к примеру через загрузку динамических библиотек с фиксированным импортом и вызов функций по указателю. В VB6 это решается аналогично только используя ссылки на объекты из библиотек и вызов методов фиксированных интерфейсов. Вместо указателя на любой тип данных нужно иметь указатель на объект олицетворяющий это тип данных. Это безопаснее, это гибче. Если у тебя возникает в программе задача использовать указатель, просто подумай об этом через концепцию безопасного программирования VB6 и ты сможешь эту задачу решить через ссылки.
0
|
|||||||
|
|
|||||||||||||||||||||||
| 27.04.2020, 16:05 | |||||||||||||||||||||||
|
Вот допустим как я эту задачу решу на PB.
Если посмотреть проекты в вашем блоге, можно найти множество где производится работа с памятью. Как же концепция безопасного программирования? ![]() ![]()
0
|
|||||||||||||||||||||||
|
Модератор
|
|||||||||||||
| 27.04.2020, 16:40 | |||||||||||||
|
Во-вторых, я не являюсь программистом с которого возможно нужно брать пример. Есть куча безопасных аналогов того как можно сделать вещи которые делаю я придерживаясь концепции безопасного программирования VB6. Я просто почти не использую дополнительные библиотеки (в проекта в своем блоге) которые специально предназначены для этого и которые многократно ускоряют разработку приложений на VB6. К примеру vbRichClient5, VBCorLib библиотеки содержат огромное количество готовых вещей и тебе при использовании их возможно ни разу не придется обратиться к WinAPI.
0
|
|||||||||||||
|
|
||||||||||
| 27.04.2020, 17:18 | ||||||||||
0
|
||||||||||
|
Модератор
|
|||||
| 27.04.2020, 17:36 | |||||
|
0
|
|||||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|||
| 27.04.2020, 18:37 [ТС] | |||
То же самое и с подключением словарей в SAPI_5.4. Написано много, а вот как конкретно подключить словарь к движку непонятно.
0
|
|||
|
Модератор
|
|||
| 27.04.2020, 21:08 | |||
|
Как видишь никаких предупреждений нет.
0
|
|||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|||
| 27.04.2020, 21:35 [ТС] | |||
0
|
|||
|
Модератор
|
||
| 27.04.2020, 22:07 | ||
|
Такие ошибки очень трудно найти, поэтому ручное управление памятью небезопасно. Представь что к примеру по тому смещению куда я записал значение, какие-то важные данные, и падение не произошло? Может случится все что угодно, вплоть до потери всех данных в приложении или нарушение работы системы, да вообще все что угодно. Данную уязвимость могут эксплуатировать злоумышленники и украсть у тебя пароли/деньги/и т.д. А теперь попробуй вот также вот, придерживаясь концепции безопасного программирования) проделать все тоже самое в VB6.
0
|
||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
||
| 27.04.2020, 22:55 [ТС] | ||
|
0
|
||
|
Кормпилятор
|
||
| 27.04.2020, 23:49 | ||
|
и не формализовал задачу заранее(потому что мне не понятно как можно сделать всё по науке и криво вбить потом в код, это редкая халатность). По той же самой причине(по криворукости) неверный алгоритм может также не дать сбой и на обычных структурах языка, а потом выдать себя на важных данных. В указатели просто так не лезут, это всегда кастомная структура данных и всегда какие-либо требования к оптимизации кода. Поэтому вся эта "безопасность" - человеческий фактор. Не стал бы лезть в указатели например, ради того, что можно сделать на простых массивах. Потому что массивы есть везде и на них можно строить более простой и независимый от ЯП код. Но например, если нужно сделать быстрый обсчёт разношёрстных данных и хочется, чтобы оно ещё и быстро работало, тут придётся возиться с указателями. Потому что доступ к массиву, например, будет внутри себя делать умножение(если структура нестандартного размера), а посредством указателя можно пройтись точечно по нужным полям, просто прибавляя к указателю необх. значение. Или заменить умножение комбинацией битовых сдвигов или таблицы. В ряде случаев просто предпочту указатели, хоть и радости в возьне с ними крайне мало. Тут ещё был диалог про пользователя. Так вот, поймите мужики, пользователю по хорошему до фени все эти фреймворки фигеймворки, рантаймы, dll-ы и прочее барахло. Он выкачивает архив и хорошо если там один файлик с именем install.exe или аналогичное куда надо ткнуть и получить результат, а не помойка из dll и прочих разных файлов в корне, с кучей непонятных экзешников и т.п., да ещё и где-то в разных папках(или вообще не упомянутое) лежит то, что надо установить руками, что потребует времени, место на диске(которого может не быть) и бог знает чего ещё, вплоть до прав админа и доступа к интернету. Тут можно конечно сказать "не ипёт" хочет использовать, пусть соответствует. Но лично сам предпочитаю щедящий подход: Т.е. когда пользователю для работы приложения нужна лишь ОС, с корректно поставленными драйверами, начиная от 2000\XP и выше. Особенно если софт не требует каких-то специфических возможностей либо конкретных ОС, либо конкретной библиотеки. А не просто ради прихоти разработчика(мол вот тут быстрее и безгеморнее разработать).
0
|
||
| 27.04.2020, 23:49 | |
|
набор опытных C++ программистов Приглашаю На работу Опытных Программистов Нужен совет опытных программистов на C# Нужен совет опытных программистов
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Remote Connection Manager
DevAlt 21.06.2026
Написал для себя небольшую прилагу:
https:/ / github. com/ altbodhi/ ReConMan
По итогу пришел к мысли, что DU не дружат с существующими технологиями.
От сериализации до отображения в реляционную. . .
|
Администрация Хабра удаляет новые алгоритмы, которые не западно ориентированной философии кода, без уведомлений и объяснений.
Hrethgir 20.06.2026
Делается это, как замечено, при правках - при объявлении концептуальных отличий в алгоримах. Делается это, по линейке событий - после дополнения публикации основными отличиями от основных западных. . .
|
Процесс ориентированная диалектика (не новость - просто системное обновление, философия).
Hrethgir 20.06.2026
Однажды один участник в своём блоге, на этом форуме, сделал запись "О языках замолвите слово". Понимая, что язык - важная вещь, я решил хорошо подумать, прежде чем сказать, и сказал то, что вы видите. . .
|
Контроль уникальности строк в табличной части документа
Maks 18.06.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ПланированиеСпецтехники" с табличной частью "НаличиеОборудования", разработанного в КА2.
Задача: контроль уникальности строк в. . .
|
|
Клиент
Uhbif79 18.06.2026
Здесь простой клиент для работы с сервером.
|
Сервер
Uhbif79 18.06.2026
Выкладываю простейший сервер.
|
Дефенестрация
kumehtar 18.06.2026
Узнал интересное слово. Дефенестрация. Это когда ты выбрасываешь кого-либо или что-либо из окна. Возьму на вооружение)))
|
Дихотомия добра и зла
kumehtar 18.06.2026
Как Дзен-буддисты говорят о добре и зле: не нужно воевать против зла, нужно воевать против невежества. Тогда добро станет ествественным, и поэтому вечным. Но дело в том, что невежество всё время. . .
|