Здравствуйте, sin_cos, Вы писали:
_>что в нем нового? что хорошего? _>только не так -- иди-посмотри у них на сайте, там все написано.
Разве не очевидно? Героические разработчики JetBrains обнаружили в Scala фатальный недостаток и исправили его... написав правильную Scala, с играми и девочками
Здравствуйте, Privalov, Вы писали:
P>Потому что Фортран и Кобол в полном порядке.
В этом смысле java будет в полном порядке еще очень-очень долго, даже в самом неблагоприятном случае.
_>тогда, что остается? а, ничего. копия java с синтаксическим сахаром.
У java случился суровейший застой — развитие языка застряло так, что даже C++ начал догонять и перегонять. Возник спрос на хоть что-то новенькое и при этом не настолько ультра-радикальное чтобы сломалась совместимость с существующей java. Вот для удовлетворения этого спроса и нужен kotlin. Если java взбодрится и сдерёт с других языков новомодные фичи — то kotlin зачахнет. Если нет — то kotlin будет жить, а java перейдёт в стазис кобола и фортрана.
Здравствуйте, pagid, Вы писали:
P>>Потому что Фортран и Кобол в полном порядке. P>В этом смысле java будет в полном порядке еще очень-очень долго, даже в самом неблагоприятном случае.
Я больше скажу: есть места, где до сих пор на Java 1.4 пишут. Но Фортран с Коболом ее все равно переживут.
Здравствуйте, StatujaLeha, Вы писали:
SL>Если не сложно, можно это сопроводить кусками кодов Java vs Python.
Например то, чего в Java нет и не будет:
value jobs = HashSet { for (p in people) for (j in p.jobs) j.organization }
[Integer, Integer -> String] args = [1, 2->”Пример”]
value [a, b -> c] = args
switch (x)
case (1 | 2) { print("x == 1 or 2"); }
case ([Integer a, Integer b, String c]) { print("Tuple: ``a`` and ``b`` and ``c``"); }
case (Integer a -> Integer b) { print("Entry: ``a`` and ``b``"); }
case (is String) { print("String"); }
else { print("Unknown"); }
То есть for comprehension, destructuring, pattern matching, flow typing, immutability by default и т.д. На python часть этого есть. В C# будет хуже, про Java даже не говорю.
Наличие подобных конструкций несколько меняет подход к программированию.
Здравствуйте, hi_octane, Вы писали:
_>Если java взбодрится и сдерёт с других языков новомодные фичи — то kotlin зачахнет. Если нет — то kotlin будет жить, а java перейдёт в стазис кобола и фортрана.
Скроее, Алгола и ПЛ/1. Потому что Фортран и Кобол в полном порядке.
Здравствуйте, elmal, Вы писали:
E>Здравствуйте, sin_cos, Вы писали:
_>> когда он попробует хотя б что простенькое пописать на Python и потом сравнит количество кода с Java — после определенного расширения кругозора от Java будет мутить.
Если не сложно, можно это сопроводить кусками кодов Java vs Python.
У меня основной инструмент .Net/C#, вспомогательный — Python.
Пока не понял, о чем же таком хорошем идет речь...
Здравствуйте, sin_cos, Вы писали:
_>тогда, что остается? а, ничего. копия java с синтаксическим сахаром.
(Не на личном опыте) Он весьма популярен и распиарен как раз в среде андроид разработчиков потому как для андроида надо писать на java 1.6, а котлин может компилиться в поддерживаемый байткод, но в то же время предоставляет всякую красоту "как в Java" и даже больше
Здравствуйте, AlexRK, Вы писали:
ARK>Здравствуйте, vsb, Вы писали:
vsb>>Ceylon это какая-то местечковая поделка от нонеймов, честно говоря в его сторону даже не смотрел, не интересно по многим причинам.
ARK>Ну, Red Hat я бы нонеймом не назвал.
В программировании они нонеймы. Всё, что я о них знаю, это то, что они (вроде бы) платят за разработку линукса и некоторых дополнительных программ для него (типа systemd). Это C. Java там никаким боком вообще. Из чего я делаю вывод, что Ceylon для RH это какой-то побочный продукт какого-то слишком умного разработчика.
> А Котлин — тоже местечковая поделка в общем-то.
А Котлин пишется компанией, которая делает одну из лучших IDE, умудряется её продавать за бешенные бабки на рынке, где есть как минимум две халявные альтернативы (это я про Java, про всякие PHP, JS и тд молчу, там альтернатив вообще выше крыши), т.е. компанией, для которой программирование на Java это её главная компетенция и она в этой компетенции является одним из ведущих мировых игроков. Это раз. Известно, что они пишут много нового кода на Kotlin, в том числе и в самой Idea, т.е. они уже и себя завязали на Kotlin, и никуда он не денется, это два.
что в нем нового? что хорошего?
только не так -- иди-посмотри у них на сайте, там все написано.
легкость runtime-a и легкость интерграции с Adnroid studio -- это слабые аргументы.
например, потому, что неворуженным глазом трудно заметить разницу между android прилоежением написанным на Котлине и Скале, то есть overhead из-за языка тут -- маленький. а если вообще сжать apk....
а интерграции с Adnroid studio -- кто-то Adnroid studio не использует.
тогда, что остается? а, ничего. копия java с синтаксическим сахаром.
Здравствуйте, sin_cos, Вы писали:
_>что в нем нового? что хорошего?
Да низачем Kotlin не нужен. По большому счету, ничем не отличается от любого из "модных современных статических языков" — Swift, Ceylon, Xtend. Этого добра щас как грязи.
(Rust и Go все же стоят немного особняком, каждый со своими серьезными плюсами и не менее серьезными кривулинами.)
Здравствуйте, hi_octane, Вы писали:
_>>тогда, что остается? а, ничего. копия java с синтаксическим сахаром. _>У java случился суровейший застой — развитие языка застряло так, что даже C++ начал догонять и перегонять. Возник спрос на хоть что-то новенькое и при этом не настолько ультра-радикальное чтобы сломалась совместимость с существующей java. Вот для удовлетворения этого спроса и нужен kotlin. Если java взбодрится и сдерёт с других языков новомодные фичи — то kotlin зачахнет. Если нет — то kotlin будет жить, а java перейдёт в стазис кобола и фортрана.
почему? джава 8 уже на дворе.
он разве сможет жить без джавы, если он полностью зависит от нее?
_>почему? джава 8 уже на дворе.
С точки зрения других платформ и языков все новые фичи java 8 были актуальны где-то в 2005-м. И то! половина из этих "новинок" переехала из java 7 Java 9 всё переносят и переносят, и пока Оракл будет сохранять такую бешенную скорость доработки языка — у Kotlin есть шанс.
_>он разве сможет жить без джавы, если он полностью зависит от нее?
Он зависит от jvm и экосистемы библиотек java, не более.
Здравствуйте, kaa.python, Вы писали:
KP>Разве не очевидно? Героические разработчики JetBrains обнаружили в Scala фатальный недостаток и исправили его... написав правильную Scala, с играми и девочками
Scala, конечно хороша, но отсутствие бинарной совместимости между минорными версиями — это
Здравствуйте, Privalov, Вы писали:
НС>>Так ты на Фортране пишешь или на Коболе? P>Сейчас нет. В прошлом проекте мне вместо документации присылали кобольные data division. И народ использует Кобол весьма активно.
Какой народ? Как думаешь, сколько здесь, на сайте, писцов на Коболе?
Здравствуйте, Privalov, Вы писали:
P>Если тут есть один активный писец на ПЛ/1, то писцов на Коболе минимум 2.5.
Сильно сомневаюсь, в СССР на Коболе практически не писали, в отличие от ПЛ/1 и Фортрана, и никаких традиций его использования не существует. Конечно есть некоторый шанс, что кто-то из уехавших в буржуинию относительно недавних мигрантов согласился на копание в Коболе, или здесь есть мигранты 80-х — начала 90-х
Здравствуйте, Privalov, Вы писали:
НС>>Какой народ? Как думаешь, сколько здесь, на сайте, писцов на Коболе? P>Если тут есть один активный писец на ПЛ/1, то писцов на Коболе минимум 2.5.
Здравствуйте, sin_cos, Вы писали:
_>тогда, что остается? а, ничего. копия java с синтаксическим сахаром.
Этот синтаксический сахар устраняет кучу серьезных проблем Java. Например крайне перегруженный синтаксис, мутабельность по умолчанию, NPE. Язык позволяет легко писать DSL, то есть компактно и читаемо записывать задачи предметной области. При этом без потери производительности. При этом есть нормальная IDE из коробки.
Если писать на Kotlin в стиле Java от начитавшегося ООП (фабрики фабрик и тому подобное), то Kotlin не нужен. Если же у человека есть минимальный кругозор, и он следит за индустрией, следит за другими языками, наслышан про такие глупости как иммутабельность, паттерн матчинг, DSL, data object и т.д, когда он попробует хотя б что простенькое пописать на Python и потом сравнит количество кода с Java — после определенного расширения кругозора от Java будет мутить. Если же знать только Java, считать что других языков нет, считать что кроме ООП нет вообще других парадигм и это серебряная пуля, и чтоб главное в квалификации программиста в каждом классе переопределять иквался и хешкоды — Java, а лучше Kobol — ваш выбор.
Ситуация проста — те, разработчики, которые попробовали например scala, обратно на Java не очень хотят. Если попробовать что то еще поинтереснее по синтаксису, чем scala — обратно тянет еще меньше.
На Java писать без spring — однозначно мазохизм. Ибо такое дерьмище получится, либо сам dependency injection будешь фигачить. На более современных языках в принципе вполне реально с комфортом писать без spring, вообще на голом языке из коробки. Например для разработки мобильных приложений это важно. Хотя да, поначалу ломает. Но учитывая, что средний разработчик работает года 3, а затем уходит в управленческие должности, или сидит на багфикса в каком нидь ужасе на Java 1.4 чуть ли не десятилениями, один черт если нанимать новых, то у них ломки не будет, ибо они спринга не знают . Правда ООП головного мозга приходится выправлять, если отказываются читать что то вроде SICP — это проблема .
Лично я сейчас вообще на ceylon пишу. И после него от Java как то мутит, переходить на Java желания ни малейшего. Синтаксис scala кажется фиговеньким, с нуллами приходится бороться с помощью монад, как и в Java. Система типов и читаемость кода на порядок лучше что scala, что kotlin. Взаимодействие с Java на настоящий момент в ceylone похоже покруче, чем в этих языках. Единственное, пока плагин к IDEA несколько сыроват, но работать уже в принципе можно, особенно если до этого был вынужден eclipse пользоваться. Ну и либы приходится постоянно юзать от Java, ибо своих пока не густо. Ну и по синтаксису для написания DSL, к сожалению все таки kotlin и scala дают большие возможности, по крайней мере пока.
Здравствуйте, elmal, Вы писали:
E> когда он попробует хотя б что простенькое пописать на Python и потом сравнит количество кода с Java — после определенного расширения кругозора от Java будет мутить. Если же знать только Java, считать что других языков нет, считать что кроме ООП нет вообще других парадигм и это серебряная пуля, и чтоб главное в квалификации программиста в каждом классе переопределять иквался и хешкоды — Java, а лучше Kobol — ваш выбор.
Нет никакого выигрыша у питона в количестве кода, было когда-то но сплыло. У меня перед глазами проекты на django и на spring-boot, Python+Django сливают Java+Spring со страшной силой и в плане компактности и в плане поддержки.
А Kotlin это просто Java без груза 20+ лет, язык чтобы работу работать. Надежный, простой и удобный.
Здравствуйте, vsb, Вы писали:
vsb>1. Самый удобный язык из современных.
не самый
vsb>2. Отличная замена устаревшей джаве.
не отличная
vsb>3. Есть JS-выхлоп, поэтому можно писать общий между бэкэндом и фронтэндом код на одном языке.
и на скале можно
vsb>4. Будет native-выхлоп, отличная замена устаревшему Go.
что еще будет?
vsb>5. IDE на голову выше всех аналогов, кроме, разве что Java.
ide не относится к языку
Здравствуйте, sin_cos, Вы писали:
vsb>>1. Самый удобный язык из современных. _>не самый
Я не встречал удобней, а языков я повидал немало.
vsb>>2. Отличная замена устаревшей джаве. _>не отличная
Просто превосходная. Аналоги гораздо хуже.
vsb>>3. Есть JS-выхлоп, поэтому можно писать общий между бэкэндом и фронтэндом код на одном языке. _>и на скале можно
У скалы свои проблемы. Хотя не самый плохой вариант, это да.
vsb>>4. Будет native-выхлоп, отличная замена устаревшему Go.
_>что еще будет?
Поживём, увидим.
vsb>>5. IDE на голову выше всех аналогов, кроме, разве что Java. _>ide не относится к языку
Относится. Язык это не абстракция, на нём люди программы пишут. Поэтому важна и мощь IDE и скорость компилятора и кроссплатформенность и всё остальное, что важно в работе.
Здравствуйте, AlexRK, Вы писали:
vsb>>1. Самый удобный язык из современных.
ARK>А что там с удодбством Ceylon или Swift по сравнению с?
Swift лесом, там ARC, это заведомо менее удобная модель управления памятью, чем GC. Ceylon это какая-то местечковая поделка от нонеймов, честно говоря в его сторону даже не смотрел, не интересно по многим причинам.
Здравствуйте, vsb, Вы писали:
vsb>Ceylon это какая-то местечковая поделка от нонеймов, честно говоря в его сторону даже не смотрел, не интересно по многим причинам.
Ну, Red Hat я бы нонеймом не назвал. А Котлин — тоже местечковая поделка в общем-то.
Здравствуйте, vsb, Вы писали: vsb>У скалы свои проблемы. Хотя не самый плохой вариант, это да.
У котлина плюс в том что на него можно достаточно мягко соскочить можно "обычному" разработчику(теоретизирую, т.к. не пробовал его в боевых условиях), а вот для скалы нужен особый вывих мозга(но это не мешает мне ее любить)
Здравствуйте, vsb, Вы писали:
ARK>>Ну, Red Hat я бы нонеймом не назвал. vsb>Java там никаким боком вообще. Из чего я делаю вывод, что Ceylon для RH это какой-то побочный продукт какого-то слишком умного разработчика.
Такая небольшая штуковина как Hibernate уе достаточно давно разрабатывается Red Hat
vsb>Я не встречал удобней, а языков я повидал немало.
ну а я встречал.
vsb>Просто превосходная. Аналоги гораздо хуже.
не хуже. назови аналоги, назови их плохие стороны. а иначе — беспочвенно.
vsb>>>3. Есть JS-выхлоп, поэтому можно писать общий между бэкэндом и фронтэндом код на одном языке. _>>и на скале можно
vsb>У скалы свои проблемы. Хотя не самый плохой вариант, это да.
а у котлина их нет?
vsb>Относится. Язык это не абстракция, на нём люди программы пишут. Поэтому важна и мощь IDE и скорость компилятора и кроссплатформенность и всё остальное, что важно в работе.
возьми vim или emacs и будет тебе мощь в любом языке.
Здравствуйте, Dziman, Вы писали:
ARK>>>Ну, Red Hat я бы нонеймом не назвал. vsb>>Java там никаким боком вообще. Из чего я делаю вывод, что Ceylon для RH это какой-то побочный продукт какого-то слишком умного разработчика. D>Такая небольшая штуковина как Hibernate уе достаточно давно разрабатывается Red Hat
Только Hibernate к языкам никоим образом не относится. Ладно бы Ceylon как-то специализировался на доступе к данным (HQL встроенный вроде C#) или хотя бы использовался для написания Hibernate. А так — тысячи компаний пишут какой-то код на Java, Hibernate тут далеко не самая большая кодовая база.
Здравствуйте, GarryIV, Вы писали:
GIV>Нет никакого выигрыша у питона в количестве кода, было когда-то но сплыло. У меня перед глазами проекты на django и на spring-boot, Python+Django сливают Java+Spring со страшной силой и в плане компактности и в плане поддержки.
А теперь попробуй kotlin + spring
Лично я на динамически типизированных языках по доброй воле писать не буду . Хоть и есть сейчас тенденция писать вообще все на JavaScript, но я пока успешно сопротивляюсь.
Здравствуйте, elmal, Вы писали:
GIV>>Нет никакого выигрыша у питона в количестве кода, было когда-то но сплыло. У меня перед глазами проекты на django и на spring-boot, Python+Django сливают Java+Spring со страшной силой и в плане компактности и в плане поддержки.
E>А теперь попробуй kotlin + spring
Я пробовал естественно. Но еще до внедрения спец поддержки со стороны спринга, именно в связке ничего особенного не было. С поддержкой все веселее намного должно быть, надо бы попробовать.
E>Лично я на динамически типизированных языках по доброй воле писать не буду . Хоть и есть сейчас тенденция писать вообще все на JavaScript, но я пока успешно сопротивляюсь.
Мелкие вещи удобнее на питоне. А приложения я бы тоже не стал. Javascript'ом кстати все наелись, переходят на typescript и аналоги.
Здравствуйте, Dziman, Вы писали:
D>У котлина плюс в том что на него можно достаточно мягко соскочить можно "обычному" разработчику(теоретизирую, т.к. не пробовал его в боевых условиях), а вот для скалы нужен особый вывих мозга(но это не мешает мне ее любить)
Ээээ, а какой вывих мозга должен быть для скалы? Если у тебя есть опыт, ты сам автоматом будешь скатываться в сторону программирования, когда большинство структур иммутабельные, у тебя большая часть логики на функциях без сайд эффекстов. На Java с неизменяемостью очень плохо, везде ставить final геморно и лень, иммутабельные классы писать тоже крайне геморно, к тому же куча фреймворков с этими иммутабельными классами не умеет работать. И тут ты видишь, что оказывается можно писать по фен шую, совершенно не напрягаясь.
А если просто нужны лямбды и монады, то на Java можно тоже такого понаворотить, что без поллитра не разберешься. Оно будет работать, но ты фиг поймешь как .
Здравствуйте, AlexRK, Вы писали:
ARK>А что там с удодбством Ceylon или Swift по сравнению с?
ceylon очень удобен, ИМХО удобнее Kotlin и Scala. Но поддержка со стороны IDE сильно уступает Kotlin, в этом большой минус. Но жить можно . Год назад жить было фигово, сейчас уже приемлемо.
Здравствуйте, vsb, Вы писали:
vsb>Здравствуйте, AlexRK, Вы писали:
ARK>>Здравствуйте, vsb, Вы писали:
vsb>>>Ceylon это какая-то местечковая поделка от нонеймов, честно говоря в его сторону даже не смотрел, не интересно по многим причинам.
ARK>>Ну, Red Hat я бы нонеймом не назвал.
vsb>В программировании они нонеймы. Всё, что я о них знаю, это то, что они (вроде бы) платят за разработку линукса и некоторых дополнительных программ для него (типа systemd). Это C. Java там никаким боком вообще. Из чего я делаю вывод, что Ceylon для RH это какой-то побочный продукт какого-то слишком умного разработчика.
Red Hat — это разработчик Wildfly/JBossAS — весьма распространенного Application server-а для Java EE. Так что в Java они ну никак не нонейм.
Здравствуйте, neFormal, Вы писали:
F>а спринг использовать — это типа не мазохизм?
Какие проблемы с ним? Де факто это стандарт. В любом случае я подразумевал Dependency Inversion фреймворки, например google guice. Без сторонних таких библиотек жить на Java очень тяжко. В более современных языках можно жить без таких фреймворков за счет функционала namedArguments и параметров по умолчанию. Хоть и тоже не ахти, но для чего то простого получается достаточно адекватно. А проекты на миллионы строк кода в настоящее время считаются плохим тоном, микросервисы наше все . Соответственно для микросервисов в теории можно попытаться вообще только средства языка использовать, а не тащить всякие фреймворки и их конфигурить.
F>у языка же нет шанса, пока он не на собственной VM или не нативный.
Есть шансы или нет станет видно когда в JetBrains решат что потратили на язык уже раз, например, в 10 больше чем планировали и после серьёзных внутренних тёрок все крупные вложения остановят. Пока парочка JetBrains + Kotlin очень опасно напоминает Borland + Delphi. Разница лишь в том что JetBrains имеет доход с других языков и IDE для них, а значит сможет финансировать Kotlin гораздо дольше.
Здравствуйте, sin_cos, Вы писали:
_>что в нем нового? что хорошего? _>только не так -- иди-посмотри у них на сайте, там все написано.
_>легкость runtime-a и легкость интерграции с Adnroid studio -- это слабые аргументы. _>например, потому, что неворуженным глазом трудно заметить разницу между android прилоежением написанным на Котлине и Скале, то есть overhead из-за языка тут -- маленький. а если вообще сжать apk.... _>а интерграции с Adnroid studio -- кто-то Adnroid studio не использует.
_>тогда, что остается? а, ничего. копия java с синтаксическим сахаром.
Вообще говоря если такие компании как гугл решили написать язык для себя, типа Go, то имеют право. Им виднее. Т.е. они пишут язык в первую очередь под свои нужды и задачи. Ну и по доброте душевной делятся со всем миром. По мне такая модель вполне оправдана -- "для себя". JB мягко говоря не гугл, но у этих ребят крутейшая экспертиза в java\jvm, это их ХЛЕБ. Если они решили в этой области запилить язык "для себя", то на мой взгляд имеют право. Окружающие могут и не втянуться, ну и ладно, если им это удобно и выгодно.
Здравствуйте, pagid, Вы писали:
P>Сильно сомневаюсь, в СССР на Коболе практически не писали, в отличие от ПЛ/1 и Фортрана, и никаких традиций его использования не существует.
Оказывается, все-таки писали. Да, не так, как на ПЛ/1. Но еще в начале карьеры я несколько проектов на Коболе видел. У банка, ЕМНИП, Промстрой, софт был написан на Коболе. На одном "ящике" тоже был Кобол на Минске-32. Тогда же многие софт сами для себя писали. Широко распространенных пакетов было по пальцам пересчитать.
Я видел даже русский Кобол. Ну и недавно, как я уже писал, мне data division присылали в качестве документации. Впрочем, не исключаю, что мне просто повезло. Да, еще мой самый первый начальник рассказывал, что мужики на Коболе писали системные утилиты, чтобы с ассемблером не связываться. Я сам на Коболе не программировал, только на Фортране.
Здравствуйте, Privalov, Вы писали:
P>Оказывается, все-таки писали. Да, не так, как на ПЛ/1. Но еще в начале карьеры я несколько проектов на Коболе видел. У банка, ЕМНИП, Промстрой, софт был написан на Коболе.
Промстройбанк пересекался с СССР очень недолго. Но не спорю, писали наверно.
P>Я видел даже русский Кобол. Ну и недавно, как я уже писал, мне data division присылали в качестве документации.
Так и здесь недавно приводили ссылку на сайт налоговой инспекции какой-то скандинавской страны, вроде Норвегии, там кусок текста на коболе в качестве документации-иллюстрации алгоритма расчета подоходника использовался.
P> Я сам на Коболе не программировал, только на Фортране.
Вот-вот, думаю, все в те времена знали и слышали что-то про Кобол, а вот вероятность найти на кывте человека реально работавшего с коболом уже сложнее, но может кто и откликнется
Здравствуйте, pagid, Вы писали:
P>Вот-вот, думаю, все в те времена знали и слышали что-то про Кобол, а вот вероятность найти на кывте человека реально работавшего с коболом уже сложнее, но может кто и откликнется
Ну, как минимум 1 одного такого знаю . Его в EPAM заставили таким заниматься, после чего он ушел . Но некоторое время помучился .