Подтвердить что ты не робот

Scala (2.8)/Подъем (2.2) против С# (4.0)/ASP.NET-MVC 3

Недавно я изучал Scala в свое личное время. На работе я изучал С#/. NET (4.0). Я недостаточно глубоко знаком с тем, чтобы иметь возможность более чем минимально оценить либо Lift, либо ASP-MVC 3. Я на распутье. И учитывая мое очень ограниченное время, я должен выбирать между тем или другим, чтобы учиться и создавать приложение в течение следующих 3-6 месяцев.

Я столкнулся с этой лифтовой статьей сегодня, и я сразу был заинтригован. Я попытался многое из изложенного в статье, что вызвало у меня бесконечные часы разочарования и головных болей. И некоторые из них я в конце концов отказался и реализовал грубые небезопасные простые версии, чтобы завершить проекты. Итак, в этой статье сделан Scala/Lift очень привлекательный.

И затем за обедом мой член команды (и друг) обсуждал его работу над ASP-MVC 3 с использованием С# в .NET 4.0. Похоже, было бы очень приятно учиться и использовать. И он рассказал о достаточном количестве вещей, которые, казалось, перекрывали статью Лифт, о которой я читал утром.

Мой вопрос в том, что: учитывая мое ограниченное время, каковы преимущества и/или недостатки выбора Scala/Lift over С#/ASP-MVC 3? И какие преимущества имеет С#/ASP-MVC 3 над Scala/Lift?

Чтобы уменьшить сложность в моей оценке: Пожалуйста, примите к сведению последнюю версию каждой из этих технологий; Scala 2.8.1 (2010/Dec), подъем 2.2 (2011/январь), С#/.NET 4.0 (2010/апрель) и ASP-MVC 3 (2011/янв.).

Спасибо, что помогли мне в этой важной точке принятия решения.


ОБНОВЛЕНИЕ 2011/Март/19 12:25 CDT:
Я с тех пор наткнулся на пару ресурсов, которые, кажется, очень полезны на стороне Scala/Lift:
1. Бесплатная электронная книга (PDF и HTML) под названием "Изучение лифта (веб-инфраструктура на основе w65)"
2. Статья Wiki создателя Lift под названием "Просмотр первой"

Первая глава книги была очень полезной. Мне очень нравится, насколько сфокусированы принципы и принципы дизайна лифта на "разделение проблем" (сохранение кода из фрагментов дисплея) и "соглашение по конфигурации".

И из того, что я видел до сих пор, в то время как ASP-MVC 3 использует те же "сильные рекомендации", он все еще зависит от уровня, где "гибридизация" кода и презентации. Это где ни разработчики сайта, ни разработчики программного обеспечения не смеют протектора ПОСЛЕ создания. IOW, после создания, есть поддерживающие драконы. Я хотел бы, чтобы кто-то сказал мне, что я здесь неправ.

4b9b3361

Ответ 1

Scala/Поднимите профи:

  • может использовать огромные решения/библиотеки с открытым исходным кодом для веб-сайтов и предприятий
  • больше инноваций
  • снижение затрат
  • (субъективный: предпочитает синтаксис Scala и модель данных)

С#/ASP профи:

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

Для меня Scala/Lift - более эффективное решение, но я больше знаком с java/jvm и не связан с .NET.

Ответ 2

Я просто читал wikipedia, а С#, кажется, покрывает большинство вещей, которые предоставляет scala.

От wikipedia... Scala также предоставляет унифицированную систему типов (как в С#, но в отличие от Java), где все типы, включая примитивные типы, такие как целые и логические, являются объектами, которые являются подклассами типа Any. scala также содержит ряд других функций (или не-функций), присутствующих в С#, но не Java, включая перегрузку оператора, необязательные параметры, именованные параметры, необработанные строки (которые могут быть многострочными в Scala), и нет проверенные исключения.

Есть только несколько дополнительных вещей scala, и поскольку у вас есть опыт работы с .net, я бы просто придерживался С#

Ответ 3

Scala pro:

  • Поддержка функционального программирования
  • Лучшая поддержка linux, если используется jvm (для С# использовать моно, который не является поддерживается Microsoft)

С# pro:

  • Инструмент /IDE более зрелый/надежный
  • Более открытые вакансии на рынке в настоящий момент

Ответ 4

Посмотрите http://circumflex.ru/ (английский язык). Новая привлекательная веб-инфраструктура Scala.

Не MVC, но очень классно для настольных приложений: http://vaadin.com/ - серверная сторона RIA. Вы можете использовать Scala, Java или любой другой язык JVM. Всего один JAR. Плагин не требуется для клиента.