VB vs Other
От: Леонид Казахстан  
Дата: 16.11.03 10:01
Оценка:
На самом деле мне интересно ...

Начинаешь читать какой-либо анонс ... что видишь VB-ерунда, VB-программисты — люди с искалеченой Basic'ом судьбой и т.д.

На мой взгляд подобные высказывания очень сильно похожи на попытку причислить себя к какому-то высшему обществу (андеграунду, элите), которая работает исключительно на С++ и Java. А поскольку тутже встаёт потребность выделиться из общей толпы ... то самый лучший способ это "опустить" кого-нибудь.

И тутже слышишь:

* в VB 6.0 не реализовано наследование
мой личный аргумент: а оно там и не надо, VB 6.0 язык для быстрого и удобного написания пользовательских интерфейсов. Кстати если человек достаточно компетентен и обладает знаниями то и на VB 6.0 может сделать практически то же самое что и в С++ 6.0 ... (ответные аргументы, типа — "а писать драйвера?" не принимаются ... довайте до "клинических" случаев не опускаться)

* VB.NET вообще ерунда, так как без .NET Framework'a не работает
мой личный аргумент: Ну и кому это мешает? Разговоры о межплатформенности будут прекращены я так думаю в течении года, максимум двух, пока перенесут .NET Framework на другие платформы.

Честно говоря обидно за язык, потому что если посмотреть на его "КПД" оно как таковое превзойдёт все другие языки ... и на мой взгляд это показатель.

А если на текущий момент у читающего появилось туча аргументов — пожалуйста, только на всякий случай, ещё раз прочтите 2 абзац.

С.У. Леон.


02.12.03 14:10: Перенесено модератором из 'Философия программирования' — _MM_
Re: VB vs Other
От: Воронков Василий Россия  
Дата: 16.11.03 10:08
Оценка:
Здравствуйте, Леонид, Вы писали:

Л> * в VB 6.0 не реализовано наследование

Л> мой личный аргумент: а оно там и не надо, VB 6.0 язык для быстрого и удобного написания пользовательских интерфейсов. Кстати если человек достаточно компетентен и обладает знаниями то и на VB 6.0 может сделать практически то же самое что и в С++ 6.0 ... (ответные аргументы, типа — "а писать драйвера?" не принимаются ... довайте до "клинических" случаев не опускаться)

В общем и целом я согласен. Просто следует все же иметь в виду, что у VB6 есть/была своя довольно-таки узкая область. Он был очень удобным и гм.. "эргономичным" инструментом в этой области, но когда его пытались использовать более универсально, то начинало и правда казаться, что хуже языка нет на свете.

Л> * VB.NET вообще ерунда, так как без .NET Framework'a не работает

Л> мой личный аргумент: Ну и кому это мешает? Разговоры о межплатформенности будут прекращены я так думаю в течении года, максимум двух, пока перенесут .NET Framework на другие платформы.

Про VB.NET такого не слышал. К тому же этот недостаток можно отнести к любому языку на платформе дотнет.

Л>Честно говоря обидно за язык, потому что если посмотреть на его "КПД" оно как таковое превзойдёт все другие языки ... и на мой взгляд это показатель.


Гы-гы, я тоже так думал. Пока не стал писать на C# . А потом все зависит от задачи. Некоторые вещи _проще_ и _быстрее_ написать на VC.
... << RSDN@Home 1.1.0 stable >>
Re[2]: VB vs Other
От: Леон Казахстан  
Дата: 16.11.03 10:22
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Про VB.NET такого не слышал. К тому же этот недостаток можно отнести к любому языку на платформе дотнет.


а почему это вдруг "Недостаток"? Тебе предоставляют не только синтаксис, но ещё и среду выполнения плюс библиотеку классов ... причём на мой взгляд, возможно субъективный, очень хорошо проработанную ...
Re[3]: VB vs Other
От: Воронков Василий Россия  
Дата: 16.11.03 10:29
Оценка:
Здравствуйте, Леон, Вы писали:

ВВ>>Про VB.NET такого не слышал. К тому же этот недостаток можно отнести к любому языку на платформе дотнет.


