Форум: "Прочее";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];
ВнизВажно! Вопрос не по программированию. Delphi или VB? Найти похожие ветки
← →
isasa © (2006-02-27 23:13) [40]atruhin © (27.02.06 18:18) [34]
А разве есть в VB проблеммы с колбэками? На VBA я без проблем использовал, перечислял установленные в системе шрифты, и отображал в экселе.
В VBA (Office) те же "проблемы" с variant(dim i,j as integer) :)
← →
Petr V. Abramov © (2006-02-27 23:39) [41]Delphi - это круто.
Но писАть учитесь на VB.Net
Но если хотите учиться программировать, учитесь на Delphi. А потом - смело на VB.Net
← →
palva © (2006-02-28 00:47) [42]Dmitrij_K (27.02.06 14:46) [3]
> Delphi создает чисто машинный код, непосредственно исполняемый компьютером, в то время как VB транслирует исходный код в промежуточную форму (р-код).
Эта информация устарела лет этак на 10, поскольку относится к 3-й версии VB (см. далее имя файла VBRUN300.DLL с номером версии). А сейчас пишут на 6-й версии, которая позволяет выбрать, во что компилировать EXE: в p-код или native-код. По скорости выполнения код VB ничем не уступит Delphi. Проведите эксперименты и убедитесь. Библиотека, которую приходится таскать вместе с приложением называется теперь msvbvm60.dll и занимает 1386496 байт. Зато пустое оконное приложение занимает несколько десятков килобайт.
С Callback в VB тоже проблем нет: имеется оператор AddressOf. Он правда не документирован, но это другой вопрос.
← →
Real © (2006-02-28 03:23) [43]
> ...VB все гораздо проще делать; типа, бейсик автоматом проверяет
> синтаксис строки, при переходе на следующую...
Ужасно-неудобная настройка принятая в васике по умолчанию. Бывает, надо несколько строк налепить по схожему шаблону, в любой другом языке - копи/пэст, а васик - не! Окошко выбросит, исходник красным перекрасит... Хорошо еще это опция выключается... Но кто сказал что это относится к УДОБСТВАМ, тому я согласен - лучше писать только на ВБ.
← →
vidiv © (2006-02-28 04:23) [44]Я тоже начинал с vb. Мне так хотелось писать програмки с окошками под windows, делал презентации с фоном на весь экран и делал там уже скрипты. Потом только получил заветный delphi 5 и с тех пор на нем и пишу. Нежалею.
← →
MegaVolt © (2006-03-01 12:18) [45]Вот статья со сравнением по скорости различных сред программирования:
http://www.rsdn.ru/article/devtools/perftest.xml
← →
Megabyte © (2006-03-01 15:22) [46]Хоть и считаю себя убежденным дельфистом, недавно открыл для себя VB. :)
Просто в книжке по COM/COM+ были примеры на С++ и VB(клиенты на VB замечательно писать; + инициализация и деинициализация системы времени выполнения COM происходит автоматически). Думаю, будет полезно знание этого языка. Тем более часто применяется VBA там, где используются программы из MS Office(отчеты в Excel).
Короче, с Дельфи он не конкурирует, а дополняет имхо.
← →
Курдль © (2006-03-01 15:34) [47]Считаю подобный вопрос смехотворным, однако прошу уточнить, где это обсуждалось про "try не работает...". И еще какие косяки в Делфи замечены профессионалами от VB?
Я сам уже на делфях почти не работаю, но отношусь к этой среде крайне уважительно.
← →
Danilka © (2006-03-01 15:50) [48]http://russian.joelonsoftware.com/Articles/HowMicrosoftLosttheWaronA.html
Если вы занимались разработкой настольных приложений в ранних версиях Windows, то Microsoft предлагал вам два пути: написать код на С, напрямую вызывающий Windows API, и самостоятельно управлять вашей памятью, или использовать Visual Basic, который будет управлять памятью за вас. Эти две среды разработки я использую чаще всего последние лет тринадцать, я знаю их вдоль и поперек, и мой опыт показывает значительно большую продуктивность Visual Basic. Часто я писал один и тот же код, на С++, вызывая Windows API, и на Visual Basic. На С++ всегда требовалось в три-четыре раза больше работы. Почему? Управление памятью. Самый легкий путь понять почему – взглянуть на документацию к любой функции Windows API, возвращающую строку. Посмотрите внимательно как много дискуссий о том, кто должен выделить память под эту строку, и как вам договариваться о размере выделяемой памяти. Обычно, вы вызываете функцию дважды, в первый раз вы сообщаете, что выделили ноль байт, и она возвращает вам ошибку «недостаточно выделенной памяти», а также говорит, сколько памяти вам необходимо выделить. Это в том случае, если вам повезло, и не надо не вызывать функцию, возвращающую список строк или даже структуру переменной длины. В любом случае, простая операция открытия файла, записи строки и его закрытия займет страницу кода, если используется чистый Windows API. На Visual Basic подобная операция займет три строки.
Итак, у нас два мира программирования. Большинство решило, что мир управляемого кода лучше мира кода неуправляемого. Visual Basic был (и вероятно остается) первым из числа самых продаваемых языков программирования всех времен; для разработки под Windows программисты отдают предпочтение ему, а не С или С++, не смотря на то что, крутые программисты избегали его, так как в названии присутствует слово «Basic» (элементарный), хотя это был весьма современный язык с чертами объектно-ориентированности, с очень малым количеством оставшейся грязи (номера строк и оператор LET исчезли как утренний туман). Еще одна проблема заключалась в необходимости снабжать программу специальной VB-библиотекой, что имело значение при передаче программ по модему, но хуже того, позволяло другим программистам увидеть, что ваше приложение было разработано (какой стыд!) на Visual Basic.
← →
Курдль © (2006-03-01 15:52) [49]
> Danilka © (01.03.06 15:50) [48]
А кто сказал, что Windows API - это правда последней инстанции?
← →
Никита © (2006-03-01 15:54) [50]VB мертв. Delphi\Pascal forever
← →
Danilka © (2006-03-01 16:02) [51][49] Курдль © (01.03.06 15:52)
Ты о чем? :)
Я увидел крики о том, как фигово, что низзя в ВБ пользовать ВинАПИ, калл-бак функции и асм, вот и решил вставить то, что читал ранее и с чем, вобщем-то, согласен.
Жаль, Джоэль на Дельфи не работал.
[50] Никита © (01.03.06 15:54)
> VB мертв
Из той-же ссылки:И вот пришел .NET. Это был великий проект, супер-пупер унифицирующий проект, призванный расчистить эту кашу раз и навсегда. Конечно, с управлением памятью. Останется и Visual Basic, но он заполучит новый язык, по духу фактически тот же Visual Basic, но с новым С-подобным синтаксисом фигурных скобок и точек с запятой. Самое главное, новый гибрид Visual Basic и С будет называться Visual C#, так что вам больше не придется говорить, что вы программируете на Бейсике. Все эти ужасные Windows функции, ошибки обратной совместимости, и недоступная для понимания семантика возврата строк будут выброшены и заменены единым объектно-ориентированным интерфейсом только с одним видом строк. Одна библиотека для управления всем. Это было прекрасно. И технически они этого добились. .NET – великая среда разработки, управляющая вашей памятью, с богатым, полным и непротиворечивым интерфейсом с операционной системой и богатой, суперполной и элегантной объектной библиотекой базовых операций.
:))
← →
Никита © (2006-03-01 16:09) [52]Лично мне не нравится С подобный синтаксис, но кому как....
← →
Курдль © (2006-03-01 16:16) [53]
> Danilka © (01.03.06 16:02) [51]
> Я увидел крики о том, как фигово, что низзя в ВБ пользовать
> ВинАПИ, калл-бак функции и асм, вот и решил вставить то,
> что читал ранее и с чем, вобщем-то, согласен.
А! Ясно. Сами языки вообще друг от друга мало чем отличаются (если не брать LISP и какой-нить Prolog). Радикально отличаются среды.
Java, например - вылитый C#, однако...
Power Builder силно похож на VC++, однако...
← →
seg (2006-03-01 16:19) [54]Java, например - вылитый C#, однако...
Наоборот C# - клон Java.
← →
Курдль © (2006-03-01 16:21) [55]
> seg (01.03.06 16:19) [54]
> Наоборот C# - клон Java.
Тогда Java клон С++ :)
← →
Курдль © (2006-03-01 16:25) [56]...
А С++ - клон С+
С+ - клон С
С - клон В
В - клон А
А - навороченный MASM, который является клоном ASM-а
← →
wicked © (2006-03-01 16:27) [57]> Курдль © (01.03.06 16:25) [56]
> ...
> А С++ - клон С+
> С+ - клон С
> С - клон В
> В - клон А
> А - навороченный MASM, который является клоном ASM-а
а ASM тогда клон чего?..... и куда приткнуть PDP-11?...... ;)
← →
Никита © (2006-03-01 16:28) [58]Visual Assembler не хотите попробовать? :))))))))))))))
← →
Курдль © (2006-03-01 16:28) [59]PDP-11 это разве не ОС?
← →
isasa © (2006-03-01 16:33) [60]Курдль © (01.03.06 16:28) [59]
PDP-11 это разве не ОС?
Была ОС РВ, и в ней был MASM, Fortran, и с года эдак 1989 Pascal.
← →
Курдль © (2006-03-01 16:35) [61]PDP-11, это кажись вообще процессор. К нему, кажись, была ОС RSX-11M, с которой наши слизали РАФОС и ОСРВ/
← →
isasa © (2006-03-01 16:45) [62]Курдль © (01.03.06 16:35) [61]
PDP-11, это кажись вообще процессор.
Да процессор. Аналог СМ 1420.
← →
Lamer@fools.ua © (2006-03-01 18:10) [63]Дополнение к [36].
>>Сергей М. © (27.02.06 16:11) [27]
>"А уж о какой оптимизации native-кода при этом может идти речь - одному БГ известно."
Вот пример дизассемблированного кода (исходник на C# 2.0, программа отлаживается на P4):toolbar.FloatingLocation = m_floatingLocation;
00000091 lea eax,[edi+14h]
00000094 cmp ecx,dword ptr [eax]
00000096 sub esp,8
00000099 movq xmm0,mmword ptr [eax]
0000009d movq mmword ptr [esp],xmm0
000000a2 mov ecx,esi
000000a4 cmp dword ptr [ecx],ecx
000000a6 call FFF92E84
000000ab nop
toolbar.FloatingSize = m_floatingSize;
000000ac lea eax,[edi+1Ch]
000000af cmp ecx,dword ptr [eax]
000000b1 sub esp,8
000000b4 movq xmm0,mmword ptr [eax]
000000b8 movq mmword ptr [esp],xmm0
000000bd mov ecx,esi
000000bf cmp dword ptr [ecx],ecx
000000c1 call FFF92E98
000000c6 nop
Как видно, в наличии имеется использование SSE регистров.
← →
DesertAlex (2006-03-03 18:11) [64]
> Считаю подобный вопрос смехотворным, однако прошу уточнить,
> где это обсуждалось про "try не работает...". И еще какие
> косяки в Делфи замечены профессионалами от VB?
> Я сам уже на делфях почти не работаю, но отношусь к этой
> среде крайне уважительно.
try не работал только из под делфи (exe работал), пока не снял галочку в тулс\дебагер опшнс\ленгвич эксепшенс - стоп он делфи эксепшонс...
сорри, что не по английски :-)
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];
Память: 0.59 MB
Время: 0.049 c