Платформа объекта - C# или VB.Net

Моя компания бросает вокруг идеи использовать Платформу Объекта, когда она выпускает.NET 4. Мы в настоящее время - магазин VB.NET, но имеем некоторый интерес в переключении на C#.

Есть ли какие-либо главные аргументы за или против такого перемещения?
EF с C# содержат какие-либо преимущества в производительности, кодируя простоту, и т.д. по VB.NET?

Спасибо за Ваши мысли/мнения!

11
задан Airn5475 19 February 2010 в 15:50
поделиться

10 ответов

Я всегда говорю, придерживайтесь того, в чем вы хороши. Если есть большая кривая обучения от vb.net до C #, это может быть рискованно. Я был программистом vb.net, но перешел на C #, мне это не показалось таким сложным. Но если вы работаете над надежным программным обеспечением, которое требует ежедневных изменений / исправлений, возможно, вы захотите придерживаться того, что у вас хорошо получается (в данном случае VB.net).

Вот хорошее сравнение между обоими языками.

Когда вы сравниваете оба языка для фреймворка сущностей, вы не найдете большой разницы. Если вы предпочитаете общедоступную подпрограмму с соответствующими конечными подписями (более многословную и многословную), используйте vb.net. Если вам нравится {} и менее многословный, то отдавайте предпочтение C #.

Мне неприятно говорить людям не изучать C #, потому что, честно говоря, мне жаль, что я давно не перешел с VB.net на C #. Мне нравится загадочный синтаксис, потому что у меня есть опыт работы на C / C ++. Некоторое время мне приходилось иметь дело с VB.net из-за некоторых внутренних приложений. Так что это предпочтение, и вы, вероятно, быстро все внедрите в vb.net. Но если ваша компания желает позволить вам, ребята, выучить новый язык и инвестировать в свои знания, я советую полностью переходить на C #.

8
ответ дан 3 December 2019 в 02:52
поделиться

На самом деле я испытываю иррациональную неприязнь к vb.net, если честно, я предпочитаю синтаксис C #, но нет веских причин для перехода. Оба они компилируются в IL с очень тонкими различиями, и оба одинаково способны.

Я полагаю, что наиболее веской причиной для перехода может быть то, что легче найти и нанять высококлассных разработчиков C #, чем vb.

9
ответ дан 3 December 2019 в 02:52
поделиться

В .NET 4.0 VB.NET и C# имеют совершенно одинаковую функциональность. Единственное реальное различие - это синтаксис. До версии 4.0 это было не так, поскольку существовал ряд незначительных различий. Однако Microsoft предприняла попытку сделать эти языки одинаковыми. Это произойдет с выходом версии 4.0.

4
ответ дан 3 December 2019 в 02:52
поделиться

Если вы в первую очередь программист VB, C # может сбивать с толку; все эти загадочные скобки вместо красивого многословного "End Sub"!

По большей части языки в остальном эквивалентны; оба компилируются по существу в один и тот же IL (хотя иногда есть различия) и, таким образом, одинаково производительны (по большей части).

Итог: это предпочтение. Я предпочитаю C #. Вы не можете.

1
ответ дан 3 December 2019 в 02:52
поделиться

Haskell для одного имеют различные типы для функций с побочными эффектами и без.

Это довольно хорошее отличительное свойство для того, чтобы быть 100% функциональным языком, по крайней мере IMHO.

-121--1359318-

Я всегда говорю придерживаться того, в чем вы хороши. Если существует большая обучающая кривая от vb.net до C #, это может быть рискованно. Я был vb.net программистом, но переехал на C #, мне не было так сложно. Но если вы работаете над некоторым надежным программным обеспечением, которое нуждается в ежедневных изменениях/исправлениях, вы можете придерживаться того, в чем вы хороши (в данном случае VB.net).

Вот хорошее сравнение между обоими языками.

Когда вы сравниваете оба языка для рамки сущностей, вы не найдете большой разницы. Если вы предпочитаете общедоступный подводник с соответствующими концевыми подводами (более словесными и подробными), то используйте vb.net. Если вам нравится {} и меньше слов, то предпочитайте C #.

Я ненавижу говорить людям не учить C #, потому что я буду честен, я хотел бы, чтобы я изменился с VB.net на C # давно. Мне нравится криптографический синтаксис, потому что у меня есть фон C/C + +. Мне пришлось некоторое время иметь дело с VB.net из-за некоторых внутренних приложений. Так что это предпочтение, и вы, вероятно, будете быстро реализовать все в vb.net. Но если ваша компания готова позволить вам, ребята, выучить новый язык и инвестировать в ваши знания, то я говорю, идите за C # весь путь.

-121--2907123-

Существенных различий нет, и теперь больше, чем когда-либо, VB.NET и C # будут синхронизированы, так что это действительно сводится к вашим (или вашей компании) предпочтениям.

0
ответ дан 3 December 2019 в 02:52
поделиться

Зависит от команды, с которой вы работаете, и база навыков.

0
ответ дан 3 December 2019 в 02:52
поделиться

Я считаю, что C # - лучший вариант. Я могу кодировать и то, и другое, но скорее C #. Кажется, что мир .Net вращается вокруг C #. Я думаю, ваша компания найдет больше программистов на C #, которые более квалифицированы, чем вы могли бы найти программистов VB.net.

0
ответ дан 3 December 2019 в 02:52
поделиться

Одно из самых убедительных различий для меня заключается в том, что C# в целом имеет более лаконичный синтаксис. Особенно это проявляется в лямбда-выражениях. Хотя VB.Net теперь имеет ту же функциональность, я нахожу синтаксис VB.Net слишком многословным.

Например, если вы используете синтаксис LINQ 'Fluent API':

C#

var addresses = _users
   .Where(u => u.Name == "scott")
   .Select(u => u.Address)

Конечно, сначала синтаксис может показаться немного странным, но как только вы к нему привыкнете, он становится очень читабельным. Сравните это с VB.Net:

Dim addresses = _users _
     .Where(Function(u) As Boolean
                return u.Name = "scott"
            End Function) _
     .Select(Function(u) as Address
                Return u.Address
             End Function)

EDIT: Очевидно, меня неправильно информировали...

Приведенный выше код действителен только в VB10 (где они добавили многострочные лямбда-операторы), но может быть написан более кратко следующим образом:

        Dim addresses = users _
          .Where(Function(u) u.Name = "scott") _
          .Select(Function(u) u.Address)

За исключением уродливых подчеркиваний и ключевого слова Function вместо =>, это есть в основном то же самое. Хотя синтаксис C# все же предпочтительнее ;-)

3
ответ дан 3 December 2019 в 02:52
поделиться

Думаю, ваша самая большая проблема не в разнице в производительности или возможностях. Думаю, дело в документации. MSDN, вероятно, будет предоставлять функции на обоих языках, но большинство сообщений в блогах и т. Д. Будут на C #. Эти сообщения могут предлагать реальные рекомендации по передовым методам, советам и уловкам, а также множество другой информации, на которую вы будете опираться в своей практике разработки, и большая часть из них будет на C #.

5
ответ дан 3 December 2019 в 02:52
поделиться

Я думаю, что любой язык подойдет. Я предпочитаю c# только потому, что на c# больше документации.

0
ответ дан 3 December 2019 в 02:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: