Здравствуйте, Cyberax, Вы писали:
C>В Haskell Option(1)==1 вызовет ошибку типа. В Скале оно вполне скомпилится.
Может быть, я не так понял. Если проблема в недопустимости самого сравнения, то здесь согласен. В общем плохо, что можно так пытаться сравнить в Scala значения разных типов.
Здравствуйте, dsorokin, Вы писали:
C>>В Haskell Option(1)==1 вызовет ошибку типа. В Скале оно вполне скомпилится. D>Может быть, я не так понял. Если проблема в недопустимости самого сравнения, то здесь согласен. В общем плохо, что можно так пытаться сравнить в Scala значения разных типов.
Это требуется самой идеологией Java — типы-то все полиморфные, а equals находится в корне типов.
Здравствуйте, Cyberax, Вы писали:
C>Это требуется самой идеологией Java — типы-то все полиморфные, а equals находится в корне типов.
Но решение было за Одерским. Если не ошибаюсь, в F# сравнить можно только значения одного типа. Да плюс еще там какое-то подобие классов типов похожих на Eq и Ord. В общем, Java была не помехой.
Здравствуйте, dsorokin, Вы писали:
C>>Это требуется самой идеологией Java — типы-то все полиморфные, а equals находится в корне типов. D>Но решение было за Одерским. Если не ошибаюсь, в F# сравнить можно только значения одного типа. Да плюс еще там какое-то подобие классов типов похожих на Eq и Ord. В общем, Java была не помехой.
Сам F# делали как можно ближе к OCaml, а не C#, отсюда и такие решения. Scala планировали сделать более-менее совместимой с Java.
Здравствуйте, Cyberax, Вы писали:
C>Аналогично, хочется делать такое: C>
C>first :: second :: third :: tail = list;
C>
C>Где list — это LinkedList. А нельзя.
Ну в общем примерно понял. Тебе мечтается seamless integration. А scala, в отличие от kotlin, не позиционирует себя как примочка к java; им эта интеграция просто как трамплин для быстрого старта самостоятельной платформы.
А вот про какой-то упомянутый тобой QueryDSL на java — это что вообще? Если отдельный препроцессор, который нужно отдельно запускать — то фи. А если нет, то чёт не верится, что средствами языка можно сделать что-либо существенно приличнее, чем JPA Query API — на который без рвотных позывов и не взглянешь.
Здравствуйте, Cyberax, Вы писали: C>Скала — это вчерашний день. Котлин рулит — это реально удобный язык, в отличие от Скалы.
Также смело можно утверждать, что это Котлин вчерашний день. Поэтому и понятней Java программисту, т.к. Java это вообще позавчерашний день.
Здравствуйте, LeonidV, Вы писали:
C>>Скала — это вчерашний день. Котлин рулит — это реально удобный язык, в отличие от Скалы. LV>Также смело можно утверждать, что это Котлин вчерашний день. Поэтому и понятней Java программисту, т.к. Java это вообще позавчерашний день.
Я понимаю, что N2 круче и всё такое. Но мне надо работать сейчас, и с JVM.
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, LeonidV, Вы писали:
C>>>Скала — это вчерашний день. Котлин рулит — это реально удобный язык, в отличие от Скалы. LV>>Также смело можно утверждать, что это Котлин вчерашний день. Поэтому и понятней Java программисту, т.к. Java это вообще позавчерашний день. C>Я понимаю, что N2 круче и всё такое. Но мне надо работать сейчас, и с JVM.
Насколько я понял из материалов jetbrains, Kotlin сейчас еще не предлагается к промышленному использованию. А стабилизация API так вообще планируется не скоро.
Здравствуйте, LeonidV, Вы писали:
LV>>>Также смело можно утверждать, что это Котлин вчерашний день. Поэтому и понятней Java программисту, т.к. Java это вообще позавчерашний день. C>>Я понимаю, что N2 круче и всё такое. Но мне надо работать сейчас, и с JVM. LV>Насколько я понял из материалов jetbrains, Kotlin сейчас еще не предлагается к промышленному использованию. А стабилизация API так вообще планируется не скоро.
С текущей скоростью развития — уже к следующему году можно будет использовать.
API там вообще минимальный — он паразитирует на стандартном Java API, что есть очень правильно.
Здравствуйте, StanislavK, Вы писали:
SK>Добрый день,
SK>Интересует, есть ли тут народ, который использует Scala для разработки? Какие остались впечатления?
Использую сейчас, потихоньку читаю про всякие премудрости(бо их там хватает) — сам новичек в скале пока, но нравится.
SK>Я так понял, что у Скалы есть три основные проблемы:
SK>1. Байт-кодовая совместимости разных версий.
Пока не столкнулся.
SK>2. Трудно найти разработчиков.
Готовых — безусловно. Но джависту, вобщем, не так сложно в ней разбираться. Плюс, можно писать на скале "как на джаве", если пока не шаришь, как реализовать по-другому.
SK>3. Сложность. Типа, чтобы писать качественный код на Scala надо ее хорошо знать или что-то в этом роде.
Есть такое, если сравникать с простой как столб джавой. С другой стороны, можно забыть про громоздкие джавовские конструкции — в скале неплохо это все обдумано.
SK>У меня опыта на скале нет, так, что все проблемы почерпнуты из разных статей и могут быть вовсе и не проблемы. Хотелось бы услышать людей, которые наступали на грабли.
Из граблей пока — только некоторая недопиленность Идеевского плагина для скалы, все остальное вполне ок.
Еще компиляция долговата, но это уже придирки.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Здравствуйте, Eugeny__, Вы писали:
E__>Из граблей пока — только некоторая недопиленность Идеевского плагина для скалы, все остальное вполне ок.
Попробуй Eclipse — среда говно, но плагин родной от команды. По крайней мере не подсвечивает ошибки там, где их нет, в отличие от.
E__>Еще компиляция долговата, но это уже придирки.
Гыгы, нуну. Готовься бить большие проекты на кусочки.
Здравствуйте, dimgel, Вы писали:
D>Здравствуйте, Eugeny__, Вы писали:
E__>>Из граблей пока — только некоторая недопиленность Идеевского плагина для скалы, все остальное вполне ок.
D>Попробуй Eclipse — среда говно, но плагин родной от команды. По крайней мере не подсвечивает ошибки там, где их нет, в отличие от.
А какую систему сборки использовать лучше, чтобы можно было и на сервере в командной строке собрать, и в IDE работала, со всеми зависимостями.
Здравствуйте, vsb, Вы писали:
vsb>А какую систему сборки использовать лучше, чтобы можно было и на сервере в командной строке собрать, и в IDE работала, со всеми зависимостями.
Например, я использую maven. Его проекты pom.xml понимает Идея, даже вложенные.
Только в последнее время я все чаще стал использовать Emacs вместе со scala-mode вместо тяжеловесной Идеи. Просто набираю в консоли "maven clean compile", и вуаля — жарники собраны. Для одного небольшого десктопного приложения я еще прогоняю жарники через ProGuard. Набираю "maven clean package" и получаю готовый жарник с включенной в него библиотекой Scala, из которой выкинуто все лишнее. Сейчас у меня на библиотеку Scala в сжатом виде приходится килобайт 500, не больше, но я и не так много использую — в основном коллекции.
Здравствуйте, vsb, Вы писали:
vsb>А какую систему сборки использовать лучше, чтобы можно было и на сервере в командной строке собрать, и в IDE работала, со всеми зависимостями.
Я maven юзаю. В комьюнити принято юзать sbt (и eclipse-плагин на него опирается), но у меня главный аргумент против — не умеет оно аналога `mvn site` делать, а мне это существенно.