Вы видите копию треда, сохраненную 24 мая 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Что же он дает тебе анон?
-дает он всю инфраструктуру джава,
-по сути это та же джава с новым современным синтаксисом (и миллиарды готовых решений, созданных миллионными людей за эти года).
-котлин не понты, он транслируется легко в джаву и обратно. Котлин - это, по сути, улучшенная джава!
-то есть, никаких отсебятин, вроде очередного нового языка с лепкой тонны очередных велосипедов (весьма скудных, потому что торопятся). Вам дают сразу все готовые и проверенные решения.
-он не тормознут и не перегружен лишним как некоторые скалы и горы.
-отличная IDE из коробки (я думаю тут все ясно).
-гарантированное сохранение обратной совместимости! Аннон, ты только представь, как не нужно адаптировать и переписывать тонны мегабайтов кода, которые ты написал за пару лет и теперь снова надо переписывать, потому что разработчикам языка стало скучно и они налепили всякого (котлин был в бетке много лет и авторы осознано выбрали многие решения и закрепили синтаксис)
А теперь скажи анон, почему ты еще не пишешь на это чудном, новом, современном языке?
> А теперь скажи анон, почему ты еще не пишешь на это чудном, новом, современном языке?
А зачем оно надо?
Официальный тред маркетплэйса джэтбрейнс?
Все мировые компании сносят нахуй сервера и удаляют весь код.
Анрильный язык вышел, всё, это прорыв.
>отличная IDE из коробки
Вот это вообще пиздец. Выбрал язык, ради IDE, пиздец.
Зачем же ты так утрируешь? Нет никакой нужды сносить сервера и удалять старый код. Котлин уживется в проекте с любым другим языком работающим с JVM.
>Выбрал язык, ради IDE
Э. Если всё остальное на уровне, то почему нет? Напрямую оказывает эффект на скорость и удобство разработки, на количество ошибок даже. ИДЕ нужно всем, даже всякие вимоушлёпки накатывают по сотне плагинов с гитхаба от хуй-пойми-кого лишь бы разработка была хотя бы на 50% также удобна как у иде-богов.
Вот все они всегда так делают. Вечная совместимость, Валидатная жава в коробке (или наоборот, не знаю) хуе-мае. А через годок - хуяк, и все. Твой код на джаве уже ансупортед легаси и ебись как хочешь.
Не будет! Твердо и четко!
скажу больше там вроде даже есть конвертер java->kotlin
Пиздос, собираешь информацию >>665514 по всему интернету для информативного поста.
Какой-то имбицил создает тред с хуетой вместо шапки.
P.S. сука ну даже иконка старая
>-отличная IDE из коробки (я думаю тут все ясно).
Только плагин для котлина ещё сырой пиздец.
Перестанете рекламить и спамить по всех пабликах где только можно и всё.
Пока что это больше похоже на стандартный российский девелопмент, вот смотрите как мы можем, сейчас на луну улетим.
Что, зачем, для чего, что это даст индустрии и области? Да кто знает, зато мы можем, 5 лет, все дела.
Лично я использую для разработки под Android/iOS.
Так же (для прикола) написал на нем "мини-куклу" для Safari (он же еще JS компилится)
Попробуй видео посмотреть.
>fun
нинужно
Боже блять. Открыли тред о новом языке – набижали дауны-синерубашечнеки и трактористы, главное лишь бы не рашкинские корни продукта. Не нравится – идите гнить к себе офис и заводите трактор, не ебя мозги.
Он уже взлетел – в той области, где кому-то интересен. На область явы (легаси говно) не претендует.
И да - позиционируется как полностью совместимый с явой язык, а не как другой язык поддерживающий обратную совместимость только в виде жутчайшего дерьмища (скала).
Play Framework 1.X
что ты там собирал уеба?
https://javaby.github.io/awesome-kotlin/
меньше пизди и шапку лучше собери где-нибудь с кодом на пастбине, будь полезной лапочкой, а не сотрясателем воздуха.
Насобирал то что надо для первого въезда, по твоей ссылке ничего особо ценного и нет.
Но все равно спасибо, добавляю в следующем android треде.
ты ниже пролистай, увидишь, там жизненно важный сгруппированный список либ
помоему сорцы этого списка
https://github.com/JavaBy/awesome-kotlin
обаятельно "трайку", народу поигратся
http://try.kotlinlang.org/
Для самых юных тыкни ссылку на бесплатную IDE (мало ли кто не вкурсе)
ну еще можно кинуть эту попытку перевода:
http://kotlin.su/
(но помоему как всегда ру-сообщество обосралось и забросили), но все равно пригодится мож
Пиздос, ты думаешь я листать не умею
в посте в android треде try.kotlin уже есть
Самый важный вопрос, на который я тоже хотел бы знать ответ. Забавно, что ОП решил проигнорировать.
Чудный, новый, современный язык - это отлично. Но в чём его преимущество над Джавой? Вижу только сахар, да и то местами совсем не тот, который бы хотелось.
Замена деклараций типа переменных на val считаю вообще маразмом в высшей степени - это в статически-типизированном-то языке! Да, там можно после названия переменной указать тип, но зачем заниматься вот этой:поебтой, когда можно использовать устоявшуюся, понятную, семантически приятную декларацию?
Это только одно из первых ощущений, я глубже не вдавался.
Если я где-то неправ, поправьте и объясните, буду рад поучиться.
> устоявшуюся, понятную, семантически приятную декларацию
Устоявшуюся где? В Java? Открою тебе секрет, на JVM есть еще как минимум Scala где такой же синтаксис.
> Вижу только сахар
Иммютабл типы/коллекции, not-nullable типы
Моя любимая фича: DLS билдеры как в groovy (только статически компилируемые)
Если осилишь полностью мой пост, они, внезапно, окажутся тут. Понимаю, трудно, но ты уж как нибудь осиль давай, мы будем держать за тебя кулаки.
>Устоявшуюся где?
Много где. Если в котлине нет вывода типов, то это говнофича, на самом деле.
>Много где
Легаси из крестов, причём в сами кресты давно добавили auto.
>Если в котлине нет вывода типов, то это говнофича, на самом деле.
А это что по твоему? Слабая типизация?
>Замена деклараций типа переменных на val считаю вообще маразмом в высшей степени
Эта боль тырпрайзной джява-мартышки.
Scala-бог
Но ты ведь понимаешь, что не поломают.
И она не сдохнет как те же кресты – слишком много легаси и уже устоявшийся рынок специалистов и конкретизированных требований к ним.
Какой пост, малыш? Котлин на уровне какого-нибудь Раста находится. Поделка для внутреннего использования.
когда в пятой джаве вели дженерики - это хорошо, но вот то, как их ввели, это чистое легаси.
в том же c# периодически ломают обратную совместимость, и ничего, имеют свой кусок ентерпрайз-пирога
>>665985
>Он уже взлетел – в той области, где кому-то интересен. На область явы (легаси говно) не претендует.
Наслаждайся. Мб дойдёт после ещё пары попыток прочитать предложение.
Только вот авторы явы уже показали, что менять что-то в самом языке серьёзно не станут. Добавят мягко пару фишек, доработают компилятор.
> А теперь скажи анон, почему ты еще не пишешь
> набижали
Если вы не хотели набегов критиков и сомневающихся, то возможно не стоило приглашать их в тред?
Хз кто их там зовёт, но говно которое тут льётся из местных консерваторов похоже на звуки раскулачивания крестьян и визжания каких-то попавшихся под руку нюфагов. Вся суть критики – в яве нету, сложна, гавно, нивзлитит.
В какой области, наркоман? Внутренние поделки от JB? Пара хелло-ворлдов на гитхабе?
Не имей она университетских корней – не была бы таким перегруженным говном и действительно была бы божественной.
Ёбаное чудище, иди читай дальше а не пиши хуйню. До тебя до сих пор не дошло.
Ну да, сеньйор помидор, есть такое. Пойду хачкель учить. Он хоть без имбплицитокостылей и прочей хуйни.
> яве нету, сложна, гавно, нивзлитит
А что не так? Разумные доводы, особенно учитывая что на данный момент самый молодой взлетевший язык это C#.
Если тебе не терпится пойти поработать в офисе, и у тебя нету пет проектов или тебя просто не интересует программирование кроме заработка денег – не трать время и учи яву.
Господин сеньйорпомидор, вашому говну бывший тайпсейф спонсирование обрубил :3
а dotty похоже выйдет не раньше явы 9
>-дает он всю инфраструктуру джава
Типа позволяет продолжать жрать говно? Нахуй тогда вообще с говна, т.е. джавы слазить?
Одна вакансия не от JB на всю Россию. Что-то от avito. ХЗ что они на нем делают.
https://www.upwork.com/o/jobs/browse/?q=kotlin
Одна на upwork
>I am looking for freelancers with the lowest rates
Это успех! Бггг.
Говорят же вам грамотные ребята, а не задроты зачуханские, которым не надо задавать вопросы, им говорят на чём писать они пишут.
Реально вопросы есть, какая необходимость в этом языке, что нового он приносит, какие задачи решает, которые нельзя было решить старыми средствами.
Простота? Ну давайте тогда вообще программирование сделаем супер простым, чтобы 3 кнопки нажать и программа работала.
Я понимаю упрощение, когда раньше для расчёта вращения галактик применяли сложные алгоритмы и приходилось годами писать модели. А тут хоп и выходит язык, который позволяет ускорить процесс без лишних заморочек.
Тут же взяли и накрутили обёртку на джаву. Покажите пальцем, кому джава сложна? Время покажет конечно же, я не буду с ним париться, нет ни задач, ни вакансий.
Он, внезапно не легче явы, нотнамного продуманнее и фичастее. Ты кроме явы один хуй ничего учить не стал бы.
Джава не сложна, джава примитивна как кусок говна, поэтому и изобретают котлины и скалы чтобы писать как думается а не обходить джавакостыли.
Это всё неправильный пиар. Люди пытались разрекламить его не как ещё одну скалу, и пришли к таким вот даунам.
Нужто что-то, что есть в котлине, но нет нигде. Простоты и поддержки ide для этого мало.
Пусть кто-нибудь из уважаемых в мире программистов, но не входящих в команда JB скажет на весь мир, что он бросает всё и теперь пишет токо на котлине и призывает всех остальных поступить также.
Возьми лучше Хачкель. Такие пет-проекты писать можно. ЗАКАЧАЕШЬСЯ! А уж компуктер-сцаенса хоть жопой жуй!
но ведь хаскель имеет на самом деле свою область, которую другие не решают языки.
Развитие мозгов и обучение функциональному программированию.
Каждый из языков на самом деле решает свою задачу. Поэтому они и популярны.
самперсун детектед
Раздался голос со стороны параши
а судя по скорости этого раздела, программирование в приципе не особо популярное занятие
Язык конечно не откровение, и по его позиционированию обязан быть быдлокодерским, но то что есть, сделано на удивление неплохо.
По сути, это скала с ее сахаром относительно жавы но без HKT.
Что понравилось:
1) Гарантированный инлайн функций и HOF-блоков, если пометить как inline. То есть не создается объекта-замыкания, а блок просто «макроикспандится».
2) Экстеншн-методы, которые к тому же можно инлайнить как и в п. 1.
3) Nullity inference; по сути каждый тип-не-примитив в жаве пополнен null-значением; здесь это явно указывается в сигнатуре. По сути представляет собой вшитую в язык монаду Option без оверхеда на обертку.
4) Smart-cast. Если у нас имеется пороверка на тип или nullity, то после нее в скоупе эта лексическая переменная будет видна как уточненный тип. Т.е. не нужно вводить отдельную лексическую переменную для скастованной.
5) Проперти, которые выглядят как обычные (им-)мутабельные переменные, но которые могут быть baked by любой структурно совместимый тип для пропертей (в котором есть getValue, setValue — для мутабельных). Так делаются к примеру ленивость, настройки (settings), active records и т.д.
И это внезапно так. В интернетах аросто собираются все кодерашки со всего мира, и создаётся ощущение что это самое популярное занятие.
(ОП)
фишка в том что ты можешь писать и там (на котлине) и там (на джаве) и не будет никакой боли. Чувак, котлин это просто удобно. Это как взять джаву и обернуть ее удобством.
Если ты всю жизнь пишешь на джаве, упаси тебя пробовать другое (не сарказм), но я вот как человек опробовавший более удобные вещи, уже с некоторым скрипом пишу на джаве, вот котлин именно для меня (потому что джаву люблю, люблю ее идеологию, но черствая она для меня стала).
ПЫСЫ: очень ценю обратную совместимость (и бизнес тоже), поэтому все другие jvm языки это более чем игрушки хипстеров (непрофессионально это имхо)
__И ПРАВДА__ """""""ЭТО ЖЕ ДЖАВА ТОЛЬКО С ТОРМОЗАМИ ПИТОНА!"""""""
>стандартный российский девелопмент
>JetBrains
>Что, зачем, для чего, что это даст индустрии и области? Да кто знает, зато мы можем, 5 лет, все дела.
Первая версия джавы весила 200 кб, просто потому что могли и никто не думал, что она превратится в платформу со временем. Плюс апплеты в браузеры сделали просто потому что могли, с чего все и началось. Так что не пизди.
Сравнил какой-то JB в России и транснациональную мега корпорацию Oracle (sun).
В мире про Россию то мал кто слышал, что такая страна есть на карте, а тут какая-то компания делающая среды разработки... лол
если не учитывать шаблоны вроде вечной зимы, водки, путина и медведей на улице, то на западе о России реально знают меньше чем нихуя
Сначала ты говоришь, что мало кто слышал, а теперь ты говоришь, что мало знают о житие, ты уж определись.
я другой анон
>официальный туториал на сайте не обновлялся с 2011
>последний релиз в мае 2015
>версия 2.7 вышла на пять лет позже, чем в обычном питоне
>jython 3 нет и не предвидится
>последний коммит в репозитарий jython 3 в июне 2015
Ну хуууй знает
он уже идеален, что там еще добавлять?
а ты как думаещь?
JetBrains
Штаб-квартира: Чехия
Основано: 2000 г., Чехия
С офисами в Праге, Санкт-Петербурге, Бостоне, Москве и Мюнхене
PS ЯП вообще опенсорсный.
Все они опенсорсные.
И да – жб основана 2 питерскими студентами, и 90% штата – трактористы из СНГ.
Главное шоб не путину, а то у хохлов то жабка в горле раздуется и дышать не даст, коль заплатил за их продукт.
Платят всем, где набирают людей (внезапно), основной капитал наверняка там же где штаб квартира (или в какой нибудь шотландии).
до этого треда и не думал откуда они (да и срать было). Вас там что ли специально дрессируют "ненавидеть"? Дают списки продуктов, где была рука русского))??
Они даже доки не переводят, как бы намекая, что ориентируются на англоговорящую аудиторию (как стандарт ИТ).
Такова природа политоты – лезть в каждую дырку без смазки. Политота существует на метауровне, возьми хоть свое высказывание, оно тоже политически окрашено. А хули ты хотел? Дошло до того, что предлог с названием страны употребить нельзя без того чтобы передать сигнал свой-чужой. Придется с этим жить.
Было бы любопытно узнать, что этот Штефан думает об этом. Скорее всего ничего – все клиенты конторы в Германии
надо просто письмо написать,
мол здравствуйте, мы типа тут клиенты и вообще выбираем и все такое, но тут давече наткнулись на странные заявление этого человека, который пишет указывая ваши данные. Мы конечно же понимаем, что его мнение не отражает позиции вашей компании, но все же с чувством долга хотим поставить вас в известность, из уважения к вам.
добавив что нашли это вбив в поиск вашу компанию.
...
Вот тут и заработают шестеренки бизнеса, которые переламывает и не таких победителей по жизни.
Штефан думает, что ему похуй на мнение белых нигеров, работают за копейки - и ладно.
https://www.youtube.com/watch?v=L9k_NdTaMeI
Ололонь это видос-гайд (верим что автор запилит полный гайд, других подобных видосов в ру-сегменте нет, или не нашел)
Материалы такого качестве и нахуй не сдались, он его как будто сам первый раз видит.
Какие нафиг гайды, может тебе еще библиотек отсыпать.
Это не платформа как Java, а просто язык, который учится за пару дней (максимум).
Дальше садишься постепенно конвертируешь старый код в котлин.
P.S.
Смотреть видео не от разработчиков вообще лютый зашквар (они даже не понимают как это работает изнутри)
>жвм быстрый код
Ну и какой уебан на джаве пишет "быстрый код". Обычно на джаве серьёзные проекты и пишуться командами. Нахуя им быстро ебашить хуйню на каком-то левом языке?
Надо быстро? Ставь питон.
Лел.
ты имеешь в виду быстрый код в смысле быстроты исполнения?
ты пишешь под самое медленное, что вообще может быть и говоришь о быстроте?
ты ошибся, парень, открой си, там быстро будет.
В среднем наблюдается проседание от С++ 1,5 раза, но местами джава может легко уделать СиПиПи, ибо там вытрахали jvm до блеска.
В том числе можно словить выигрышь за счет уп
(в том числе за счет модели сбора памяти, в сях я так понял не сложно словить нехилую фрагментацию (про течку я молчу))
Если написать рантайм на сях такой же как в jvm, то у тебя окажется еще что сяшка просядет больше, потому что писать быстрый код на Сях надо еще уметь (а про безопасный, я вообще молчу).
вакаба психанула и отправила незаконченный тест, но думаю понятно
>В среднем наблюдается проседание от С++ 1,5 раза,
Такой манямирок.
>местами джава может легко уделать СиПиПи, ибо там вытрахали jvm до блеска.
При различии в уровне пейсателей.
>в том числе за счет модели сбора памяти, в сях я так понял не сложно словить нехилую фрагментацию
Шёл 2016 год, а явамакака не знала что во всех никсах уже давно jemalloc/tcmalloc, ровно как и в шинде свой йоба-дефрагментирующий аллокатор на уровне системы, начиная с 7. Такая хуйня может произойти только если выделять тысячами мелкие и маложивущие объекты используя умные указатели. При такой стратегии – да, очень даже можно засрать кучу и просесть ниже уровня GC. Только вот это всё манямирок, к реальным ситуациям не имеющий отношения.
>Если написать рантайм на сях такой же как в jvm, то у тебя окажется еще что сяшка просядет больше, потому что писать быстрый код на Сях надо еще уметь
Ещё один прорыв манямирка. Какой рантайм? Виртуалку? А нахуя мне она нужна в нативном языке?
"1,5" это уже де-факто, кому надо тот проверил, джава весьма вкусна, иначе бы в телефон не впихнули.
Потискай, сорцы есть
http://benchmarksgame.alioth.debian.org/
Я когда пишу на сях я больше борюсь с языком, чем пишу бизнес логику, начинаешь писать что-то типа микро-фреймворка и понимаешь, что проще взять джаву или что "выше" (так как не опускает ощущение, что пытаешься обернуть это все чем-то более простым).
Да и вообще это бред, что каждый может взять плюсы и написать быстрый код, хера там (я про большой софт, а не скриптики, ой, микросервисы)
>Шёл 2016 год,
То есть ты мне рассказываешь что это бред, а потом что даже это возможно и в швиндусе есть даже аллокатор свой.
Представь приложение работающие неделю, где херова туча объектов живет и умирает очень большое число раз. Твой манямирок превратится в боль и ты сядишь напишешь свою кривую систему управлению памяти или будешь ребутить приложение каждый день (ибо сишка течет), когда твое приложение прогревается часами....
Ты думаешь в сях нет рантайма? JVM это огроменный рантайм, написанный кстати на сях помоему
Искусственные бенчмарки - говно то еще. Как минимум потому, что зачастую сборщик тупо не успевает отработать. Ну и плюс пишут их не васяны, а задроты, которые готовы задрачивать код до опиздинения.
А на Java производительный код писать сложно, потому что сборщик мусора, боксинг и прочая поебень - это дырявые абстракции, если ты не знаешь, как он работает, у тебя будут проблемы. Особенно меня радует подход, когда в огромных массивах по сути эмулируют неуправляемую кучу без сборки мусора. Там, где в крестах просто указываешь pool-allocator, здесь - боль и страдания.
>Да и вообще это бред, что каждый может взять плюсы и написать быстрый код, хера там (я про большой софт, а не скриптики, ой, микросервисы)
У крестов есть RAII хотя бы, и лежит все на стеке, нет дырявых абстракций, поэтому нет и заморочек с быстрым кодом, он сразу пишется быстрым. А сишка - говно, да, но какие претензии к кроссплатформенному ассемблеру?
А разница между jvm и нативом хорошо видна по разнице между android и ios.
>То есть ты мне рассказываешь что это бред, а потом что даже это возможно и в швиндусе есть даже аллокатор свой.
Ты реально дебил какой-то. У тебя проблемы с восприятием реальности. Ты не представляешь даже уак память на системном уровне выделяется.
А если ты неделями подряд постоянно выделяешь новые объекты – ты ява-даун, который ни разу не писал на сях, и доказывает мое предыдущее утверждение. И то, что ты постоянно городишь свои велосипеды как бы опять доказывает это.
>когда твое приложение прогревается часами
Эээ, нет, ты с явой попутал, тут нихуя не прогревается.
>Ты думаешь в сях нет рантайма?
Ебать, нахуй я вообще с тобой разговариваю. Научись читать, если пытаешься отвечать.
И да – ява написана полностью на плюсах.
Насчёт БИНЧМАРКОВ – тебе пора в грузчики, если видишь связь между математическими хуитками и прикладными задачами. Хотя даже в этом говне C++ выигрывает в 2-3+ раза везде как по перформансу, так и по памяти.
>А если ты неделями подряд постоянно выделяешь новые объекты
так расскажи как делать-то?? Я вот тебе говорю как джава-макака, что я не парюсь вообще за память, нужен объект создаю и мне срать, что он там где-то использоваться будет или я забуду о нем (в пять утра)
> ты с явой попутал, тут нихуя не прогревается.
100гигов сктруктурированного кэша у тебя сразу в памяти образуются?
>Ты думаешь в сях нет рантайма?
>Ебать, нахуй я вообще с тобой разговариваю
порвался сишник))
С++ выигрывает в мелких скриптах, когда реально выигрышь потому что язык неуправляемы и не пишешь того что не используешь, но в больших масштабах данных ты будешь обязан делать проверки и прочие плюшки, которые делает джава автоматически, и в конечно счете в бизнес логике просядишь так же (но не спорю что можно будет оптимизировать, но мегабайты си кода, это боль)
>>>2016 год, дети думают что джава тормозит.
>>Тормозит же
>Ты хоть понимаешь как компиллируется Java на Android, дружок?
Кек.
>Я вот тебе говорю как джава-макака, что я не парюсь вообще за память, нужен объект создаю и мне срать, что он там где-то использоваться будет или я забуду о нем (в пять утра)
Тогда не рассказывай, как у тебя код в 1.5 раза медленнее, чем в С++. У тебя не код, а тормозное и текущее от неприбитых event listener'ов говно - причем valgrind не поможет...
>но в больших масштабах данных ты будешь обязан делать проверки и прочие плюшки, которые делает джава автоматически,
Какие, проверку границ у массива что ли? Разница в том, что там, где Java упадет с NullPointerException, С++ упадет с сегфолтом. Это не та вещь, которая охуенно ускоряет разработку. В этом-то и разница, что производительный код на С++ писать проще, а на Java - сложнее, а вот тормозное текущее говно значительно веселее пишется на Java.
Как и жява. Отличия, насколько я помню, в формате и наборе инструкций. Дальше уже различия идут в вм.
>>671480
>так расскажи как делать-то?? Я вот тебе говорю как джава-макака, что я не парюсь вообще за память, нужен объект создаю и мне срать, что он там где-то использоваться будет или я забуду о нем (в пять утра)
Идёшь и гуглишь паттерн object pool. Ты вроде как жявист, должен знать паттерны проектирования наизусть, или чем вас там на собеседованиях ебут?
>100гигов сктруктурированного кэша у тебя сразу в памяти образуются?
Да сразу из коробки с сервером идёт. Только вот тебе с такими объёмами данных за пару часов придётся на пару дней выключать сервер, пока сборщик мусора работает :)
>порвался сишник))
Ну да, порвался. Мне не понятно что именно ты имеешь в виду - ты продолжаешь строить из себя животное.
>С++ выигрывает в мелких скриптах
Эээ, кек. Он выигрывает везде в руках челика, который понимает что пишет. Ясен хуй, ему за 2 недели мартыху не обучишь и не посадишь писать код в продакшен - отсюда собственно ява и сбежала с микроволновок в банки.
тогда что ты такой богоподобным сишуля делаешь в треде котлина, свои выперли что >>671495
ль? :)
Как твой пул освободит тебя от фрагментации и как это освободит от ручного контроля (сидишь такой в файле на 2459 строчке и думаешь, свободить бы этот объект, или петя еще в том классе поюзает его)?
Как мне 100гигов в пуле организовать? Все в одном пуле, или сделать много пулов и потом хранить все эти пулы в пуле :D
>Как мне 100гигов в пуле организовать? Все в одном пуле, или сделать много пулов и потом хранить все эти пулы в пуле :D
Просто ты хуевый Java-программист, который пишет тормозной код и просто блядь уверен, что он в 1.5 раза медленнее сишного. О чем с тобой разговаривать?
>Как мне 100гигов в пуле организовать? Все в одном пуле, или сделать много пулов и потом хранить все эти пулы в пуле :D
Если в твоём манямирке не работают ни jemalloc, ни windows lfh - действуй как и жява - выдели всё что нужно одним подходом и не отдавай системе (кек конечно, но работает). Если не понимаешь как освобождает от фрагментации - иди поищи инфы на тему, что это фрагментация вообще такое.
>тогда что ты такой богоподобным сишуля делаешь в треде котлина,
Пришёл обоссать тупого дауна, который пиздит про СУПИРСКОРАСТЬ жявы.
> или петя еще в том классе поюзает его
Ява от подобных багов тоже не освобождена. Если петя не тупой хуесос - он посмотрит чейнджлог, прежде чем коммитить. И более того - если возникла такая хуйня - это проблема архитектуры, а не моя и Пети.
Алсо, ява от этой проблемы не ограждена.
Потому что он ёбаное животное, а я еблан, который пытается добится понимания от безмозглой шкуры с говном.
ява тупо пробежится, узнает что петя не захотел юзать объект и пометит его, а потом когда наступит праздник GC, все сделает как надо.
Но у си-бога конечно виновата архитектура, надо проверят чейнжлог и надо пролистать весь исходник перед коммитом. Это норма))
>Если в твоём манямирке не работают ни jemalloc,
В моем манямирке не нужно вообще об этом думать, то есть представь ты думаешь над своей задачей, а не где твой указатель сейчас или думать, а если я освобожу вот тут, я сделаю мир счастливее?))
Про проверку, в сложном приложение количество абстракций очень большое и ты неизбежно покрываешь все это проверками (и тут совокупность проверок логики, а не одних только примитивных типов). В общем будет тормозить, но плюс ко всему будет иногда, где-то переполняться память Но это норма, виновата же архитектура :)
>Но у си-бога конечно виновата архитектура, надо проверят чейнжлог и надо пролистать весь исходник перед коммитом. Это норма))
Если у тебя есть прямой доступ к полям класса из другого - да, это архитектура виновата.
Ты, в общем то, так нихуя не понял и продолжаешь писать хуйню, посему спешу оставить явадауна наедине с его манямирком.
пердак сгорел, пердак сдулся.
Это тебя видимо били. Что это за гавно?
Питон3 быстрее джвы? Да вы там в своём JB со своим котлином совсем уже ебанулись.
Пердолик во плоти.
Котлином.
Языку названого в честь класса советских эсминцев?
(ипать ща укро-пуканы разорвет :) )
чтобы и туда и обратно вменяемая совместимость без оверхеда и костылей и диких просадок, такое не придумали, именно это киллер фича.
Вообще объясню это.
Джава это отдельный мир, мир большого бизнеса и мобилок. В джаве есть правила удобные для бизнеса - это простота и обратная совместимость.
И пока всякие скала дрочили в ФП и прочий бред, в jb поняли фишку и решили дать ту же джаву, но подсластить.
Для мира мобилок под андрюшей, важно иметь сахарок с старой JVM (не киллер фича, просто они видят тренды и пошли так же. С трансляцией js так же).
В общем парни на самом деле не глупы и поняли что могут сделать хороший и главное НУЖНЫЙ продукт, с хорошим тулингом, который потом подымить их продукт.
PS мы сейчас видим реальный живой "бум" языка, какой он бывает, без привлечение тучи говно-хипстеров и без раздувание вакуумных пузырей. И это круто я считаю.
Двачую адекватан, да и трипл не врет.
Я бы сюда выложил, но там на каждой странице моя почта.
Текстовые уроки для даунят (на русском) - http://java-help.ru/category/android/android-kotlin/
К выходу второй версии хоть закончат?
Случайно наткнулся на scala, теперь токо на ней пишу всё.
Под Android?
Ну я про котлин имел в виду, ответ приклеился
очередной подрыв скала-пукана, не обращай внимание (не поделили jvm, лол)
Лучше бы IDE бы нормальную сделали, чем новые языки пилить.
щаг назад?
https://www.youtube.com/watch?v=HWyd1gYMkl0
https://www.youtube.com/watch?v=m5T0M7SnCC0
https://www.youtube.com/watch?v=LWFx4QWrTyo
https://www.youtube.com/watch?v=YOmdOTlhZa8
Нет эти видео вышли сегодня, а там видео 2011-2015.
Разберем два случая
1. Нуллябельный тип как требование интеропа с джавой
Если вызываешь метод сторонней либы на джаве, скорее всего ты захочешь поймать и обработать null сразу на месте, например val collection = Option(db.getCollection("blah")) match { Some(c) => c; None => кидаем ошибку }
Иначе Option/нуллябельность протечет к тебе в код и все изгадит своим присутствием.
2. Нуллябельный тип как требование бизнес-логики
Если твоя переменная может быть легитимно нуллябельной, ты никогда не захочешь использовать !!, a smth map { _ => _.c.d } выглядит идиоматичнее, чем smth?.c?.d?
nullable и option monada это одно и тоже
и smth map { _ => _.c.d } не тоже самое что smth?.c?.d?
То же самое. Ребята впилили в свой язычок специальный особый синтаксис вместо option monad, мало того, это gimmick выглядит хуже чем option monad. Это достойно о(б)суждения.
А разве формально в Scala нельзя вернуть null там где требуется Options (и компилятор это спокойно скомпилирует)?
>импереблядку
слоуфикс
Котлин это жаба с сахарком, он не про функциональщину, а про меньше старого легаси говна.
Не одно и тоже, у них просто назначение одинаковое. К Option можно применять монадические фунции (sequence, filterM etc), do(for)-нотацию, комбинировать с трансформерами монад + Option можно использовать не только как монаду, но и как функтор и аппликативный функтор. Правда этим всем в скале мало кто пользуется (кроме for), но сама возможность есть.
>>676502
Можно, но это тоже самое что сказать что можно посреди кода просто написать throw new RuntimeException(); и компилятор это не отследит. Это просто очевидно намеренное вредительство, так никто не пишет.
>>676599
Сейчас бы изучать что-то (и понимать), и при этом не понимать зачем это нужно, лол.
По поводу вопроса, котлин не приносит никакого сдвига парадигмы по сравнению с восьмой джавой, он просто немного удобнее, чище чтоле.
>-гарантированное сохранение обратной совместимости! Аннон, ты только представь, как не нужно адаптировать и переписывать тонны мегабайтов кода, которые ты написал за пару лет и теперь снова надо переписывать, потому что разработчикам языка стало скучно и они налепили всякого (котлин был в бетке много лет и авторы осознано выбрали многие решения и закрепили синтаксис)
>Мы не предполагаем, что обратная совместимость Kotlin неизбежно будет вечной. Вполне возможен вариант, что в какой-то момент выйдет Kotlin 2.0, который не будет полностью обратно совместимым с 1.x
>Сейчас бы изучать что-то (и понимать), и при этом не понимать зачем это нужно, лол.
Ну епт, концепция понятна, а где применять нет, в принципе понял что от недостатка опыта, жаву тоже когда начинал было неясно зачем все эти классы, объекты если можно хуярить процедурами. Таки обмажусь этим вашим котлином
Как только появитесь, сразу же выкину в туалет джаву и сяду штрудировать маны.
Да там нечего штудировать.
smth?.let { it.c.d }
Ну по словам JetBrains существенная часть их проектов пишется на Kotline.
>Kotlin — это “прагматичный” язык для JVM и Android, который мы в JetBrains написали, для того чтобы нам было на чем программировать ;)
Вобщем-то вот его основная и, пожалуй, единственная цель.
Зачем выкидывать одно и другое?
Котлин с жавой вполне уживаются вместе.
Ты можешь просто дописать одну строчку в грэдл и делать мешанину котлин/жава файлов не теряя нихуя.
Дергать функции котлинского класса из жава класса и тп.
Я вижу котлину такое применение.
Ты пишешь свое ведроид/тыртырпрайз говно как обычно. Видишь, что в этом классе было бы быстрее и лаконичнее подрочить замыкания, расширить объекты.
Жмякнул контрл шифт альт к и всё.
Никто не будет в ближайшее время юзать котлин в 100% всего кода.
Как и никому не нужны спецы знающие только котлин.
Это как у C# LINQ вот
Я от котлина ожидаю адекватный язык для веба, особенно интересно из-за заявленной компиляции в js.
val month = "(JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)"
Это же что-то вроде строкового enum-а? Иначе я не понимаю, почему регулярка (\d{2}) $month (\d{4}) проходит для выражения 24 AUG 1957, но не проходит для 24 RRR 1957.
Отбой, затупил, это же просто часть регулярки.
ну вперемешку писать код с разных языков это точно хуёвая практика.
Я ни разу такого не видел и думаю никто так не делает, ну среди нормальных компаний конечно же.
Тут класс на джава, тут на котлине, тут плюсовые вставки. Через недели 2 уже никто не разберет, что там твориться.
> ну вперемешку писать код с разных языков это точно хуёвая практика.
Разные файлы на разных языках, почему хуевая? Дуров в Telegram так пишет, а ему хуевая. JetBrains некоторые части своих проектов пишет на котлине, а ему хуевая.
Так большие проекты всю жизнь и пишутся. Посмотри код какой нибудь RethinkDB – C и C++ вперемешку, куча хуиты для кодогенерации и конфигурации на питоне, веб-ебальник на жсе и кофескрипте. И так почти в любом большом проекте, никто не жалуется.
Открой для себя хакс. Для него даже какой-то упорок свой "транслятор" из рубиподобного синтаксиса написал, если es не любишь.
Вечно найдется упоротый хипстер, который из недр бытия достанет какой-то нефига неизвестный инструмент и порекомендует его пробовать, ибо ваще тренд и будет модно.
Уж давно можно в идее сконвертить (Ctrl Alt Shift K на).
Блядь, ты дебил. Вот и всё. Котлин с явой – это как си и кресты, второе лучше при определённых условиях, но говна можно наваять и побольше, а так же поддерживает первое. Ирл дохуя проектов смешивают языки, да даже пхпшнии скрипты с хтмлем в одном файле ваяют, как и системщики си с асмом – и у всех всё нормально. Ты просто очередной явамакак, который наверняка и лямбды не осилил кек.
>Блядь, ты дебил
>Ты просто очередной явамакак
Ахаха, успокойся, мешай дальше языки, и си и шарп и джаву и котлин всё вперемешку, так же дохуя кто делает.
>хипстер
>неизвестный
Вообще-то, это кое-кто ограниченный, а не я хипстер. Языку больше десяти лет уже, используется повсеместно; он был лучшей жабой (а также жабаскриптом, экшенскриптом и пхп) ещё до того, как это стало модно.
Ты просто мудель не освоивший функциональщину.
Кстати жава классы спокойно наследуются от котлиновских.
startActivity(Intent(this, MainActivity::class.java))
Это происходит тк на уровне байт-кода нет поддержки дженериков (в отличие от C#).
В итоге сам дженерик класс/метод не знает ничего о типах <T>, которыми он параметризирован .
Для обхода этого во многих API (JDK/Android) приходится передавать параметром Class<T> cls.
Kotlin это тоже коснулось (тк он компилируется в обычный байт-код и должен быть совместим с Java).
НО в inline методах вы можете обозначить тип <T> модификатором reified и у вас появляется почти
весь функционал из C#: вы можете создать экземляр, пройтись рефлекшеном и тд.
На картинках примеры кода Java (пик 1) и Kotlin (пик 2)
Очевидный минус таких методов: их нельзя вызывать из Java (как и любой Kotlin inline метод)
Байт код есть, а сигнутры метода нет.
Это типа макросов на C, вроде код и параметры есть, а в итоговом байткоде все вызовы заменятся на копипаст байткода.
А Java (javac) не видит исходники на котлине, а только результирующий байт код.
А то у меня на старой иде нормально программа работала, а на новой вот выдает.
warning: Supported source version 'RELEASE_6' from annotation processor 'org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor' less than -source '1.8'
warning: Implicitly compiled files were not subject to annotation processing.
а все уже. я в настройках галочки поставил и все норм.
Так никто никого и не убивает. Просто есть два вида бракованных животных: хипсторки на хайпе и дауны вроде тебя. Первые готовы покушать сладкого хлебушка с хуйцом за новую технологию, вторые вроде тебя готовые возится в дерьме до последнего, чтобы не напрягать мозг. Адекватные люди пользуются чем нравится и тем, что в данной ситуации лучше и не ебут никому мозги, заходя в тред другой технологии чтобы покакать.
Так во всем остальном можно, а вот с инлайном не можно.
Так я люблю пользоваться новыми технологиями, но когда они пройдут минимальную проверку временем. А котлин её не прошёл и не пройдет, ибо такая же захайпованная хуйня.
Ну не пользуйся. Но ты зачем-то пришел в тред.
Ну так назови хоть одну новую и уже проверенную временем технологию. Нода или ГОвно, которым ужепо 7 лет? Скала с груви, которым уже больше десятка лет?
>Не юзал котлин
Ну и зачем тогда беспокоится (риторический вопрос)?
>там же есть автоматическая трансляция в IDE
Там есть конвертер java->kotlin, а не наоборот
Не до конца понятна работа совместно с Java в Kotlin-файлах.
Вот в этом примере (1 пик) используется java-овский класс Collections, из пакета java.util, но при этом вот эта подсказка показывает сначала декларацию некоего Kotlin-класса, а потом уже декларацию оригинального java.util.Collections.
Что это за Kotlin-класс? Прослойка?
Я правильно понимаю, что в Kotlin для каждого класса стандартной Java-библиотеки имеется такая прослойка?
>Ну и зачем тогда беспокоится
Наркоман чтоль? Человек не может интересоваться? Или надо при любом случае обмазываться всем до конца. Понятное дело, многие присматриваются.
Ну вот же у тебя на скрине Collections (java.util). Подключи его и посмотри декларацию.
Насколько я понимаю (и это, в принципе, логично), Kotlin может подключать Java классы, используя вот такие вот прослойки как раз. Причем он на лету генерирует декларацию котлиновских классов на основе джава-кода.
Если щелкнуть по Collections переведет как обычно в Collections.java
Не вижу никакого класса прослойки. И как видишь мне не предлагало никаких Collections.kt
Эта строчка дает краткую инфу о классе Colelctions, там же написанно что класс из java.util, а public open class это уже инфа о свойствах которые есть у класса в плане синтаксиса котлина, на уровнe байткода это одно и тоже, просто в жабе нет open/sealed. Все происходит очень просто - котлин компилится в байткод жабы 6 и они вместе крутятся, какие проблемы?
Вроде бы понятно, спасибо.
> И как вообще Kotlin может взаимодействовать с Java-классами?
Вот обясняют с картинками (смотреть с 02:15) https://www.youtube.com/watch?v=LWFx4QWrTyo
Очередной Nemerle, на нем пишут где-нибудь за пределами рашки? На апворке есть хоть 1 вакансия?
И что же получается анончик, купил я значит старый свитер, зафотал пару фоток с едой, быстро пробежался по трендовым либам на гите, поставил рядом смузи... в общем обвешался как хипстер на хайпе. И что же я увидел? Оказывается kotlin может не в java, а в байкоты всякие JVM. И встал вопрос, нахера тогда это нужно? Меня грела идея, что если что, я смогу сконвертить обратно тонну кода в жабу, пускай с оверхедами и мусором, но все же смогу, а тут получается, что в байкот могут, в жабаскрипт даже могут, а в джаву родимую нефига?? И в чем фича?
Уж простите, но я поплачу...
PS по видосам понял, что они очень страдали, когда придумывали фичи для языка, и когда кто-то задал вопрос - мол могу я там внести свою плюшки (опенсорс жо :) ) Там как бы так удачно поломались, мол конечно можешь ггг
Другой стал вопрос у меня еще, а если вдруг я откажусь от идеи, не станет ли это тем, что я откажусь от языка? (через забагованные плагины других IDE, на которым всем срать)?
Дискус. Перед тем как обмазаться хочется услышать и плохое тоже
Ну сосачеры и прочее школоло пишет наверно.
>Оказывается kotlin может не в java, а в байкоты всякие JVM
Ебать открытие года. А джава по-твоему в святой дух компиляется, дурашка?
>если что, я смогу сконвертить обратно тонну кода в жабу
Нахера? Все либы которые ты напишешь на котлине 100% будут совместимы с жавой и любым другим jvm-based языком.
>Перед тем как обмазаться хочется услышать и плохое тоже
Единственная проблема если ты подсел на java8 фишки и хочешь полный интероп в обе стороны. Придется выбрать что-то одно. Но так как котлин это все умеет сам, то есть смысл всю высокоуровневую логику писать на нем.
Кто знает. Можно написать в котлине функцию, например
def жопа(хуй):
print педик
и вызвать её в функции main какого-то класса и вернутое значение пустить дальше в джаве коде?
От тулинга где? В Котлине? Я не верю в то, что криворукие обезьяны, которые до сих пор не могут сделать что-то годное из Idea, могут сделать качественный тулинг в своейм сайд-проекте.
Единственный реальный минус их продуктов – они написаны на жяве и требуют очень сильной пеки для комфортной работы. Во всём остальном все их продукты ахуенны.
Единственный минус любого продукта, написанного на Джаве, в том, что написан с идеологией кровавого джава-энтерпрайза, и, как следсвие, глючный и тормозной. Если бы джаву заменили чем-нибудь другим, не думаю, что что-нибудь бы изменилось.
спс
>Нахера? Все либы которые ты напишешь на котлине 100% будут совместимы с жавой и любым другим jvm-based языком.
Да нафига мне эта поддержка, если я захочу выпилить котлин (по разным причина такое бывает). Мне потом на байткоде что ли писать? Или перегнать в javascript и писать уже на нем? Лол
Мне кажется странным, если они добились возможности (совместимости) вызова "туда-сюда", но при этом не смогли сделать транслятор (мне это кажется мутным, хотя я как и все прогеры параноик же)
Если сделали переводчик из жабы в котлин то и наоборот можно, че ты блять.
нельзя, не всем инструкциям котлина найдётся аналог в джаве, как языке. но обязательно найдётся в джавовском байткоде. Примеры - дженерики, которые в рантайме остаются, оптимизация хвостовой рекурсии, тысячи их
Как это не нaйдется в джавовском байткоде? Байткод один для всех и для джавы, и для скалы, и для груви, и для котлина. Вопрос в том как байткод показать в синтаксисе java6.
>не всем инструкциям котлина найдётся аналог в джаве, как языке
>обязательно найдётся в джавовском байткоде
перечитайте
А в Java (в языке), даже в самой последней его версии, нельзя использовать все фишки байт-кода машины Java той же версии
Хуяси, а где это почитать? Звучит как-то совсем страшно. ну тогда значит можно с джавы перекатится в котлин, а вот обратно будет проблематично.
>>679265
>>679263
Не тупите. Всё будет, но за подписку, разумееться.
Язык создали не старые деды в маразме из Стенфорда, а коммерческая компания. И ясен хуй не для "просвящения масс" и не для раздачи хлеба нуждающимся. Покупай подсписку - сможешь и котлин-джава код делать.
5 лет пилить один синтаксис (не либы, не новый язык с нуля, а тупо синтаксис). Это же не печалька?
В чате периодично видел, что люди ловили какие-то нелепые баги, которые они как бы должны были сами отловить (коль грешили что все там у них пишут и вообще около 500к кода).
На хабре тоже статью после релиза интересную выложили (я еще понимаю бородатые с++ могут себе такие нелепости позволить, но сейчас же тренд покрывать все что дышит тестами и время было).
Очевидно, что их целевая аудитория это джависты, ну еще может со всяких скал щенуть. Но если нет обратной трансляции в джава, хоть и с совместимостью вызовов, бизнес нахер пошлет и не будет брать риски, вливая еще один язык в свой легалиси код.
Почему все разработчики такие тупые и делают языки для студентов, а не для бизнеса (который собственно и решает в конечном счете)?
Но вот изучать его, разбираться, писать на нём проекты и писать под него либы - не спасибо, итак дохера уже языков, парадигм, окружений в голове, и скала и java 8 и прочее.
Так только если, как говориться по русски, от нехуй делать на выходных массивы посартировать.
Может реально круто всё как пишут. Глянем вобщем.
Ох бедный три язычка выучил и головка уже бо-бо? А ты попробуй верхней головой пользоваться.
я так думаю его близкий, возможно даже слишком близкий друг, поехвший думает, что он здесь с ним чатиться
Сашенька – это клоун один. Не обращай на него внимания и он сам уйдет.
>>679062 – вот это тоже он, кстати
ты не поверишь, можно выучит одну джаву и зарабатывать 5 килло американских рублей.
И это круто.
А зубрежка языков, или как сейчас принято выдрачивание никому не нужного функционального программирования, чтобы потом им помериться с сотоварищем - вот это бред (всегда лолировал с индивидов, которые пытаются продвинуть свое самоуважение на количестве языков)
Динахой Сашенька. Нужно быть тобой чтобы не уметь различать твои высеры.
Они всем остоебали, видишь, моча их тереть уже начала. Еще немного и тебя забанят, будешь в тетрадку записывать свои раковые креатиффы.
>оптимизация хвостовой рекурсии
Джаваговно его не поддерживает. Что не может быть заменено циклом приводит к падению джаваговна.
https://kotlinlang.org/docs/reference/functions.html
>Currently tail recursion is only supported in the JVM backend
Достаточно посмотреть на набор инструкций в JVM, чтобы понять, что никакого tail там нет http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5 Алсо, если бы ты знал английский, то мог бы удостоверится что разработчики котлина и не утверждают, что джаваговно поддерживает хвостовую рекурсию, там именно как я здесь >>680374 написал.
Изъебство. Вот в CLR, например, есть инструкция tail. и тем не менее шарп не может в хвостовую, лол
>входом в очередной виток
В какой еще виток, обмудок? Изучи терминологию перед тем, как о чём-то пиздеть.
>Ты вообще представляешь, как tail call optimization изнутри работает?
Представляю в отличие от тебя. И еще документацию читать умею. tail-call в jvm нет, поэтому нет его и в Скале, и даже в Clojure.
В CLR tail не обязателен к исполнению и в некоторых случаях может игнорироваться. Это, в общем-то делает CLR-ый tail непригодным для серьёзных вещей.
лол, вот только если бы ты не только умел читать документацию по JVM, но и хоть немного раскрывал глаза на фундаментальные вещи, то ты бы понял, что оптимизация хвостовой рекурсии заключается лишь в том, что не выполняется push, а вместо вызова функции выполняется безусловный переход
>tail-call в jvm нет, поэтому нет его и в Скале, и даже в Clojure.
То есть такое выражение в Скале не использует TCO?
[code]
scala> def foo(n: Int, acc: Int): Int = {
| if (n == 0) acc else foo(n-1, acc + 1)
| }
[/code]
При каком значении n у меня вылетит stack overflow? Ну так, примерно, можешь почувствовать?
Разве? Вроде тот же F# как раз таки генерирует tail инструкции и гарантирует оптимизацию, не?
Написано же
>Currently tail recursion is only supported in the JVM backend
Значит котлин при компиляции в jvm делает tco а для JS - нет.
Кончай нести хуйню, ты не прошел собеседование.
>>680445
По факту на достаточно современном CLR все хвостовые вызовы tail будут оптимизированы (за исключением особых случаев, как написал >>680461) Но вот в стандарте нигде это не прописано.
>>680461
Только вот документировано это всё довольно хуёво. Нету, блин, такого чтобы где-то в одном месте было бы твёрдо и четко написано, что начиная с такой-то версии CLR tail префикс стал бы обязательным к исполнению за исключением таких-то случаев. И самое хуёвое, что в этих самых таких-то случаях CLR просто проигнорирует tail префикс вставленный компилятором. О том, что хвостовая рекурсия не сработала ты неожиданно для себя узнаешь уже после запуска программы.
Похоже, макаба писалась силами местных программистишек?
Что клиенту сказать? Мы вам сделали приложуху на технологии которой никто не пользуется?
Ну я в студии, но вообще все равно где.
по-моему вау эффект уже закончился и всем стало все равно
лямбды есть?
делегаты есть?
Почему в андроид треде?
Я же задал три конкретных вопроса, которые к котлу непоредственное отношение имеют. И мне интересно, будет для для JVM 1.6 поддержка этого всего дела?
Насколько я знаю сейчас котлин все в шестерку делает. Что ты подразумеваешь под auto, вывод типа? Тогда есть аж два var и val. Конечно лямбды есть. Есть делегация функционала класса и делегация пропертей.
Спасибо.
всё заебись, функциональный супер язык ему много лет и поддерживается огромным сообществом.
Надежен, бесплатен и куча по нему материала
Зачем котлин мне не понятно
Скала сильно академична, и для перехода с джавы на нее нужно потратить больше сил. И в некоторых областях, например ведроиде она не сильно нужна со своим большим рантаймом.
JetBrans решили окончательно захватить мир разработки,
с языком который компилится и в Java байткод и JS.
http://githut.info
А насчет скалы, вот глянул я сюда >>637597 и понял что нихрена не понимаю.
В котлин ты даже такие вопросы себе не ставишь, а просто "прагматически" пишешь код.
> А насчет скалы, вот глянул я сюда >>637597 и понял что нихрена не понимаю. В котлин ты даже такие вопросы себе не ставишь, а просто "прагматически" пишешь код.
Тащемта, превращением скалы в хаскель страдает только небольшая, но громкая кучка авторов scalaz и этого же shapeless, остальные "просто прагматически пишут код".
С другой стороны, ты прав: среднестатистической офисной джава-макаке котлин будет понятнее просто потому, что ничего, кроме сахара, не предлагает.
Как вы заебали своей "академичностью" блять.
>>687801
>вот глянул я на самую сложную библиотеку в скале и понял что нихрена не понимаю
>>688645
Не совсем понял связь shapeless и хаскеля.
Мне нужно что бы я в любой момент мог заменить макаку, вот и вся академичность, со скалой мне будет труднее найти макаку, значит скала мне не подходит.
Да только нубас не знает, что ФП стал языком ИТ-фриков, которые жаждать на этом самоутвердится, и все...
То есть парадигма для увеличения внутреннего пениса.
Сами обратите внимание, что тона криков, но выхлопа вообще не видно.
Есть такая порода людей, они тащатся по андеграунду и самое смешное, что сам ФП тут не причем, было бы что-то другое, эти люди бы подцепили бы и это, подчеркивая какие они крутые, мол они другие, вопреки попсы и системы, не то что ты макака на джаве с окладом 5К грязных американских рублей.
PS и не нужно уподобаться женской логике и обобщать все, ежу понятно что есть норм люди в этой области, но факт наличие такой субкультуры, отрицать не стоит.
Или быть может я постоянно на таких попадаю))
> бизнес нахер пошлет и не будет брать риски, вливая еще один язык в свой легалиси код
авито вот не зассало взять риски, пилит свою андроид-приложеньку на котлине.
Так что бизнес бизнесу рознь. Одни — старые мастодонты, ковыряющие свое легаси дерьмо, ссущиеся от всего нового, а другие — наглые щеглы, быстро просекут в чем фишка.
Не мне тебе объяснять, чем early adopters отличаются от laggards.
1) Академичность и ФП это понятия ортогональные.
2) Факт в том что ФП команды обычно сильнее мэинстримных, не из-за парадигмы самой по себе, а потому что там часто собираются более сильные инженеры, которые лучше разбираются почти во всех аспектах разработки. Такие люди часто считаю себя лучше других разработчиков, но опять же, не из-за языка программирования. Наверное где-то и есть челики самоутверждающиеся таким образом, но мне повезло что я ними не работал.
>андроид-приложеньку
Во-во, дернуть пару раз CRUD на сервере. Можно было хоть на Паскале написать.
>команды обычно сильнее мэинстримных
>часто
>часто
Одни голословные утверждения. У нас на кафедре за такое ссаной тряпкой по ебальничку хлещут.
чаю этому господину, лолирую с этих чудесных умозаключений, теперь будут кричать, что вообще авито на котлине.
Если какой-то группе хипстеров, в каком-то там отдаленном кабинете дали волю написать скрипты для мобилки (или пару строк микросервиса GRUD), то это вообще не значит, что можно натягивать авторитет конторы на язык.
В коде гугла, где-то там в ебенях нашли пакет котлина и теперь лепят лейбл, что гугл использует. Мило :)
>ортогональные.
>Факт в том что ФП команды обычно сильнее мэинстримных,
>сильные инженеры
>которые лучше разбираются почти во всех аспектах разработки
>Такие люди часто считаю себя лучше других разработчиков, но опять же, не из-за языка программирования
естественно, это высшая порода человечества, причем тут вообще разработка ;)
>Наверное где-то и есть челики самоутверждающиеся таким образом
Интересно же где)) не этим ли постом?
Мега-лолирую с тебя. Именно таких людей я и описал в посте. Ты случаем, в такие порывы пафоса, не нюхаешь свои пуки? А, высший разум инженерии??
PS я рад что у тебя бомбануло, ты увидел себя в этих строках, значит пациент еще излечим :)
лол, дак гугл и написан на котлине.
Ребята с Гугла на поклон в Россию-мать приезжают и в ноги кланяются умельцам, такого жесткого прорыва в программировании никто не ожидал.
Голословные то и значит, что только слова без фактов.
Могу с легкостью заявить, что
>Факт в том что команды процедурных лисперов обычно сильнее мэинстримных, не из-за парадигмы самой по себе, а потому...
и далее по тексту.
Как вас вообще на работу берут, если в логику не можете?
Я слышал, что у Брина портрет самого Андрюшки висит в кабинете и он свечку за него раз в неделю ставит в местной церкви.
Не очень. Функциональное программирование это всего лишь набор абстракиций, ты можешь следовать ей, но у тебя не будет так много удобных инструментов, как например в лиспе или хаскеле.
У меня под виртуалкой на 4 гигах прекрасно бегает (работаю в ней, чтобы апворк не палил скайп и прочее). Думаю, любой девелопер сегодня может себе позволить 4 гига
> (всегда лолировал с индивидов, которые пытаются продвинуть свое самоуважение на количестве языков)
Меня лично заёбывает всё время писать на одном и том-же языке или однотипные приложения. Поэтому без особых колебаний иду на новый язык, если предлагают на нём работу
Охуенная идея.
А ну да это ж как поссать сходить три языка выучить.
Чего мы тут ебемся. Прочел книжку за две недели и ты уже сисярп программист, еще две недели и уже на си++, а тут хуяк и в джаву подался. Хули тут? ООП везде ООП.
А потом я вижу на проектах код обезьян которые даже код конвеншн с другого языка притащили и хуярят на нем как ебанутые.
хм, а выпад то уровня b, и куда же делся наш интеллектуал и высший разум?
либы и окружение переписывать не нужно — бери из своей джавы и пользуй, неосилятор.
>либы и окружение переписывать не нужно — бери из своей джавы и пользуй, неосилятор.
чтобы в будущем писать либы и окружения, которые ты потом не сможешь заюзать из чистой джавы (достойная трата своего времени)
Или например как ты будешь радостно хлюпать слезами, когда обстоятельства заставят писать на этом чудном языке, если нужно будет использовать "другую" IDE?
это пиздец риск и врят ли серьёзные ребята будут на такое идти. К тому же, обычно серьёзным ребятам посрать на чём писать, если надо компания наймёт 50 макак на си и заставит их писать.
реально, как-то всё выглядит не очень воодушевляюще
> чтобы в будущем писать либы и окружения, которые ты потом не сможешь заюзать из чистой джавы (достойная трата своего времени)
Кто тебе сказал что не сможешь? Сможешь как нефиг. Это тебе не скала.
> когда обстоятельства заставят писать на этом чудном языке, если нужно будет использовать "другую" IDE?
Какие блять обстоятельства? Какая "другая" IDE — Visual Studio что ли?
А если ты о том, что потом не сможешь без крови из глаз на джаве писать, то тут согласен, есть такой риск.
/
долбоеб лучше бы книжку почитал, чем спрашивал такую хуету в моем pr
/
fun main(args: Array<String>) {
var name: String = "Evgeniy" // можно не определять тип переменной, уточнить насчет хорошего тона
class cifri {
var a: Int = 1
var b: Int = 2
}
println("Hello $name!")
println("A + B = ${cifri.a + cifri.b}")
}
Ну и что ты за хуйную написал?
Что бы обращаться к свойствам объекта, его нужно сначала инстанцировать.
val z = cifri()
println("A + B = ${z.a + z.b}")
Если нужен синглтон, то используй object, но тогда вынеси объявление за пределы метода.
То есть не писать кучу бойлерплейта для методов типа getNameByType(@CustomIntDef int type) { switch(type) {...} };
И если компилятор вилдит что у меня 100% @CustomIntDef я мог прямо на переменной через точку вызвать метод, а все это было через инты и компилилось в статические инлайновые методы.
Если вопрос в том что:
Нужно что бы экстеншен метод вызывался не просто на типе, а на типа+аннотация.
Примеру: на (a: Int) он НЕ показывался, а на (@CustomAnnotation1 a: Int) показывался.
То НЕТ, экстеншен метод не фильтрует ресиверы по аннотациям.
P.S.
Учись внятно задаваться вопросы (если нужны ответы), не все здесь работали с android-annotation.
И уж точно не должны дешифровать, в поисках смысла, твой поток сознания.
Интдефы не нужны (кроме тех, что в SDK). Используй энумы.
нехуя ты мечтатель, 50 макак обойдутся в нехилую килобабловую дыру, которую нужно будет содержать. Причем не факт, что продукт окажется такого же уровня качества, после "транслирования".
И да, пойди еще найди этих 50 макак, которые не всерут проект вообще.
нехуя ты мечтатель, 50 макак обойдутся в нехилую килобабловую дыру, которую нужно будет содержать. Причем не факт, что продукт окажется такого же уровня качества, после "транслирования".
И да, пойди еще найди этих 50 макак, которые не всерут проект вообще.
У меня от тебя МИФИЧЕСКИЙ ЧЕЛОВЕКОМЕСЯЦ
вот береслав наверное расстроился:
http://appleinsider.ru/google/ad-zamerz-swift-prixodit-v-android.html
вот мне интересно - тред суппортят ребята из джетбрейнса? как там дела у вас - расскажите хоть.
чето я читал про их новую политику подписки - выглядит как хуйня.
с другой стороны, мне как студенту, дали бесплатную лизенцию, что заебись.
знают, как заманивать, чертяки
> тред суппортят ребята из джетбрейнса?
Этот тред создал какой-то дегенерат, что бы убрать котлинофагов из android треда.
У него нихуя не получилось.
Соответственно он и состоит на 95% из срачей на любые темы.
Писать сдесь без саги, себя не уважать.
Я не из джетбрейнса, ну ты сам пораскинь мозгами. Есть два варианта:
1) Менять всю ситему и кучу либ что бы работало с свифтом, еще и кучу тулзов делать;
2) Компилить свифт в jvm-байткод, мда хех, нахуй надо, точнее в этом нет ничего революционного и просто станет лучше синтаксис - все кто хотел уже используют ретролямбду, груви, котлин, скалу;
Ну ты видишь здесь будущее?
выпей таблеточки, а то паранойя разбухает.
Тред поднял я. Повелся, наверно, на маркейтинг, не знаю, показалось круто, но потом местами разочаровался, чисто субъективно по мелочам.
В общем, тупо наигрался.
Я уже стар, и мне написать (и прочитать) 5-10 строчек кода куда проще, чем держать в голове синтаксический сахар (не факт что приживется еще), который тупо сокращает те 5-10 строчек кода (куда экономим? куда девать столько освободившегося времение :) )
> В общем, тупо наигрался.
Ну так хватит его бампать, дебил.
> Я уже стар
А за шапку тебе дегенерата убить мало, ты просрал тред при создание.
Ее как будто 12 летний "школьник любитель мемасов из /b/" писал, а не программист.
Унылое говно, обильно посыпанное сахаром.
Я тоже поначалу повёлся, года полтора назад, но быстро понял, что хуета.
Короче, не тратьте время на этот унылый самопал - есть скала, груви, 8-я джава наконец.
Скопировать свифт много ума не нужно.
ты еще юн и всякие соцсети приручили вас вести себя по статусу личности, но в реале, первый инет представлял собой свободу от той самой личности. И поверь, создавать образ умного, ответственного пиджочка хватает и на работе, а в сети я душой распиздяй и прусь по мемесикам.
Я думаю, попытка создания важного образа из анонима, это ипостась как раз тех самых школьников, которых дико щемит их статус в обществе, а веселому человеку будет тоскливо дрочить на себя еще в инете.
На шапку пофиг, не стартануло. По языку всегда собираю как положительное (чаще материал, и по-моему, по началу даже собирали), так и отрицательные мнения (вменяемы, а не типа мой ЯП лучше всех, а ваш говно), но складывает впечатление, что людям просто пофиг, как например Go-тред живет лишь за счет лулзов (типа Вани, Илюши и наверно еще какого-то, там их целый чат)
>И поверь, создавать образ умного, ответственного пиджочка хватает и на работе, а в сети я душой распиздяй и прусь по мемесикам.
Так в этом-то и фишка, что когда видишь ебаного падонка из нулевых, понимаешь, что перед тобой унылый персонаж из песни группы Ленинград про офис.
Лолец, ты в посте увидел стиль нулевых?
Вообще в том и фича мемесиков, что втыкают только свежее, не бородатое.
Я понимаю, что ты обосрался и хочешь меня задеть, но очень толсто, криветко
При чем тут твой пост? Я увидел говно из нулевых в тебе. Причем говно такого рода, которое умудряется говорить типа "ты еще слишком юн, вон в наше время-то". Убогий ты и мерзкий. Твоя попытка использовать мемы напоминает попытки Темы Лебедева материться - вроде все на месте, но искусственно и безжизненно. Или Ларина, великого теоретика юмора с сетапом и панчлайном. Втыкают, оказывается, только свежее. Я-то думал, что мемы сами по себе привязываются к языку, а кто-то их втыкает, чтобы модненько выглядеть.
Вроде чётко написано:
>нормальный язык
А не говно, на котором приходится писать писать как на яве с выводом типов при малейшей нагрузке.
Так у котлина человеческий компилятор оставляющий всё ненужное в компайлтайме, а не академическое говно, от которого даже сам Одерски обосрался и сейчас полностью переписывает назвав это Dotty.
> пок пок академический хуй у меня в сраке
Но котлиноговно это поделие для хеллоуворлдов, а скала полноценный язык использующийся и в хайлоад-серверах, и в биг дате.
>скала это язык от которого в хуйлоаде используются вывод типов и сокращение гетеров-сетеров
Есть такое.
>пок пок академический хуй у меня в сраке
Пичот? Аж как что-то плохое написал.
>и в биг дате.
А ещё там питона не меньше, не показатель ни разу перформанса или превосходства языка в чём-то. Хотя не, показатель – скала это такая академ. замена экселевским графикам.
> пок пок врети кукареку сокращение геттеров
Кек, найс горишь, животное.
>>717574
> питона не меньше
Разумеется, меньше, снова ты обосрался.
> кок пок не показатель
Ну не плачь Машенька, иди ещё хелловорлд напиши)
> Я скала-питух, зашёл в котлин тред и пишу про хеловорлды, хотя сам борщехлёб))))
>Кек, найс горишь, животное.
лол, тибе уже пара вытичь из трета))) ты слишкм жырный))))
Держи нас в курсе)
о боже это что ещё одна жабапараша для переквалифицировавшихся индусских таксистов???
пхахахах ебанутые всё никак не уймутся создавать недоязыки
Вместо изучения JRE ты его заново написать планируешь? Вкатывайся, коенечно.
Никакого смысла вкатываться нет в принципе.
Изучаешь Java -> Уперся в потолок возможностей языка -> Изучаешь Scala -> Радуешься жизни.
Котлин это синтакссахар для явы, как кофескрипт для джаваскрипта. Это не новый язык, а просто оболочка. Смысла нет.
Early Adopters очень часто остаются с потерянным временем и ненужными знаниями на обочине индустрии.
>Я увидел говно из нулевых в тебе
"блин, меня осадили, дай-ка я придумаю какую-нибудь хуйню в тебе и буду ей оперировать, ебать, я умен"
К сожаление, к дальнейшему тексту доебаться не могу, я не знаю этих твоих героев. Но видимо ими можно бросаться, когда по диалогу ты уже не можешь, а какашку кинуть хочется.
Тебя задело, что ты юн или что? Чем тебе мои нулевые не понравились?
У тебя плохое мнение о нулевых, потому что в этот период ты все еще какался в подгузник?
Не проецируй.
Загляни в /android тред
Потому что на котлине я пишу то же, что и на джаве, но в несколько раз быстрее и удобнее. При этом он не даёт эту безумную свободу и оверхед как в скале.
Ждем бури с говном.
Заходишь сюда https://kotlinlang.org/docs/reference/ знакомишься с основными концепциями, затем закрепляешь на практике, решая 42 коана http://try.kotlinlang.org/koans
1) Поставь нормальный "Edu Kotlin (1.0.11)" плагин для IDEA
2) Обнови плагин Kotlin до 1.0.1-release-IJ143-40
>1.0.1-release-IJ143-40
Уже стоит. Мне кажется, что дело не в плагинах. Думаю, решение неверное. Но где ошибка, понять не могу.
Я сейчас пробую по-другому реализовать Iterator<MyDate>. Хочу попробвать предварительно создать сисок всех дат диапазона, чтобы функция next работала с этим списком.
Ну очевидно что
.first { it != 0 }
кидает исключение когда обе даты равны, тк условие != 0 не выполняется ни для одного элемента.
Мог бы и сам посмотреть исходники функции first
P.S.
Вообще мягко-говоря это странный код. На картинке код из этого класса в плагине "Edu Kotlin"
Вот спасибо тебе, анон! А я даже и не думал там копать... Пофиксил так: .firstOrNull() { it != 0 } ?: 0
Собственно, я сначала и хотел все сделать через обыный if/else. Но ввиду предыдущих заданий подумал, что от меня ждут решения на коллекциях в функциональном стиле. Да и успешное прохождение предыдущих тестов усыпило внимание. Плюс, отсутсвие опыта работы с исключениями...
Благодарю еще раз и добра тебе!
Это наименее вырвиглазный вариант из имеющихся. Не знаю почему, но у меня в Java-приложениях сглаживание шрифтов делает из любой конфетки лютое говно. Сравни, например, один и тот же шрифт в IDEA и Komodo Edit. Это Cousine. Такая же херня будет и с любым другим шрифтом. Уже пробовал Fira, Source Code Pro, DejaVu mono, PT Mono, Envy Code R и другие. Если заменить субпиксельное сглаживание на greyscale, то будет еще хуже. А без сглаживания на IDEA лучше вообще не смотреть. Вот и проходится юзать в ней Terminus. Его почему-то так не пидарасит.
У тебя идея работает на своём жре? он у них свой "исправленный", по крайней мере они так утверждают
Не в курсе. Но в системе у меня стоит OpenJDK. И в нем отрисовка именно такая (знаю по редактору JEdit). Думаешь, оракловский JRE лучше отрисовывает?
Это да. Но в не-Java приложениях шрифты-то нормальные.
Я бы с радостью оценил Котлин, но увы, когда я захожу на сайт Го, Раста, You name it, я захожу в раздел Getting Started и читаю туториалсы, где на страничке сразу видно что и как будет выглядеть в языке.
В Котлине же предлагают где то регаться, качать какую то проприетарную IDE, коэны какие то. Секта евреев, фу
http://kotlinlang.org/docs/kotlin-docs.pdf
Тебя никто не заставляет качать ЖИдею. Можешь писать в блокноте и потом пердолиться в сонсолечке. Но в IDE намного удобнее.
Я не про оракловский, а про интелижевскую патченную версию. Там как раз шрифты пытались исправить.
>>725428
Дык проблема в жвм, и не только на прыщах.
>>725439
Ты дурачёк блядь. Прям сверху висит оранжевая кнопка "try kotlin".
Внизу ссылки на всё – и на все доступные IDE, и на компилятор отдельно. Сука, какой же ты пиздоглазый.
>Я не про оракловский, а про интелижевскую патченную версию.
А это как-то настраивается? Я сейчас прошелся по настройкам, опции выбора JRE не заметил. Или это фича Ultimate-версии?
>Дык проблема в жвм, и не только на прыщах.
Тогда почему на шинде всё нормально отрисовывает?
Спасибо, не надо.
Двумя, вась, двумя.
Для того же Говна до сих пор нету полноценной ИДЕ – только текстовые редакторы без нормальной конфигурации, проектов, дебагинга и тд.
С растом то же самое– точнее куда хуже, но на нём пишут и не бухнут.
Яваживотные как обычно. Просто пройди, всё равно не осилил бы.
В нем нет примитивов, верно? Соответственно нет возможности передавать объект в метод по значению, это меня несколько расстроило при написании многопоточного кода. А вообще язык прикольный, с джавы вкатываешься довольно легко, практически интуитивно.
Знаешь, Антонио, что мне в этом Котлине показалось самым интересным?
https://www.youtube.com/watch?v=50lASllvG3Q
Спикерша.
https://www.youtube.com/watch?v=IXFIUF_KW_o
Не, правда, я мухосранский хиккан и не очень представляю как работается на постоянках в серьезных компаниях. Но подобные Светланы там часто встречаются?
https://www.youtube.com/watch?v=-BvN0X5tqjw
Может сделаем из нее маскот программача?
Все java примитивы остаются примитивами на уровне байт-кода.
Кроме:
1) Nullable-type, типа Int?, Long?, ...
2) Дженерики (ограничение JVM)
Кстати там же "из коробки" поддержка immutable классов, так что в плане многопоточности даже лучше чем в java.
>>726051
Лучше не надо, она и так считается ЕВАНГЕЛИСТОМ языка Kotlin.
По этому она ездит по конференциям и рассказывает о нем (и пишет книгу о нем).
Хотя я смотрел все ее видео и мне показалась что объясняет она не очень.
https://www.youtube.com/watch?v=mTr8TWj9MUU
https://www.youtube.com/watch?v=dJscNr1silY
https://www.youtube.com/watch?v=VXfQaOsZMT8
https://www.youtube.com/watch?v=ilHtMVMxwjw
https://www.youtube.com/watch?v=SHrfRWNTRxU
акцент у нее отвратительный, у меня аж уши завяли.
Да-да, знаю про иммьютебл и знаю про примитивы на уровне байт-кода, но вопрос был совершенно о другом - передать примитив в метод по значению, как ты делаешь с int в джаве, к примеру. Я не то чтобы большой спец в этом всем, а скорее веб-макака пытающаяся научиться новым штучкам, но, к примеру я не нашел очевидного варианта для передачи изменяемого значения в запускаемый тред, помимо копирования этого значения в val перед запихиванием в метод и хотел понять - это каноничный вариант или же есть какой-то менее "некрасивый путь". На СТО идти не хочу - потому что комьюнити еще маленькое и будучи обоссаным в начале, буду ходить чуханом до конца дней.
> передать примитив в метод по значению, как ты делаешь с int в джаве, к примеру
Ну так он и передается по значению (если под примитивом понимается Int, Long, ...), если это НЕ X?
> я не нашел очевидного варианта для передачи изменяемого значения в запускаемый тред
Нихуя не понял что ты хочешь
>>Ну так он и передается по значению (если под примитивом понимается Int, Long, ...), если это НЕ X?
Попробуй запусти вот это:
import java.util.concurrent.CompletableFuture
import java.util.function.Supplier
fun main(args: Array<String>) {
var counter = 5
println(counter)
val fut = CompletableFuture.supplyAsync(Supplier { test(counter) })
counter = counter.inc()
fut.get()
}
fun test(counter : Int){
Thread.sleep(1000)
println("Counter inside new thread $counter")
}
Ты и в джаве этого как бы не сделаешь. Ни примитив, ни обертку над примитивом ты так не поменяешь (их сделали иммутабельными). То есть либо делаешь свой класс с мутабельным примитивчиком внутри, либо хуйню типа передать одноэлементный массив и поменять его элемент.
Ну так это охрененно честные замыкания как в C#/Scala/и др современных языках.
Ты можешь и внутри лямбды изменять counter и результат будет виден снаружи (пик 1)
Для таких целей он внутри оборачивается в специальный IntRef (пик 2).
А в жабке ты так не можешь сделать, тк там локальные переменные должны быть "effectively final" (или просто final).
Ты можешь добиться того же сделав "val counter = 5"
Если ты так сделаешь и потом посмотришь байт-код, то там будет честный int (пик 3)
Ты кажется не понял, или я тебя не понял. Но результат же будет:
5
Counter inside new thread 6
А при использовании обычного джава инта будет 5 5
Да, я об этом и говорю, и это собственно про мой вопрос:
>помимо копирования этого значения в val перед запихиванием в метод и хотел понять - это каноничный вариант или же есть какой-то менее "некрасивый путь"
Ты блять сейчас сравниваешь:
1) Java final (эффектив) значение (ты не можешь поменять его ни внутри лямбды ни снаружи)
2) Kotlin честные замыкание (можешь изменять где угодно)
Что бы было объективное сравнение, ты для Java должен сделать свою обертку IntRef или засунуть его в int[1] массив.
Вот такое гавно в жабе приходится каждый раз руками делать, а котлине это за тебя компилятор делает.
Вот ты так сделаешь и мы посмотрим где более "некрасивый путь".
А то что ты везде var используешь (даже когда переменная не будет/не должна меняться) это отдельный дебилизм.
Переворачивай свой мирок, это тебе не JS (хотя и там уже завезли let/const)
Бро, да я ничего не сравниваю, я решаю задачу как привык, и спрашиваю какие есть варианты. Не агрессируй.
Один раз использовал var в примере
>везде var используешь (даже когда переменная не будет/не должна меняться)
Не нужно проецировать на меня свои проблема и недостатки, я использую var и val в зависимости от необходимости, но допустим у меня банальная задача в цикле создать десяток тредов и передать им изменяемое значение, например порядковый номер. Естественно по привычке с джавы я попробовал сделать инт варом (ведь это тот же инт, но не тот же) и получил кашу. Очевидно что решил это присвоением к валу, но решил узнать есть ли враиант лучше, а получил в ответ ведро говна. Так-то я в принципе сильно ничего и неждал, двач таки.
ОК, а напиши-ка ты мне тот же код на Java "как ты привык"
Меняй свои привычки, var/val тут не от пизды, за ними стоит контракт на использование.
var (и даже примитивы) может изменяться везде, поэтому это один и тот-же экземпляр.
Есть одно приложение https://github.com/fogone/rutracker-spring-kotlin-rest
https://habrahabr.ru/post/274713/
Опишите, пожалуйста, по шагам как его запустить на Intellij IDEA? Как я понял там используется какой то spring boot, как приложение то запустить?
Вот иди на хуй, если по делу ничего сказать не можешь. В IntelliJ IDEA черт ногу сломит, плюс новый язык и хуй пойми какой фреймворк.
А по делу, так там надо было зависимость от kolinlib в pom.xml поправить.
Вы видите копию треда, сохраненную 24 мая 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.