Entity Framework - C # или VB.Net - PullRequest
       13

Entity Framework - C # или VB.Net

11 голосов
/ 19 февраля 2010

Моя компания отказывается от идеи использования Entity Framework, когда она выходит с .NET 4. В настоящее время мы магазин VB.NET, но заинтересованы в переходе на C #.

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

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

Ответы [ 10 ]

9 голосов
/ 19 февраля 2010

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

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

7 голосов
/ 19 февраля 2010

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

Вот хорошее сравнение между обоимиlanguages.

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

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

5 голосов
/ 19 февраля 2010

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

4 голосов
/ 19 февраля 2010

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

3 голосов
/ 19 февраля 2010

Одно из самых убедительных отличий для меня заключается в том, что 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 #, хотя; -)

1 голос
/ 19 февраля 2010

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

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

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

0 голосов
/ 23 февраля 2010

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

0 голосов
/ 19 февраля 2010

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

0 голосов
/ 19 февраля 2010

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

0 голосов
/ 19 февраля 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...