Л>а почему это вдруг "Недостаток"? Тебе предоставляют не только синтаксис, но ещё и среду выполнения плюс библиотеку классов ... причём на мой взгляд, возможно субъективный, очень хорошо проработанную ...


Ну возьми слово "недостаток" в кавычки (как в общем-то ты и сделал ). У меня нет никакого желания устраивать флейм по этому поводу. К тому же десктоп на широкий рынок на дотнете пока никто в принципе не пишет, а тех областях, в к-х он используется, размер фреймворка особой роли не играет. А через год-другой — уж не знаю как межплатформенным, это явно будет не с подачи МС — но популярным средством для десктопа он наверняка станет, к чему в общем-то все и идет.
... << RSDN@Home 1.1.0 stable >>
Re: VB vs Other
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 16.11.03 16:02
Оценка:
Здравствуйте, Леонид, Вы писали:

Л>На самом деле мне интересно ...


Л>Начинаешь читать какой-либо анонс ... что видишь VB-ерунда, VB-программисты — люди с искалеченой Basic'ом судьбой и т.д.


Проблема VB в том, что он с самого начала писался для "кухарок", а не профессиональных программистов.
Поэтому именно профессиональным программистам в VB много не хватает. И опять же на vb стать именно профом очень сложно, так как сам языка анти-проф.

ps
Проф. программист — это человек, который пишет код, удовлетворяющим следующим условиям:
есть четкая архитектура (функциональность каждого класса, метода можно пояснить парой предложений)
минимум copy-paste,
минимум связей между классами,
минимум hack-а и т.д.
Re: VB vs Other
От: Евгений Коробко  
Дата: 16.11.03 16:16
Оценка:
Дело в том, что как инструмент написания интерфейсов VB явно уступает delphi. А как средство программирования вообще не годиться в силу ряда причин. Например — никудашнее бастродействие. Элементарные операции сложения на VB работают в десятки раз медленнее, чем на VC (из-за использования variant где надо и не надо).
Что касается искалеченных судеб, то дело в том, что VB — очень плохой язык для обучения программированию (на мой взгляд). В основном из-за очень размытой типизации. Он не подходит для ряда задач из-за катастрофически низкого быстродействия кода. Хотя для ряда задач VB является оптимальным языком.

Что касается VB.NET, то он слабо отличается от C# и на голову выше VB. Насчёт быстродействия сказать не могу, думаю, что разницы между VB и C# практически не будет.
Posted via RSDN NNTP Server 1.8 beta
Евгений Коробко
Re[4]: VB vs Other
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 16.11.03 17:05
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ> а тех областях, в к-х он используется, размер фреймворка особой роли не играет. А через год-другой — уж не знаю как межплатформенным, это явно будет не с подачи МС


Доступность авалона только в менеджед-коде это явная подача со стороны МС
... << RSDN@Home 1.1.0 stable (np: тихо) >>
AVK Blog
Re: VB vs Other
От: GarryIV  
Дата: 17.11.03 02:21
Оценка:
Здравствуйте, Леонид, Вы писали:

Л>Начинаешь читать какой-либо анонс ... что видишь VB-ерунда, VB-программисты — люди с искалеченой Basic'ом судьбой и т.д.


Л>На мой взгляд подобные высказывания очень сильно похожи на попытку причислить себя к какому-то высшему обществу (андеграунду, элите), которая работает исключительно на С++ и Java. А поскольку тутже встаёт потребность выделиться из общей толпы ... то самый лучший способ это "опустить" кого-нибудь.


Л>И тутже слышишь:


Л> * в VB 6.0 не реализовано наследование

Л> мой личный аргумент: а оно там и не надо, VB 6.0 язык для быстрого и удобного написания пользовательских интерфейсов. Кстати если человек достаточно компетентен и обладает знаниями то и на VB 6.0 может сделать практически то же самое что и в С++ 6.0


Не согласен. Мне надо. Былоб в VB6 наследование — не былоб постоянных половых извращений... Пример из реального проекта на VB — есть десяток финансовых документов. Они вобщем похожи за исключением деталей. По уму вынестиб эту похожую часть в базовый класс + создать десяток наследников. Красиво. А приходиться блин ветвистые if'ы писать или эмулировать наследование агрегацией. Код выходит запутенным и глючным. Добавление еще одного документа — чистый кошмар. Или хочу я сделать свой UpperCase only текстбокc. Вместо пары строчек кода придется делать уродский user control и ручками "имплементировать" необходимые методы, св-ва и события чтоб его как обычный текстбокс использовать... Счастья мало однако. И ораничение — только ActiveX dll у меня тоже костью в горле... И еще куцее WithEvents моей крови попило — только хакерскими способами можно у массива объектов обрабатывать события. И так далее и тому подобное...

А скорость меня совсем не напрягает. И с С++ я бы не стал его сравнивать, для разных целей инстументы. Скорее уж с Delphi, Builder'ом или .NET

А в VB.Net от VB6 остался только синтаксис. И слава богу. Вменяемый язык получился.
Сейчас на C# пишу. После VB6 просто кайф
WBR, Igor Evgrafov
Re[2]: VB vs Other
От: Alexey Shirshov Россия http://wise-orm.com
Дата: 17.11.03 09:31
Оценка: +1
Здравствуйте, DarkGray, Вы писали:

хъ

DG>Проблема VB в том, что он с самого начала писался для "кухарок", а не профессиональных программистов.

DG>Поэтому именно профессиональным программистам в VB много не хватает. И опять же на vb стать именно профом очень сложно, так как сам языка анти-проф.

Не согласен.

DG>ps

DG>Проф. программист — это человек, который пишет код, удовлетворяющим следующим условиям:
DG>есть четкая архитектура (функциональность каждого класса, метода можно пояснить парой предложений)

И что в VB этому мешает?

DG>минимум copy-paste,


Как это зависит от языка?

DG>минимум связей между классами,


Какие проблемы? Какая фитча языка порождает зависимости?

DG>минимум hack-а и т.д.


Это есть не много. Но в новом vb.net — все починено.
... << RSDN@Home 1.1.0 stable >>
Re[2]: VB vs Other
От: Alexey Shirshov Россия http://wise-orm.com
Дата: 17.11.03 09:31
Оценка: 1 (1) +2
Здравствуйте, Евгений Коробко, Вы писали:

ЕК>Дело в том, что как инструмент написания интерфейсов VB явно уступает delphi. А как средство программирования вообще не годиться в силу ряда причин. Например — никудашнее бастродействие. Элементарные операции сложения на VB работают в десятки раз медленнее, чем на VC (из-за использования variant где надо и не надо).


Это программист решает, а не среда (vb).
К твоему сведению, vb — сильно типизрованный язык.

ЕК>Что касается искалеченных судеб, то дело в том, что VB — очень плохой язык для обучения программированию (на мой взгляд).


Не правда ваша.

ЕК>В основном из-за очень размытой типизации.


Это заблуждение.

ЕК>Он не подходит для ряда задач из-за катастрофически низкого быстродействия кода.


Опять же не правда.

ЕК>Хотя для ряда задач VB является оптимальным языком.


Для очень многих задач.

ЕК>Что касается VB.NET, то он слабо отличается от C# и на голову выше VB. Насчёт быстродействия сказать не могу, думаю, что разницы между VB и C# практически не будет.


Конечно, если они оба компиляют в MISL.
... << RSDN@Home 1.1.0 stable >>
Re[3]: VB vs Other
От: Mika Soukhov Stock#
Дата: 17.11.03 10:50
Оценка:
Здравствуйте, Alexey Shirshov, Вы писали:

Я можно как бы обоснование получить. А то "неправда да неправда".
Re[3]: VB vs Other
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 17.11.03 11:44
Оценка:
Здравствуйте, Alexey Shirshov, Вы писали:

AS>Здравствуйте, DarkGray, Вы писали:


AS>хъ


DG>>Проблема VB в том, что он с самого начала писался для "кухарок", а не профессиональных программистов.

DG>>Поэтому именно профессиональным программистам в VB много не хватает. И опять же на vb стать именно профом очень сложно, так как сам языка анти-проф.

AS>Не согласен.


DG>>ps

