Хочу вкатиться в котлин, какие подобный камни?В частности хочу вкатиться в котлин для веб-бэкенда и котлин-js для фронтенда
>>1076221 (OP)Вдохновил этот роликhttps://www.youtube.com/watch?v=Ien9yXhKLsU
>>1076221 (OP)Вкатывайся в скалу, котлин - ненужное говно, которое держится исключительно на маркетинге одной небольшой конторы.
>>1076223ну и хуета блять, лучше сразу в js писать и мозги не ебатьпо теме - хипстерская хуйня без задач
>>1076245Это стандартное DOM API (оно у всех такое будет), основная плюшка я думаю DSL (тайминг 11:30)https://youtu.be/2gLSQvceHps?t=691
>>1076221 (OP)Нахуя нужен котлин, когда есть джаба-скрипт? Хуяк-хуяк на ноде и продакшн!
>>1076226>которое держится исключительно на маркетинге одной небольшой конторыЛол, это ты про гугл?
>>1076302
Котёл топ, не слушай никого. После джавы вообще счастье. Ибо фунционален и синтаксис приятный и похер что от сахара в коде можно диабет словитьМимо человек пишущий код для контроллера робота на Котле и с++
>>1076221 (OP)Как там с вебом не ебу, но просто писать приятно.
>>1076226Эта небольшая контора написала одну из лучших Мб лучшую ide для жабы и заодно прикрутила туда свой язык
>>1076339>После джавы вообще счастье.После джавы и бурятские хуйцы счастьем покажутся.
>>1076350Капитан, ето ти? Что еще расскажешь?
>>1076302Откуда эти влажные фантазии.Показали, люди узнали, подскочило немного, но роста нет.https://trends.google.ru/trends/explore?q=%2Fm%2F0_lcrx4
>>1076416> было 10> стало 25> роста нетТы еще скажи что на графике выше, популярность с 95 опустилась до 80
>>1076339>Ибо фунционален и синтаксис приятныйНапихали туда все что увидели. Последний пазлер от кекса показал что глюков от этого меньше не стало. Но за сохранность обратной совместимости - спасибо (т.е. не скатились до говно js или свифта).Еще раздражает, что книга по котлину написанная русскоговорящими разработчиками, а переведена издательством.Считаю что язык будет годным, если завезут своих батареек, а так это тупо джава над джавой (и не всегда совместимой)
>>1076418Это гугл тренды одного кейворда, вбей сейчас джаву и твои 10 и 25 будут на уровне статистической погрешности.
>>1076339>Мимо человек пишущий код для контроллера робота на Котле и с++ Вот тут поподробнее товарищ
>>1076418И ты не уловил момент, роста нет, только после хайпа был и все, а сейчас нет. А на твоем булшит-графике он, неожиданно, есть (ссори, приходится играть в капитана очевидность из-за глупых маневров фанбоев)
>>1076433Гугли world robot olympiad advanced robotics challengeРаботаем с fpga и i2c через jniВысокоуровневая логика на Котле В том числе зрение на opencv в джаве я бы заебался вызывать постоянно imgproc, а тут extention functions нахуячил и збс>>1076373Ну, если тебе покажутся... О вкусах не спорят
>>1076429> >Ибо фунционален и синтаксис приятный> Напихали туда все что увидели. Последний пазлер от кекса показал что глюков от этого меньше не стало. Но за сохранность обратной совместимости - спасибо (т.е. не скатились до говно js или свифта).Кекс кексом, я ещё могу статейку подкинуть про способы прострелить себе ногу в Котле. Суть не в этом, язык развивается, разрабы думоют и работуют, а не выкатывают микрообновления раз в несколько лет. > Еще раздражает, что книга по котлину написанная русскоговорящими разработчиками, а переведена издательством.Нормальная книга, мне чтобы вкатится хватило + док> Считаю что язык будет годным, если завезут своих батареек, а так это тупо джава над джавой (и не всегда совместимой)Джава над джавой то да, но как сказал один разраб. Kotlinc говнокодит за тебя, чтобы тебе не пришлось
>>1076514>Кекс кексом, я ещё могу статейку подкинуть про способы прострелить себе ногу в Котле. кидай
>>1076514>Kotlinc говнокодит за тебя, чтобы тебе не пришлось Да не почувствовал я особо нового, та же джава (нередко путаешься, а иногда забываешь сахарные плюшки и кодишь в жабе-стайле). На самом деле они сделали такую удобную разработку в их IDE, что разработка на джаве не выглядит такой попоболью, чтобы котлин тут явно порешал (лол, теперь им надо резать плюшки в IDE у жабы, что народ котлин как-то прочувствовал).В действительности, тупо хочется чтобы такие языки имели свои батарейки и свою философию и вот тогда будет хоть какая-то разница чувствоваться.
Скрыл ненужный тред. Учите scala\clojure, долбоебы.
Самое прикольное, не то что книги русскоговорящих переводят с английского издание, а то что главный сайт котлина написан на питоне.
>>1076671>главный сайт котлина написан на питонеА все IDE от джетбрейнса написаны на джаве, в т.ч. всякие решарперы, пхпштормы и прочие, что периодически вызывает бугурты у сишарперов, пхпмакак и остальных. Но что в этом такого, если эти иде вполне себе работают? Идеология не должна противоречить здравому смыслу, поэтому если сайт было проще написать на питоне — они на нём и написали. Или, по-твоему, они должны были резко ломануться всё переписывать на котлине, начиная с сайта и вплоть до неба и Аллаха?
>>1076624https://kotlin.link/articles/%D0%9A%D0%B0%D0%BA-%D1%81%D0%B5%D0%B1%D0%B5-%D0%B2%D1%8B%D1%81%D1%82%D1%80%D0%B5%D0%BB%D0%B8%D1%82%D1%8C-%D0%B2-%D0%BD%D0%BE%D0%B3%D1%83-%D0%B2-Kotlin.html
>>1076629Ну так тогда мб это не проблема котла что ты продолжаешь кодить на нём как на жабе?)
>>1076705Хз, не у меня одного так, вообще беру другой язык (питон, го, js, etc) сразу переключается стиль разработки.Если только больше упор сделать в ФП, тогда может жаба перестанет чувствоваться. Мне думается, это просто связанно с тем, что работаешь ты больше не с котлином, а со старым жаба-стэком, те же либы, те же ощущения выработанные за года.
>>1076686Интересуешься котлином@Решил узнать какой джава-фреймворк используют сами разработчики на официальном сайте.@Заходишь в сорцы, узнаешь что сайт вообще на пистонеНо всегда найдется долбаеб, которого всегда все устраивает и вообще он не видит ничего плохого.
>>1076629что такое батарейки?
>ВАЖНОЗачем вам эту всякую беспонтовую херню учить, если уже есть годнота в виде Golanг ? Юмпутуна на вас нету, быстро бы вправил мозги!К тому же перед Котлином все равно нужно курить Джаву
>>1076946Доп библиотеки на все случаи жизни
>>1076750А Гугл ещё не переписал свой поисковик на Go, прикинь? А Windows ещё не вся написана на C#, охуеть можно! Разве можно теперь этими языками пользоваться?Ты хоть что-нибудь вообще писал сложнее калькулятора, дурачок? Ты представляешь, сколько нужно времени и усилий, чтобы написать с нуля веб-фреймворк? Чтобы его поддерживать, развивать, документировать, писать туториалы?А самое главное, ради чего? Чтобы какой-то долбодятел зашёл на сайт и типа такой О, РАЗ У НИХ САЙТ НАПИСАН НА КОТЛИНЕ, ТО И Я ЛОМАНУСЬ ВСЁ ВОКРУГ НА НЁМ ПИСАТЬ! Или же, в твоём случае, О, У НИХ САЙТ НЕ НА КОТЛИНЕ, НУ И МНЕ ОН ТОГДА НАХУЙ НЕ НУЖЕН!И плевать, что язык появился совсем недавно и ещё не успел сформировать обширное коммюнити, поэтому и программ на нём написано относительно немного. Тем более плевать, что при всём этом Гугл утвердил Котлин одним из официальных языков для Андроида, что гарантирует мощную многолетнюю поддержку одного из крупнейших ИТ-гигантов. Анон сказал в морг — значит в морг.
>>1076990>Юмпутуна Что за петух? Очередной идол школьников из батлов типа Оксимирон?
>>1077060>что гарантирует мощную многолетнюю поддержку одного из крупнейших ИТ-гигантовLOLZ
>>1077060>А Гугл ещё не переписал свой поисковик на Go, прикинь? А Windows ещё не вся написана на C#, охуеть можно! Разве можно теперь этими языками пользоваться?Не бухти, петушок. Одно дело лесть с новым языком в легаси код, другое дело новый проект запилить (коим и является веб морда сайта, причем простая до безумия).Так как у тебя бомбит и ты путаешь поисковой движок с сайтом, который представляет этот сайт и по сути является лицом этого языка - дальше тупо не читал (так как не уважаю труд бомбящих, фанбоев, которые даже конструктивно аналогию провести не могут, но жрут все что дает им очередной хайп).
>>1077139Удваиваю. То как гугл что-то решил - твердо и четко с таким же размахом и положил (и кстати у джейтбрейнсов уже тоже был язык один и тоже слили). Так же нехуя ничего не гарантирует эта хуйня со студией, нет не фондов, не каких-то поддержек, а просто предустановленный "плагин" в IDE, которая блядь и так принадлежит джетбрейнсам, которые студию пилят и у которых и так был этот "плагин" готов (надо было только гугл уболтать).И стоит не забывать что гугл пилит новую ось, которая уже не будет работать на псевдо-JVM (компилируются). Именно поэтому они хотели ставку сделать на свифт (но так же туда будет залит го, дарт и раст) и скорее всего свифт и зальют, потому что с котлин нейтив обосрутся, это не синтаксический сахар делать для джавы.Почему программисты такие глупые и даже не анализируют происходящие, а просто жрут все что заливает маркетинг. Блядь даже, админы жуют и тестят новые решения, а не с ошарашенными глазами едят все что насрали.Серьезно, что не так с 90% программистов?PS котлин для джейтбрейнса это не часть продукта (как свифт) и не язык-философия, это пиар акция для увлечения продаж IDE. То есть просто бизнес и если язык не начнет приносить потраченные инвестиции, судьба его будет "рыночной".
>>1077463>И стоит не забывать что гугл пилит новую ось, которая уже не будет работать на псевдо-JVM (компилируются). Именно поэтому они хотели ставку сделать на свифт (но так же туда будет залит го, дарт и раст) и скорее всего свифт и зальют, потому что с котлин нейтив обосрутся, это не синтаксический сахар делать для джавы.Откуда инфа, где почитать? Мне это по нраву.
>>1077524Гугли ОС Fuchsiahttps://geektimes.ru/post/279698/
>>1077461>ты путаешь поисковой движок с сайтомДядь Петь, ты дурак?© Какой поисковый движок, ты чё несёшь вообще? Не приписывай мне свой долбоебизм. Я просто пытался донести до тебя мысль, что выпуск некоей компанией своего языка не означает, что она должна ломануться всё на нём писать.Чё ты до их сайта доебался? Ну вот написан он на питоне. О чём это говорит? Да ни о чём. Скорее всего, они его разработку вообще на аутсорс отдали, ибо дешевле по крайне мере, я бы на их месте так и сделал, в то время как свои котлин-разрабы занимаются более важными и прибыльными делами.
>>1077761>Я просто пытался донести до тебя мысль, что выпуск некоей компанией своего языка не означает, что она должна ломануться всё на нём писать.А нахер мне такой язык, на котором сами авторы не пишут? Тут сразу ощущение что тебе пытаются говно какое-то дать (которые они сами брезгуют).>Чё ты до их сайта доебался? Ну вот написан он на питоне. О чём это говорит? Да ни о чёмИ да, а что если сайт был написан на Го, тебя бы не смутило? Имхо, тот анон прав, сайт языка, это его лицо (в том числе и сорцы, раз это программирование).>Скорее всего, они его разработку вообще на аутсорс отдалиКакой нахер оутсорс, там странички чуть сложнее голого html. Да даже если так, что о них это говорит? Компания имея легион программистов не может в страничку-визитку (дизайн как раз можно на стороне, но не код)?
>>1078781>>1077461try.kotlinlang.org к слову написан на котлине
>>1079123Вот это уже правильно.
>>1079263Почему?
>>1079263Теперь уже внезапно Котлин стал хороший, лол? Тебе не кажется, что это просто хуевый фактор, по которому ты судишь?
>>1079310Ебать ты ограниченный, я сказал правильно что другой сайт (его часть отдельная) написана на котлине, типо вот как надо было. Но ты, баранище, уже как-то сделал вывод что котлин стал хороший?На котлине все такие тупые? Или ты раньше на жс писал?
>>1079709>написано не на котлине - поэтому котлин параша>написано на котлине - котлин все равно парашаТы сам порочность своего суждения о языке по такому хуевому фактору вывел, долбоеб. Это вообще не говорит о языке, тебе выше уже не раз пояснили.Котлин я даже не пробовал, что ты там вскукарекнул про поспешные выводы, клоун?
>>1079738>>написано не на котлине - поэтому котлин парашаТы же понимаешь, юный ты шизофреник, что ты сейчас это сам выдумал. Таких слов не было
>>1080361Котлин норм или говно?
>>1080689Откуда он знает, если даже не пробовал? Просто залетный заскочил провентелировать.
>>1080689Язык созданный бизнесом для продвижение своего бизнеса, язык-маркетинг, язык-буллшит.Вопросы?
>>1081109Начнем что лиC - Язык созданный бизнесом для продвижение своего бизнеса (Bell Labs)C++ - Язык созданный бизнесом для продвижение своего бизнеса (AT&T)Erlang - Язык созданный бизнесом для продвижение своего бизнеса (Ericsson)Delphi - Язык созданный бизнесом для продвижение своего бизнеса (Borland)Java ... ну ты понел?
>>1081361SQL - Язык созданный бизнесом для продвижение своего бизнеса (IBM) так, декларативщиной для разнообразия
>>1081361>>1081366Это несколько однобоко. Вещи взлетают, когда у индустрии есть запрос на них, а не просто так.
>>1081387Ну так спрос и есть. В нише мобильной разработки - безусловно. В бэкенде - по нарастающей.
>>1081361С - язык созданный заменить ассемблер (который подзаебал)С++ хайп ООП на модном Си (прокатило, потому что на модном Си и людям нужен вдруг стал ООП).Erlang - экзотическая хуйня, которая не выстрелила (нахуя это говно принес)?Delphi - стухший кал (нахуя это говно принес)?Жаба - создавалось как кросс решение для множества платформ, так же как заменитель С++ (потому что писать приложения уровня энтерпрайза затратно на сях, посему и выстрелил).Жаба - бизнес устраивает (пока), поэтому любой высер поверх жабы, смотрится как искусственно раздутый пузырь (в том числе и всякие скалы и прочая чепуха)По той же причине не могут победить С++, те кто на ней пишет все устраевает, те кто понимает что это кал (как и жаба уже) просто это говно не трогают.Про саму жабу вы часто слышите только лишь потому, что модно пилить приложения и каждый студент-школьник тут у нас инди разработчик (как 12 лет назад было с вебом).
>>1081568>фиксна нёммобильные приложения
>>1081366SQL создался как стандарт, который бы наконец решил проблемы 100500 синтаксисов к БД в то время.Все что выстрелило было реально нужно.
>>1081361Haskell - Язык созданный борщехлебами для продвижение своих борщей (Мамка)
>>1081571>Все что выстрелило было реально нужно.Анон прав, какой-то поверхностный сахар с кучей отсебячины не повод для переката с языка.Время цитат:Yuriy Myronovych Senior Android Developer at Discovery 02.10.2017 18:34Я вот в принципе не понимаю зачем тратятся усилия на «чуть-другой» способ написания простейших систем. Реально на андроид проектах любая функциональность пишется за 5 минут на джаве. Зачем вам новые языки чтоб писать тонкий нативный клиент? 99% процентов всех апп тянет данные с сервака и показывает на гуе, все! Сложность космос, да? Новые технологии надо там где можно что-то значительно улучшить — робототехника, АИ, медицина, какие-то научные моделирования и т д. А вот токо сюрприз, им не надо эти новые языки ибо критический вопрос там не на «чем» делать а «как» это сделать в принципе!Другими словами — польза от котлина такая же как от этого поста.
>>1081742>любая функциональность пишется за 5 минут на джавенадеюсь он много зарабатывает или у него поминутный рейт
>>1081742Очередной жатник с НИНУЖНО.
>>1081742Такой-то диван, а у нас два отдела мобильной разработки и не знали, что все за 5 минут делается. Мне, айоснику, от перехода с Objective-C на Swift стало пиздец легче, краш-фри процент выше из-за охуенной типизации. Котлиноебы также выиграют от перехода, никаких больше жабовых npe как минимум.
>>1081568>блеет что-тоЧтобы я с дебилом обшался? Спасибо, не надо. На свои вопросы сам сможешь ответить.
>>1081896Да прост дебилы, сложностей серверов не видели, поэтому по отделу на каждый сервис.
>>1081920Диван, под шконку.
>>1081896Увидел я барана у которое NPE везде сыпется. Или так же поел буллшита у маркетологов не думая??Самое забавное что от динамического состояния в программирование никуда не деться (а в не динамическом состояние никогда null в жабе и не возвращали) и что же теперь ебаться с хуй?.пизда или хуй!!.пизда ?И тут же делать проверку которую ты бы и так сделал?Тебе просто скрытую проблему, которая отлавливалась в логах на раз, разменяли на порцию дополнительных типов с "вопросиками", с которыми тебе надо будет ебаться но уже явно. Охуеть решение.
>>1081896Вам говно разменяли на говно с печеньками, понятно что вкуснее стало. У андроида сразу был полноценный норм язык - джава.Но мне нравится как мобильщики пытаются набить себе цену, хотя занимаются чистой воды формашлепингом.
>>1082024ну зато ты теперь вместо: если хуй == нулл , если пизда == нулл и т.д. можешь писать лет.пизда {} круто же
>>1082024...причем у тебя будут часто динамические состояния, в которых ты вынужден будешь возвращать null или кидать исключение (что бесит еще сильнее и не чем не лучше NPE, так как в таком состояние тебе надо будет обязательно перехватить его). В конечном итоге, еботня типов с вопросиками заебет еще сильнее чем проверка на null в джаве потому, что в действительности прям везде этого делать не нужно.
>>1082041Весь поинт был в том, чтобы проверку на null переместить на этап компиляции, то есть возложить на плечи программиста. Вопрос в другом, на столько ли NPE был реально такой большой проблемой, что блять теперь ручками гонять из типа Obj? в тип Obj ???
- Надеюсь потомки поймут, почему null - это величайшая ошибка за всю историю создания языков программирования. later on sosachну кароч нулы заебися NPE толко у довенов ыыы чё они там в сваих свифтах сисярпах какиита мейби манады борщехлёбы штолисуука джава норм язык же тычо
>>1082111кого ебет мнение какого-то деда
>>1082111Так почему бы просто их не убрать, почему это зло вечно во что-то оборачивают, а ты, глупое пародие на программиста, думаешь что обертками их победил? Потому нельзя, блядь, из динамической среды (рантайм) убрать неопределенные состояние.Но признайся, ты же все равно нехуя не понял?
>>1082111>>1082147Предвижу котлин-хуйню, скриньте.Понятно что для неопределенных состояний не одно животное на котлине не захочет писать с в вопросительным знаком (MyClass?) ведь это не удобно и не тру-путь, поэтому как в го будут возвращать "пустые" объекты. Но так как все равно надо будет проверить - валидное ли это говно или так, сплюнули, то вместо obj == null появится obj.isEmty() или obj.isUndefined() или вообще какая-то своя отсебячина obj.isJopa()А если не проверишь, то эти "пустые" объекты могут еще покрашить данные дальше в коде (например в базу запишешь эту дефолтную херню). И тут станет вопрос, как было бы круто если объект "не определен", то выскочило бы исключение, да?И я не удивлен, такие тру умельцы как здесь придумают новую NPE и обернут в еще одну абстракцию.
>>1082152Как же ПИЧОТ дебилу от такой незначительной мелочи.
>>1082042>>1082024Неосилятор, все понятно. Иди на питухоне или руби попиши с таким подходом.
>>1082048>то есть возложить на плечи программистаСмысл в обратном, компилятор твой друг, на любой строке когда ты уверен, что у тебя в этой переменной именно то, что ты ожидаешь, все по спецификации. Охуеть ты любишь неявность, утенок, блядь.
>>1082152Ты путаешь теплое с мягким. NPE зло. Все, баста. Котлин за счет использования конструкторов с параметрами и null-типизации позволяет избавиться от NPE. Ты просто не сможешь инициализировать объект, если суешь нулл, где не нулл. И это охуенно. А если хаваешь данные из внешнего источника - компилятор заставит (или посоветует, если вызываешь джавакод) проверить на нулл. И это все охуенно.> поэтому как в го будут возвращать "пустые" объектыА вот за такую хуйню, где все поля инициализированы дефолтными значениями уровня "" надо отрывать руки. Это самый пиздецовый антипаттерн на котлине и я не знаю почему Джетбрейнс красным болдом везде это не пишет.
>>1082205Я не понимаю юзкейс. То есть кто-то для лулзов вернет из метода null или что?Все методы возвращающие null спроектированы для этого и ты в любом случае будешь использовать nullable в kotlin для этих случаев, или изобретать свои костылиТак в чем суть?
>>1082206Даже если метод по ошибке вернет Null - это значит метод отработвал неправильно и возникнет исключение - потому что так и должно быть
>>1082206Та пожалуйста. Вот тебе реальный юзкейс. Есть дао / репозиторий, который возвращает не плоский объект с вложенностью и списочками. В сервисе, ты как добрый самаритянин проверил его на null и работаешь с ним.Я тебе гарантирую, что в реальной жизни никто не смотрит на 100% nullable поле в БД или нет. И хуяк в одном из вложенных объектов поле null и пиздык NPE. Котлин просто не примет данные в модель, если в поле ожидается не null, а суется нулл. А если действительно нулл может быть - проверь, пидар, и у тебя не будет проблем с NPE. Или дао / репозиторий можешь заменить на контроллер и принимать данные с фронта (в плоском виде или не совсем - не важно). Если ты не байтоеб презренный и не июнь обоссаный, то тебе этих кейсов будет достаточно. Но если ты из оных, то продолжай верещать НИНУЖНААА ЯСКОЗАЛ ВСИГДА ЛУЧШЕ СВАЛИТЬСЯ С NPE ХУЙ ЗНАЕТ ГДЕ ПО НЕПОНЯТНЫМ ПРИЧИНАМ, ЧЕМ ПРИ ИНИЦИАЛИЗАЦИИ С ПОНЯТНЫМ СТЕКТРЕЙСОМ, ИЛИ ВООБЩЕ НЕ СВАЛИТЬСЯ, ЕСЛИ NULL ДОПУСТИМ.
>>1082209Ну у меня тоже один раз была такая ошибка с внезапным отсутствием поля в json.Ну и что, сработало исключение, я исправил. Суть ошибки-то не в том, что null, а в том, что я не ожидал что поле может быть nullable - это ошибка дизайна. В любом случае для nullable полей нужно писать свою логику.Как уже сказали, компилятор просто заставит тебя инициализировать все поля "пустыми" объектами. Это ничем не лучше
>>1082120This Ugly Son of a Bitch создал все менйстримовые ЯП and basically, you are fucking stupid.
http://www.nickknowlson.com/blog/2013/04/16/why-maybe-is-better-than-null/
>>1082239У тебя логическая ошибка. Первенство в чем-то не означает, что кто-то другой не сделал бы то же самое, а может и лучше.То, что дед спроектировал какой-то ЯП, не дает ему бафф не быть долбоебом
>>1082298Пиздец, какие же студенты пошли тупые.
>>1082302я в 30 уже отупел хуже студента, мозг не выдерживает. то надо ебать легаси графический редактор на флеше, то систему рассчета коэффициентов для соцзащиты на дельфах, то ебаный сейлфорс бекенд для продаванов, то хитровыебаную корморативную хуету на джаве
>>1082302>Из-за одного деда спизданувшего тупость, срочно переписывают все языки программирования. Эскперты индустрии сломали копья в спорах, должен ли конпелятор отказываться конпелировать, если запозодрит null в переменной или нет
>>1082311Дед то - крестный отец всего алголоподобного семейства языков. И да, один из самых выдающихся компьютер-сайнтистов современности, который продолжает оказывать влияние на развитие всего менйстрима и не мейнстрима до сих пор.Конечно же боевые маньки с сосача кричащие нинужно, нуллы - круто и плохо зделоли, тупо имеют куда более большие познания и, соответственно, больший авторитет. >>1082306Сочувствую.
>>1082210> Ну у меня тоже один раз была такая ошибка с внезапным отсутствием поля в json.Точно июнь.> Как уже сказали, компилятор просто заставит тебя инициализировать все поля "пустыми" объектами. Это ничем не лучшеПротри глаза от спермы и прочитай что выше сказано про антипаттерн "пустых" объектов.
>>1082434Единственный анон у которого есть критическое мышление.>Ну у меня тоже один раз была такая ошибка с внезапным отсутствием поля в json.>Точно июнь.Суть проблемы, что с этим котлином назаливали говна в уши, что мол они победили грандиозную проблему (как они писали - на миллиард долларов), но в действительности такой проблемы то и не было. И кстати, последнее время потише стали об этом кричать.И да проблема пустых объектов горазда шире NPE, если NPE в 99% случаев сигнал что надо где-то пофиксить, то пустые объекты это валидное дермицо с замедленным таймером на еще большие проблемы (которые в отличие от NPE за пару минут не решить).Я хз что у деда с памятью (и как любят юные программисты дрочить на авторитетов), но блядь не надо жрать маркетинговое говницо.
>>1082542Иди уже нахуй, долбоёб малолетний.
>>1082546совсем небомбит
Единственный смысл запрета null это использовать его с классами, которые семантически являются значениями (примитивы, числа). Например, строки.Во всех остальных случаях исключение намного лучше. Убрав исключения ошибки в коде не исчезнут, они станут только необнаруживаемыми.Не проверив на null ты словишь исключение. Не проверив на "пустой" объект, программа продолжит выполняться с ошибками
>>1082583>>1082542Ты походу не понимаешь, как реализованы опциональные значения в нормальных языках. Сначала попробуй, потом кукарекай, господин теоретик.
>>1076703<code>var b = 5b = ++b + b++println(b)</code>
>>1082588>давайте запретим присваивание null, и вместо этого сделаем nullable-оберткигениально! вот только нахуя
>>1082152>А если не проверишь, то эти "пустые" объекты могут еще покрашить данные дальше в коде (например в базу запишешь эту дефолтную херню).Что-то я не понял примера или туплю. Если в базу даётся null, то база видя это пишет dafault значение. Грубо говоря в ячейку базы записывается то что ты указал записывать если на вход подаётся null.Указал default = 0, вот и запишется 0. Ну тоесть я не понял как эта херня может покрашить данные. И о чём ты вообще говоришь.
>>1082542Ты так и будешь верещать про пустые объекты, хотя тебя уже десять раз обоссали за это, потому что тебе больше нечего выпукнуть в защиту своей хуевой аргументации.
>>1082595Думай и причем тут одно поле, речь идет о "пустом" объекте. Что это такое (дефолтные поля или еще что) знает только котлин разработчик писавший этот класс.
>>1082596Так верещаете вы, анон по делу пишут, а у вас только "не бомбит" и null аргументов против.Тебе сказали что из-за намеренного упоротого синтаксиса вида obj?!!.field, юзер не захочет писать так (они сами говорили что специально так неудобно сделали, значит юзеры будут плодить пустые объекты, раз того хотят авторы, которые в реале нехуя не подумали о последствии, а тупо лепили хайповый язык для своего бизнеса)
>>1082689>хотя тебя уже десять раз обоссали за этоТы ебанутый. У тебя всего 2 варианта не возвращать null из метода: это вернуть пустой объект или исключение.Чем это лучше null? В случае некоторых классов пустой объект упрощает программу. Например, пустая строка вместо null; пустой массив. Это работает для одних типов, и абсолютно не работает для других.Автора языка предлагают забанить не opt-in для некоторых типов, а opt-out - т.е. забанить вообще все null с кривым синтаксисом для nullable-типов
>>1082808 --> >>1082596
>>1082690>>1082808>У тебя всего 2 варианта не возвращать null из метода: это вернуть пустой объект или исключение>Понятно что для неопределенных состояний не одно животное на котлине не захочет писать с в вопросительным знаком (MyClass?) ведь это не удобно и не тру-путь, поэтому как в го будут возвращать "пустые" объекты.Блядь, опшионалы активно используются в свифте. В этом и суть - если дизайн подразумевает отсутствие значения - делается опциональным, если нет - то работаем со значением, будучи уверенным, что оно есть. Сам придумал про пустые объекты и исключения, сам что-то доказывает, никто так не делает.Если не понимаешь, как это работает - пикрелейтед, задавай вопросы, поможем.
>>1081361Разве C это не набор макросов для ассемблера?
>>1083025Ты уже сдал laba03? Нет? Тогда не мешай взрослым дядям бросаться какашками.
>>1082891>опшионалы Спиздили из C#. Там у Nullable строго определенная функция - возвращать null для типов, которые не могут быть null (struct'ы) и для которых в принципе невозможно сделать пустой объект (какой пустой объект для Int).
>>1082891>Сам придумал про пустые объектыhttps://en.wikipedia.org/wiki/Null_object_pattern
>>1083100Замени в том примере Int? на String? и подумай еще раз.
>>1083104Пустая строка? Зачем nullable?
>>1083106> Пустая строка? Зачем nullable?> поэтому как в го будут возвращать "пустые" объекты.Ты это про себя что-ли? Зачем тебе тут пустая строка?Дали тебе божественный нулл, чтобы не использовать empty object, недостатки которого тут правильно описали, дали тебе божественные нуллабл-типы, чтобы NPE не выскакивало там, где ты его не ожидаешь — нет, хочу жрать говно, ведь всегда же можно пустую строку вернуть.
>>1083108>Дали тебе божественный нуллТак его отняли или дали?Вы там определитесь уже в своей палате №6 что лучше.
>>1083111Сначала null отняли, потом null дали. Ничего не изменилось, кроме усложнения архитектуры и кода.Ох уж эти маневры. А могли бы программы писать.
>>1083111в не-нуллабл типах нулла нет, в нуллабл-типах есть.Дали - значит, что ты не боишься теперь использовать нулл, там где это действительно необходимо, не боишься того, что его где-то дальше нечаянно дереференсят с NPE, и не передаешь вместо него пустые объекты. А там где это не необходимо, ты пишешь не-нуллабл тип, и опять же таки не думаешь больше о том, может быть там нулл или нет.
>>1083113>ты не боишься теперь использовать нулл>implying раньше кто-то боялся использовать null
>>1083111Лолблядь, целый тред спорил совершенно не понимая концепции, вся суть двачей.
>>1083113>Дали - значит, что ты не боишься теперь использовать нуллНехуя вас там запугали? 10 лет пишу на джаве и вдруг мне тут ужасы рассказали, которые я глупец не видел. Скорее на котлин побежал.>>1083113>использовать нулл, там где это действительно необходимоТо есть, теперь, у наших фабоев нулл где-то стал необходим?? Вы уже определитесь, так как ранее топили о полной победе над нуллами и что писать ?. и !!. плохой тон (авторы сами говорили, что запилили такой неудобный такой синтаксис, чтобы страдали и не писали такое больше).
>>1083232А двоеточие запилили, чтобы вероятно типы реже использовали, вед так весело набивать по клаве эти спецсимволы.
Всё станет ясно после https://kotlinconf.com/ что будет в СА. Надо будет прочекать лайв стрим, посмотреть на количество народу и всё такое.
>>1083232>10 лет пишу на джаве и вдругВся суть.Я на Obj-C тоже года три ебашил до перехода на Swift и был такого же мнения, мол, хипсторы набижали, у меня и так все работает, нахуй оно надо. Точно также противился опшионалам. Эта та ситуация, когда доводы не действуют и тебе нужно просто поюзать новые подходы, чтобы понять, насколько они облегчают твою работe и делают ее спокойнее. Я, сука, благодарен заказчикам, хипсторам и эппол за то, что они вынудили меня, долбоеба, использовать свифт. Одно дело теоретизировать про нужность/нинужность, а другое - на практике прочувствовать, назад ты не вернешься.
>>1083259Что тебе будет ясно, понятно что единственная их надежда теперь, это профорсить язык. Ждем унылый повторяющийся маркетинг и фанбоев с заряженными глазами пишущих под копирку сказанное маркетологами.
>>1083278Вас там ткнули носом на чем писать - на том и пишите, а тут у джавы другой мир совсем.
>>1083489Даладна, ты же не будешь отрицать, что джава - параша? А котлин под копирку со свифта спиздили.
>>1083495> А котлин под копирку со свифта спиздили.или наоборот, учитывая что котлин показали публике еще в 2011. Но много идей общих, да.
>>1083232основная проблема с нуллом в джаве (да и в других языках, где в любой ссылочный тип можно записать нулл) в том, что он возникает в одном месте прогамммы, а стреляет совсем в другом - там куда сможет пробраться, если ты не обложил все вокруг проверками вида: if (x == null) throw new IllegalArgumentException();Котлин решает эту проблему тем, что не дает нуллам пробраться туда, куда ты сам не проложил ему дорогу используя нуллабл-типы.Победа над нуллами в этом и заключается, а не в том что нулл объявлен зашкваром, как ты думаешь.
>>1083529Это все манямирок людей очень далеких от программирования.Настоящие практики только посмеиваются над вашим крестовым походам в обосранных портках на null
>>1083620Аргументация достойная nullодауна.>>1083526В той же википедии, в которой ты это посмотрел, внизу есть influenced by. У Kotlina там Swift, а у Swift'а Kotlin'а нет. Но это тухлый срач, похуй в принципе.
>>1083663>Аргументация достойная nullодауна.Мой опыт - это мой лучший аргумент. А ты продолжай жить в своем манямирке.За весь мой опыт программирования коварные null'ы сами никуда не пробирались, как глисты какие-то.у какой-нибудь функции Zalupa GetZalupa() по контракту определено, что она возвращает залупы. Зачем еще городить какую-то стену абстракции, а потом для этой стены делать бэкдор в виде nullable-типов я не понимаю. Это какая-то специальная олимпиада ИТ-гуманитариев.
>>1083674 этот пиздит, что за весь его опыт NPE/segfaults не было. Ну так и опыт твой laba01, походу.мимо
>>1083704Примеры жизненной необходимости войны с null'ами в студию. Я излазил весь гугл, я прочитал все дискуссии и не нашел ни одного убедительного примера зачем нужна унижающая программистов проверка компилятором для ВСЕХ типовда, тут было пример с путыми полями из БД, который вместо исключения создает undefined behaviour. спасибо, я лучше выберию исключение
>>1083707Чтобы подобрать хороший пример, нужно представлять твой уровень знаний. Ты хорошо понимаешь что такое типы в языках программирования и зачем они нужны?
>>1083707То у него npe не было, то он ВСЕ дискуссии прочитал, ебать ты балабол.Тебе весь тред приводят аргументы, в ответ на что "А мне и так норм". Ну норм и норм, удались из треда.
>>1083750>Тебе весь тред приводят аргументыГде эти аргументы? У вас все аргументы уровня "злой null как глист коварно прокрался в анальную глубь программы ой беда!"
>>1083750>то он ВСЕ дискуссии прочитал, ебать ты балабол.Да ты охуел. Я прочитал все что гуглится. Нигде нет ни одного убедительного примера, иначе бы я это не писал.Вот тут, например, кто-то пишет про бесполезность войны с null https://kukuruku.co/post/why-kotlin-sucks/И это мне кажется намного более убедительнее. Тут есть и реальные примеры кода и доводы.
>>1083818>>1083824Ты прав, теперь тебе здесь нечего делать, можешь спокойно удаляться.
>>1083674+1
>>1083750Очередные жертвы маркетинга, им показывают в примерах где null зло и они сразу, биполярном мышлением додумывают что надо быстрее от него использоваться любыми путями. Ведь золотой середины быть не может, либо белое либо черное, либо соленное либо сладкое (ум типичных ит-блондинок).Однохуйственно пойти показать что числовые типы могут переполняться и дать этим баранам проверку на уровне компиляции и они так же будут разносить святую идею, ебаться с долгой компиляцией и проверками (утрированно, но показывает как этот буллшит работает на таких блондинистых умах).NPE действительно служить для детекта "undefined behaviour" и на практике (настоящей практике, а не пет проектов под ваш древний андроид, где ты в классе забыл заиницилизировать объект) встречается редко.мимо другой анон
>>1083723>Чтобы подобрать хороший пример, нужно представлять твой уровень знаний. Маневры
>>1083907быстро фикс>под ваш древний андроидпод ваш древний телефон>>1083907>надо быстрее от него использоваться любыми путями.надо быстрее от него избавиться любыми путями.
>>1083495>Даладна, ты же не будешь отрицать, что джава - параша? А котлин под копирку со свифта спиздили. В котлин нахватали отовсюду, от чего он выглядит более ущербно по сравнению с чистой джавой. Мне даже лямбды нахер не нужны. Джава имела полноценную и простую ООП философию, где написание продукта важнее наличия рюшечек в синтаксисе.То есть котлин получился этаким монстром, поверх окружения философии джавы и в тоже время с синтаксическим дермицом чтобы толкнуть товар (и такими истерическими победами над null).В таком контексте я бы лучше свифт выбрал.
>>1083908Раз нулевой уровень, судя по твоему ответу, почитай про то что я упомянул здесь https://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%82%D0%B8%D0%BF%D0%BE%D0%B2.Ссылка на русеке, потому что судя по уровню ведения дискуссии, ты других языков не знаешь.Статья может показаться запутанной, но ты постарайся, главная идея - системы типов помимо прочего гарантируют отсутствие определенного класса ошибок. Как усвоишь, возвращайся, продолжим обсуждение.
>>1083921> этот бугурт, не осилившего 8ку.
>тред прочитал>не понял стоит ли пытаться в котлин
>>1081361Scala сделана и сейчас делается учеными, у которых есть цель создать лучший яп в мире (хотя он уже объективно лучший). Вполне используется в продакшене. >>1076221 (OP)> В частности хочу вкатиться в котлин для веб-бэкенда и котлин-js для фронтендаЕсли бэкенд - то однозначно скала, потому что в скале мегаудобно работать с concurrency, есть такой набор библиотек akka. Котлин преобладает на андроиде, потому что андроид-макаки слишком тупые, на скалу их не надрессировать.
>>1083921Не, бро, лямбды эпичный торт.
>>1083987>>тред прочитал>>не понял стоит ли пытаться в котлинХайп одного шизика. Перспектив нет.
>>1083921а вот и жатник с лямбда - это паттерн cтратегия
>>1084004> лучший яп в мире (хотя он уже объективно лучший)> объективно лучшийЭти фанбои... Но к чему ты скалу упомянул? Она никак не опровергает указанные примеры. Можно даже так написать:Scala - Язык созданный в École Polytechnique Fédérale de Lausanne для продвижение бизнеса правоприемника (Typesafe Inc.)
>>1084004Давай ваннаби хаскеллист не будет учить профессионалов и давать советы в том, в чем не разбирается?
>>1084004>Котлин преобладает на андроиде
Предлагаю шизикам следующую идею. Допустим, вы передаете объект как параметр в метод. Это настоящий объект, не null. Но у него неправильное состояние (например, не был вызван нужный метод перед этим), и при обращении к этому объекту будут исключение. Это же теоретически ошибка на газиллион сомалийских долларов.Ваши действия?
>>1084154Да что тут думать. mutable-объекты это главная ошибка ООП. Нужно их запретить. Программисты только спасибо скажут.
>>1084164Удваиваю этого архитектора. Проблема давно решена.
>>1084075> Scala - Язык созданный в École Polytechnique Fédérale de Lausanne для продвижение бизнеса правоприемника (Typesafe Inc.)При чем тут это? Важно то, как скала создавалась, кем и с какими принципами. То, что она адаптирована в индустрии и на ней зарабатывают, не опровергает того факта, что изначально была цель создать самый лучший general purpose language. Скала имеет свою нишу в индустрии, потому что это язык, созданный нормальными людьми для нормальных людей, которые любят математику и cs, но при этом решают реальные задачи, а не только ябутся в жопы монадными трансофрмерами.> Но к чему ты скалу упомянул? Она никак не опровергает указанные примеры. Примеры не опровергает, но я так понял, ты хотел сказать, что все языки созданы бизнесом для бизнеса и поэтому нужно просто смириться. А я считаю, что программист должен искать язык, который для него идеален (тут субъективно, это может быть хоть лисп, хоть что угодно) и когда найдет, постоянно советовать его всем своим знакомым и каждый раз, когда его заставляют писать на каком-то другом языке, жаловаться на то, какое этот язык говно и как он несчастлив из-за того, что пишет на %говно-нейм%, а не на своем любимом %яп-нейм%.>>1084092>>Котлин преобладает на андроидеПо сравнению со скалой имелось в виду, очевидно. С джавой по популярности я ничего и не пытаюсь сравнивать.
>>1084613Я хотел сказать, что самые популярные и распространенные языки (на какой-то период) созданы бизнесом и для бизнеса, подчеркнув тем самым бессмысленность слов того анона. Конечно, языки созданные академией или любителями могут достичь определенного успеха (на какой-то период).Почему ты не считаешь C# лучшим general purpose language? Я за него не топлю, но объективно он может посоревноваться.
>>1084648> C#Где монады (в частности Option, Future, Either и Try), где паттерн матчинг (или он есть в C# 6.0? я не в курсе, честно говоря), где алгебраические типы данных (в скале тоже с этим проблема, можно только эмулировать union типы через case классы, но в скале 3 запилят нормальные АДТ), где тайпклассы, где имплиситы?Вообще C# как язык довольно неплох, но я дот нета и винду в рот ебал.
>>1084682Они там массивно пиздят идеи из F#, так что в какой-то форме есть. Вот беглый гуглеж https://www.kenneth-truyers.net/2016/01/20/new-features-in-c-sharp-7/
>>1084715Переизобретают Котлин? Неплохо.
>>1084715Что значит пиздят идеи? Это обычная стратегия мелкомягких, иметь множество экспериментальных языков разной степени академичности и сливать удачные фичи из более академичных в более практичные, и в конце-концов самые отобранные попадают во флагманский язык. Так-то майкрософт в тот же хаскель инвестировали немало.
>>1083259Ну что прочекал лайвстрим? Все стало ясно?