| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > .NET для новичков > Если плюсы у VB.NET по сравнению с C#? |
| Автор: Rohoss 14.6.2009, 21:55 |
| Зачем он вообще существует? Неужели его «+» только простота? |
| Автор: PashaPash 14.6.2009, 22:46 |
| Rohoss, есть значительные плюсы при работе с COM, и дополнительные удобства при работе с linq to xml. Но это синтаксические фишки, и попадают под "простоту". |
| Автор: jonie 15.6.2009, 07:16 |
| Еще есть тулкит (WinForms Toolkit) для автосоздания ActiveX компонент на VB.NET (хотя ничего не мешает создать UserControl наследник от c# контрола... |
| Автор: KelTron 15.6.2009, 15:02 |
Судя по тому что обещают сделать в C#4.0, бейсик лишится этого преимущества) |
| Автор: PashaPash 15.6.2009, 16:50 | ||
KelTron, зато в C# в обозримом будущем нельзя сделать вот так:
|
| Автор: KelTron 15.6.2009, 18:28 |
| Дело вкуса, я не вижу в этом особых удобств по сравнению с шарпом. |
| Автор: ZmeyNet 16.6.2009, 19:19 |
| ни лучше и не хуже но пока что васик отстаёт от шарпа хотя на 9 канале была видюха в которой как раз говорилось о будующем коэволюционированни этих языков и поставили http://ru.wikipedia.org/wiki/Хейлсберг,_Андерс как раз во главе этого безобразия.... В штатах очень многоие переходили с VB6 -> VB.NET отсюда и "любовь" у нас же наобарот больше прижился паскаль и с++ Ну и конечно если вспомнить что Андрес работал в http://ru.wikipedia.org/wiki/Borland а позже стал руководить групой по разработке C# то станет яснее почему в наших краях C# ближе |
| Автор: diadiavova 16.6.2009, 20:31 |
А вопрос был не в том что лучше, а есть ли плюсы. Плюсы есть, их много, но есть и недостатки. Лучше всего знать оба языка. Так что я не против объединения(главное - чтобы без фигурных скобок |
| Автор: Rohoss 17.6.2009, 00:15 |
Наверное, вскоре, чтобы закрыть блок кода, целое предложение писать будем. |
| Автор: diadiavova 17.6.2009, 00:24 | ||||
| Rohoss, эти два слова с успехом вставляются редактором кода. Когда пишешь на васике в студии вообще кнопок приходится нажимать меньше, чем когда на шарпе. И при этом код гораздо более удобочитаем. А в языках со скобками приходится кучу времени тратить на то, чтобы определить какая скобка что закрывает, особенно когда много вложенных блоков. Подсветка парных элементов, автоиндент и прочие прибамбасы хоть и решают эту проблему отчасти, но по сравнению с васиком код читать на много сложнее, а когда занимаешься этим долго, то в глазах рябит от этих скобок. Добавлено через 11 минут и 8 секунд Приведу пример. Вот это я вписываю в код
И вот, что я получаю после нажатия энтер
|
| Автор: mihryak 17.6.2009, 11:05 | ||
|
| Автор: Любитель 17.6.2009, 11:28 | ||
| Функционально примерно идентичны. Хотя есть некоторый синтаксический сахар в шарпе, есть в бейсике.. Но лично мне бейсик не нравится из-за абсолютной нечитаемости (да, привычка и пр. - не спорю). Как раз эту кучу кейвордов "одним взглядом" я оценить не могу. В шарпе проще.
Ну.. Не понял в чём выигрыш бейсика. Что закрывание ифа отличается от закрывания цикла? Ифы тоже могут вложенными, так что не убедил. Если очень хочется - можно писать комменты у закрывающих скобок. Видел я такую практику.. Мне не нравистя |
| Автор: diadiavova 17.6.2009, 12:25 | ||||||||
"Мусорные" буквы повышают читабельность кода. В код, понятный на васике при беглом взгляде, на шарпе нередко приходится вчитываться.
В моём случае степень привычки к обоим стилям примерно одинакова.
Сколько вложенных ифов обычно бывает в НОРМАЛЬНОМ коде?
Можно... "ручками", а так всё автоматом делается. А как без них обойтись в шарпе, когда там все блочные элементы оформляются одинаково, начиная от пространства имён и кончая блоками внутри процедуры? И кстати, учитывая, что тема о плюсах васика - вышесказанным всё не ограничивается, там есть много прибамбасов, позволяющих писать меньше ручного кода. А учить этот язык стоит хотя бы даже ради XML-литералов. |
| Автор: mihryak 17.6.2009, 12:53 | ||
я написал своё сообщение вовсе не для того, чтобы убедить тебя, что на самом деле тебе легче читать шарп и не для того, чтобы узнать, что ВБ для меня будет более читаемым вариантом ;) смысл по задумке должен был извлечься следующий - не стоит субъективные вещи преподносить как факты с задумкой не справился, прошу прощения |
| Автор: diadiavova 17.6.2009, 12:58 |
Если ты заметил, то первые свои "субъективные вещи" я написал едва различимым шрифтом. Предполагалось, что из этого будет ясно, что я и не преподношу этого как факты Добавлено через 1 минуту и 3 секунды с задумкой не справился, прошу прощения |
| Автор: Любитель 17.6.2009, 13:27 |
| Каждому своё видать (в плане синтаксиса и читабельности) |
| Автор: diadiavova 17.6.2009, 13:43 |
Ну этот вопрос, как мне кажется, вообще ни у кого сомнения не вызывает. Хотя есть и объективные вещи. Например в васике есть возможность настроить всё таким образом, что можно будеть писать код как на скриптовом языке(почти не заботясь ни о типах, ни даже об объявлении переменных), причём всё это можно включать/отключать опционально. Иногда это просто удобно, а в некоторых случаях позволяет избежать дублирования кода. Модули позволяют вводить функции свойства и пр. для которых не надо указывать класс(аналог глобальных). Импортировать можно не только пространства имён, но и классы, что обеспечивает прямой доступ к их статическим членам, необязательные параметры (в C#4 тоже будут) очень полезная вещь, а при работе с офисом, так просто незаменимая. Да собственно так всё навскидку и не вспомнишь. Просто у меня ЛИЧНО общее впечатление от работы с этим языком намного приятнее. С шарпом больших трудностей у меня нет(если бы я не знал васика, то возможно, считал бы его лучшим языком), а вот от работы на васике я просто ловлю кайф. А то, что разработчикам, знающим его плохо(или не знающим вообще) он кажется неудобным - так это нормально. Я вон сейчас пытаюсь потихоньку F# осваивать, так впечатление не очень прямо скажу, хотя кое0что там мне определённо нравится, да и хвалят его. |
| Автор: Rohoss 17.6.2009, 19:47 |
| diadiavova, все-таки убедил меня в том, что васик знать нужно. |
| Автор: diadiavova 17.6.2009, 19:54 |
Скорее полезно. Учитывая, что можно писать программу на нескольких языках сразу, знание их позволяет использовать преимущества обоих. Чтобы уже не было сомнений, приведу ссылку как пример http://msdn.microsoft.com/ru-ru/library/bb882642.aspx Здесь есть таблица, по которой можно сравнить реализацию линков в языках. Это только один пример того, насколько различается поддержка языков. Можно найти немало примеров где шарп лучше, поэтому я и говорю, что знать лучше и то и другое. Хотя в следующих версиях языки будут сближаться по возможностям. |
| Автор: mihryak 17.6.2009, 22:15 | ||
вот, опять-таки, для меня лично - сомнительный аргумент, гораздо лучше читаю линку в функционально записи, чем в выражениях запросов |
| Автор: diadiavova 17.6.2009, 22:20 |
Смотря что аргументировать. Я просто показал что есть вещи в васике реализованные лучше. Применительно конкретно к линкам, опять таки, в васике есть выбор. Хош так , хош эдак. Добавлено через 21 секунду |
| Автор: Enteropoly 18.6.2009, 11:38 |
| Вы-таки спорите о том, какую футболку лучше надеть, белую или чёрную. В белой есть карман для ручки, а на чёрной зато красивый принт с листом конопли. Суть дела в том, что в не зависимости от того, какими свистелками и перделками оснащена футболка, это всё равно футболка. А цвет - это дело вкуса, и не более. |
| Автор: diadiavova 18.6.2009, 14:28 |
| Enteropoly, ассемблер - тоже язык программирования, только писать на нём как-то не охота. зы И кстати: я бы с коноплёй не одел |
| Автор: SKrivosein 18.6.2009, 16:22 |
| VB и C# это так сказать двоюродные братья, а АСМ их прадедушка |
| Автор: diadiavova 19.6.2009, 16:01 |
| Не знаю, как у меня это вылетело из головы, но... а как на счёт макросов для Visual Studio ? Это ведь уже явно не вопрос предпочтений, на шарпе их писать просто невозможно |
| Автор: nikitao 20.6.2009, 01:40 |
| В свое время было очень много VB 6 программистов. Для обратной совместимости .NET и этих программистов и нужен VB .NET. Если его не знаешь , то и смысла его изучать нет имхо. Плюшки безусловно свои есть , но c# все равно был и будет флагманом. |
| Автор: diadiavova 20.6.2009, 01:45 |
| nikitao, в пользу изучения в этом топике была приведена масса доводов, твой аргумент в пользу того, что не нужно - "C# - флагман". Чудненко. |
| Автор: Enteropoly 20.6.2009, 02:20 |
| Я кстати до .NET кодил на VB6, но после появления VB.NET разбираться во всей этой мутоте почему-то желания не возникло. Пересел на C#, чем доволен. И всё ж-таки, я согласен с nikitao. C# изначально созавался ИМЕННО под .NET, с нуля, что позволяет с определённой долей уверенности заявить, что именно этот язык в полной мере реализует все возможности платформы. Миллионы мух же не могут ошибаться |
| Автор: nikitao 20.6.2009, 02:29 |
| Специально прочитал весь топик. Масса доводов....нет никакой массы. Есть программисты , которые привыкли к одному синтаксису ( с VB 6) , есть другие , которые привыкли к си синтаксису. Всех нужно обслужить. Оставлять с носом армию VB 6 программистов , которых M$ сама и расплодила неразумно. С другой стороны нужен был язык , который будет основным для .net. Появился C#. У каждого языка свои архитекторы и ком-ды разработчиков. Каждые вставляют свои фишки. Вот и все. Но то, что в бэйсики есть две три фишки , которых нет в c# - это не значит, что надо изучать vb и тратить на это время. Их реальная ф-ость дублирует друг друга на 98 %. Это значит, что в итоге вы все равно будете писать или на одном или на другом. А тот на котором не пишете постепенно будете забывать. Теперь почему все таки лучше C# , а не VB. Если вы знаете VB , то вам все равно нужно будет знать ( хотя бы уметь читать) C# потому что большинство ресурсов , книг , .net форумов примеры приводят именно на C#. Кроме того долгое время vb отставал от C# ( сейчас правда они по ф-лу идут вровень). Это означает, что в будущем возможен такой сценарий, когда vb вновь будет отставать. В итоге единственное причиной почему изучать надо VB , а не C# - это вы программист VBA или VB 6. |
| Автор: Enteropoly 20.6.2009, 02:38 |
| Ни добавить, ни прибавить. |
| Автор: diadiavova 20.6.2009, 02:49 | ||||||||||||||||
VB.Net тоже создавался под дотнет, именно поэтому он так отличается VB6.
Интересно, что бы это значило? Ты тему внимательно читал?
Если VB6 - мутота (а мне он тоже не особенно нравится), то это не значит, что то же самое относится и к VB.Net. Я иногда пишу макросы под офис, обычно при этом много матюкаюсь.
Не языка и программистов, а VB.Net и VB6, поскольку там есть инструменты апгрейда кода, а если язык сильно отличается то такой инструмент качественный апгрейд выполнить не сможет. Однако, в результате получилась конфетка с рядом полезных возможностей, может быть при перечислении они и не выглядят значительными, а вот когда ими начинаешь пользоваться - ощущение совсем другое. Кстати заметил, что обычно VB.Net ругают люди, практически его не знающие(или вообще не знающие), я то шарп знаю
Интересно, к какой категории ты относишь меня?(если, конечно, вообще относишь к программистам) Всё видимо посчитано
Это видимо из опыта.
С этим я и не спорю, только вот ведь в чём вся штука: на протяжении всего топика я писал, что знать надо оба языка, и топик посвящен плюсам васика. Я нигде не призывал к отказу от шарпа, но писал что может дать васик. Только что это за аргумент в пользу языка? Васик - несложный язык, любой, кто владеет шарпом освоит его за пару недель, а все дотнетовские фишки вообще к языкам не привязаны. У меня проблем с инфой нет. Только первая версия. Во второй сравнялись. А сейчас в васике есть фичи, которые точно лишними не будут не одному разработчику.
В мсдн пишут, что они буудут сближаться
Ни то ни другое |
| Автор: Enteropoly 20.6.2009, 03:12 | ||
Это означает то, что с моей точки зрения, плюсов у VB.NET net |
| Автор: diadiavova 20.6.2009, 03:13 | ||
Об этом я и написал в предыдущем посте. И не ты один такой. |
| Автор: granit1986 20.6.2009, 11:26 |
| ну вот, раньше были холивары C# vs Delphi, а теперь уже холивары внутри .NET |
| Автор: nikitao 20.6.2009, 13:24 | ||||||
Не очень понял к чему ты это. Инструментарий апдейта создали потому что решили продолжать линейку vb. То что этот инструментарий получился хорош - слава богу( может быть кстати из-за того что на это время потратили первые версии vb.net оставали от c#).... Просто не очень понял как это к тому , что я сказал относится.
Ты сам сказал , что тебе VB нравится и по всей видимости ты на нем стараешься больше писать. Это из логики. Ну и из опыта. Хрен я сейчас что то напишу на MFC , хотя когда то немного писал. Потому что опыта нет , а опыта нет потому что нет необходимости. Также и тут. Выберешь 1 язык , который по душе будет и будешь вероятно его использовать большую часть времени.
Две недели - тоже время. Хочется изучать языки - лучше это время потратить на IronPython или еще лучше на Java , чем дублировать знания. Хочется просто знаний получать - изучайте паттерны , рефакторинг и прочее. Зачем тратить время по сути на то , что и так знаешь. Я вот этого понять не могу. |
| Автор: diadiavova 20.6.2009, 16:40 | ||||||||
Ещё раз повторяю: "я не холиварю, а описываю плюсы языка". То что находится куча людей пытающихся доказать, что "васик - ацтой, шарп - рулез", тоже холиваром мало отдаёт поскольку все аргументы сводятся к следующему: "я не вижу удобств", "шарп - флагман", "а мне это не надо", или просто уничижения всего, что на самом деле упрощает жизнь. Причём все кто это доказывает, сами не в теме. Это было просто уточнение. Тем более, что это было ответом, на то, что ты начал углубляться в историю. История происхождения той или иной фичи в языке - вопрос вторичный. Меня больше интересует результат. Совместимость со старым васиком придала языку гибкости, вот и всё. Старый васик был достаточно слабым языком и его бешеная популярность в своё время, была обусловлена тем, что язык был очень простым и удобным. VB.Net несёт в себе всю мощь дотнета и обогащение его фичами из старого васика, дало возможность использовать преимущества того и другого. Что в этом плохого то?
Писать на том или ином языке иногда и по необходимости приходится.
На счёт явы не спорю, с той лишь оговоркой, что не лучше, а тоже надо. А вот что до айронпитона, то его преимуществ я просто не знаю. Синтаксис мне не нравится(хоть я его и не знаю, просто общее впечатление), но если кто-то объяснит преимущества, то кто знает, может и возьмусь когда.
Среди упоминавшихся плюсов были разные, как те, без которых можно прожить, так и те, ради которых язык учить стоит. XML-литералы - качественный шаг вперёд, и игнорировать эту технологию я считаю ошибкой, к тому же учитывая тенденцию к сближению языков, рано или поздно в шарпе они тоже появятся, только мне к тому времени изучать их с нуля не придётся. Это не сложно, но навык для эффективной работы с ними всё равно нужен. Обсуждение возможности писать макросы для студии, все критики почему-то скромно обошли стороной, хотя переоценить её невозможно и противопоставить в шарпе просто нечего. (надстройки - не ответ, да и в васике они так же доступны). |
| Автор: Partizan 20.6.2009, 22:47 |
| У меня есть стойкое желание перенести это всё в холивары... |
| Автор: diadiavova 20.6.2009, 22:49 |
| Оно, конечно "хозяин - барин", но ИМХО, тема может быть полезной если вырезать из неё несколько последних постов. |
| Автор: nikitao 20.6.2009, 23:07 |
| Да нет. Давайте просто закончим. Тот кто будет задаваться подобным вопросом найдет здесь достаточно аргументов и в одну и в другую сторону , а значит сможет составить свое мнение |
| Автор: Karadul 20.2.2012, 19:45 | ||||
Ты яву не видел. Типичный код выглядит так:
На 3 строчки - 8 раз lock. Еще на генерики смотреть доставляет, за этими <a<b>> может начать в глазах рябить. |