|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Результаты опроса: Какой язык перспективен для инженера-конструктора? | |||
С/С++ | 57 | 14.69% | |
Delphi | 17 | 4.38% | |
Пайтон | 39 | 10.05% | |
Фортран | 1 | 0.26% | |
Basic/VB/VBA/VB.NET | 93 | 23.97% | |
джава | 7 | 1.80% | |
другой, какой - см. по тексту | 29 | 7.47% | |
матерный | 145 | 37.37% | |
Голосовавшие: 388. Вы ещё не голосовали в этом опросе |
Поиск в этой теме |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588
|
Цитата:
ИМХО, Вы путаете сам ЯЗЫК ПРОГРАММИРОВАНИЯ с МЕТОДАМИ ВЗАИМОДЕЙСТВИЯ этого языка с окружающим миром. Попробую пояснить, VBA взаимодействует с AutoCAD по средством COM, для наглядности это можно представить как будто автокад, это кукла на верёвочках, а VBA это кукловод. От смены кукловода, поведение куклы практически не измениться, останутся все те же веревочки и все тот же ограниченный набор команд. По этому, не имеет значение по средством какого языка взаимодействовать с COM автокада, смысл и объем написанного кода будет одинаковый, хоть на VBA, хоть на Java, хоть на С#, а вот синтаксис будет несколько отличаться. Однако топик все таки про ЯЗЫК ПРОГРАММИРОВАНИЯ, а не про модель взаимодействия. |
|||
|
||||
Регистрация: 05.11.2015
Сообщений: 585
|
Цитата:
Цитата:
А если результат одинаков, так в чем смысл? |
|||
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588
|
Объем кода одинаковый, отличие в одной строчке (20), получающей объект автокада для работы, в VBA точно так же подключаются, скажем, к Excel.
Это ничего не меняет. При желании все то же самое можно уместить в 3 строчки: Код:
Смысл в том, что помимо веревочек, у куклы есть еще и серводвигатели, а вот доступ к ним возможен только через .NET API и один раз выучив С# у кукловода есть выбор чем пользоваться и как, а вот выучив VBA выбора нет. В пример могу привести работу со SCAD, спасибо DEM он выложил обертки доступные из под .NET и появилась возможность прямо из автокада работать со скадом, увы в VBA такое не доступно. Последний раз редактировалось Boxa, 10.02.2017 в 08:41. Причина: стилистические ошибки поправил |
|||
|
||||
Регистрация: 18.12.2010
Сообщений: 5,047
|
В VBA сильно куцый ООП - как только пытаешься написать, нечто больше пары функций, начинаешь грязно ругатся матом
Попробуй переписать на VBA - этот код В .NET есть XAML Последний раз редактировалось trir, 10.02.2017 в 08:43. |
|||
|
||||
Проектировщик электрических сетей Регистрация: 17.01.2014
Пенза
Сообщений: 176
|
Складывается чувство что Вы взрослый специалист, с огромным багажом программ и знаний в области VBA. Вам переходить не надо, нет профита, судя по видео Вы уже творите чудеса в автокаде с помощью VBA. Я и наверное остальные пытаются объяснить что надо изучать новичку! Тема то "Какой язык перспективен для инженера-конструктора" такой вопрос наверное задает новичок, и ему надо советовать то что хотя бы развивается в данный момент и в будущем дать максимальные возможности. У С# возможностей больше, я не могу объяснить каких, просто я не настолько крут как другие, но даже для меня это ФАКТ!
А для Вас с Вашим багажом знаний VBA конечно лучше, Вы его знаете от и до. И если я начну что то делать на С#, то Вы 100% обставите меня на VBA и по качеству и по времени разработки. Но не путайте новичков, признайте C# перспективнее! |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,006
|
VBA как лисп - кто-то вообще не смог осилить, кто-то пишет маленькие вспомогательные программки-макросы, кто-то достиг определенных высот и благодаря опыту и накопленным рабочим функциям/библиотекам может написать весьма продвинутые вещи. Но большинство требуемых функций в этих языках придется реализовывать самому, либо искать готовые и тестировать - насколько они подходят. В Net приходиться затратить больше времени на первоначальное "вхождение" в язык программирования - но потом с "удивлением" обнаружите, что многие вещи уже написаны до вас на уровне фреймворка Net. А чтобы допилить их под свои нужды - нужно написать всего десяток-другой строк, а не целые библиотеки в несколько сотен или тысяч строк. А сравнив скорость набора кода даже в бесплатных средах разработки под Net и в редакторе VBA - еще больше удивитесь.
WPF, наверно? Ну для начинающих и старой технологии WinForms будет достаточно на первое время - сразу освоить и Net язык, и WPF для "не программистов" будет трудновато, имхо. |
|||
|
||||
Регистрация: 05.11.2015
Сообщений: 585
|
Цитата:
Сообщение от Владимир_М И все-таки хочу повторить свою мысль. Важно определиться сначала с уровнем решаемых задач. Если речь именно о конструкторе, которому нужны всего лишь какие-то чертилки, параметризация каких-то конструкций, то может вполне хватить и VBA Цитата:
Далее объем и синтаксис. Цитата:
Ну, если построчно не доходит, посчитайте по буковкам. (До какого только маразма не дойдешь, если человек не хочет согласиться с очевидным!) Dim circleObj As AcadCircle или private AcadCircle circleObj = defgault(AcadCircle); Ну, посмотрите просто по длине одной и той же по смыслу строки? Какая длинней? Видно? Или посчитать в буквах? Какая из строк понятней будет для конструктора начинающего программировать? В коде справа одних только скобок три разных вида! И точки с запятой понатыканы, без которых VBA обходится. И с этим будете спорить?! Последний раз редактировалось Владимир_М, 10.02.2017 в 11:04. |
|||
|
||||
Регистрация: 05.11.2015
Сообщений: 585
|
Цитата:
Не то что перписывать не буду , но даже и смотреть ссылку не стану, поскольку и не утверждал, что смогу написать на VBA все, что только возможно на тех же языках высокого уровня. |
|||
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588
|
Вопрос про перспективность, выучив C# , конструктор, в перспективе, может взаимодействовать с расчетными программами и на основе данных расчета, выполнять автоматическую отрисовку элементов. В вба с этим сложно.
Я не спорю с Вами и не пытаюсь затащить Вас на сторону С#, Я пытаюсь новичков отговорить от VBA, т.к. считаю, что у VBA нет перспективы и знаю, что С# на начальном этапе освоить не сложнее чем VBA. |
|||
|
||||
Регистрация: 05.11.2015
Сообщений: 585
|
Да почему не надо. Вот возникла задача по программированию под Ревит, ну и см. видео выше, там где целиком модель моста в 3д делается. И С# и WPF.
Цитата:
Цитата:
никого не путаю абсолютно. ПРИЗНАЮ что С# перспективней. Но есть еще такие выражения в обиходе на этом же форуме про микроскоп и гвозди, или в народе про стрельбу из пушки по воробьям. Определите дичь сначала, на которую охотиться собираетесь, и выбирайте тогда уж соотвествующее оружие. |
|||
|
||||
Проектировщик электрических сетей Регистрация: 17.01.2014
Пенза
Сообщений: 176
|
Полностью согласен.
Сужу по себе, больше всего время трачу не на синтаксис(написание лишних 20 символов, ну и пускай 5 строчек), а на поиск оптимальных решений, на математику, на геометрию и т.д. После нескольких сот строчек кода синтаксис становится понятным и логичным. Опять же так отличная среда разработки, ускоряет разработку в разы. |
|||
|
||||
Жалкий инженеришка-проектаст Регистрация: 31.01.2010
Сообщений: 1,986
|
Иногда использую VBA в экселе. Функцию какую-то добавить и тд. В эти "волшебные мгновения" нецензурно ругаюсь.
В принципе, логарифмической линейкой и бухгалтерским калькулятором тоже можно пользоваться, особенно людям не молодым, как я и которые к этому привыкли. Которые к этому не привыкли лучше не надо. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,006
|
Цитата:
Цитата:
Код:
Код:
{} - начало и конец программного блока () - начало и конец записи аргументов [] - массив/индексация если подобное для человека составляет непреодолимое затруднение - то что ему вообще с такими "способностями" в программировании делать? |
|||
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588
|
Цитата:
Сравните конструкции if(a>b){} и If a> b then End IF Когда на экране много буковок, глаз замыливается и основного кода уже не видно. А по поводу точки с запятой, то такая форма позволят удобно форматировать код и работать с многострочным текстом удобнее, не более того. Последний раз редактировалось Boxa, 10.02.2017 в 11:36. |
|||
|
||||
Регистрация: 05.11.2015
Сообщений: 585
|
Цитата:
|
|||
|
||||
Регистрация: 05.11.2015
Сообщений: 585
|
Цитата:
----- добавлено через ~2 мин. ----- тоже согласен - хороший аргумент |
|||
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588
|
Действительно лукавите или не понимаете о чем пишите.
Хотите наглядный пример краткости в С#, у меня есть. Вот реализация задачи из этой темы, в VBA стиле и в .NET использованы только встроенные классы Код:
Последний раз редактировалось Boxa, 10.02.2017 в 12:22. Причина: VBA код привел в рабочее состояние |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Хе-хе... Вот все эти скобочки (то фигурные, то простые), точечки, "точечки с запяточечкой" и прочие элементы синтаксиса почему-то пугают. Кого-то и Лисп скобочки пугают. Но это же самое простое, то, к чему привыкает человек через пару дней. Как первоклассники мгновенно привыкают ходить в школу сами после детсада.
Важнее другое. Например после "безалаберных" бейсиков всех пород, где можно не объявлять переменные вообще или объявить где угодно, безалаберным бейсик-программерам трудно привыкнуть к строго типизированным языкам (которых сейчас большинство). Но обязательное объявление переменных в одном месте спасает от огромного количества ошибок. Что касается VBA, то надо помнить, что это Visual Basic for Application. Не такой уж "Visual", но только для приложений, т.е. внутри ограниченного круга программ. Посвятив ему "всю жизнь" можно оказаться у разбитого корыта. Самостоятельных программ, даже вычисляющих одну формулу, в нем не сделать. Если кто-то делает много наработок под MS Office - тому и деваться некуда, только VBA. Но уже для AutoCAD имеется богатый выбор. Работая в нем с .NET человек получает опыт, который использует и для самостоятельных программ. А жизнь впереди длинная и надо думать именно о перспективе. |
|||