Ответ 1
-
Сейчас я делаю большую часть своих вещей в Scala прямо сейчас. (Я должен упомянуть, что я думаю, что Scala - лучшая вещь с момента изобретения колеса некоторое время назад.: -D)
По моему скромному мнению, это единственный язык, который действительно позволяет людям выбирать наилучший подход к задаче без какого-либо ненужного разделения между (более) объектно-ориентированными и (более) функциональными подходами.
Глядя на языки, которые раньше утверждали что-то подобное, я могу в основном увидеть два конкурирующих языковых лагеря:
-
Те из объектно-ориентированной стороны, которые видели, что функциональное программирование в последнее время приобрели некоторое сцепление, подумали: "Ну, мы действительно не понимаем эту функциональную штуковину, но добавим какой-то модный синтаксический сахар на наш язык, поэтому мы можем утверждать, что это тоже функционально!" (примеры: Java, Python)
-
Затем те из функциональной стороны, которые думали: "Ну, наш функциональный подход намного превосходит все остальное, и объектно-ориентированная ерунда раздражает, но позвольте добавить некоторые дополнительные ключевые слова на наш язык, что сделает наш язык убегает в науке!" (примеры: F #, OCaml)
Scala дизайнеры объединили множество подходов, исходящих с обеих сторон, и создали хорошо продуманный язык, который, по моему скромному мнению, является самым большим отличием от других языков, которые решили использовать подход "Франкенштейна" к разработке языка программирования.
-
-
Сделав только небольшие вещи с помощью Lift еще и только поверхностный опыт с Rails и Django, я должен признать, что большую часть времени, когда я задавался вопросом, почему что-то в Лифте работало иначе, чем я ожидал, это было вызвано тот факт, что мои ожидания были ошибочными, и подход Lift был выше.
Подъем, безусловно, не "легкое введение в Scala", но изучение того, как работает Лифт, было почти таким же полезным, как и изучение Scala до него.
Возможность иметь "чистый" вид без какой-либо логики в нем - это отличное улучшение для других фреймворков, которые утверждали то же самое, но не соответствовали ему. Scala Поддержка XML-литерала позволяет проверить правильность вашего ответа: компилятор во время компиляции докажет, что вы только генерируете хорошо сформированный XML для клиента.
-
Подъем является жизнеспособной технологией и в настоящий момент является единственным реальным подходом, если вы хотите создавать веб-приложения, которые выглядят, чувствуют и ведут себя как настоящие настольные приложения без написания безумного количества кода самостоятельно.