Это копия, сохраненная 16 июля 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Список киллер фич:
кроссплатформеный, статическая типизация, компиляция в нативный бинарник(жвм, интерпритаторы не нужно, можно прогать под мобилы, десктоп(уже пилиться порт к GTK 3, машинное обучение, многопочочность.
В недавнем интервью Андрей Бреслав как раз рассказывал нам о том, что Native — новый шаг Kotlin за пределы ниши «JVM-язык»: вместе с недавним релизом компиляции в JavaScript он означает, что на языке станет можно писать более-менее всё. И в JetBrains верят, что такая «фуллстэковость» играет на руку, позволяя переиспользовать и наработанный опыт, и часть кода.
В данный момент Kotlin/Native поддерживает четыре платформы — macOS, iOS, Linux и Raspberry Pi. Судя по заднему фону официальной картинки, хотя Бреслав и говорил «у нас нет ни возможности, ни цели конкурировать со Swift на iOS», эта платформа интересует компанию в первую очередь. Логично, если учесть сильные позиции Kotlin на Android: хотя большинство iOS-разработчиков привязано к Swift, есть и немало желающих использовать один язык для обеих систем.
https://blog.jetbrains.com/kotlin/2017/04/kotlinnative-tech-preview-kotlin-without-a-vm/
https://github.com/JetBrains/kotlin-native
Компилятор можно поставить отсюда
https://github.com/JetBrains/kotlin-native
Ведь все как писали так и пишут на проверенных C, C++, Java, C#, ПохапЭ и тд. Не? Или есть те кто эти новые хипстроские языки внедряют в крупные проекты?
При всем уважение к их продуктам, при всем уважение к котлину - которые получился весьма годным. В общем при всем уважение, они синтаксис котлина (только блядь синтаксис!!) пилили 6 лет, какой нахуй натив. Это блять не окошки пердолить с раскрашенным текстом на жабе.
>macOS, iOS
>«у нас нет ни возможности, ни цели конкурировать со Swift на iOS», эта платформа интересует компанию в первую очередь.
Эта картинка из го треда стала пророчеством.
Котлин годный сахар для джавы, с обратной совместимостью.
Сам не юзал, но иногда есть желание для пет проектов накатить дома, или уболтать владельца галлеры.
Главное что это та же джава, но с сахаром, так же все быстро, никаких торомозов как в питонах и руби (и всякие GIL, которые делают эти языки тупо ненужными), ну а так же завезли корутины (что делает Го ненужным с его то синтаксисом).
Если смогут не только в JVM и JavaScript VM - будет круто.
> Список киллер фич
> многопочочность
В каком промышленном языке нет многопоточности?
> машинное обучение
А это что значит? Что можно jvm-библиотеки для ML импортировать?
> jvm-библиотеки
Причем тут jvm вообще?? KOTLIN NATIV
Это самостоятельный проект с тем же няшным синтаксисом. Насколько наслышан, парни хотят захапать рынок эмбеддед (поэтому там Raspberry Pi) и запилить единый язык для мобильников (опять же хапнуть и этот рынок).
>В каком промышленном языке нет многопоточности?
Ну раз в котлине есть корутины, то у тебя есть выбор между многопоточностью и зеленными тредами. В го у тебя такого выбора нет, и если вкинул дробилку чисел - то положил один поток.
>поддерживает четыре платформы — macOS, iOS, Linux и Raspberry Pi.
>Raspberry Pi
Это как сказать, что игра пойдет на Windows и Asus
Ну не придирайся. Они имели ввиду arm linux
>Ну раз в котлине есть корутины, то у тебя есть выбор между многопоточностью и зеленными тредами. В го у тебя такого выбора нет, и если вкинул дробилку чисел - то положил один поток.
То есть, Котлин, может исполнят дробилку чисел не задействуя поток?
Йобу дал?
>Новость посвежей
>https://blog.jetbrains.com/kotlin/2017/05/kotlinnative-v0-2-is-out/
>memScoped {
Это что за нафиг?
Senior Java Developer может позволить себе 32гб памяти и i7 чтобы разрабатывать на ней.
илитарная илита
Тесиы в студию.
Главный разработчик пишет, что скоро будет и для Виндовса доступна, пока только пилиться
Они сейчас пилят порт к библиотеки по машинному обучению tensorflow
You can use a C libraries and the 100% kotlin librarys.
Поясни за В го у тебя такого выбора нет, и если вкинул дробилку чисел - то положил один поток.
В го же можно сделать 100500 потоков, ну пусть один поток разгребает числодробилку а остальные потоки другими вещами занимаються, не?
Когда green thread выполняет блокирующий системный вызов, блокируется не только этот поток, но и все потоки внутри процесса. Чтобы избежать этой проблемы, green threads должны использовать асинхронные операции ввода-вывода, хотя данную сложность можно скрыть, порождая скрытые для пользователя процессы на каждую операцию ввода-вывода, которые объединяются с green thread.
Маки, мобильные маки, ПиСи, АРМ.
Платформа - слишком широкое слово, автор в тоже время и объебался и в то же время нет
Вся хипстота ща на всяких нод.жс и го, тут скорее новое поколение жабистов
Нет у котлина есть выбор что юзать под задачи
обычные потоки (пул)
асинки и пиздринки
корутины
выбирай под свой круг задач, в го же - хуй. Есть дробилка, хуярь новый микросервис, лол
Корутины устроены так, если ты запустил дробилку в каком-то ОС-потоке, то все кто в очереди этого ОС-потока будут плавно сосать и ждать когда дробилка кончит.
В винде потоки попеременно переключаются по таймингу какому-то, а в го переключение идет по вызову внешней функции (или специальной функции в пакете рантайма).
Зеленные потоки - не понацея, имеют как плюс, так и гемморой. Да и нет смысла 100500 горутин когда у тебя несколько ядер проца (а пул ОС-потоков работает быстрее всего этого говна)
Не стоит ругать ЖетБраинс и его Кот-лин (кот + линукс)
По сути это великая ит компания. 80% жава господ используют их волшебную ИДЕ intellej IDEA, 50% питон джедаев используют их пайщарм, пеашпэ прогеры используют их вебшторм иде Язык котлин совершил большой прорыв в жава обществе, он не такой ебанутый как скала и пизже чем пуре жава
Ну хз, за го уже задерживают выплаты, а вот котлин - свежо и молодежно
>В го же можно сделать 100500 потоков, ну пусть один поток разгребает числодробилку а остальные потоки другими вещами занимаються, не?
Да.
И не слушай сумасшедшего что тебе отвечал, он ебнутый.
>Есть дробилка, хуярь новый микросервис, лол
Ненужно ничего хуярить.
Долбоеба ты безмозглого кусок.
Можно сколько угодно задач в отдельных потоках в Го запускать.
Иди похмелись.
https://github.com/JetBrains/kotlin-native/blob/master/samples/nonBlockingEchoServer/EchoServer.kt
Смотрю я на это, и не радуюсь
>continuation
Континиашеном погоняется, и это называют корутнинами, почему-то.
Это пока тестовая задумка, к версии языкака 1.0, будет реализовано concurrency , лучше чем в любом другом языке
Смотрел на этот яп, когда вышел 1.0 и как раз-таки не устроило то, что это JVM.
Посмотри на pony. Там и скобок нет, и конкаренси на уровне эрланга, и гц с паузами меньше чем в гау, и фич с синтаксическим сахаром на 30 котлинов вперед.
И секфолтов как в программе на C за авторством студента второго курса забородробительного университета
>Посмотри на pony. Там и скобок нет, и конкаренси на уровне эрланга, и гц с паузами меньше чем в гау, и фич с синтаксическим сахаром на 30 котлинов вперед.
Сыроват.
Выглядит как Rust
Код не читабелен.
Вот таки и выросло поколение, которое на каждую итерацию цикла делает по одной горутине, чтобы не залочить ос-поток - лолзняк однако
Там уже с начала есть компиляция в бинарники это же натив, только пока виндовс не поддерживается
Возьми хаскель, тебе все равно уже не помочь
>А если это неделимая задача (последующий результат зависит от предыдущего)?
В ГО, ты можешь привязать корутину к конкретному потоку.
И крутить там свой код добесконечности. А другие потоки делают другие вещи. Как и везде.
Отличие в том, что сам поток ты не можешь создать напрямую.
Ты задаешь нужное количество потоков заранее.
И сама годное эта контроль этих нулл-типов и отсуствия чекед эсключений.
+15 центов.
Котлин самое лучшее что случалось в моей жизни.
Установив котлин я стал продуктивнее в 10 раз!
Я зарабатываю 300 в секунду, и имею спрос на рынке труда!
Меня приглашают рабогтать по всему миру!
Работая в Москве я успешно кормлю семью в Худжанде.
Моя жизнь организованна и полна счастья!
Котлин это счастье, котлин это любовь.
Если в твоем проце 4 ядра то конечно тред пул из 4-8 потоков, иначе эффективность просядет.
Ты же не гофер надеюсь и не думаешь, что создав 100500 горутин они тебе прям сразу все побегут на каждом транзисторе процессора?
>В ГО, ты можешь привязать корутину к конкретному потоку.
В го нельзя заюзать реал поток, там есть конечно хак, но он такой забагованный, что работает более менее только на main функцию
По сути только main можешь и то с глюками и багами. И да
Ох, если бы ты понимал что такое число-дробилка. Но увы ты же гофер, на любую хуйню подымай горутину и думай что ты не залочил поток))
Мистика, в общем хер тебе, а не свой ОС-поток.
Причем пул-тредов работает быстрее генерации горутины, поэтому особо на каждый чих накладно создавать горутину (в том числе в http сервере, отсюда он, помоему, так проседает в тестах)
>Пони в бинарник могет без всяких VM?
Потому что статическая линковка рантайма. Хз что такого удивительного.
>>991099
Давно уже нет.
>>991105
В каком месте, лалка? Это чистой воды питон с акторами и типами.
>Друзья поясните, мне необходимо отправить объявление на 10050 онлайн досок, и сначала там залогиниться. Какой лучше взять способ для быстродействия
Отправлять сообщения о святом котлин лучше на котлин способом котлин.
С го меня познакомили одноклассники. Сначала было весело и задорна, но потом в жизни из-за го у меня начались проблемы. Я стал прогуливать школу, расстался с девушкой, начал грубить родителем, поссорился с друзьями.
Я каждый день и все свое время тратил на то, чтобы еще чуток покодить на го. Постоянно падающие непонятно из-за чего горутины, заставляли подсесть на го еще сильнее. Из тысячи горутин я вручную через printf отлаживал каждую строчку кода, ведь отладчик был ненужен
После того как друзья передали меня на реабилитацию, я еще несколько раз сбегал, чтобы подебажить тысячи потоков руками, но в один прекрасный день, мой врач Михаил Джейтбрэйнсов показал мне котлин. И моя жизнь снова стала нормальной. Это чудо! Потоки не падали и были настоящими, отладка была отличной, код становился мягче и удобнее, теперь больше никакого бойлерплейта!
Котлин, сделал мою жизнь снова нормальной!
Если на момент блокировок I/O (на запрос) - го переключает горутины, то смысл имеет (пока одни стоят горутины другие уже парсят). А вот 100500 - это оставь маркетологам, работать будет, но толку ноль
1) Название для дебилов.
2) Любой язык без мега фонда и поддержки в 2017 нахуй не нужен, даже если он идеальный.
3) Нужны история-узбека чтобы толкнуть на рынок, так как именно бизнес двигает ИТ продукт, а не легион фанатиков
Зато го или ява названия для гениев — одно кофе, а второе суслик "вперед".
Она нужна только дерьму вроде го или явы, опять же. Как и говененькому котлину.
Дождись релиза и тебе навыкатывают на хабре те же люди что год назад всё на го портировали миллиард таких.
Деньги у жетбраинс есть , чтобы язык продвигать, ты знаешь сколько они уже копий IDE напродавали, у них прогер по 200к в месяц зарабатывает, они потом еще впилят в свои иде этот язык и уже будет идти из каробоки
я про пони и прочие студенческие забавы
А завтра они понимают что им это не всралось и прекращают спонрование — язык просто умирает. Даже большие компании таким регулярно занимаются, что там про средние вроде жб говорить.
А вот языку, который развивается сам — похуй на такое говно, он едет медленно но верно.
Причем если впороть проект, это тоже на мнение клиентов повлияет. Я думаю, поэтому его и полировали так до блеска столько лет
>У котлина есть преимущество - чем больше народу юзает котлин, тем больше потенциальных клиентов.
Для самых тупых и гоферов - это означает, что в языке есть коммерческая заинтересованность и выгода для создателя (причем не анальная для потенциальных пользователей языка, все по чесноку и волки сыты и овцы целы).
А так как они мастера пердолить хороший тулинг, то думаю и язык затачивался для удобной работы, а не для боли и страдания с отбросом на 40 лет назад.
Ах, наивное создание.
Котлин это ведь улучшенная джава, и скала это улучшеная джава.
А тут выкатывают и Scala Native и Kotlin Native.
На фоне стриттанцев Го.
Неужели, наконец то, ДЖАВЕ КАПЕЦ?
> скала это усложненная академическая джава. Только недавно стала юзабельной. Нужна только за счет спарка. В остальном нахуй не нужна для бизнеса, т.к. специалистов меньше, они дороже и профитов нету
> котлин это засахаренная джава. Поддерживается только одной компанией. Специалистов просто мало и особенно и не нужен
> ДЖАВЕ КАПЕЦ
Да, пиздарики.
Голанг будет жить, как минимум, до тех пор, пока на нем пишет сэр Юмпутун из Радио-т
>Скачиваешь семплы
>Запускаешь build.sh
>что-то скачивается
>SDL.h not found
meh
А тут вот в /pr/ мне рассказывали, что мол джава это неполное говно, только благодаря скале и котлину.
И что вот все на этом именно пишется.
А чистую джаву никто не пользует.
Да походу еще сыровата, пока не выйдет стабильная версия , можно на golang пописать
Ну ты слушай специалистов уровня /pr. Обычно это аргумент если тебе говорят что жавка это старое говно мамонта (которым она вообщем-то и является, только в последнее время чуть-чуть ускорили темпы ввода фич). А вот скала, кложа, котлин, фреж, цейлон, бла-бла вот где весь потенциал раскрывается, вот где фич много.
Они правы.
Перестал уважать его как программиста и человека, после того как он сначала поливал го и было за что, а потом вдруг совсем неожиданно проникся языком, а из всех минусов коих пиздец самый страшный оказался - отсутствие типизированного енума.
Вообще не долгоя я его слушал, но и без го, субъективно, он мне показался древним динозавром, которые уже лет 10 выбился из айти, но что-то пытается голословить, почитывая ИТ блоги и сайты.
Надо понимать, что тут 99% это жабаскрипщики и питонисты, и для них жаба это уже реально сложно.
Но в действительности человек, который юзает языки без нормальной многопоточности (а не GIL пораши) вообще можно не считать программистом, это крудо-ёбы, коих скоро я надеюсь заменит полуграмотное ИИ. Или их всех соберут в Го, создав отдельную нишу программирования можно позаимствовать термин для них - оператор эвм, вместо слова программист
На Питоне 80% машин леарнига, так что прошу не кудахтать в сторону языка новой эпохи
Я еще поверю что жс или пхп макака может вкатиться в го, но человек избалованный тулингом джавы - данунахуй
>Ох, если бы ты понимал что такое число-дробилка. Но увы ты же гофер, на любую хуйню подымай горутину и думай что ты не залочил поток))
А когда ты последний раз запускал числодробилку, которая бы работала меньше совершенно пренебрежимого времени?
О чем вообще это обсуждение, даже на 8-летнем железе любые повседневные вычислительные операции (большая часть связана с криптографией) будут в любом коде меньше всего влиять на производительность. Есть 1% задач, которые прямо связаны со сложными вычислениями, остальных кейсов это все не касается.
Уже поясняли, типичный сайт с котятками, который парсит картиночки или видосики про котят, на какой-нибудь vps с одним ядром. Если в норм потоках ОСь будет переключать между потоками с дробилкой и без, то в го ты иногда будешь тупо ложить один из потоков, на котором возможно юзеры хотели получить страницу с котятами.
Самое забавное, что проблема будет появляться незаметно и рандомно (и чем больше реал потоков ты настроил или го задействовал - тем магический будет это поведение).
>Уже поясняли
Может пора уже прекратить о себе в 3тьем лице говорить?
>в го ты иногда будешь тупо ложить один из потоков, на котором возможно юзеры хотели получить страницу с котятами.
И нести невероятных масштабов чушь, о технологиях которые ты в глаза не видел даже.
Жабка скоро умрет и останется только легаси какашки!
Оракл даже уже сматывает удочки , начала с закрытия ЕЕ сектора
https://habrahabr.ru/post/304812/
>И нести невероятных масштабов чушь, о технологиях которые ты в глаза не видел даже.
Мы поняли, ты возмущен, но ответь в чем он не прав тогда??
Ну дак если эксперт заясни. Вот есть сайт на го, на нем зареганы люди, которые работают с другими сайтами по http клиенту, api, парсинг json, запись в БД. И как они это будут одновременно делать?
Потому что спринг победил на самом деле эта новость была высрана обиженными уволенными евангелистами.
Джава это не одна компания и не один диктатор как в питоне. Посмотри хотя бы последние голосование по релизу девятки, как многие в штыки встали.
>Мы поняли, ты возмущен, но ответь в чем он не прав тогда??
Во всем.
>>991489
>Вот есть сайт на го
>на нем зареганы люди
>которые работают с другими сайтами
>И как они это будут одновременно делать?
У большинства людей, встроенная многозадачность.
Ну, вот смотрят в сайт на ГО, что-то копируют из него, переключают вкладку бравзера, и вставляют в другой сайт. Прям как корутины.
Потому что всю жизнь в говнолапше сидят и внедрять новые ништяки это не по дзену. Гинерики в 8 версии добавили на этом и достаточно ништяков для господ. А тем кому нужно уже перешли на скалы, котлин, кложа
Пояснения от бога. Завтра попрошу Роба Пука , чтобы Он взял тебя ивангилистом языка го к себе в гугл
> Посмотри хотя бы последние голосование по релизу девятки, как многие в штыки встали.
Поясни былиной.
Совсем запизделся, пёс?
https://github.com/ponylang/ponyc/search?q=segfault&state=open&type=Issues&utf8=✓
>проверенных C, C++, Java, C#, ПохапЭ
C++ был хипстерским, ведь был си(и до сих пор орут, что кресты параша)
сишарп был хипстерским, ведь была жаба
пхп был хипстерским, ведь был перл
Просто ты утка.
Щас бы верить в универсальные решения.
Можешь загуглить ту же Nitra и прочие "language workbench, или как их там — то же самое, только с IDE вместо дебагера из коробки к компилятору. И как раз её жб выкупила и убила.
20%
Как можно на питоне с GIL вообще что-то писать? Наука, машин леарнинг бла бла бла в одном блядском потоке??
Как вообще писать научные проекты, с динамической типизацией?? Что за добровольный мазахизм?
Из учёных получаются хуевые программисты, поэтому чем проще инструмент программирования, тем лучше.
Исследовательский проект грааля с труфелями, это проект множества компаний.
Это не универсальное решение, это то что будет брать твой код на рубях и питонах, разбирать на деревья и потом эффективно собирать с оптимизациями.
То есть ты будешь брать руби или питухоны и получать по перформансу джаву/си (заплатив за это памятью).
Не надо статьи жопой читать
В питоне есть процессы, на которые GIL не влияет, потоки могут быстро переключаться между друг другом, в питоне 3 это переключение хорошо покрутили. Так что в в чем шибко проблемы сделать например пул потоков?
Не могу понять, если scala native никому не нужна, то с чего бы вдруг kotlin native станет нужен?
>Не могу понять, если scala native никому не нужна
>scala native
>object Main
>@extern object stdlib
Потому что на котлин натив можно что угодно писать(веб, мобилы, десктоп), будет больше пиара, больше вбухивания денег
>Джава это не одна компания и не один диктатор как в питоне.
Это несколько крупных транснациональных компаний диктаторов объединившихся в хрупкий союз ради еще большей диктатуры.
Скала избыточная, она для тех кому нравятся свистелки и перделки (и в этом ничего плохого нет, нравится - загоняйся).
А котлин как и жаба для всех.
Да хз , как то с подвыпертом идет сихронизация между процессами и потоками. Но это общественный факт , питон для веба самый норм. Жава и со решетка слишком громоздкие , пеашпи , js вообще потоков нет
> Но это общественный факт , питон для веба самый норм
Костыльная параша, на которой без слёз и мата программировать невозможно. Ещё большее похапе, чем само похапе.
>пеашпи
>потоков нет
Есть как процессы, так и потоки. Но это ничего не меняет, они с петухоном сорта говна.
Пеашпи быдло язык с говняными библиотеками
Пистон няшный язык с самыми токовыми библиотеками , которыми завален весь гитхаб sqlalchemy, tornado, lxml, жинжа2, scrapy, numpy и т.д. ассихронность из каробки
Таки да. Пердолится в это можно если совсем туго со скиллом программирования, один хер при росте сайта требуется уже полноценное приложение и статическая типизация (без которой только прототипчики весело делать)
Жабу еще аннотации спасают, а вот котлин весьма таки годный.
Обращал еще внимание что на котлине не так упарываются в энтерпарайз и софт выглядит уже молодежнее
трипл не врет
>Пистон быдло язык с говняными библиотеками
>Пеашпи няшный язык с самыми токовыми библиотеками , которыми завален весь гитхаб, PDO, Doctrine2, PHP-FPM, SimpleXML, twig, Simple DOM Parser, сотни фреймворков, yii2, symfony2, laravel, phalcon и т.д. ассихронность из каробки
Пердолинг как раз и заключается в отсутсвии вменяемых средств абстракции для конструирования больших программ.
>и статическая типизация (без которой только прототипчики весело делать)
А вот это мантры уже.
>Просто ты утка.
Луркоебское быдло видать за версту. Любой образованный человек знает, что Лоренц экспериментировал с серыми ГУСЯМИ.
Да нет. Скала — это прям кошерный язык для всего. Котлин — говнецо для любителей понюхать Явы.
>>991832
>А вот это мантры уже.
Практика показывает что без типов люди живут пока у них проект уровня интернет магазина на вродпрессе. Одна из тех проблем, из-за которой тот же фб нахуй эрланг послал.
>>991835
Да АОТ компилер для Явы уже тылу лет есть. Только вот от никому надуй не упал как и нативная скала с котлином.
Жб уже почти никого не хантит, так как компания достигла фазы интенсивного роста вместо экстенсивного. Нет нихуя вакансий, потому что фреймворк-стека нет четкого, да и вообще фреймворк-инфраструктуры нормальной как у Скалки той же. По сути, сейчас есть одна годная, но забагованная орм exposed и хуй пойми какие веб-фреймворки. А всего-то нужно запилить делегаты годные вместо DI и че-то с контроллерами придумать а то там полный пиздос вместо архитектуры получается и будет щастье.
Питон там везде просто обертка, все на сях написано.
Да нет, у них на сайте не мало вакансий, очень даже.
У скалы как раз таки уже давно есть всякие твитерские стеки, акки и прочие.
Да, и вправду дохуя вакансий. Наверное, своих котлеров вырастили прост.
Ну я и говорю, у скалы есть норм фреймворки, а у котлина еще нет.
А нахуя им их растить-то? У них даже в опенсорсной жидее 90% кода на яве, а таких там 10 штук.
https://habrahabr.ru/company/inforion/blog/328218/
-раст создали чтобы после него снова начали уважать С++
Я вот хз, удобно на нем писать что-то большое чтобы не бороться с языком? Да и вообще, языки без рефлексии в 2017 году, это детская игрушка.
-ним - очередная студенческая перделка, с красивой оберткой и хуй знает с чем внутри. Ну серьезно, кто будет для проекта брать такое? А дома можно играться на чем угодно...
-кристал - хз что это. Наверняка решает какие проблемы другого языка, но при этом (я почти уверен) навтыкано всякой херни из больного разума разработчиков (а не мирового опыта). Но может не прав, простой это уже мейнстрим какой-то.
-шарп - нет вменяемой обратной совместимости, что ставит язык вровень с node.js или php, нет нормальной кроссплатформенности (опять же перделки студентов не нужны). Единственная радость, туева туча синтаксического сахара, многое из которого сомнительно, но радует хомяком (хотя норм программиста должна радовать экосистема и наличие выбора)
-скала - для тех кто любит упороться, на самом деле как и все ФП - это умение выразить свой больной ЧСВ через язык так, чтобы никто не смог сопровождать твой высер.
Ты ебун? Где ты тут тонну котляров увидел? http://jet brains ru/careers/#technologies=kotlin
На самом деле я просто вбросил говна.
В программирование кал-языки, это языки с динамической типизацией и с отсутствием норм многопоточности.
Поэтому какая разница??
>-скала
У Scala огромный порог вхождения, но это именно порог вхождения, а не какие-то подводные камни языка или неочевидное поведение. В хороших руках Scala, пожалуй, один из самых красивых и продуктивных языков.
>удобно на нем писать что-то
Поначалу - не слишком, синтаксис местами громосткий и сложны, но в целом довольно выразительный и логичный.
>Да и вообще, языки без рефлексии в 2017 году, это детская игрушка.
Рефлексия в рантайме - это всегда медленно.
>-ним - очередная студенческая перделка, с красивой оберткой и хуй знает с чем внутри. Ну серьезно, кто будет для проекта брать такое?
Так никто и не берет.
Ним - это пиздец, его спека прямо-таки кричит о том, что любую задачу на нем можно решить 5+ визуально разными способами, структура программы - произвольная.
>программиста должна радовать экосистема и наличие выбора
У шарпа пиздатая экосистема и наверное лучшая (сравнимая разве что с Java) поддержка IDE. Писать на нем - одно удовольствие, выбор библиотек у Java и шарпа самый большой. Но нет кросплатформенности.
>-скала - для тех кто любит упороться, на самом деле как и все ФП - это умение выразить свой больной ЧСВ через язык так, чтобы никто не смог сопровождать твой высер.
Соглашусь. Но в принципе на ней наверное можно писать императивно, используя простые вещи из ФП в качестве сахара (как это сделано в Java 8). Реально менее многословный язык и вывод типов не может не радовать.
https://twitter.com/kotlin/status/864912772487942148
Английский выучи, дебил.
Оракл отказался от ЕЕ, котлин похоронит джаву на андроиде(по причине андроида джава находится в топе языков)
Результат: Жаву на 5 место в рейтинге, законсервировать и оставить для поддержания легаси говна
Бред, ибо переписал тут на днях свой горестартап, который был написан на микрофреймворке (Silex), где овердохуя трафика (20к сутки) и где нихуя нету монетизации.
Переписал на Go, как результат:
- среднее время ответа сервера упало с 150 мс. до (!) 45 мс.
- старый стек: nginx + redis + postgresql + php7, новый стек сменил php7 на Go. Нагрузка упала на 25-45%. Т.е., ранее LA был 3.76 (на 4х ядерном VPS), теперь около 2.x.
- памяти жрет тоже меньше
- стабильность приложения выше, из-за типизации, все прозрачно, не надо чекать что там у нас array, или может быть null, а может empty array или string и так весь проект, потому что писало его несколько человек, и на isset тоже не надо чекать
- И что самое важное, количество строк снизилось на 20% (не считая строк фреймворка), т.е. по сути писанины из кода меньше в разы.
- Переписал за 2 недели + 2 недели на тесты связки стека и деплой.
- Есть поле куда оптимизировать, на PHP уже че только не делал, профайлинг, хуяйлинг.
- Можно взять VPS послабее, сэкономив 20$.
С этих пор пилю все свои проекты на Go, с клиентами так и работаю на PHP. В целом, статическая типизация дает профит в плане ясности кода и быстрее вкатываешь (особенно в Go, т.к. там ещё и code style везде одинаковый).
Унылые доки читать не хочу, хочу хуячить. В джаву и груви могу хорошо.
То есть, ты переписал с пхп микрофреймворка на го. Я вот даже не знаю, где в твоём репорте неожиданности. Ещё если взять во внимание, что проект был переписан с нуля, конечно он будет уже лучше, стабильнее, лаконичнее.
Спасибо.
Хорошо заяснил. Респект.
Голанги нужны всяким маил ру, для создания высоконагруженных сайтиков, даже вроде яндекс в свое время потыкали палочкой в го, да прекратили. Стандартному мамкиному стартаперу будет достаточно для начала Flask + нужные из 60000 питоновских батареек на все случаи жизни
Дак многие так и делает golang + nginx, свои велосипедные серверы делать , это лишнее. Также по старой схеме в го добавляют редис и мемкешед.
Flask такая штука, что используешь то, что нужно. Джанго уже идет как комбаин с документацией на 1700 страниц. В принципе на Фласк можно прикрутить sqlalchemy, жинжу ну и другие питоновские модули по надобности. И в принципе сделать прототип
Например В маил ру почте, используют golang , nginx , memcached, redis. Я думаю просто нет шибко писать велосипеды для высоконагруженных систем. Есть уже проверенные временем инструменты, лучше которых все равно шибко не придумаешь да и зачем. Просто связка Go с concurrency, nginx, redis , memcach. Будет в 3 производительнее, чем вместо го скриптовый однопоточный язык
https://stepik.org/2852
Жангу еще можно на пипи жит компиляторе завести, скорость прибавиться
Вообще, в реальном мире видел всего 1 вакансию на котлин которая 2 года уже висит. Да и если логично рассуждать, то не могу себе представить арзитектора который будет вкладываться в хипсторскую парашу у которой нет за спиной 10 лет практики и толковых программистов. Почему-то сразу себе представляю команду которую набирают с миру по нитке, а потом кто-то отваливается и замены ему тупо нет. Потому-что никто либо не пишет на этом, либо никто не понимает что это вообще такое.
>Потому-что никто либо не пишет на этом, либо никто не понимает что это вообще такое.
Обычный java-программист апгрейдится до котлин-программиста максимум за неделю. А жавоидов хоть жопой жуй.
>Обычный java-программист апгрейдится до котлин-программиста максимум за неделю.
>в реальном мире видел всего 1 вакансию на котлин которая 2 года уже висит.
Что-то мне подсказывает что не всё так просто.
Твоя внутренняя собака-подозревака подсказывает, понимаю.
Почитай что-ли вот эту статью (из свежего) https://hackernoon.com/kotlin-in-production-should-you-stay-or-should-you-go-a3428b44b236
Большинство вакансий сейчас будет на андроид в связи с последними новостями, но потом и бекенд подтянется.
>Большинство вакансий сейчас будет на андроид в связи с последними новостями
А до этого был свифт, а до него был го, а до него был ObjectiveC, а до него Dark, а до него руби...
Про это с 2015 говорят, мол ВОТ ВОТ ЕЩЁ ЧУТОК ПРИВОЗМАГАЙ А ПОТОМ МЫ БУДЕТ СУПИР. И что-то ничего не происходит.
>свифт
И что блять на свифт вакансий нет? Никто под ios на нем не пишет?
К чему ты вообще это спизданул?
>>993127
>И что-то ничего не происходит.
Ты сегодня из пещеры вылез что-ли, в которую в 2015 году забрался?
К тому-что дальше IOS это говно так и не распространилось. Хотя обещали.
Нет, просто про котлин я слышу только на дваче, только в котлино треде. К тому-же часто в этом треде с опом сижу только я. Вон, возьми хоть PHP макак и Java даунов, у них хоть общение есть, а тут "Подрочил на котлин, посмотрел что всё красиво, а на деле пихнуть некуда". И закрыл тред.
А разгадка проста: котлин-программисты успешные и на дваче не сидят.
Если хочешь общения по котлину, то все коммюнити сидит в слеке (там есть и русский канал), есть еще гдето телеграм-чат.
>А разгадка проста: котлин-программисты успешные и на дваче не сидят.
Сказал он C# программисту с зарплатой 5к$.
В этом ряду конечно corda выделяется. В отличие от остальных анроид поделок, здесь консорциум банков(!) пилит платформу для распределенных тразакций, типа блокчейна. Греф от зависти кипятком писает.
>с 2015
>В феврале 2016 года вышел официальный релиз-кандидат версии 1.0[9], а 15 февраля 2016 года — релиз 1.0[10]. 1 марта 2017 вышел релиз 1.1[11].
Не завирайся.
Тред не читай, сразу отвечай Разве суть котлина не в огромном количестве проектов на джава которые можно использовать в сабже?
НУЖНО ТОЛЬКО ПОТЕРПЕТЬ
Как раз та новость и символизирует, что сейчас на котлин полезет народ.
Они же не просто поддержку прикрутили - там она и была (плагинами) - теперь там она становится официальной - а значит будут гайды писать и прочие.
Так же, из той статьи, джетбрейнсы ведут переговоры о создании некоммерческого фонда для языка - если такое случиться - будет просто дикий буст языка (в том числе на него накатят качественный native).
Но (повторюсь) и сейчас будет буст.
Покушать :)
https://lenta.ru/news/2017/05/18/kotlin/
По-сравнивать
http://nilhcem.com/swift-is-like-kotlin/
haskelL
>Redis хранит все данные в памяти, доступ к данным осуществляется по ключу.
>>993090
Хорошо, я понял что он делает.
Меня интересует для чего его используют.
Вот есть
>golang , nginx , memcached, redis
Какова роль редиса в этой связке?
Он как база данных выступает, тип замена мусклу, или что?
И что значит
>используя Redis, вы можете потерять результаты нескольких последних запросов, что вполне приемлимо для большинства веб-приложений
Это как? В смысле, как это может быть приемлемо?
Вот у меня бложик, туда чел строчил полдня статью на 5 страниц.
Отсылает ее.
А тут редис, редиска такая, ХУЯК Я ПОТЕРЯЛ ВАШ ЗАПРОС.
РНР
Кэш.
>memcached, redis
И зачем, если они дублиуют друг друга, причём мемкешед медленее и менее фичастый?
А вообще, вместо всего этого зоопарка могли бы взять один эрланг, который содержит в себе и беленсер, и промышленный паб-саб и ин-мемори сторежд и всё изкоборки
Ну они что-то одно используют в проекте. Одновременно использовать редис и мемкешед смысла нет
>golang + memcached, redis
лол, а что в го мап нет?
Есть, причём они даже генерик (при том что в самом языке генетиков нет, привет раби и прочие языки с "магическими кнопками").
Но это всё медленна и неуниверсально. Надо дырявый как решето мемкашед натянуть.
Голанг используют в больших проектах , потому что в многопоточность могет и в 3 раза быстрее Питона, и легкий переход с питона на го за 2 недели обучения. Все остальные перделдики типо редиса и nginx все равно придется прикрутить, так как заябуться подобные ништяки на го велосипедить
>и легкий переход с питона на го за 2 недели обучения.
Легкий переход и потом полгода пердолить питонячьи аналоги батареек.
Нет уж, иди нахуй.
кложа заебись, но лучше про лиспы не поднимать на двохчах. Тут тебе айти аналитики с 1-о курса сразу пояснят что скобка нечитаема :3
Таки его тоже поддержу, жаба хоть и офигена, но ее продукты вообще не человеко-ориентированные
От груви вроде создатель отказался и передали в свободное плавание в апач, как раз котлин же его сместил (там какая-то шумиха в гредли была)
Я подразумевал kotlin-native. Выходит что нет. Ну и нахуй он тогда нужен? Останусь на Go.
Хуясе ты чмошник закомплексованный, раз так подрываешься на коммент, адресованный даже не тебе. впрочем, теперь я не уверен, что он не подошёл бы и к тебе
Ебанат, это мой коммент.
>При пинге 70-100мс да?
Может я не правильно выразился, но это время генерации страницы. Пинг тут не учитывается. >>992941
>Мне вот интересно акселератор php хоть был?
Акселератор PHP остался в версии 5. Чтобы ты знал, сейчас лучшее что может быть это opcache зендовский, он как раз таки и был включен.
>>992941
>И был ли учтен фактор что ранее код на пхп не был говнокодом (пхп программисты, все же)?
Не было говнокода, все в рамках приличия. Писал его я, и на Go переписывал тоже я.
>>992941
>про память соглашусь, ибо языки скриптовые, хули ты хотел (ты реально удивился)? Но память дешевле чем время разработки.
Я не удивился, тут нечему удивляться. Это один из плюсов. Или нужно было не учитывать его?>>992941
>Половина всех ошибок в го так же валиться в рантайме, какая стабильность, там дженериков то нет и хуй нормально интерфейс на nil проверишь. Уверен что кастуете там так же динамику
>
Дженерики никак не влияют на стабильность, они просто дают возможность писать меньше кода. >>992941
>Вот это ты сейчас пиздабол просто, или в го научились писать if != err в одну строчку?? Плюс учитывая что не всегда можно вложить функцию в функцию или сделать цепочку вызовов. Плюс отсуствие дженериков - даже на кастования тратиться куча строк. Да и вообще всегда на статичную типизацию кода больше выходи по определению, это цена которую готовы заплотить.
>Официально ты признан пиздаболом, но я все же продолжу.
Ну так PSR обязует открывать скобки на новой строке, а если взять в расчет перечисление неймспейсов, объявление классов, проверки на if isset и прочее, то на то и выходит.
Почитай https://dannyvankooten.com/laravel-to-golang/
>>992941
>Лол, так и думал что проект-визитка.
>Что такое тесты связки стека? И деплой - долго вы деплоете (ты видимо не понимаешь до конца термин этот или оговорился, хотя ты пиздабол, так что не переживай)
Долбоеб, веди беседу конструктивно. Проект не визитка, но как видишь, достаточно востребован пользователями.
>>992941
>Можно было и раньше, даже если пинг 40мс, на конект тратиться 120мс, это не включая доставки, то есть на твоем сервере большую часть времени работает nginx, пытаясь в рамках сети дотавить то, что давно уже отработано (это основная причина бесмысленности оптимизации языка, если у тебя не отдельный гарантированный по скорости канал (в рамках договора конечно, а не рекламулек на сайте, потому что скорее всего твой канал еще со всеми другими впс делится)).
>
Да, историю про пинг я тебе объяснил. Куда блядь меньше если Load Average на постоянке 3.5+, т.е. используются 4 ядра практически на полную. Теперь это 2 ядра, 2 занимаются хуйней. Но я планирую внедрить несколько фишек, так что загрузка скоро опять вырастет. Поэтому остался на этой впске, зато если бы был на PHP, пришлось бы брать в два раза дороже.
P.S. Пинг около 30 мс.
>>992954
А нету неожиданностей. Все ожидаемо. Мой пост был пруфом о том, что языки с динамической типизацией не имеют никаких преимуществ перед статикой. Разве что наговнокодить можно быстрее.
>При пинге 70-100мс да?
Может я не правильно выразился, но это время генерации страницы. Пинг тут не учитывается. >>992941
>Мне вот интересно акселератор php хоть был?
Акселератор PHP остался в версии 5. Чтобы ты знал, сейчас лучшее что может быть это opcache зендовский, он как раз таки и был включен.
>>992941
>И был ли учтен фактор что ранее код на пхп не был говнокодом (пхп программисты, все же)?
Не было говнокода, все в рамках приличия. Писал его я, и на Go переписывал тоже я.
>>992941
>про память соглашусь, ибо языки скриптовые, хули ты хотел (ты реально удивился)? Но память дешевле чем время разработки.
Я не удивился, тут нечему удивляться. Это один из плюсов. Или нужно было не учитывать его?>>992941
>Половина всех ошибок в го так же валиться в рантайме, какая стабильность, там дженериков то нет и хуй нормально интерфейс на nil проверишь. Уверен что кастуете там так же динамику
>
Дженерики никак не влияют на стабильность, они просто дают возможность писать меньше кода. >>992941
>Вот это ты сейчас пиздабол просто, или в го научились писать if != err в одну строчку?? Плюс учитывая что не всегда можно вложить функцию в функцию или сделать цепочку вызовов. Плюс отсуствие дженериков - даже на кастования тратиться куча строк. Да и вообще всегда на статичную типизацию кода больше выходи по определению, это цена которую готовы заплотить.
>Официально ты признан пиздаболом, но я все же продолжу.
Ну так PSR обязует открывать скобки на новой строке, а если взять в расчет перечисление неймспейсов, объявление классов, проверки на if isset и прочее, то на то и выходит.
Почитай https://dannyvankooten.com/laravel-to-golang/
>>992941
>Лол, так и думал что проект-визитка.
>Что такое тесты связки стека? И деплой - долго вы деплоете (ты видимо не понимаешь до конца термин этот или оговорился, хотя ты пиздабол, так что не переживай)
Долбоеб, веди беседу конструктивно. Проект не визитка, но как видишь, достаточно востребован пользователями.
>>992941
>Можно было и раньше, даже если пинг 40мс, на конект тратиться 120мс, это не включая доставки, то есть на твоем сервере большую часть времени работает nginx, пытаясь в рамках сети дотавить то, что давно уже отработано (это основная причина бесмысленности оптимизации языка, если у тебя не отдельный гарантированный по скорости канал (в рамках договора конечно, а не рекламулек на сайте, потому что скорее всего твой канал еще со всеми другими впс делится)).
>
Да, историю про пинг я тебе объяснил. Куда блядь меньше если Load Average на постоянке 3.5+, т.е. используются 4 ядра практически на полную. Теперь это 2 ядра, 2 занимаются хуйней. Но я планирую внедрить несколько фишек, так что загрузка скоро опять вырастет. Поэтому остался на этой впске, зато если бы был на PHP, пришлось бы брать в два раза дороже.
P.S. Пинг около 30 мс.
>>992954
А нету неожиданностей. Все ожидаемо. Мой пост был пруфом о том, что языки с динамической типизацией не имеют никаких преимуществ перед статикой. Разве что наговнокодить можно быстрее.
>Разве что наговнокодить можно быстрее.
Так ради этого же весь сыр-бор. Меньше писанины, больше дела. Статика не так много даёт, учитывая что большая часть кода на том же C++ использует STL, в этих ваших жабах тоже коллекции на коллекциях. Статика только для скорости имеет смысл, те кто там говорит что исключает целый класс ошибок - пиздабол.
Зачем его включать, если на го нихера не написать для андроида?
>Может я не правильно выразился, но это время генерации страницы. Пинг тут не учитывается.
Ты настолько туп, что даже не понял
>Не было говнокода, все в рамках приличия. Писал его я, и на Go переписывал тоже я.
Да неужели? Как тогда у тебя го выиграл только в 3 раза?
Как надо было херова код на го написать?
>Дженерики никак не влияют на стабильность, они просто дают возможность писать меньше кода
ЛОЛ, тут просто без комментариев, это топчик)
>Долбоеб, веди беседу конструктивно.
Это твой внутренний голос? Призыв быть лучше?
>Проект не визитка
Проект написанный за 2 недели - это проект визитка
>Да, историю про пинг я тебе объяснил
Ты тупой раз не понял, когда я тебе разжевал просто почему это бесмыслено.
> Куда блядь меньше если Load Average на постоянке 3.5+, т.е. используются 4 ядра практически на полную.
LA это количество таск в очереди, какие нахуй ядра на полную?? Ты настолько туп, что думаешь что если LA 2 то это значит, что два ядра простаивают?
Типичный пхп специалист.
>P.S. Пинг около 30 мс.
Только на хэншейк у тебя уходит 90мс (и то только у тебя), кого ты победил?
А вообще круто когда пхп/го специалист (я буду называть вас специалистами, никак иначе), так вот круто когда такой специалист оценивает нагрузку по LA, я уже вижу как при высоких показателях, ты побежишь покупать еще железа, не понимая, что в реале проц может быть ВОООБЩЕ не загружен, а все твои таски висят на i/o.
Иди в свой загон го-треда, что ты в котлин-треде забыл, специалист.
>Может я не правильно выразился, но это время генерации страницы. Пинг тут не учитывается.
Ты настолько туп, что даже не понял
>Не было говнокода, все в рамках приличия. Писал его я, и на Go переписывал тоже я.
Да неужели? Как тогда у тебя го выиграл только в 3 раза?
Как надо было херова код на го написать?
>Дженерики никак не влияют на стабильность, они просто дают возможность писать меньше кода
ЛОЛ, тут просто без комментариев, это топчик)
>Долбоеб, веди беседу конструктивно.
Это твой внутренний голос? Призыв быть лучше?
>Проект не визитка
Проект написанный за 2 недели - это проект визитка
>Да, историю про пинг я тебе объяснил
Ты тупой раз не понял, когда я тебе разжевал просто почему это бесмыслено.
> Куда блядь меньше если Load Average на постоянке 3.5+, т.е. используются 4 ядра практически на полную.
LA это количество таск в очереди, какие нахуй ядра на полную?? Ты настолько туп, что думаешь что если LA 2 то это значит, что два ядра простаивают?
Типичный пхп специалист.
>P.S. Пинг около 30 мс.
Только на хэншейк у тебя уходит 90мс (и то только у тебя), кого ты победил?
А вообще круто когда пхп/го специалист (я буду называть вас специалистами, никак иначе), так вот круто когда такой специалист оценивает нагрузку по LA, я уже вижу как при высоких показателях, ты побежишь покупать еще железа, не понимая, что в реале проц может быть ВОООБЩЕ не загружен, а все твои таски висят на i/o.
Иди в свой загон го-треда, что ты в котлин-треде забыл, специалист.
Лул, а зачем?
>Сам то что ли питон мастер, не?
Не.
Это гохейтер-шизик.
Сверхценные идеи, и чсв овер 5000000.
Прославился копротивлевнием асинхронному IO.
Верит только в синхронный ввод\вывод.
Тебя дурака обосрали с твоим непониманием sync io, а ты пытаешься это обратить в пользу своей экспертизы async? Это так не работает.
Зачем ты сам с собой разговариваешь?
>>993538
Это пекарь из го треда. Ключевой особенностью больного наголову человека, является то, что когда его обоссут (снова и снова) он на время пропадает из двачей, но потом возвращается и начинает маневрировать форсами, которыми его же и опустили (в том числе эти торты, упрек в шизофрении, общение с самим собой и прочие радости)
Я сначала думал это Илюша, но тот вроде не настолько ебанутый наголову и хотя бы знает матчасть языка.
К сожалению, легкость языка и красивые фанбой-статейки привлекают очень много маргиналов в язык.
Это не ново, просто надо игнорировать этот сброд.
Пишу на жабе, котлине(пробую), си и питоне.
За 10 лет видел разного рода сетевые приложения и сложилось впечатление, что на чем бы ты не писал все рано или поздно обрастает неуправляемым говном.
НО! Краткость питона и его читаемость кода, куда лучше сопровождать, чем в той джаве, в которой зачастую код обрастает слоями за слоями пустых (холостых) сущностей.
Я хз, актуально это или нет, но подобные "продукты" на джаве встречал
https://www.youtube.com/watch?v=Wi3uLRlOWeU&t=3789s
Некоторые умудряются и на питоне собрать бешеные миллионы LoC. Потом никто это даже трогать не хочет, работает и чёрт с ним.
Капец тебе бомбит.
Я поэтому и сказал что:
>на чем бы ты не писал все рано или поздно обрастает неуправляемым говном.
Но ты видел говно на джаве и говно на питоне?
И статическая типизация особо то ничем не помогает, когда там овер 100500 объектов и ты пытаешься из этой кучи логику собрать (которая и размазана по этим 100500 объектам) - это ужасно.
В динам языках, я заметил, даже если и мутят говно, то все равно оперирует простотой и базовыми типами (хотя раз на раз не приходится).
Для этого пишут документацию, в том числе в коде, и делают декомпозицию. Если у вас там один огромный шмат говна без документации, то сочувствую.
По перформансу.
Джава, это такая сказка о быстром коде. Да джава быстра и вообще все классно, но как только ты натянул какой-нибудь Spring - то твой код превращается в тыкву.
Теория всегда красиво звучит, на практике кроме JavaDoc тебе никто не будет актуально поддерживать то, о чем уже не помнишь в документации (то есть меняя в коде, ты не знаешь надо ли править документацию и правишь, если повезет только JavaDoc, который описывает что-то в контексте класса, пакета, а не общей картины)
В общем это розовые мечты джуна, так как некоторые и держаться на работе, потому что знают как это все работает.
>В общем это розовые мечты джуна, так как некоторые и держаться на работе, потому что знают как это все работает.
Нахуя доплачивать тебе как специалисту, если каждый мидляк может освоить доку и потенциально заменить тебя.
Это работа и работа не далекой опенсорсный мир, где надо подлезать все до блеска ради звезд на гитхламе
Причём тут джуны? Документация это способ значительно сократить время знакомства с проектом новым людям и значительно сократить время себе, вернувшемуся в тот же файл через несколько лет.
Писать книги конечно же не нужно, но тот же javadoc+комменты вполне. Только там любят поперечислять параметры для галочки, чтобы было и выглядело серьёзно, а надо самое насущное человеческим языком.
>Да неужели? Как тогда у тебя го выиграл только в 3 раза?
>Как надо было херова код на го написать?
Долбоеб, а специфику работы ты не учитываешь? Заопкешенный PHP довольно таки быстр.
>>993531
>Проект написанный за 2 недели - это проект визитка
Дебил, переписать проект и написать - две разные вещи. Писать с нуля, значит проектировать. Переписать, сначит адаптировать под другой язык + некоторые особенности языка.
>>993531
>Ты тупой раз не понял, когда я тебе разжевал просто почему это бесмыслено.
Скажу честно: я твой высер даже и не читал толком.
>>993531
>LA это количество таск в очереди, какие нахуй ядра на полную?? Ты настолько туп, что думаешь что если LA 2 то это значит, что два ядра простаивают?
Ну и дальше что? Если тасков в очереди 2, а ядер 4, значит ресурсы ЦПу используются на 50%. 50% от 4 ядер сколько будет, даун? Я просто опустился на ступеньку ниже, чтобы не разжовывать что такое LA, что такое планировщик, что такое D state у процесса, и т.д.
И нахуя ты мне про 3-way handshake рассказываешь? К чему это? Типо быстрее проходит хендшейк, быстрее высвобождается очередь? А ничего, что у меня сайт не статику отдает, а на обмен syn-synack-ack уходит наверное 10% всего времени, все остальное работает основная бизнес-логика приложения. Сложилось такое ощущение, что если у тебя сервер в США стоит и пинг 100мс., после чего приложение обрабатывает гигантский массив данных, то перенеся его поближе (скажем до пинга 10 мс.) ты ускоришь работу в 9 раз? Странный ты. Могу пошутить про каждую из твоих 47 хромосом.
>Писать книги конечно же не нужно, но тот же javadoc+комменты вполне.
Я тебе написал не работает твой жабаДок, особенно когда это абстрактная какая-то херь, описать которую придется расписать пол логики модуля.
Ты вернулся, прочитал доков, поумнел?
>Долбоеб, а специфику работы ты не учитываешь? Заопкешенный PHP довольно таки быстр.
Таки получается, что Го особо то и нужен??
>Дебил, переписать проект и написать - две разные вещи
Как бы не было забавно, но писать проект быстрее чем переписывать - шерстя весь код и базу данных, чтобы не всосать логику, которую ты уже всю детально и не упомнишь за много лет (конечно если это не сайт-визитка).
>Скажу честно: я твой высер даже и не читал толком.
Не страшно, ты бы и не понял.
Можешь не распинаться, ты обсираешься на каждой цитате и видно что ты очередной старшеклассник фантазер (или взрослая детина с выраженными чертами сказочника). Так что иди в го тред, санитары уже ждут и накормят тортами.
Ну пока на этом и остановились Python, C++, а остальное не нужно. Дальше только остается ждать, когда гугл одумается и перестанит вкладывать средства в го и поднимет котлин
С++ ненужен
>Таки получается, что Го особо то и нужен??
Это твои умозаключения. Или ты хочешь, чтобы я на них повлиял?
>>993631
>Как бы не было забавно, но писать проект быстрее чем переписывать - шерстя весь код и базу данных, чтобы не всосать логику, которую ты уже всю детально и не упомнишь за много лет (конечно если это не сайт-визитка).
>
Как бы то ни было, но проектировать с нуля дольше, дебила ты кусок, как минимум начиная с проектировки связей в БД и вниканием в бизнес-логику и бизнес-процессы того, что ты будешь писать, если это не сайт визитка, которыми ты бредишь. Переписывать проект, это просто выгрузить список классов и методов, и вторым монитором поставить схему БД, и все.
>>993631
>Не страшно, ты бы и не понял.
Ты так говоришь, будто тебя тут кто-то вообще понял. Я не могу понять, про тебя это легенды ходят, что ты местный шизик, или не про тебя. Хотя и такие легенды тоже нужно заслужить.
>>993631
>видно что ты очередной старшеклассник фантазер (или взрослая детина с выраженными чертами сказочника)
Не можешь определиться? Часто у тебя такое?>>993642
>Не принимай ты сего ребенка всерьез.
Просто петушара с тунельным зрением влетел в тред, и не хочет ничего видеть кроме "динамической типизации", которая по сути создана чтобы привнести программирования в массы, такие вот рвотные массы как этот гидроцефал.
Илья К., что ли? Я думал, про него давно уже забыли и сам они на все забил.
Я все его посты и каменты на хабре по два раза читал
динамика для прототипирования. когда требования не ясны и все меняется, то быстрее без проверки типов. к примеру, в руби/питоне, словарь first class citizen, не нужно создавать структур, json там.
а переписать на го итд уже когда редко что меняется.
или на го тоже можно быстро прототипы писать?
На степике логин работает? С пятницы не могу залогиниться.
>вместе с недавним релизом компиляции в JavaScript
Прозбзделся с этого.
Писать средний проект на built-in жоплина это всё равно, что писать его на костылях native API JS-а получая в итоге некро-сс-платформенное говно с нулевой поддержкой. И это только вершина айсберга из мира ЖС с ебаническим набором тулз, всевозможных видов модулей и библиотек. Это современный жс-фронтенд. В бэкэнде жоплин так вообще соснёт. Жс бэкэнд как и собсна фронтэенд, уже давно оброс типизированными транспайлерами и запиленными под них сотнями тысяч фреймворков/либ упрощяющих дебагинг проекта любого размера и сводящий ошибки к нулю. Боюсь представить как будет выглядеть говнокд жоплина для асинхронных вызовов через промисы. Если даже в жсе это сплошной ад, то в жоплине ад в квадрате или кубе. Кто захочет вообще менять свою кодовую базу на головную боль с новой средой, постаянную отладку или на баги самого языка?
Никто.
Мимо_JS_господь
>Боюсь представить как будет выглядеть говнокд жоплина для асинхронных вызовов через промисы. Если даже в жсе это сплошной ад, то в жоплине ад в квадрате или кубе.
Вот с промисами ты проебался. На корутинах асинхронный код в котлине становится писать просто как синхронный, можно забыть про callback hell или бесконечные then.
>На корутинах асинхронный код в котлине становится писать просто как синхронный
Но в нем нет корутин.
Любой грамотно составленный xml занимает меньше символов чем json. Ты конечно, порвешься от неожиданности, но это правда (в том числе за счет аттрибутов - на ковычках экономия).
Да там же всё скриптомакаками, вроде тебя, окупированно.
>json не завезут схемы
Уже завезли и оче давно.
>>995132
Очередной оверхайпнутый высер гугла? Спасибо нет.
Вместе с xslt и xpath? Прямо в стандарт уже прописали?
<data page="2" num_items="12" items_per_page="4"><cuckold type="js-monkey" age="23"/></data>
{"data":[{"cuckold":{"type":"js-monkey", "age":23}],"meta":{"page":2, "num_items":12, "items_per_page":4}}
Просто json хайпают утята, профессионалам же всё равно с чем работать, в некоторых случаях xml удобнее, в том числе за счет надежности.
>>995146
У вас в json две структуры: data и meta, а в xml одна.
>>995148
У них задачи так-то немного разные. Тут уже писали про xslt и xsd, например.
> data и meta, а в xml одна.
Предлагай свой вариант, если есть такая возможноcть. Пока что xml короче и читается приятнее (против [{ )
<data page="2" num_items="12" items_per_page="4"><cuckold type="js-monkey" age="23"/></data>
{"page":2,"num_items":12,"items_per_page":4,"data":{"cuckold":{"type":"js-monkey","age":23}}}
Какой смысл схем, если все равно надо валидировать в момент получения, все равно там будет динамика, если она не правильная то так и так не пройдет?
Не говорите что ради автоподстановки?
И опять же в этих xml ссылка на схему, а если сайт лежит? Не валидируется?
Мое имхо, все эти дата-DSL должны быть частью языка (DSL). Чтобы корректность записи проверял компилятор по соотвествию классов внутри какой-то либы. Чтобы не писать какие-то схемы еще раз.
Это уже ближе к говнокоду, но какое-то время имеет право на существование, до тех пор пока у данных не появятся метаданные сложной структуры.
В общем я к тому что ни xml не json впезду не нужен
для настроек - синтаксис языка (что-то легкое как DSL)
для обменная данный - что-то другое.
Нехуй одно говно мешать с другим, сериализация не есть тоже самое что DSL-настройки
И вообще для обмена данных должен быть бинарный формат. Что за детский сад с этой текстовой сериализацией данных (да да, перекат из дата-класса в json это сериализация, убогая но она)
>Бинарный формат
Возможно для нативных клиентов это круто, но какой толк от этого вебу? Больше трудностей только.
Добавь какой-нибудь авто-декодер в дев-панель браузера и будет так же все годно. Но работать будет быстрее будет (возможно на порядки)
как раз сейчас в вебе и проблема из-за динам языков все не очень структурированно, все через жопу. А тут фактически реальная сериализации где по две стороны есть реальные сопоставимые объекты.
Шаг в сторону и ты сам себе плохая буратина
Охуеть, мудило, 2 разных способа отображения данных сравнил.
Немного контекста: котлин представляет из себя 2 части: core api, который одинаков для всех платформ и имплементации, которые разные для каждой платформы. Андрей Бреслав на последнем докладе о стратегии развития котлина рассказывал на жпоинте последнем.
Корутины входят в core api, но подключаются отдельно.
Это к вопросу о native. Корутины есть во всех имплементациях.
https://github.com/Kotlin/kotlinx.coroutines/blob/master/coroutines-guide.md
fun main(args: Array<String>){
launch(CommonPool) {
delay(1000L)
println("world!")
}
print("Hello, ")
}
sout:
> Hello, world!
Кек, забыл слип в конце.
>А разве gzip не сжимает json как раз до такого бинарного формата?
Путает сжатие данных с сериализацией
Ты случаем не гофер??
Вроде неплохо.
Сильно излишне правда...
В целом, я одобряю этот котлин.
Выглядит как хороший годный сисярп.
Там можно и просто
async {
await(sleep(1000))
println("world!")
}
print("Hello, ")
Да даже вкуснее, так как async/await и остальные - функции, а не ключевые слова. Только я пока не понял, как они под капотом работают, т.к. они как нового треда не создают, то это не оч понятно. Можт выполняется все через сингл-жвм форкжоинпул, я хз.
>Там можно и просто
>async
Монжо.
Но я этого надеюсь никогда больше не буду делать.
Это принципиально неправильный подход к асинхронному программированию.
Завязывающий код в тугой спагетти узел. И проводящий к ужасным не отлавливаемым ошибкам.
Это в любом случае лучше, чем callback-hell и отлично подойдет тем, кого бросает в дрожь от функциональщины, типа CompleteableFuture. К тому же, корутины дешевле тредов, так что от них никуда не денешься, лул.
Алсо, все эксепшены там синхронизированы с основным тредом, так что с эксепшн хендлингом все ок.
>>995380
Почитал как это все работает. В контексте корутины лежит ForkJoinPool, по дефолту там лежит CommonPool. Дешевле они, пушо тред не стоит прерванным без дела, ожидая, когда там отработает асинхронная операция. Асинхронно выполняются только саспендящая функция и код до нее, а код после саспендящей функции выполняется в главном потоке, поэтому корутина расходует меньше памяти, чем отдельный тред (или тред в тредпуле), стоящий в саспенде. При высоком параллелизме ты только в плюсе от корутин.
>Это в любом случае лучше, чем callback-hell и отлично подойдет тем
Это кал.
Насколько оно лучше, вопрос сомнительный.
Чтобы сириус приложение написать на асинках, нужно тонну дополнительного когда нахерачить.
>К тому же, корутины
Корутины это одно.
async - другое.
У тебя в голове мешанина терминов.
Корутины (в котлине) это фича компилятора по превращению синхронного кода в CPS, на базе которой реализованы в виде библиотечных функций асинки, акторы, каналы и даже генераторы (аналог yield return из C#)
>У тебя в голове мешанина терминов.
У тебя в голове девственная пустота.
>Корутины (в котлине) это фича компилятора по превращению
Корутины это корутины.
Легкие потоки, которые, могут работать немного по разному в зависимости от реализации.
Я тебе говорю, что такая-то и такая-то реализация - порочна.
Ты у меня спрашиваешь - а какая хороша?
Я тебе говорю - акторы и каналы сообщений.
Расшифровываю, каноничная реализация корутин - акторы.
Другие подходы, уже не выглядят и не работают как корутины.
Da s verse 1.1
Двачую
Это каким же конченным нужно быть, >>995753. Мне больно, что таких как ты выпускают в интернеты, дают право высказывать мнение. Надеюсь, когда - нибудь будет введен интеллектуальный ценз, и такие как ты не будут засирать инфосферу.
Конечно. Всяко лучше чем на голых промисах, объясни без подъеба, что в нём неудобного?
>Конечно. Всяко лучше чем на голых промисах, объясни без подъеба, что в нём неудобного?
Относительно голых промисов - ничего.
Все удобно.
После релиза async await да, на ноде можно писать, но пока нет нормального фреймворка и ORM для реляционных баз данных, всё же это не самый удобный инструмент. Хотя вот вроде sequalize неплох. Но в любом случае экспресс говно, а koa 2 нереально маленький. Где ничего нет. Обмазываться 100500 модулями напрягает.
Преврати объекты в акторы, и пануй, как это сделал я.
Пиздуй к параше, скотина. Тебе кто слово давал?
>типизированными транспайлерами
Охуеть вообще, пшёл в свой загон.
мимо идрис лорд
>open
>Hui?
>val l = if (hui != null) hui.length else -1
Заново изобрели джаву, дополнив ее кучей анальных костылей и ограничений, в тщетной попытке сдержать макак, не могущих в нормальный код? Ну охуеть теперь.
Ну ты-то уверенный в себе человек, всегда рассчитываешь, что запрашиваемые данные есть.
Если что-то ломается из-за внезапно вылезшего null вместо hui, то это вина макаки-программиста, написавшей хуево задизайненный и непротестированный код. Не нужно винить язык в своем непрофессионализме и просить его запихать тебе в задницу больше анальных костылей, которые все равно не помогут подобных ошибок избежать, макаки способ найдут.
По делу что-то кукарекнешь, мань?
var hui = getHuiById(100500)
hui.drochit()
> Ну ты-то уверенный в себе человек, всегда рассчитываешь, что запрашиваемые данные есть.
Я про то, что данную проверку должен делать сам программист исходя из собственных соображений и знания системы. А когда язык заставляет тебя отдельно отмечать каждую переменную, где ВОЗМОЖНО будет null, и каждый класс, который ВОЗМОЖНО будет наследоваться, то он дохуя на себя берет и к тому же заставляет тебя заранее продумывать и знать все малейшие аспекты готового приложения, что никогда не представляется возможным. Модулирование не просто так придумали.
сука в глаза мне это скажешь чмо очкастое??
Знает систему только тот программист, который её изначально разрабатывает, и то не всегда, он же записывает свои знания в код теперь не на уровне комментариев, а на уровне типизации. При доработках же и поддержке теперь не требуется обследовать все зависимости и читать доку на XXX страниц, чтобы добавить две строчки.
Если система более-менее сложная, то на момент разработки ты никак не сможешь сказать, как именно она будет реализована, только в общих чертах представить. Это мы еще говорим про начальную разработку, не изменения, которые обязательно последуют за ней, и которые точно предсказать нельзя.
>знания в код теперь не на уровне комментариев
Я стараюсь следовать принципу, что если код не комментирует сам себя, то это хуевый код, а 90% документации должно содержаться в юнит-тестах.
>не требуется обследовать все зависимости
Опять же, две строчки с кучей зависимостей, которые ломают всю систему, говорят о хуевом дизайне системы, а не о том, что в языке было мало анальных ограничений.
>заставляет тебя заранее продумывать и знать все малейшие аспекты
Что ТЯЖЕЛО думать? Не ту профессию ты выбрал, дурачёк.
Постом выше есть объяснение, что я имел в виду. Думать и заранее проектировать - всегда хорошо, но не до малейших аспектов уровня "тут у нас строка, но может быть и не строка, добавим на всякий случай обработку исключения, хоть сейчас и не требуется". Это попросту невозможно и непродуктивно. Software потому и имеет приставку soft, что оно постоянно меняется и должно меняться, нельзя спроектировать и сказать "ну все, теперь пусть так и остается".
> Software потому и имеет приставку soft, что оно постоянно меняется и должно меняться, нельзя спроектировать и сказать
Каникулы начались? Вообще software это противопоставление hardware (т.е. железу пк)
Опять кто-то в палате го-треда дверь не закрыл?!
Так ведь проблема в том что в котлин нэйтив не будет джавовских либ?
As originally conceived, the word "software" was merely an obvious way to distinguish a program from the computer itself. A program comprised sequences of changeable instructions each having the power to command the behavior of the permanently crafted machinery, the "hardware."
Это какой левел КОРПАРАТИВНОЙ СИСТЕМЫ ?
Если безопасный и не связаный с внешним миром, то всегда выполняется предусловие, что ид хуя валиден и проверять после запроса ничего не надо.
В тупом котлине нельзя нормально разделить систему на уровни валидации данных и в каждом запросе надо будет дрочить проверку на нул. Прямо как в го-параше.
Левел высоконагруженной конкурентной системы.
> Если безопасный и не связаный с внешним миром, то всегда выполняется предусловие, что ид хуя валиден и проверять после запроса ничего не надо.
Соснешь сразу в двух направлениях:
1) Вместо одного выполняется два запроса к БД чисто для получения хуя. Сейчас кукарекнешь НУИШТОО. А хуй тебе в рот через плечо.
2) Выполнил checkHuiExists() в общей проверке permitHuiGetting(id), вытаскиваешь хуй и внезапно охуеваешь, что за время между проверкой на наличие хуя и получение хуя какой-то мудель в другой транзакции хуй-то и удалил к хуям.
Твоя хуйня будет работать только в однопользовательском говне. Не путай проверку бизнес-рулов на действия с проверками на наличие полученных объектов из внешних источников.
У них ещё Dart есть
Илюш, не бомби.
>pthread
Какое отношение внешние, кривые костыли с десятком несовместимых имплементаций имеют к языку C?
Можно, но есть один нюанс.
- Они не изобретали велосипед и подразумевают что для обычных задач, таких как работа с сетью, файлами, логирование, клиенты баз данных, http, и тд. вы будете использовать готовые java библиотеки. То есть вы должны понимать их API, для этого надо знать java хотя бы на базовом уровне.
>Если что-то ломается из-за внезапно вылезшего null вместо hui, то это вина макаки-программиста, написавшей хуево задизайненный и непротестированный код. Не нужно винить язык в своем непрофессионализме и просить его запихать тебе в задницу больше анальных костылей, которые все равно не помогут подобных ошибок избежать, макаки способ найдут.
Дело не только в том что "ломается". Дело в том что приходится проверять на null. Эти проверки не бесплатные и если вызывать методы в цикле, может получится так что н-ная часть процессорного времени занята проверками на null на разных уровнях API. Не говоря о том, что многочисленные защитные проверки на null всех параметров в начале всех методов публичного API загаживают код.
Особенно под андроид. С одной стороны Пользователь не будет пользоваться программай которая вылетает, он просто удалит ее и поставит аналог, конкуренция бешеная, с другой стороны программировать максимально защитно и валидировать все параметры во всех методах - прямой путь к тормозам и жору батареи, что пользователю не нравится еще больше.
Ява и без котлинов и твоего кода под капотом проверяет все на null: именно поэтому ты получаешь npe, а не сегфолт или ещё какую неведомую хуйню.
деб, разницу между имплементацией в языке или на уровне либы ты конечно не понимаешь
алсо, в этом же си нет ни строк, ни средств работы с динамической памятью, ни средств работы с любым вводом-выводом
и вообще об этом на второй странице введения k&r написано
...сказала очередная питоно-макака с просадкой бенчмарков до 600 раз
Если раньше ты мог просто проверить на null, с той мыслью что результат неопределен, то сейчас начнут возвращать "пустые" объекты, которые так же, тоже нужно проверять на "определенность".
Если со строкой еще понятно, типа str.noEmpty(), то с объектами типа YobaClass придется лесть в доку каждый раз, так как их неопределенность или пустота - непонятна.
Так вот - кого они там победили с этой борьбой с NPE, когда теперь у нас в проекте могут тупо проскакивать неопределенные данные и портить логику, когда раньше прога бы умело завалилась с NPE.
Дисскус
Мне кажется если есть Maybe, то никаких nullable не нужно, просто nonnull
Тут проблема в том, что хочешь ты или не хочешь - но определенные состояния существуют.
Можно конечно исключениями на каждый чих бросать, например значение не найдено и завалиться исключением. Или мягко вернуть null - "неопределенно" и дальше тебе решать как поступать (а если не решишь, уже будет исключение).
Во всяких говно Го, тебе вообще могут создать пустую структуру и если ты заигнорил ошибку (или в своем if... ошибся), то будешь работать со своей пустой структурой во всей бизнес логике (а такую ошибку ты хер так просто найдешь, если пустое состояние тоже часть логики).
Поэтому null это норм, просто нужен сахар для проверки if (obj !=null) и нужна четкая декларация когда метод может вернуть null (хотя бы аннотация), в противном случае начнут возвращать "битые" пустые объекты, которые горазда опаснее в реально большой программе.
>которые горазда опаснее в реально большой программе.
И которые так же придется неявно проверять
if(obj.notEmpty())
if(obj.size() != 0)
и еще тысяча вариаций, вместо понятного obj != null
Какие проблемы если использовтаь монады? возможно отсутсвие результата как просто отсутствие данных - Maybe<...>, ошибка - Try<...>. И проверку ты никак не забудешь, и EMPTY обжектов придумывать не надо и никаких вопросительных знаков тоже не надо.
Проблема в том что мы говорим о котлине.
Ну и конечно "Maybe<...> Try<...>" говно засоряющие читабельность, вечное блядское желание уместить все в одну строку и считать что решил проблему.
Такое ощущение, что люди разрабатывающие ту же жабу в 1995 году, были куда профессиональней и дальновидней чем современные дизайнеры кода.
Люди почему-то думают, что спрятав проверку на налл во что угодно, кроме if (obj != null), они решили проблему с нулями.
Тоже считаю борьбу с нулами на уровне языка шизой подхваченой безмозглыми ооп-маками от заразных функциональных петушков.
Ни один петух не может сказать зачем он ебется с мейби если можно просто написать сраный иф. Тип что не забыть, когда за непроверку мейби ему конпелятор давал по рукам? А почему за деление на ноль не давать по рукам другой парашной конструкцией? А почему за переполнение или открытие несуществующего файла не ебать мозг еще более непонятными словами аналогичными сраному ифу с проверкой на нул? А исключений в стандартной билиотеки овер 2к, давайти на каждое по слову выделим, а то вдруг на следующей строчке программы пиздецома из-за непровереного состояния сетевого соединения?
Нет ответа на эти вопросы, но петухи продолжают болеть шизой борьбы со страшными нулами, и расказывать как они только выигрывают от загромождения тривиального кода говном.
Жаба-макаки и го-дрисня обсуждают проблему Nullness checking в котлине, не удосужившись открыть документацию.
Вот же шизики.
>проблему Nullness checking
Нет такой проблемы.
У отдельных людей есть проблема Borchedsky autism intensify.
У отдельных проектов есть проблема невнятного дизайна из-за которой нули лезут в бизнес логику и все рушат.
То нулли не нравятся, то эксепшены.
Хочу писать код красиво и не обрабатывать исключительные ситуации!!!
Хочу смеяться 5 минут
Страшно то, что жалобы таких макак из самых низов непрофессионального уровня доходят до топ разработчиков и они придумывают борьбу с тем, что естественно и так.
То монады, то блядские if !=nil (когда эксепшенны по сути разделили обработку ошибок с исключительными ситуациями), то навтыкают вопросиков и восклицательных знаков.
Существуют такие вещи как:
Нормальный поток исполнения.
Очевидные ошибки / Неопределенное состояние (вычисли/дай мне - не смог/нету).
Исключительная ситуация для текущего кода.
И ты хоть обосрись, это часть физической природы, как например человеческий фактор или перегрев реактора или другие вещи из физического мира.
Причем очевидные ошибки обрабатываются где-то на том же уровне исполнения.
Если надо пробросить, то это исключение уже.
Сами исключения либо обрабатываются на том же уровне, или делегируются выше.
И понятно, что хочется тупо писать нормальный поток исполнения и не дергаться на исключительные случаи. Но нет, сказок не бывает.
Проблема в том (возвращаясь к теме треда), что в котлине эта сказка вшита на уровне компилятора (хотя проблема решается одним if или функцией с принудительным NPE)
То есть, проблем NPE не было (только у джунов) или она раздута и преправлена маркетингом котлина (ибо без этого котлин выглядет как таже жаба но с привязкой к одной IDE)
https://www.youtube.com/watch?v=IDxDrXgaOVI&list=PLrCZzMib1e9qlWqXQZkru1k1hUIGIuotC
>>1004012
Это убогое стремление к двоеточиям меня вообще убило. Вот прям удовольствие прыгать по клавиатуре за всякими : и ?
Они реально за 6 лет сделали только этот небольшой набор сахара? 6 лет для небольшого сахарка??
Асинки единственно что выглядит годным в сравнение с котлином 1.0
PS по ощущениям пишешь на той же жабе, иногда даже путаешься. Имхо, если ты вкатился в джаву (а придется полюбому) и она тебе вероятно нравится, то скакать на котлин смысла не вижу, джава даже выглядит привлекательней - олдускульно так и минималистично (в плане моментов, где ты можешь извернуться как хипстерок).
PS2 Хотя может для мобилок и выстрелит, там у них, я слышал, вообще грустная жопа. Хотя вроде есть питон, что они там страдают, я хз (писать мордочки к вебу и приложениям на статическом языке это какое-то издевательство).
> Имхо, если ты вкатился в джаву (а придется полюбому) и она тебе вероятно нравится
> и она тебе вероятно нравится
это называется СТОКГОЛЬМСКИЙ СИНДРОМ
комплилятор свободный или нет?
вкатываться не собираюсь, просто ищу аргументы для унижения хипстеров
>Любой образованный человек знает, что Лоренц экспериментировал с серыми ГУСЯМИ.
И что из этого следует? И у утят, и у цыплят есть импринтинг (да и вообще много у кого).
Так что иди нахуй.
Завезли, смотри сюда https://kotlinlang.org/docs/reference/operator-overloading.html#indexed
Никогда не понимал, зачем вам это. Ну именно [], я не помню, когда брал по индексу из коллекции последний раз.
Кстати, да. Не могу придумать с ходу ситуацию, где наличие доступа к элементам коллекций по индексу было бы очень нужно (за пределами мирка олимпиадного дрочева с матрицами, естественно). Точно так же не помню, когда последний раз по индексу брал что-то. А. У одного из проектов было что-то вроде наколеночного декларативного языка описания логики, там для функции возврата рандомного элемента списка надо было по индексу обращаться.
мимопроходил
У скалабогов давно apply вместо []. Очередной отсос мартыханов.
>А к элементам хеш-таблицы как обращаться?
hashtable1.getAbstractSingletonBeenFactoryGetter.getItemsGetter.GetItem("youba")
Или
hashtable1.iterator.Lyambdia((select) => if itame.id == "yoba" return itame.value)
Так же как и к элементам массива. Или ты, ублюдок, хешмапой объекты эмулируешь?
>— Можете оценить общий объем инвестиций в создание Kotlin?
>— Общий объем инвестиций в Kotlin за семь лет мы оцениваем примерно в $15 млн.
Если конечно это они не опубликовали зарплаты.
Но все равно котлин эпический фэйл.
Пилить один лишь синтаксис 6 лет, за 15 лямов и получить ту же блядскую жабу, это эпик просто.
Серьезно, убедите меня в обратном. В скале хоть вроде свои либы привнесли.
Вот они одноклеточные
Мне нравится фраза - начали учить котлин, типа язык такой самостоятельный и мол вкатываться в жабу не надо совсем.
Да вот нефига, а если же, все же, знаешь жабу, то учить котлин это реально пару дней (что там учить?).
> Пилить один лишь синтаксис 6 лет, за 15 лямов и получить ту же блядскую жабу, это эпик просто.
> Серьезно, убедите меня в обратном.
Мне кажется у тебя какие-то ожидания от языка отличающиеся от целей его авторов. Ты не допускаешь, что удобный язык на замену блядской джаве — это то, что они хотели? И судя по адопшену не только они.
не туда ответил см.
>>1006284
В продолжение, что на твой взгляд делает котлин той же блядской джавой, и почему ты считаешь, что так делать не надо было?
Котлин построен на решение общих практик накопившихся в джаве.
Возьмем к примеру конструктор, который в джаве стали чаще использовать для инжекта данных, чем "инит" функцию.
Смешно в том, что в джаве это делается в пару кликов, причем их же IDE. А что теперь мы видим в котлине? Да, удобно, спрятали под капот, но в реале получилось неоднозначно - если ты джавист то круто, если ты прилетел из другого языка или только вкатываешься в джаву по книгам, то у тебя легкий WTF, потому что ты еще не джавист с общей ынтерпрайз практикой в 10 лет и для тебя выглядит все это как-то неоднозначно, как удаление гланд через задницу.
И таких ситуаций много. Они победили какой-то бойлерплейт джавы и что, многих уже давно это не дергало, так как их же IDE превращала это же говно в конфетку. Надо было для этого пилить целый язык? Для андроид может да, у них там беда, а так я не знаю.
Есть и другие нюансы, всех не помню, но вот эти final для классов по дефолту, просто убивающий ООП (это тоже ынтерпрайзная практика, но в тоже время если не нравится, один из постулатов ООП, нахера его насиловать, вкати структуры с агрегацией).
Или экстеншэл функции - круто, но без IDE (правильной IDE) никогда не узнаешь это расширение или родной метод класса. По мне иметь тупо статичный класс типа StringUtil расширяющий работу со строками гораздо понятнее, чем иметь где-то что-то спрятаной магией (то есть ради красивой презентации для УРА-дебилов, мы запутываем ясность кода, а надо это?)
И еще, сейчас можно купить языком имея клевый тулинг (у них он есть) и набором годный "батареек" на все случаи жизни. Но не синтаксисом.
Взять котлин и дрочить те же либы джавы, которые обросли говноСлоямиАбстракций ынтерпрайза, это как надеть красивое новую одежду и прыгнуть в ту же выгребную яму.
Но для спрингбутодетей мы прямо в компилятор втроим поддержку @Component, ага. Очень тонкий намек.
Мало что про него знаю. Но субъективно, язык для тех кто любит подрочить. Есть такой типаж людей, вот скала для них (или например раст).
То есть, язык не хуже не лучше, а просто другой (как и с ФП люди заигрывались, тут схожая история, но в продакшен я бы такой язык не взял и избегал бы фанбоев этих языков).
Наследование часто зло, но когда она будет нужно, твой класс в котлине окажется (с большой вероятностью) финальный.
Вот тут ты и поймешь, что все наследование всрали.
Конечно, опять будут кричать - кококо, это не язык плохой это программисты так пишут. Но нельзя делать такое по дефолту, сработает банальный человеческий фактор (снова).
>небольшой намек на композицию.
Руками впиздрячивать обертки для всех методов? (а потом они в IDE введут фичу автовпиздрячивания и снова победа IDE!)
Опять же, все эти потуги чтобы решить проблемы джавы. Целый язык обертка! В этом кстати весь ынтерпрайз, он решает проблему и привносит свои проблемы, но потом все усилия идут на решения этих проблем, которых и не было. В этом вся беда джавы, либы капусте нарастают говнокодом.
Вот как это выглядит
https://www.youtube.com/watch?v=4UhESx6vK4c
>Руками впиздрячивать обертки для всех методов?
А потом они придумают какое-то новое, финальное! наследование (это будет в духе джавы, увязать в говне полностью)
Полегче. Я люблю яву и спринг. Ваши высеры зачастую не имеют ничего общего с реальностью. Какие проблемы ентерпрайза, о чем вы? Котлин добавил немного сахара и все. Никаких проблем с абстракциями в ентерпрайзе нет. В яве все хорошо. А в котлине нет ничего, кроме явы.
>Я люблю яву и спринг
Называет явой, что звучит в устах комьюните колхозно.
>Ваши высеры зачастую не имеют ничего общего с реальностью
Где спринг, контейнер сервисов, разросся до целой религии, чтобы решить проблему того (DI и IoC) чего раньше и не было. Где так все замудренно, что приходится тестить сам инжект объектов и корректность работы аннотаций самого спринга (лол). Особо многого эта шляпа ничего не делает, но иди попробуй прочитай исходники "этого".
> Какие проблемы ентерпрайза
Накатим еще слоя абстракции?
>Котлин добавил немного сахара и все
>А в котлине нет ничего, кроме явы.
Ну даже сами не отрицаете. И какой смысл тогда перекатываться?
>Ваши высеры зачастую не имеют ничего общего с реальностью
>Какие проблемы ентерпрайза
>Никаких проблем с абстракциями в ентерпрайзе нет.
>В яве все хорошо.
Врети!
Котлин - язык без задач, я не отрицаю.
Спринг коре как решал задачи DI и IoС, так и решает. Никто не тестит спринг в своём проекте.
А про слои абстракции давай подробнее: где и как и что лишнее. Иначе ты просто умных слов в зк набрался.
Дебил, кукарекаешь тут только ты пока. Лучше бы ознакомился с материалом, прежде чем обсираться, окей? Почитай там про Delegate by в котлине, про паттерны ООП вообще.
Нет, это я мокнул в лужицу "реальности" очередного спринг-долбаеба (есть у вас такая упоратая каста там)
>>1006818
>Спринг коре как решал задачи DI и IoС, так и решает. Никто не тестит спринг в своём проекте.
Конечно, все на шару в проекте с 100500 классами и таким же числом магических аннотаций.
>>1006818
>А про слои абстракции давай подробнее: где и как и что лишнее.
Иди сорцы открой спринга, раз такой умный (или стектрейс понаблюдай какого-нибудь спринг-бут с 50-90 вложениями методов в голом MVC приложении и тогда ты мне расскажешь про то как все хорошо и все правильно).
>>1006824
>Многие какансии сейчас добавляют мол пишите на котлин как плюс
Плюсом будет если ты у тебя в резюме будет С++, а не очередной пустой хипстер язык.
Лол, ну про это я и говорил. Нахуевертили говна и теперь прикрутили свое решение.
Не это ли эталон ынтерпрайза, создать проблему, а потом по своему решить??
PS насколько я помню, это говнище не проблему наследования решает, там у них запинка с нативными типами была что ли или с боксами джавы?? В любом случае это круто. Раньше были геттеры и сеттеры, а теперь целые классы для полей (апогей ынтерпрайза просто)
>Возьмем к примеру конструктор
Вот здесь я не понял, тебе не нравится что простые конструкторы с объявлением свойств записываются в одну строку? Ты считаешь, что это будет менее понятно вкатывателям из какого-то другого (какого?) языка? По-моему это опасение притянуто за уши.
> Они победили какой-то бойлерплейт джавы
> Смешно в том, что в джаве это делается в пару кликов
Проблема многословности джавы не в том, что приходится много писать, в этом как ты правильно заметил помогает генерация кода в ИДЕ, а в том, что все эти многоэкранные портянки потом приходится читать и разбираться, где кончается бойлерплейт и начинается бизнес логика. Особенно это больно, когда ты хочешь что-то добавить и перегенерить портянку заново, тут-то и возникает вопрос, а безопасно ли это сделать, или же где-то в середине трех экранов кода было сделано одно изменение, которое в корне все меняло и которое потеряется после перегенерации кода.
> final для классов по дефолту, просто убивающий ООП
> Наследование часто зло, но когда она будет нужно, твой класс в котлине окажется (с большой вероятностью) финальный.
Ну когда оно тебе будет нужно, возьмешь и поставишь на твой класс open (он же твой ведь). А если финальный класс пришел из библиотеки, то тут тебе no luck, и неважно на чем она была написана, на котлине или джаве.
> экстеншэл функции - круто, но без IDE (правильной IDE) никогда не узнаешь это расширение или родной метод класса. По мне иметь тупо статичный класс типа StringUtil расширяющий работу со строками гораздо понятнее
Соглашусь что StringUtil более явный чем экстешен, но без IDE вообще тяжело ориентироваться, особенно в большой кодобазе, и тут с поиском того же StringUtil будет непросто, особенно если он у тебя из бинарной зависимости, например какой-нибудь apache commons.
Что мне больше нравится в экстеншенах и ради чего я могу пожертвовать сомнительным преимуществом легкости нахождения его без IDE -- это то что с ними порядок следования вызовов в цепочке совпадает с порядком преобразования данных, и порядком чтения слева направо. В результате воспринимать это становится гораздо проще, сравни сам
Collections.toList(Collections.filter(Collections.map(myList, e -> transform(e)), e -> predicate(e)))
и
myList.map { e -> transform(e) }.filter { e -> predicate(e) }.toList()
>>1006485
> Взять котлин и дрочить те же либы джавы, которые обросли говноСлоямиАбстракций ынтерпрайза, это как надеть красивое новую одежду и прыгнуть в ту же выгребную яму
Реальность такова, что в нашей индустрии людям приходится копошиться в этой выгребной яме. Есть языки которые пытаются представить что ямы не существует, но достигается это тем, что весь мир нужно писать в таких языках с нуля, либо пытаются прикрыть ее настилом из тонны абстракций, что не может не сказаться на прозрачности интеропа и безусловно стоит перфоманса. Оба подхода обречены на маргинальность.
Котлин же в этом плане как костюм биозащиты, позволяет тебе копошиться при необходимости в выгребной яме джава-мира и удерживает от рвотных позывов.
>Возьмем к примеру конструктор
Вот здесь я не понял, тебе не нравится что простые конструкторы с объявлением свойств записываются в одну строку? Ты считаешь, что это будет менее понятно вкатывателям из какого-то другого (какого?) языка? По-моему это опасение притянуто за уши.
> Они победили какой-то бойлерплейт джавы
> Смешно в том, что в джаве это делается в пару кликов
Проблема многословности джавы не в том, что приходится много писать, в этом как ты правильно заметил помогает генерация кода в ИДЕ, а в том, что все эти многоэкранные портянки потом приходится читать и разбираться, где кончается бойлерплейт и начинается бизнес логика. Особенно это больно, когда ты хочешь что-то добавить и перегенерить портянку заново, тут-то и возникает вопрос, а безопасно ли это сделать, или же где-то в середине трех экранов кода было сделано одно изменение, которое в корне все меняло и которое потеряется после перегенерации кода.
> final для классов по дефолту, просто убивающий ООП
> Наследование часто зло, но когда она будет нужно, твой класс в котлине окажется (с большой вероятностью) финальный.
Ну когда оно тебе будет нужно, возьмешь и поставишь на твой класс open (он же твой ведь). А если финальный класс пришел из библиотеки, то тут тебе no luck, и неважно на чем она была написана, на котлине или джаве.
> экстеншэл функции - круто, но без IDE (правильной IDE) никогда не узнаешь это расширение или родной метод класса. По мне иметь тупо статичный класс типа StringUtil расширяющий работу со строками гораздо понятнее
Соглашусь что StringUtil более явный чем экстешен, но без IDE вообще тяжело ориентироваться, особенно в большой кодобазе, и тут с поиском того же StringUtil будет непросто, особенно если он у тебя из бинарной зависимости, например какой-нибудь apache commons.
Что мне больше нравится в экстеншенах и ради чего я могу пожертвовать сомнительным преимуществом легкости нахождения его без IDE -- это то что с ними порядок следования вызовов в цепочке совпадает с порядком преобразования данных, и порядком чтения слева направо. В результате воспринимать это становится гораздо проще, сравни сам
Collections.toList(Collections.filter(Collections.map(myList, e -> transform(e)), e -> predicate(e)))
и
myList.map { e -> transform(e) }.filter { e -> predicate(e) }.toList()
>>1006485
> Взять котлин и дрочить те же либы джавы, которые обросли говноСлоямиАбстракций ынтерпрайза, это как надеть красивое новую одежду и прыгнуть в ту же выгребную яму
Реальность такова, что в нашей индустрии людям приходится копошиться в этой выгребной яме. Есть языки которые пытаются представить что ямы не существует, но достигается это тем, что весь мир нужно писать в таких языках с нуля, либо пытаются прикрыть ее настилом из тонны абстракций, что не может не сказаться на прозрачности интеропа и безусловно стоит перфоманса. Оба подхода обречены на маргинальность.
Котлин же в этом плане как костюм биозащиты, позволяет тебе копошиться при необходимости в выгребной яме джава-мира и удерживает от рвотных позывов.
>Вот здесь я не понял, тебе не нравится что простые конструкторы с объявлением свойств записываются в одну строку? Ты считаешь, что это будет менее понятно вкатывателям из какого-то другого (какого?) языка? По-моему это опасение притянуто за уши.
Не пизди, выглядит убого, поля в конструкторе (даже если вертикально), потом поля в самом классе, хуетень какая-то (и не класс и не как структура). Да и вообще нарушение принципа наименьшего удивление (под капотом какая-то магия, а эти поля еще потом поля класса)
>таким же числом магических аннотаций.
Я не понял, ты аннотации не осилил что ли? Их там пять штук на весь спринг.
>Иди сорцы открой спринга, раз такой умный
Ты правда такой тупой? Я то сорцы спринга открывал. Реквест через три класса проходит: DispatcherServlet -> RequestMappingHandlerAdapter -> ServletInvocableHandlerMethod -> Мой код. С этим даже ребёнок разберется.
Так какой слой абстракции лишний то? И я ещё раз отмечу, что я вообще за Spring Core задвигал, а ты на MVC скатился.
>Плюсом будет если ты у тебя в резюме будет С++, а не очередной пустой хипстер язык.
Всё с тобой понятно.
> в этом как ты правильно заметил помогает генерация кода в ИДЕ, а в том, что все эти многоэкранные портянки потом приходится читать и разбираться
Ну котлин только геттеры и сеттеры спрятал, согласен что это портянка, но не критичная, имея опыт в жабе быстро глазами проскакиваешь такие методы, хотя я обычно по списку навигатора смотрю или у меня вообще все методы свернуты (проигрываю с тех кто бегает по портянке без сворачивания всех методов).
А так, если класс не пустышка для хранения, то котлин тут не поможет, будет тот же жаба класс. Жаба не питон, она достаточна нативна и поэтому будет многословна даже для самых банальных операций.
Что касается длинных имен, то это косяк (некоторых программистов) и то что они никак алиасы не введут в импорт, для реал большого проекта, приходится херачить классы из четырех слов (и более)
>Ну когда оно тебе будет нужно, возьмешь и поставишь на твой класс open (он же твой ведь). А если финальный класс пришел из библиотеки, то тут тебе no luck, и неважно на чем она была написана, на котлине или джаве.
Ты один программируешь?
Да даже в библиотеке, если это класс котиков, почему я не могу сделать свой подтип мурзика? Или хедер унаследовать? Реально, наследование нужно. Котлин же превращает все это в тыкву.
>Соглашусь что StringUtil более явный чем экстешен...
Когда у тебя есть только классы и объекты, тебе всегда легче ориентироваться.
Вообще скажу одну вещь - если в языке есть только объекты и всё есть объекты - работать в большой кодобазе будет проще. А вот если начать завозить какие-то расширения, всякие там картежи, структуры, функции, функции высшего порядка, ламбды, замыкания... то в большой кодобазе ты будешь отгребать по полной.
Именно поэтому жабу брали и будут брать для мега проектов, она относительно проста (не все до конца улавливают этот профит).
>сравни сам
Желание уместить все в одну строку - яркий признак дилетантства.
>Котлин же в этом плане как костюм биозащиты, позволяет тебе копошиться при необходимости в выгребной яме джава-мира и удерживает от рвотных позывов.
Котлин скорее всего как презерватив. Мы его так и использовали.
Мое имхо, в программирование куча маргинальных программистов без критического мышления, которые ладно не могут оценить риски, так еще не могут оценить, когда их кормят "ничем"
> в этом как ты правильно заметил помогает генерация кода в ИДЕ, а в том, что все эти многоэкранные портянки потом приходится читать и разбираться
Ну котлин только геттеры и сеттеры спрятал, согласен что это портянка, но не критичная, имея опыт в жабе быстро глазами проскакиваешь такие методы, хотя я обычно по списку навигатора смотрю или у меня вообще все методы свернуты (проигрываю с тех кто бегает по портянке без сворачивания всех методов).
А так, если класс не пустышка для хранения, то котлин тут не поможет, будет тот же жаба класс. Жаба не питон, она достаточна нативна и поэтому будет многословна даже для самых банальных операций.
Что касается длинных имен, то это косяк (некоторых программистов) и то что они никак алиасы не введут в импорт, для реал большого проекта, приходится херачить классы из четырех слов (и более)
>Ну когда оно тебе будет нужно, возьмешь и поставишь на твой класс open (он же твой ведь). А если финальный класс пришел из библиотеки, то тут тебе no luck, и неважно на чем она была написана, на котлине или джаве.
Ты один программируешь?
Да даже в библиотеке, если это класс котиков, почему я не могу сделать свой подтип мурзика? Или хедер унаследовать? Реально, наследование нужно. Котлин же превращает все это в тыкву.
>Соглашусь что StringUtil более явный чем экстешен...
Когда у тебя есть только классы и объекты, тебе всегда легче ориентироваться.
Вообще скажу одну вещь - если в языке есть только объекты и всё есть объекты - работать в большой кодобазе будет проще. А вот если начать завозить какие-то расширения, всякие там картежи, структуры, функции, функции высшего порядка, ламбды, замыкания... то в большой кодобазе ты будешь отгребать по полной.
Именно поэтому жабу брали и будут брать для мега проектов, она относительно проста (не все до конца улавливают этот профит).
>сравни сам
Желание уместить все в одну строку - яркий признак дилетантства.
>Котлин же в этом плане как костюм биозащиты, позволяет тебе копошиться при необходимости в выгребной яме джава-мира и удерживает от рвотных позывов.
Котлин скорее всего как презерватив. Мы его так и использовали.
Мое имхо, в программирование куча маргинальных программистов без критического мышления, которые ладно не могут оценить риски, так еще не могут оценить, когда их кормят "ничем"
Ебать ты неосилятор.
>Да даже в библиотеке, если это класс котиков, почему я не могу сделать свой подтип мурзика? Или хедер унаследовать? Реально, наследование нужно. Котлин же превращает все это в тыкву.
Ну так-то уже тысячу раз проходили, что наследование классов не предназначенных для того - далеко не бест практис. Собственно на это разработчики котлина вроде как и ссылаются. Но по мне уж совсем какой-то костыль с этими final by default, кому не надо было и так ничего не экстендили.
>Я не понял, ты аннотации не осилил что ли? Их там пять штук на весь спринг.
Помимо инжекта тестят исполнения работ аннотаций (аннотации же не дают никаких гарантий, это просто мета информация, поэтому приходится проверять - а выполняется, скажем транзакция или кэширование...).
>И я ещё раз отмечу, что я вообще за Spring Core задвигал, а ты на MVC скатился.
Отмазался :)
Ты отладку запусти, три класса проходит у него. Ты еще наверно не вкурсе что спринг вместо объектов проксю делает.
>>Плюсом будет если ты у тебя в резюме будет С++, а не очередной пустой хипстер язык.
>Всё с тобой понятно.
Я еще подумал, может еще какой язык написать, а то ведь найдется долбаеб который меня интерпретирует как сишника.
>Ты отладку запусти, три класса проходит у него. Ты еще наверно не вкурсе что спринг вместо объектов проксю делает.
Ты за кого меня держишь? Я тебе говорю через три класса проходит, а он мне про прокси. Спринг проксю не сделает, пока ты его не попросишь.
>>1006892
>аннотации же не дают никаких гарантий, это просто мета информация
>поэтому приходится проверять - а выполняется, скажем транзакция или кэширование
Это за тебя покрыли тестами в спринге. Можешь им спасибо сказать (и посмотреть эти тесты, бтв).
>Я еще подумал, может еще какой язык написать, а то ведь найдется долбаеб который меня интерпретирует как сишника.
Я тебя интерпретировал как любителя уровень программиста по языку определять.
>Это за тебя покрыли тестами в спринге. Можешь им спасибо сказать (и посмотреть эти тесты, бтв).
Я так понял интеграционное тестирование вы еще не проходили. Ну ничего, приходи как узнаешь
>>1006898
>Я тебя интерпретировал как любителя уровень программиста по языку определять.
То есть, ты дебил считаешь, что приписка в резюме котлина будет весомей чем приписка из популярных языков типа С++?
Просто иди нахуй, троллина.
Очевидно, интеллектуальные (или что там у него) и финансовые вложения, оказались для него слишком велики, включились защитные утиные механизмы, и вот, Маня уже поучает анона, а временами и всю индустрию, как ПРАВИЛЬНО.
Ебать, дебил. Ты совсем ебалай? Нахуя делать юнит-тесты для транзакшнл и кэшебл? Чтобы проверять не сломался ли внезапно функционал в версии, который уже полгода не обновляется и до этого работал во всем мире и тестировался в самом спринге?
А пук про интеграционные тесты вообще пушка.
>Ебать, дебил. Ты совсем ебалай? Нахуя делать юнит-тесты для транзакшнл и кэшебл?
Так он же аннотации не осилил. Он там хуиты наконфижит, а потом у него кеш не работает с транзакциями, очевидно же.
ВЫЗЫВАЕТ ПРИВАТНЫЙ МЕТОД, ПОМЕЧЕННЫЙ @Transactional
@
БЛЯ, НЕ РАБОТАЕТ! ТУПОЙ СПРИНГ! НУЖНО ТЕСТИРОВАТЬ ВЕЗДЕ ЭТО ГОВНО!
Эх, сейчас бы поинткат сканом по всему проекту...
Нехуя ты бомбанул.
Но спринг же действительно уебищное энтерпрайз говно, которое пришло вместо еще более уебищного говна - java EE
Какие юнит тесты, дятел, когда речь про интеграционные.
И да, делают, потому что в твоем маня-проекте с 100 классами это быть может не нужно, а легаси говнищу, которое собирают несколько лет, это уже вопрос жизненной важности (даже если ты умница и очень хорошо в команде читаешь документации, нет больше пути проверить корректность продукта, чем так).
Но откуда тебе это все знать, да?!
>Речь про интеграционные тесты и про то что, что весь этот набор юного жабера надо в любом случае тестить.
>Кококо - неосилил!!! ааа неосилил аннотации!!!
Ну что за детсадовские маневры??
-Котлин пустышка, но нужен (потому что я очередной фанбой без критического мышление, жрущий что дают).
-Спринг почти не тормозит.
-Чтобы взорвать пукан жабера - мокни его в лужу спринга.
-Знание котлина лучше чем знание С++
-Все с тобой понятно (коварный С++ программист)
-Неосилил
-Неосилил аннотации.
-Интеграционные тесты не нужны, ведь спринг уже протестирован (и в правду).
Вывод:
Котлин для слабеньких умом, кто не смог осилить скалу, но хочет современную жабу (пускай и с минимум сомнительных улучшений).
У меня все, идите нахуй со своими бомбящими пуканами и спрингом. Жаба оверхедное дермицо, написанное студентами за еду и нежно обернутое свежим дерьмом ынтерпрайза. Котлин тянет все это говно, что превращает его в плащ-презерватив.
По мне, портянга из аксессоров (которая генерируется в один клик) куда терпимее, чем писать постоянно двоеточие (нахуя они этот ад завезли??)
>Помимо инжекта тестят исполнения работ аннотаций (аннотации же не дают никаких гарантий, это просто мета информация, поэтому приходится проверять - а выполняется, скажем транзакция или кэширование...).
Еблан косоголовый, тупорылая залупа. По-твоему, интеграционные тесты пишутся в том числе для тестирования работы спринговых аннотаций? Ты совсем ебанулся?
Интеграционные тесты нужны для тестирования поднятого функционала и за создание теста testTransactionIsCreated нужно выгонять из программистов в джаваскриптеры.
Вопросы:
Зачем нужен Котлин натив когда есть шарп натив?
Зачем нужен Котлин натив когда есть скала натив?
Зачем нужен Котлин натив когда Свифт уже работает на всех серверных платформах?
Зачем нужен Котлин натив когда жаваиндусы даже от вывода типов шарахаются (рили — в обсуждении вывода типов велики боятся сломать код в котором используются переменные с именами "var", "val")?
Нахуя нужно ваша кастрированое хипстерское говно за пределами ЖВМ? Вы там совсем пизданулись? Вы хоть что ни будь не с моей любимой Scala собезьяничать можете?
>шарп натив
>Свифт
> уже работает
>на всех
>серверных платформах
Ну ты это, поскромнее с хотелками.
>есть скала натив
И кто её делает и какие коммитменты перед полутора пользователями? Алсо, ЗАЧЕМ? Когда есть ghc
Зачем мне котлин? Я можно делать такие вещи с тулингом и jvm, которые тебе и не снились. Естественно если код на приятном языке, то лучше его использовать.
>батхерт не у меня, а у вас
Лол, ага:
>спринг говно
>бабах!
Но конечно же бомбит у меня.
>>1007108
>Интеграционные тесты нужны
Ты не дочитал про интеграционные тесты, они нужны для тестирование работы всех компонентов и всего приложения в целом. То есть, в том числе магии спринга, потому что в твоем домашнем приложение может все это работать, а на проде хуй. Ну откуда тебе знать как продакшен приложения могут отличаться от твоих домашних подделок.
>Зачем нужен Котлин натив
Его по сути еще и нет, неужели думаешь хипстота которая пилила 6 лет один лишь синтаксис поверх JVM за 15$ млн, может осилить полноценный натив??
Они котлин то запилили не как полноценный язык, а как подборку лучших практик java-ынтерпрайза. И сейчас поверх этого всего им надо будет сделать нэйтив (это как строить здание начиная с крыши).
Все еще бомбит?
https://www.youtube.com/watch?v=ZdFwId-P_UQ
Потому что груви дропнул даже его создатель. А ещё это динамикодрисня с тонной оверхеда.
Дропнули насколько я слышал из-за котлина, там какая-то история с гредли нехорошая была. Не?
Насчет динамики, как говорят можно включить режим строго типизации или явно прописывать типы.
Но мое имхо, большее зло автовыведение типов, если в джаве через IDE можно вставлять налету тип возвращаемого значения (и чаще это из методов) и потом вернувшись к коду легко и бегло его прочитать. То вот с автовыведением все выглядит ужасно, как баран подсвечиваешь все подряд, чтобы узнать что там вернулось.
Проблема тут в том, что в динамических языках самих типов особо то и не много (это либо примитивы, либо полу-структура или хуйня которую можно не задумываясь прогнать в цикле), поэтому проблем нет. А вот в статик языках, на каждый чих создается объект и тут начинается боль, ты бегло так просто код не прочтешь. Но да писать легко, если не умел раньше пользоваться хоткеем в джаве в IDE.
>То вот с автовыведением все выглядит ужасно, как баран подсвечиваешь все подряд, чтобы узнать что там вернулось.
Нужно немного подождать, пока какой-нибудь авторитет из мира ИТ не высрет статью о том, что это зло и макаки не осознают это "сами" и не начнут хейтить это говно.
Пока в мире скриптов во все языки завозят возможность прописать хинты типов, в мире статических языков эти типы убирают.
Какие же программисты тупые, ну серьезно
Дропнули из-за скалы. А в гредле из-за котлина, да.
macOS, iOS, Linux и Raspberry Pi
Лол пиздец, что тут еще добавить? Язык завели, задач не завезли.
>macOS, iOS, Linux и Raspberry Pi
Я конечно не байтоёб, но как эта хипстота транслируя код в LLVM умудрилась еще поддерживать не все платформы самой LLVM?? Это же вроде бы надо быть очень способным?
И?
Я не удивлюсь, если там надо какой-то флаг прописать для кросс компиляции на другие машины (и да, в момент компиляции будет твой рантайм, иначе как?).
Есть тут байтоебы, которые объяснить эти чудеса, или мозговитые макаки разводят своего работодателя на время, обещая и реализуя поддержку других платформ, которые LLVM уже поддерживает?? (такое реально?)
Этот рантайм будет нужен вов ремя исполнения, еблан. Ты даже сишный код не запустишь без сраной libc в системе, прикинь.
Тупое ты животное, я про это и говорю. Что возьмут они готовый рантайм (который или встраивается статически или отдельно, не важно) и скажут, мол какие мы молодцы, сегодня мы добавили еще X и Y платформы.
Или ты хочешь тут всем рассказать, что у LLVM нет рантайма, скажем, на винду?
Да нет, это ты тупорылое животное.
Они реимплементируют жава апи, чтобы была хоть какая-то пародия на кроссплатформу, а не хуита как в сях.
Аты предлагаешь просто запилить биндинг к сишным библиотекам шинды и просто выкатить это, ну что за кек.
Открываешь llvm.org и листаешь вниз. Там есть libc, libcpp и санитайзеры. Ах да — ещё есть API для разработки сборщика мусора воляющее вставлять барьеры записи/чтения, сканировать регистры со стёком без ебли в жопу и всё.
Так чо там по рантайму? Корутины сами себя напишут?
https://habrahabr.ru/post/331280/#comment_10273910
Учения маркетологов, рушатся об умы макак. Как же так? Язык такой лаконичный, а получается таже джава...
И это грустно, на самом деле грустно за таких вот программистов
>>1009199
Мои милые животные, мне правда лень идти читать о всей это хуйне, но вы сейчас рассказываете, что весь ваш LLVM это не лов левел виртуал машин с байткодом и плюшками, а это просто Си-перделка?? Так получается?
Если же это так, то LLVM конечно же параша, так как не является уровнем абстракции, хотя и компилится в байткот и дрочится в VM (хотя я думаю вы просто пиздаболы, так как даже бегло пробежав по LLVM, можно увидеть список поддерживаемых платформ)
Это платформа для удобной компиляции в натив, долбоёб. Просто кодогенератор с хорошим уровнем оптимизаций.
>Котлин ... удерживает от рвотных позывов.
Синтиксис один сплошной рвотный позыв. Чему-то хипстота не понимат, что чем больше непроизносимых сиволов об которые цепляется взгляд тем хуже код читается. Котлин делали 6 лет и высрали такую каку с двоеточьями, восклицательными знаками и знаками вопроса где не попадя.
мимо шарпогосподин
То есть, это некий компилятор, но у которого нет рантайма? Или же рантайм есть?
Шарп унылое затухающие говно, но ты прав, котлин это говно. Точнее тупо клон.
Евангелисты говорят, что это лаконичная настройка над джавой, хотя очевидно что это тупо легкий налёт.
>А от rust-a у тебя, наверное, вообще конвульсии с судорогами по всему телу начнутся.
Не знаю насчет раста, но от перла у меня начинается понос.
мимокрокодил
>Я тебя, уебка, пытаюсь на своей же тупости поймать
ШИЗИК (с) ТМ 2017
Ловит на свою тупость since 2012.
Как бы тебе не рвали жопу апострофы и двоеточия в синтаксисе, но односимвольных йоба-операторов для нового перла там маловато. Ну разве что если ты хаскелей с окамлами, где функции можно называть "@<-_-_—<423Бцй2"!" не видел.
>>1009750
Он на свою тупость тут всю доску уже поймал, такого настырного уёбка я ещё не видывал.
Повар, прекращай общаться сам с собой
Что больные на голову гоферы делают в котлин треде (и да, тот хейтер как раз таки топил за джаву и котлин, уеба)
Интересно, ты осознанно маневрируешь, или даже не видишь своей глупости? Одного желания быть правым, знаешь ли, мало. Даже если ты многократно будешь повторять и форсить обратное, называть оппонента тупыми и тд, любой со стороны посмотрит на тебя и брезгливо отвернется. Но ты сам видишь, почитай ветку.
Шизик, ты где?
Ты не ответил на вопрос (потому что всосал бы по своему же первому утверждению), а теперь маневрируешь своими голословными выводами?!
Иди так школьников разводи, гений демагогии.
Все нужные шизики у него в его голове. Этого барана в каком-то из го тредов опускали и называли шизанутым за его не консистентные посты (он еще обиделся и всех репортил), а сейчас он перефорсил "шизика" и думает зэкач забыл (просто всем, как и мне, было похуй, но ты начал заебывать уже вне своего го-гадюшника, на каждого анона вещая "РРРРЯЯЯ ШИЗИК!!!").
Шлите нахуй это говно, иначе он пригреется тут и начнет оффтопить, отгоняя вменяемого анона.
>>997025
>я в тебя даже тыкать перестал, так как у тебя нет никаких импровизаций. Тебя назвали "хуем" и через час ты бегаешь называешь всех "хуями". Ты жалок.
Слабенькое заявление. На джаве тоже можно писать плагины для гредла.
> грувивская ниша скриптов, плагинов для гредла.
Эта ниша уже занята грувями (первое спорно, конечно, по сравнению со всякими питонами и башами, но все равно).
Алё, https://blog.gradle.org/kotlin-meets-gradle
И это только начало, скоро все забудут груви как страшный сон как автор забыл
Автор дропнул 10 лет назад. Так и развивается с тех пор.
> И это только начало
Груви выполняет свои задачи. Как конкретно котлин выполняет означенные задачи лучше груви и какие преимущества он (по сравнению в указанных задачах) предоставляет?
Ну ты почитай кукареки разрабов грыдлы по ссылке, да?
-развивается
+загибается
я тебя поправил.
> бля, котлин заебись, счастливы добавить поддержку для плагинов в третьем гредле
Почитал. А теперь прочитай мое сообщение и ответь на него.
Ну ты дебил...
>auto-completion and content assist
>quick documentation
>navigation to source
>refactoring and more
>The effect is dramatic, and we think it’ll make a big difference for Gradle users.
> заебись язык, добавляем поддержку
Я это и сказал, долбоеб. Еще раз.
> А теперь прочитай мое сообщение и ответь на него.
Или ты сливаешься?
Тебе высказали тезис - котлин вытеснит груви из его же ниши. Аргументировали. Это вопрос экономики, ресурсов. Ты что то требуешь и продолжаешь кукарекать.
>Because Kotlin is a statically-typed language with deep support in both IDEA and Eclipse, it could give Gradle users proper IDE support from auto-completion to refactoring and everything in-between.
> тезис - котлин вытеснит груви из его же ниши
Да, высказал его. Были запрошена мной аргументация, что котлин вынеснит груви из его же ниши.
> Аргументировали
Ты носишься со ссылкой, где говорится, что котлин заебись и в третьем гредле добавляется поддержка котлина и игнорируешь мои сообщения.
Слив засчитан.
Поспешил ты, дурачок, сливать. Лучше сходи, возьми курс по экономике.
>Как конкретно котлин выполняет означенные задач лучше груви
Done
>какие преимущества
Done
Что тебе еще надо, чухан динамикодриснявый? Если тебе не очевидн, почему более совершенная технология вытеснит другую, ну что же.
Я конечно извиняюсь, но на сях то интерпретаторы тормозят, я даже не представляю как скриптовый язык работает на джаве (запуск несколько секунд и работа пока не прогреется??)
>Да и нет смысла 100500 горутин когда у тебя несколько ядер проца (а пул ОС-потоков работает быстрее всего этого говна)
Так писали же, потоки это не отменяет, просто позволяет с большей эффективностью их задействовать и писать более привычный глазу код, который с первого взгляда похож на синхронный
ИМХО, меня просто вымораживает null-safety их. Доводит до бешенства например невозможность сделать lateinit примитив, и отсутствие оберток для оных
>меня просто вымораживает null-safety
ИМХО все просто,
Уровень программистов девяностых, на порядок вышел хипстерских бездельников нулевых десятых.
Да они опытные программисты, но кругозор их очень узок. Они увидели жаба-проблемы, ту же NPE и давай ее решать, но косметически.
А в реале создали такой слой проблем для неопределенных значений, что его осознают только где-нибудь через лет 5 и как в практике джавы нахуевертят монструозный паттерн или очередную лучшую практику (от чего сама NPE не покажется таким уж и ужасом)
Это копия, сохраненная 16 июля 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.