DG>>Проф. программист — это человек, который пишет код, удовлетворяющим следующим условиям:
DG>>есть четкая архитектура (функциональность каждого класса, метода можно пояснить парой предложений)

AS>И что в VB этому мешает?


отсутствие наследования

DG>>минимум copy-paste,


AS>Как это зависит от языка?


отсутствие наследования

DG>>минимум связей между классами,


AS>Какие проблемы? Какая фитча языка порождает зависимости?


DG>>минимум hack-а и т.д.


AS>Это есть не много. Но в новом vb.net — все починено.


using-а — нет, lock-а нет — все это и будет приводить к длинным уродливым try/finally

ps
еще у VB низкая лаконичность (что хорошо для начинающих, но плохо для продвинутых), много шума (все эти begin/end-ы)
низкая атомарность написания кода — т.е. нельзя быстро из тела if-а, сделать тело — for-а, или тело функции, и т.д.
Re[4]: VB vs Other
От: Mika Soukhov Stock#
Дата: 17.11.03 12:19
Оценка:
Здравствуйте, DarkGray, Вы писали:

DG>using-а — нет, lock-а нет — все это и будет приводить к длинным уродливым try/finally


В новой версии появилось. Так сказать приближается к C#.
Re[4]: VB vs Other
От: Alexey Shirshov Россия http://wise-orm.com
Дата: 17.11.03 13:31
Оценка:
Здравствуйте, DarkGray, Вы писали:

хъ

AS>>И что в VB этому мешает?


DG>отсутствие наследования


Это мало влияет на архитектуру. Его всегда можно эмулировать.

DG>>>минимум copy-paste,


AS>>Как это зависит от языка?


DG>отсутствие наследования


Почти согласен. copy-paste стиль больше от программиста зависит.

хъ

DG>using-а — нет, lock-а нет — все это и будет приводить к длинным уродливым try/finally


Юзинг появится, а lock есть.

DG>ps

DG>еще у VB низкая лаконичность (что хорошо для начинающих, но плохо для продвинутых), много шума (все эти begin/end-ы)
DG>низкая атомарность написания кода — т.е. нельзя быстро из тела if-а, сделать тело — for-а, или тело функции, и т.д.

