Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.26;
Скачать: CL | DM;

Вниз

Важно! Вопрос не по программированию. 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;
Скачать: CL | DM;

Наверх




Память: 0.61 MB
Время: 0.062 c
15-1141281222
Holy
2006-03-02 09:33
2006.03.26
Однобитный ЦАП как работает?


2-1141896678
VitV
2006-03-09 12:31
2006.03.26
Использование LookUpField с отображением в dbgrid


15-1141621833
Новичоккк
2006-03-06 08:10
2006.03.26
Ассемблер


1-1140953091
Vad3
2006-02-26 14:24
2006.03.26
CodeSite и утечки памяти


2-1140436679
alex111
2006-02-20 14:57
2006.03.26
Как сравнить время