Форум: "Прочее";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];
ВнизВажно! Вопрос не по программированию. Delphi или VB? Найти похожие ветки
← →
DesertAlex (2006-02-27 14:35) [0]сейчас пытаюсь осваивать DELPHI, до этого немного писал на VB. Большинство моих знакомых тоже пишут на VB. постоянно выслушиваю от них нарекания по поводу моего выбора Delphi. "типа, VB все гораздо проще делать; типа, бейсик автоматом проверяет синтаксис строки, при переходе на следующую, переменные форматирует так, как ты их объявил... и т.д. и т.п." а на мой довод, что программы написанные на делфи не требуют установки специальных библиотек, достаточно exe-ка, говорят, что профеcсионалы все равно делают проги с инсталятором, а там типа все прописывается...
вот и сейчас, мой коллега, увидел коментарий по поводу моего сегодняшнего вопроса (и ответа) здесь "try не работает...", говорит, что точно делфи полная ..., типа он убедился в этом окончательно, что в бейсике подобных "косяков" он не встречал...
что Вы можете сказать по поводу этого? какие доводы в пользу Delphi, а главное, чем он лучше VB, или чем VB хуже Delphi?
← →
Ega23 © (2006-02-27 14:42) [1]У Delphi своя ниша, у VB - своя.
← →
DesertAlex (2006-02-27 14:44) [2]а поподробней можно, про ниши? ) или, если есть, может кто-нибудь статью в и-нете встречали по этому поводу?
← →
Dmitrij_K (2006-02-27 14:46) [3]Основное отличие EXE-файлов созданных Delphi и Visual Basic
Существует два важных различия между файлами EXE, созданными в Delphi, и файлами EXE, созданными VB. Delphi создает чисто машинный код, непосредственно исполняемый компьютером, в то время как VB транслирует исходный код в промежуточную форму (р-код). Файл EXE, сгенерированный VB, в действительности является программой-интерпретатором р-кода с добавленным в конце р-кодом программы пользователя.
"Библиотека времени выполнения" (run-time library) стандартных функций для всех программ VB хранится в файле VBRUN300.DLL. Каждая программа VB, попавшая к конечному пользователю, должна включать этот файл, либо приходится расчитывать, что такой файл у пользователя уже есть. Дистрибутивный комплект программы должен также содержать файлы VBX для каждого управляющего средства VB, не включенного в VBRUN300.DLL.
Программы Delphi включают необходимую часть библиотеки времени выполнения Delphi, а также используемые компоненты. В результате EXE-файл Delphi обычно больше по объему, чем эквивалентный EXE-файл VB, но он не зависит ни от каких внешних файлов.
Источник: http://dmitry9.nm.ru/info/
--------------
www.drkb.ru must have
← →
DesertAlex (2006-02-27 14:56) [4]это все очень здорово!!! (про exe...) но вот "VB-шники" приводят довод, что надо просто делать инсталятор для проги и прописывать им все необходимые DLL при установке. и вроде как этот "плюс" делфи сразу становиться не к чему...
← →
Ega23 © (2006-02-27 15:02) [5]Delphi занимает нишу RAD (Rapid Application Development). VB занимает совсем другую.
Что всегда ненавидел в VB - это то, что КАЖДОЙ переменной надо прописать
DIM I As Integer;
DIM J As Integer;
.........
DIM K As Integer;
Иначе, если записать DIM I, J, ..., K As Integer, то только I будет иметь тип Integer, все остальные будут Variant.
← →
Сергей М. © (2006-02-27 15:03) [6]
> DesertAlex (27.02.06 14:56) [4]
Пусть VB-шники попробуют, к примеру, вызвать из своей VB-программе любую WinAPI-функцию, требующую указания адреса callback-функции, определенной и реализованной в той же VB-программе.
← →
Dmitrij_K (2006-02-27 15:08) [7]Цитата из "Delphi глазами хакера" Фленов
Хотя я не очень люблю Visual Basic за его ограниченность, неудобства и сплошные недостатки, я видел несколько великолепных программ, кото-
рый были написаны именно на этом языке. Глядя на них, сразу хочется
назвать их автора Хакером, потому что это действительно виртуозная и
безупречная работа. Создание из ничего чего-то великолепного как раз и
есть искусство хакерства.
← →
Alkid © (2006-02-27 15:08) [8]Delphi... VB.... вот придёт .NET и наведёт порядок! :)
Очередной холивар устроим?
← →
DesertAlex (2006-02-27 15:30) [9]>Что всегда ненавидел в VB - это то, что КАЖДОЙ переменной надо >прописать
>DIM I As Integer;
>DIM J As Integer
проверили, реально так :-)))))) VB-ники разводят руками, "ну, типа, бывает, чтож поделать..."
← →
DesertAlex (2006-02-27 15:31) [10]>Очередной холивар устроим?
тебе "холивар", а я никак не могу определиться, на чем учиться писать.... не на обеих же....
← →
Alkid © (2006-02-27 15:38) [11]
> тебе "холивар", а я никак не могу определиться, на чем учиться
> писать.... не на обеих же....
В принципе - на каком хочешь. Если ты собираешься быть программистом,
то потом всё равно придётся учить и дельфи и С++ и т.п., ибо программист
должен уметь пользоваться разными инструментами.
Аргументы типа "а тут переменные некрасиво определяются" или "а среда
VB синтаксис проверяет при переводе каретки" не являются значимыми.
Вот если бы спросил, "я тут собираюсь писать драйвер, что мне выбрать,
С++ или Дельфи", то тебе бы однозначно посоветовали :)
← →
Сергей М. © (2006-02-27 15:43) [12]
> DesertAlex (27.02.06 15:30) [9]
А насчет колбэков как ? Признают они что облажались ? Иль упираются ?
← →
Сергей М. © (2006-02-27 15:47) [13]
> DesertAlex (27.02.06 15:30) [9]
Собственно дело даже не в колбэках - это частный случай.
В общем же случае интерпретирующая среда исполнения всегда проигрывает (по понятным причинам) по производительности компилирующей среде исполнения.
← →
Ega23 © (2006-02-27 15:51) [14]
> Вот если бы спросил, "я тут собираюсь писать драйвер, что
> мне выбрать,
> С++ или Дельфи", то тебе бы однозначно посоветовали :)
Напиши драйвер на С++ :о)
← →
StriderMan © (2006-02-27 15:51) [15]Я писал на бэсике много лет. начал с QuickBasic 4.5, изучил его вдоль и поперек и уперся в ограниченность этого языка, потом кой-чего на VB писал, ощущение то же. И на С++ писал (в институте). а потом по работе пришлось рюхать Делфи. Освоился за месяц - полтора.
Как было сказано выше, смотря какую задачу выполнять
1. если нужно писать скрипты для экселя - VB лучше не найдешь :)
2. Быстро и просто создать практически любое самостоятельное приложение - DELPHI
3. Плотно взаимодействовать с API, устройствами и вообще глубокое системное программирование - С++
ИМХО.
ЗЫ: по делфям в рунете инфы очень и очень много. практически все что хочешь - есть :)
← →
TUser © (2006-02-27 15:53) [16]Еще предложи VB-шникам перевести на их язык вот такое
var A: array of array of integer;
begin
SetLength (a, 5, 10);
...
SetLength (a[3], 2);
...
SetLength (a, 7, 10);
...
end;
На VBA будет куча кода, на VB - не знаю, но вроде тоже самое.
← →
Alkid © (2006-02-27 15:53) [17]
> Собственно дело даже не в колбэках - это частный случай.
>
> В общем же случае интерпретирующая среда исполнения всегда
> проигрывает (по понятным причинам) по производительности
> компилирующей среде исполнения.
>
Ну, Базик, как я понял, это "полукомпилирующая" среда. Из исходника в
p-код, а там на виртуальной машине. Java & .NET примерно так же,
но там возможно JIT-компиляция в native-код при исполнении.
Более того, ребята из Микрософта даже гнут пальцы и утверждают, что
под НЕТом некоторый код программы может быть исполнен даже быстрее, чем
native-код, за счёт оптимальной компиляции с использованием всех наворотов
данного процессора без ограничений набором команд от 386-го.
← →
Alkid © (2006-02-27 15:57) [18]
>
> Напиши драйвер на С++ :о)
Ну да, имел в виду C. Хотя, как я понял, в кишочках драйвера тебе классы не запрещено использовать. Так?
← →
wicked © (2006-02-27 15:57) [19]> DesertAlex (27.02.06 15:31) [10]
> >Очередной холивар устроим?
> тебе "холивар", а я никак не могу определиться, на чем учиться
> писать.... не на обеих же....
учиться нужно писать программы.... можно на листочке..... можно на каком-либо языке.... я лично против Basic в любых его формах и проявлениях, но это, скорей, мои личные тараканы.... вообще, выбор языка влияет только на доступные тебе средства выражения твоих мыслей и на доступные парадигмы программирования.... а программировать (в смысле "составлять программы") все равно будешь ты и это самое первое, что нужно изучать....
> Сергей М. © (27.02.06 15:47) [13]
> > DesertAlex (27.02.06 15:30) [9]
> Собственно дело даже не в колбэках - это частный случай.
> В общем же случае интерпретирующая среда исполнения всегда
> проигрывает (по понятным причинам) по производительности
> компилирующей среде исполнения.
расскажи это лисповикам/схемщикам, джавистам и дотнетчикам.... а также DBA-м...
← →
Сергей М. © (2006-02-27 15:58) [20]
> Alkid © (27.02.06 15:53) [17]
> но там возможно JIT-компиляция в native-код при исполнении
Какая нафих "компиляция при исполнении" ? Либо компиляция либо исполнение) ... Всё прочее - чтобы заморочить голову потенциальному потребителю.
← →
Ega23 © (2006-02-27 16:00) [21]
> проверили, реально так :-)))))) VB-ники разводят руками,
> "ну, типа, бывает, чтож поделать..."
Понимаешь, на Delphi я красивую клиентскую программу под готовую БД за неделю соберу. А на VB - даже не представляю, сколько придётся геммороиться
← →
wicked © (2006-02-27 16:01) [22]> Alkid © (27.02.06 15:57) [18]
> > Напиши драйвер на С++ :о)
> Ну да, имел в виду C. Хотя, как я понял, в кишочках драйвера
> тебе классы не запрещено использовать. Так?
в принципе - да.... как оно в реальности - зависит от того, кто и как будет память распределять... думаю, автоматические обьекты можно будет использовать без проблем....
← →
Сергей М. © (2006-02-27 16:01) [23]
> wicked © (27.02.06 15:57) [19]
Ничего рассказывать я им не буду.
Умные "лисповики/схемщики, джависты и дотнетчики" и так понимают, в чем они ограничены в силу мультиплатформенности, на которую они сделали ставку.
← →
Alkid © (2006-02-27 16:02) [24]
> Какая нафих "компиляция при исполнении" ? Либо компиляция
> либо исполнение) ... Всё прочее - чтобы заморочить голову
> потенциальному потребителю.
>
Какая, какая... :) Just-In-Time.
То есть при первом вызове код (метода) управление передаётся
JIT-компилятору, который транформирует промежуточный код в native-код,
которому потом и передаётся управление. А при всех последующих вызовах управление сразу сгенерированному передаётся native-коду.
Таким образом каждый конкретный метод, конечно же, сначала компилируется, а потом исполняется, но программа в целом компилируется "постепенно" в ходе
своей работы. Прикольно, да?
← →
Alkid © (2006-02-27 16:03) [25]
> в принципе - да.... как оно в реальности - зависит от того,
> кто и как будет память распределять... думаю, автоматические
> обьекты можно будет использовать без проблем....
>
То есть стековые и глобальные?
← →
wicked © (2006-02-27 16:06) [26]> Alkid © (27.02.06 16:03) [25]
> То есть стековые и глобальные?
угу, первые.... я просто привык их автоматическими называть....
а насчет вторых - оченно зависит от того, с чем линковаться.... инициализация глобальных переменных "с конструктором" - дело рантайма... по крайней мере, в билдере я на это неприятно натыкался, хоть и драйвера не писал...
← →
Сергей М. © (2006-02-27 16:11) [27]
> Прикольно, да?
Ничего прикольного.
Идея эта известна давным-давно, тем не менее то что происходит при первом вызове никак "чистым" ран-таймом не назовешь - это и компайл-тайм (!) и ран-тайм "в одном флаконе". А уж о какой оптимизации native-кода при этом может идти речь - одному БГ известно.
← →
DesertAlex (2006-02-27 16:29) [28]убидили... :)
← →
Сергей М. © (2006-02-27 16:33) [29]
> DesertAlex (27.02.06 16:29) [28]
> убидили... :)
А как насчет колбэков ? Облажались ли твои VB-"миссионеры" или по-прежнему продолжают упираться ?
← →
DesertAlex (2006-02-27 17:15) [30]>А как насчет колбэков ? Облажались ли твои VB-"миссионеры" или по-прежнему продолжают упираться ?
понимаешь, у меня, да и у моих знакомых (VB-шников) достаточно простые задачи, которые надо решать с помощью программирования. как правило задача сводиться к написанию интерфейса какой-то физико-математической модели. по сути, надо взять входные переменные, соответствующим образом их обработать (математические действия) и выдать выходне, построить графики. недавно научились вставлять флеш-ролики в VB, теперь программы более симпатичные :-)...
твой вопрос мне тут уже прокоментировал один человек, сказал, однозначто только делфи... еще сказал, что когда ездили по олимпиадам с программами на VB, постоянно были какие-то проблемы, то не запускается, то еще что-нибудь. с делфи говорит такого не было...
еще, меня убедил ответ:
>StriderMan © (27.02.06 15:51) [15]
Я писал на бэсике много лет. начал с QuickBasic 4.5, изучил его вдоль и поперек и уперся в ограниченность этого языка, потом...........
в общем, для себя я решил, лучше буду "ковырятся" с Делфи... :)
а по поводу:
>1. если нужно писать скрипты для экселя - VB лучше не найдешь :)
тут согласен, иногда надо обработать, по быстрому, какие-то данные, и если задача сводиться не к простому сложению и перемножению ячеек, то встроенный в Excel VB очень может помочь...
← →
Джо © (2006-02-27 17:29) [31]> [28] DesertAlex (27.02.06 16:29)
> убидили... :)
Ты сходи на форум VB-шников — убедят в обратном... Всяк кулик свое болото хвалит :0)
← →
DesertAlex (2006-02-27 17:48) [32]
> Ты сходи на форум VB-шников — убедят в обратном... Всяк
> кулик свое болото хвалит :0)
вот ответ для "куликов"..... :)
> StriderMan © (27.02.06 15:51) [15]
> Я писал на бэсике много лет. начал с QuickBasic 4.5, изучил
> его вдоль и поперек и уперся в ограниченность этого языка,
> потом кой-чего на VB писал, ощущение то же. И на С++ писал
> (в институте). а потом по работе пришлось рюхать Делфи.
> Освоился за месяц - полтора.
>
> Как было сказано выше, смотря какую задачу выполнять
>
> 1. если нужно писать скрипты для экселя - VB лучше не найдешь
> :)
>
> 2. Быстро и просто создать практически любое самостоятельное
> приложение - DELPHI
>
> 3. Плотно взаимодействовать с API, устройствами и вообще
> глубокое системное программирование - С++
>
> ИМХО.
>
> ЗЫ: по делфям в рунете инфы очень и очень много. практически
> все что хочешь - есть :)
← →
Marser © (2006-02-27 17:50) [33]Нда... Сишники наезжают регулярно, но чтоб VB-ники...
← →
atruhin © (2006-02-27 18:18) [34]>> [12] Сергей М. © (27.02.06 15:43)
>> А насчет колбэков как ?
А разве есть в VB проблеммы с колбэками? На VBA я без проблем использовал, перечислял установленные в системе шрифты, и отображал в экселе. Правда давно это было!!
← →
wicked © (2006-02-27 22:17) [35]> Marser © (27.02.06 17:50) [33]
> Нда... Сишники наезжают регулярно, но чтоб VB-ники...
от не нада... не наезжаем мы на вас....... ;)
ЗЫ хоть я уж и не такой матерый сишник....
← →
Lamer@fools.ua © (2006-02-27 22:59) [36]>>Сергей М. © (27.02.06 15:58) [20]
>Какая нафих "компиляция при исполнении" ? Либо компиляция либо исполнение) ... Всё прочее - чтобы заморочить голову потенциальному потребителю.
Учите матчасть.
>>Сергей М. © (27.02.06 16:11) [27]
>А уж о какой оптимизации native-кода при этом может идти речь - одному БГ известно.
См. выше.
← →
Галинка © (2006-02-27 23:01) [37]
> DesertAlex (27.02.06 17:15) [30]
>
> как правило задача сводиться к написанию интерфейса какой-
> то физико-математической модели. по сути, надо взять входные
> переменные, соответствующим образом их обработать (математические
> действия) и выдать выходне, построить графики.
вот именно этим я и занимаюсь на дельфи уже шесть лет. Пока нравится. Но усиленно агитируют сишники и джависты (( Особенно что касается применения линейки Борланд. Там говорят, все одно и то же, только нет недостатков Паскаля. Но пока не пробовала...
← →
Ученик чародея © (2006-02-27 23:09) [38]>>DesertAlex (27.02.06 15:31) [10]
На Java или на .Net
Не смотря на кажущийся выбор,
Выбора на самом деле нет.
← →
ArtemESC © (2006-02-27 23:11) [39]>>DesertAlex (27.02.06 14:35)
- На VB ассемблер нельзя пользовать, это большой плюс Delphi!
- Delphi - это красивая (на мой взгляд самая) объектно-ориентированная
концепция!!
- Delphi не прячет своих исходников!!
- Delphi - это удобная RAD, но и для любителей начать все
с "чистого" листа - удобная реализация WinApi...
- Delphi - это круто!!!
Когда начинал изучать Delphi - делал это с большим интересом,
с трудом теперь долблю С, С++, Perl и прочие безобразия...
Для системных вещей не презговал бы и ассемблером...
← →
isasa © (2006-02-27 23:13) [40]atruhin © (27.02.06 18:18) [34]
А разве есть в VB проблеммы с колбэками? На VBA я без проблем использовал, перечислял установленные в системе шрифты, и отображал в экселе.
В VBA (Office) те же "проблемы" с variant(dim i,j as integer) :)
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];
Память: 0.58 MB
Время: 0.045 c