Никогда не испытывал с этим проблем и не слышал чтобы они были у других.
... << RSDN@Home 1.1.0 stable >>
Re: VB vs Other
От: Ash-2 Россия  
Дата: 17.11.03 18:09
Оценка:
Вообще-то разговор ни о чем (никого не хочу обидеть)....
У VB есть своя ниша, а C(++) — более универсальный.
Что касается пользовательских интерфейсов — шаг влево (или вправо от стандартных (идущих в комплекте с Windows) окошек дается очень тяжело (почти нереально, для человека, не знакомого с WinAPI (т.е. с С).
Мои отношения с VB закончились с выходом VB 6.0, когда я понял, что все мои проги на VB5.0 требуют одной библиотеки, а новые другой... И еще (данные непроверенные): кажется VB под каждую программу создает отдельную виртуальную машину (и зачем так загружать систему?).

В общем, я что хочу сказать: место VB в офисных приложениях (то что еще именуется 'макросами'), и это место еще долго будет за ним (наверное по праву)...
Re[3]: VB vs Other
От: GarryIV  
Дата: 18.11.03 01:32
Оценка: -1
Здравствуйте, Alexey Shirshov, Вы писали:

ЕК>>Дело в том, что как инструмент написания интерфейсов VB явно уступает delphi. А как средство программирования вообще не годиться в силу ряда причин. Например — никудашнее бастродействие. Элементарные операции сложения на VB работают в десятки раз медленнее, чем на VC (из-за использования variant где надо и не надо).


AS>Это программист решает, а не среда (vb).

AS>К твоему сведению, vb — сильно типизрованный язык.

да уш типизированнее только VBScript

Dim str As String
Dim n As Long
...
n = str ' пример сильнейшей типизации

или

Dim obj As Object
Din myobj As MyObject
...
Set myobj = obj ' туда же.


Хоть бы варнинги выдавал на такое...

ЕК>>Что касается искалеченных судеб, то дело в том, что VB — очень плохой язык для обучения программированию (на мой взгляд).


AS>Не правда ваша.

Аргументы? Какие парадигмы программирования позволяет использовать VB?

ЕК>>В основном из-за очень размытой типизации.

AS>Это заблуждение.
Не смешите...

ЕК>>Он не подходит для ряда задач из-за катастрофически низкого быстродействия кода.

AS>Опять же не правда.
Это редко когда важно для того класса задач на который нацелен VB.
WBR, Igor Evgrafov
Re[5]: VB vs Other
От: GarryIV  
Дата: 18.11.03 01:39
Оценка:
Здравствуйте, Alexey Shirshov, Вы писали:

AS>Здравствуйте, DarkGray, Вы писали:


AS>хъ


AS>>>И что в VB этому мешает?


DG>>отсутствие наследования


AS>Это мало влияет на архитектуру. Его всегда можно эмулировать.


А можно поподробнее. Я здесь
Автор: GarryIV
Дата: 17.11.03
жаловался на наследование. Как мне его эмулировать? Copy-Paste не предлагать...
WBR, Igor Evgrafov
Re[4]: VB vs Other
От: grigorash Россия www.geoserver.ru
Дата: 18.11.03 08:05
Оценка: -1
Здравствуйте, GarryIV, Вы писали:


GIV>да уш типизированнее только VBScript


GIV>
GIV>Dim str As String
GIV>Dim n As Long
GIV>...
GIV>n = str ' пример сильнейшей типизации

GIV>или

GIV>Dim obj As Object
GIV>Din myobj As MyObject
GIV>...
GIV>Set myobj = obj ' туда же. 
GIV>


GIV>Хоть бы варнинги выдавал на такое...


ну с первым примером согласен, но что тебя во втором смущает? obj — IDispatch, MyObject (если он сделан на VB) тоже наследуется от IDispatch, так что — всё путём.
Re[5]: VB vs Other
От: GarryIV  
Дата: 18.11.03 13:06
Оценка:
Здравствуйте, grigorash, Вы писали:

GIV>>да уш типизированнее только VBScript


GIV>>
GIV>>Dim obj As Object
GIV>>Din myobj As MyObject
GIV>>...
GIV>>Set myobj = obj ' туда же. 
GIV>>


GIV>>Хоть бы варнинги выдавал на такое...


G>ну с первым примером согласен, но что тебя во втором смущает? obj — IDispatch, MyObject (если он сделан на VB) тоже наследуется от IDispatch, так что — всё путём.


Не путем. Наследника к базовому классу приводить безопасно а вот обратно нет. И посему хочу чтоб компилятор не разрешал неявные потенциально опасные приведения типов.
WBR, Igor Evgrafov
Re[6]: VB vs Other
От: grigorash Россия www.geoserver.ru
Дата: 18.11.03 14:21
Оценка:
Здравствуйте, GarryIV, Вы писали:

GIV>Здравствуйте, grigorash, Вы писали:


GIV>>>да уш типизированнее только VBScript


GIV>>>
GIV>>>Dim obj As Object
GIV>>>Din myobj As MyObject
GIV>>>...
GIV>>>Set myobj = obj ' туда же. 
GIV>>>


GIV>>>Хоть бы варнинги выдавал на такое...


G>>ну с первым примером согласен, но что тебя во втором смущает? obj — IDispatch, MyObject (если он сделан на VB) тоже наследуется от IDispatch, так что — всё путём.


GIV>Не путем. Наследника к базовому классу приводить безопасно а вот обратно нет. И посему хочу чтоб компилятор не разрешал неявные потенциально опасные приведения типов.

Недосмотрел. Вместо
Set myobj = obj
увидел
Set obj = myobj
. Но, мне кажется, такое поведение VB (неявные преобразования) вполне обосновано хотя-бы скоростью набора кода (это же средство быстрой разработки). если пишешь простой тестовый пример в 10-20 строчек кода — не нужно заморачиваться с cstr, clng и т.д. а что касаемо кода рабочего — то при тестировании ситуации приведённые тобой выше отлавливаются одними из первых, так что особых проблем с неявным преобразованием я не вижу.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.