Вроде, C# позволяет писать весьма высокоуровневый код, да и с интеграцией в .Net все замечательно. Кто и зачем тогда использует VB.NET? Чисто, по привычке? Или есть юзкейсы, где сабж превосходит по юзабельности C#?
Здравствуйте, Wissenschaftler, Вы писали:
W>Вроде, C# позволяет писать весьма высокоуровневый код, да и с интеграцией в .Net все замечательно. Кто и зачем тогда использует VB.NET? Чисто, по привычке? Или есть юзкейсы, где сабж превосходит по юзабельности C#?
Я наткнулся на один юзкейс, когда VB.NET делал C# в обе щеки. Это работа с таким чудом, как scripting.dictionary в рамках .NET 4.
Код на C#, который добавляет элемент в коллекцию и читает их.
Scripting.Dictionary d = new Scripting.Dictionary();
object key = "1";
object value = 12345;
d.let_Item(ref key, ref value);
value = null;
value = d.get_Item(ref key); // эту функцию еще найти надо, вместо нее уродливый интелисенс подсовывает страшного зверя this[ref key]
На VB.NET это делается тремя строчками
Set d = new Scripting.Dictionary
d["1"] = 12345
value = d["1"]
Здравствуйте, Wissenschaftler, Вы писали:
W>Вроде, C# позволяет писать весьма высокоуровневый код, да и с интеграцией в .Net все замечательно. Кто и зачем тогда использует VB.NET? Чисто, по привычке? Или есть юзкейсы, где сабж превосходит по юзабельности C#?
Здравствуйте, Sharowarsheg, Вы писали:
S>Здравствуйте, Wissenschaftler, Вы писали:
W>>Вроде, C# позволяет писать весьма высокоуровневый код, да и с интеграцией в .Net все замечательно. Кто и зачем тогда использует VB.NET? Чисто, по привычке? Или есть юзкейсы, где сабж превосходит по юзабельности C#?
S>Читается приятнее.
Серьезно? Всякие dim, end sub, end if, вызовы без скобок и т.п. читаются лучше C#?
Здравствуйте, Wissenschaftler, Вы писали:
W>>>Вроде, C# позволяет писать весьма высокоуровневый код, да и с интеграцией в .Net все замечательно. Кто и зачем тогда использует VB.NET? Чисто, по привычке? Или есть юзкейсы, где сабж превосходит по юзабельности C#?
S>>Читается приятнее. W>Серьезно? Всякие dim, end sub, end if, вызовы без скобок и т.п. читаются лучше C#?
Мне — да.
Уж End If, Loop, End Sub или End Class точно лучше чем }, }, } или }
Здравствуйте, Sharowarsheg, Вы писали:
S>Здравствуйте, Wissenschaftler, Вы писали:
W>>>>Вроде, C# позволяет писать весьма высокоуровневый код, да и с интеграцией в .Net все замечательно. Кто и зачем тогда использует VB.NET? Чисто, по привычке? Или есть юзкейсы, где сабж превосходит по юзабельности C#?
S>>>Читается приятнее. W>>Серьезно? Всякие dim, end sub, end if, вызовы без скобок и т.п. читаются лучше C#?
S>Мне — да. S>Уж End If, Loop, End Sub или End Class точно лучше чем }, }, } или }
Хм. Ок, буду знать, что есть такая точка зрения.
Здравствуйте, Wissenschaftler, Вы писали:
W>Вроде, C# позволяет писать весьма высокоуровневый код, да и с интеграцией в .Net все замечательно. Кто и зачем тогда использует VB.NET? Чисто, по привычке? Или есть юзкейсы, где сабж превосходит по юзабельности C#?
Насколько я помню, LinqToXml в VB.Net как-то получше интегрирован.
Здравствуйте, Wissenschaftler, Вы писали:
W>Вроде, C# позволяет писать весьма высокоуровневый код, да и с интеграцией в .Net все замечательно. Кто и зачем тогда использует VB.NET? Чисто, по привычке? Или есть юзкейсы, где сабж превосходит по юзабельности C#?
Да, собственно, для того, чтобы людям надо было перестраиваться как можно меьше. Ну вот привык кто-то писать на VB, дык и пусть пишет дальше, но с новыми возможностями. Разве это плохо?
Сложность программы растет до тех пор, пока не превысит способности программиста
Здравствуйте, Wissenschaftler, Вы писали:
W>Вроде, C# позволяет писать весьма высокоуровневый код, да и с интеграцией в .Net все замечательно. Кто и зачем тогда использует VB.NET? Чисто, по привычке? Или есть юзкейсы, где сабж превосходит по юзабельности C#?
До выхода .NET 4(с которым я еще не работал, не скажу пока) в VB.NET проще происходила работа с COM-объектами в случае позднего связывания, и еще он поддерживал опционлаьные параметры, что тоже часто было удобно при работе с ком-ом.
_> Scripting.Dictionary d = new Scripting.Dictionary();
_> object key = "1";
_> object value = 12345;
_> d.let_Item(ref key, ref value);
_> value = null;
_> value = d.get_Item(ref key); // эту функцию еще найти надо, вместо нее уродливый интелисенс подсовывает страшного зверя this[ref key]
_>
А это в c# такой уродливый naming convention когда первое слово с маленькой буквы, а последующие — с большой, и отделены подчеркиванием?
UNIX way — это когда тебе вместо туалетной бумаги дают топор, рубанок и карту близлежащего леса
Здравствуйте, catBasilio, Вы писали:
B>А это в c# такой уродливый naming convention когда первое слово с маленькой буквы, а последующие — с большой, и отделены подчеркиванием?
Нет. В подобные методы компилятор преобразует свойства, но это видно только в IL. В самом C#, а точнее в .Net Framework, практически везде Pascal-case.
Здравствуйте, Wissenschaftler, Вы писали:
W>Вроде, C# позволяет писать весьма высокоуровневый код, да и с интеграцией в .Net все замечательно. Кто и зачем тогда использует VB.NET? Чисто, по привычке? Или есть юзкейсы, где сабж превосходит по юзабельности C#?
VB.NET На мой взгляд куда красивее C# , я не люблю скобки
Здравствуйте, Wissenschaftler, Вы писали:
W>Вроде, C# позволяет писать весьма высокоуровневый код, да и с интеграцией в .Net все замечательно. Кто и зачем тогда использует VB.NET? Чисто, по привычке? Или есть юзкейсы, где сабж превосходит по юзабельности C#?
Очень хороший вопрос. Мне совершенно не нравится Basic в любой версии из-за большего, по сравнению с C,C++,C# количества набираемого текста и расхлябанности в стиле jscript. Последней удачной версией от MS был VB6, который уже даже не поддерживается. Зачем было тащить это недоразумение в .NET совершенно неясно. Может кто знает?
Здравствуйте, catBasilio, Вы писали:
B>А это в c# такой уродливый naming convention когда первое слово с маленькой буквы, а последующие — с большой, и отделены подчеркиванием?
Нет. private поля/переменные/параметры — camelCasing. Всё остальное — PascalCasing.
Здравствуйте, henson, Вы писали:
H>Очень хороший вопрос. Мне совершенно не нравится Basic в любой версии из-за большего, по сравнению с C,C++,C# количества набираемого текста и расхлябанности в стиле jscript. Последней удачной версией от MS был VB6, который уже даже не поддерживается. Зачем было тащить это недоразумение в .NET совершенно неясно. Может кто знает?
1. Чтобы переманить VB-шников (их очень немало). И чтобы не сбежали
2. Чтобы не скатиться к "один язык — одна платформа".
Вроде, Visual Basic .NET позволяет писать весьма высокоуровневый код, да и с интеграцией в .Net все замечательно. Кто и зачем тогда использует C# Чисто, по привычке? Или есть юзкейсы, где сабж превосходит по юзабельности Visual Basic .NET?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Ну, и конечно же - Казалось бы, причем тут Nemerle? :)
Вроде, Nemerle позволяет писать весьма высокоуровневый код, да и с интеграцией в .Net все замечательно. Кто и зачем тогда использует VB.NET и C#? Чисто, по привычке? Или есть юзкейсы, где сабж превосходит по юзабельности Visual Basic .NET и C#?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Ну, и конечно же - Казалось бы, причем тут Nemerle? :
Здравствуйте, VladD2, Вы писали:
VD>Вроде, Nemerle позволяет писать весьма высокоуровневый код, да и с интеграцией в .Net все замечательно. Кто и зачем тогда использует VB.NET и C#? Чисто, по привычке? Или есть юзкейсы, где сабж превосходит по юзабельности Visual Basic .NET и C#? Например
Здравствуйте, VladD2, Вы писали:
VD>Вроде, Visual Basic .NET позволяет писать весьма высокоуровневый код, да и с интеграцией в .Net все замечательно. Кто и зачем тогда использует C# Чисто, по привычке? Или есть юзкейсы, где сабж превосходит по юзабельности Visual Basic .NET?
Здравствуйте, henson, Вы писали:
H>Вообще разница не техническая, а идеологическая: C# изначально объектно-ориентированный, а VB был зверски натянут на ООП (и как только не порвался)
Разница не техническая и не иделогическая, а маркетингово-рекламмная. Языки почти эквивалентны. Найти плюсы и минусы можно у обоих. Выбор обуславливается только лишь тем, что вольют в голову маркетлоги. Сказили в МС, что шарп системный, а Васик прикладной и 90% в это поверили. Смеются над ВБ-шниками на форуме и мнительные, но тщеславные (в хорошем смысле) программисты предпочитают шарп.
Что до натягивания на ООП, то это чушь. Васик был компонентным от рождения. От компонентности до ООП один шаг. ООП в васике ни чем не отличается от шарповского. Так что это все домыслы.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.