Котёл топ, не слушай никого. После джавы вообще счастье. Ибо фунционален и синтаксис приятный и похер что от сахара в коде можно диабет словить Мимо человек пишущий код для контроллера робота на Котле и с++
>>1076339 >Ибо фунционален и синтаксис приятный Напихали туда все что увидели. Последний пазлер от кекса показал что глюков от этого меньше не стало. Но за сохранность обратной совместимости - спасибо (т.е. не скатились до говно js или свифта).
Еще раздражает, что книга по котлину написанная русскоговорящими разработчиками, а переведена издательством.
Считаю что язык будет годным, если завезут своих батареек, а так это тупо джава над джавой (и не всегда совместимой)
>>1076418 И ты не уловил момент, роста нет, только после хайпа был и все, а сейчас нет. А на твоем булшит-графике он, неожиданно, есть (ссори, приходится играть в капитана очевидность из-за глупых маневров фанбоев)
>>1076433 Гугли world robot olympiad advanced robotics challenge Работаем с fpga и i2c через jni Высокоуровневая логика на Котле В том числе зрение на opencv в джаве я бы заебался вызывать постоянно imgproc, а тут extention functions нахуячил и збс >>1076373 Ну, если тебе покажутся... О вкусах не спорят
>>1076429 > >Ибо фунционален и синтаксис приятный > Напихали туда все что увидели. Последний пазлер от кекса показал что глюков от этого меньше не стало. Но за сохранность обратной совместимости - спасибо (т.е. не скатились до говно js или свифта). Кекс кексом, я ещё могу статейку подкинуть про способы прострелить себе ногу в Котле. Суть не в этом, язык развивается, разрабы думоют и работуют, а не выкатывают микрообновления раз в несколько лет. > Еще раздражает, что книга по котлину написанная русскоговорящими разработчиками, а переведена издательством. Нормальная книга, мне чтобы вкатится хватило + док > Считаю что язык будет годным, если завезут своих батареек, а так это тупо джава над джавой (и не всегда совместимой) Джава над джавой то да, но как сказал один разраб. Kotlinc говнокодит за тебя, чтобы тебе не пришлось
>>1076514 >Kotlinc говнокодит за тебя, чтобы тебе не пришлось Да не почувствовал я особо нового, та же джава (нередко путаешься, а иногда забываешь сахарные плюшки и кодишь в жабе-стайле). На самом деле они сделали такую удобную разработку в их IDE, что разработка на джаве не выглядит такой попоболью, чтобы котлин тут явно порешал (лол, теперь им надо резать плюшки в IDE у жабы, что народ котлин как-то прочувствовал).
В действительности, тупо хочется чтобы такие языки имели свои батарейки и свою философию и вот тогда будет хоть какая-то разница чувствоваться.
>>1076671 >главный сайт котлина написан на питоне А все IDE от джетбрейнса написаны на джаве, в т.ч. всякие решарперы, пхпштормы и прочие, что периодически вызывает бугурты у сишарперов, пхпмакак и остальных. Но что в этом такого, если эти иде вполне себе работают? Идеология не должна противоречить здравому смыслу, поэтому если сайт было проще написать на питоне — они на нём и написали. Или, по-твоему, они должны были резко ломануться всё переписывать на котлине, начиная с сайта и вплоть до неба и Аллаха?
>>1076705 Хз, не у меня одного так, вообще беру другой язык (питон, го, js, etc) сразу переключается стиль разработки. Если только больше упор сделать в ФП, тогда может жаба перестанет чувствоваться. Мне думается, это просто связанно с тем, что работаешь ты больше не с котлином, а со старым жаба-стэком, те же либы, те же ощущения выработанные за года.
>>1076686 Интересуешься котлином @ Решил узнать какой джава-фреймворк используют сами разработчики на официальном сайте. @ Заходишь в сорцы, узнаешь что сайт вообще на пистоне
Но всегда найдется долбаеб, которого всегда все устраивает и вообще он не видит ничего плохого.
>>1076750 А Гугл ещё не переписал свой поисковик на Go, прикинь? А Windows ещё не вся написана на C#, охуеть можно! Разве можно теперь этими языками пользоваться? Ты хоть что-нибудь вообще писал сложнее калькулятора, дурачок? Ты представляешь, сколько нужно времени и усилий, чтобы написать с нуля веб-фреймворк? Чтобы его поддерживать, развивать, документировать, писать туториалы? А самое главное, ради чего? Чтобы какой-то долбодятел зашёл на сайт и типа такой О, РАЗ У НИХ САЙТ НАПИСАН НА КОТЛИНЕ, ТО И Я ЛОМАНУСЬ ВСЁ ВОКРУГ НА НЁМ ПИСАТЬ! Или же, в твоём случае, О, У НИХ САЙТ НЕ НА КОТЛИНЕ, НУ И МНЕ ОН ТОГДА НАХУЙ НЕ НУЖЕН! И плевать, что язык появился совсем недавно и ещё не успел сформировать обширное коммюнити, поэтому и программ на нём написано относительно немного. Тем более плевать, что при всём этом Гугл утвердил Котлин одним из официальных языков для Андроида, что гарантирует мощную многолетнюю поддержку одного из крупнейших ИТ-гигантов. Анон сказал в морг — значит в морг.
>>1077060 >А Гугл ещё не переписал свой поисковик на Go, прикинь? А Windows ещё не вся написана на C#, охуеть можно! Разве можно теперь этими языками пользоваться?
Не бухти, петушок. Одно дело лесть с новым языком в легаси код, другое дело новый проект запилить (коим и является веб морда сайта, причем простая до безумия). Так как у тебя бомбит и ты путаешь поисковой движок с сайтом, который представляет этот сайт и по сути является лицом этого языка - дальше тупо не читал (так как не уважаю труд бомбящих, фанбоев, которые даже конструктивно аналогию провести не могут, но жрут все что дает им очередной хайп).
>>1077139 Удваиваю. То как гугл что-то решил - твердо и четко с таким же размахом и положил (и кстати у джейтбрейнсов уже тоже был язык один и тоже слили).
Так же нехуя ничего не гарантирует эта хуйня со студией, нет не фондов, не каких-то поддержек, а просто предустановленный "плагин" в IDE, которая блядь и так принадлежит джетбрейнсам, которые студию пилят и у которых и так был этот "плагин" готов (надо было только гугл уболтать).
И стоит не забывать что гугл пилит новую ось, которая уже не будет работать на псевдо-JVM (компилируются). Именно поэтому они хотели ставку сделать на свифт (но так же туда будет залит го, дарт и раст) и скорее всего свифт и зальют, потому что с котлин нейтив обосрутся, это не синтаксический сахар делать для джавы.
Почему программисты такие глупые и даже не анализируют происходящие, а просто жрут все что заливает маркетинг. Блядь даже, админы жуют и тестят новые решения, а не с ошарашенными глазами едят все что насрали. Серьезно, что не так с 90% программистов?
PS котлин для джейтбрейнса это не часть продукта (как свифт) и не язык-философия, это пиар акция для увлечения продаж IDE. То есть просто бизнес и если язык не начнет приносить потраченные инвестиции, судьба его будет "рыночной".
>>1077463 >И стоит не забывать что гугл пилит новую ось, которая уже не будет работать на псевдо-JVM (компилируются). Именно поэтому они хотели ставку сделать на свифт (но так же туда будет залит го, дарт и раст) и скорее всего свифт и зальют, потому что с котлин нейтив обосрутся, это не синтаксический сахар делать для джавы. Откуда инфа, где почитать? Мне это по нраву.
Чё ты до их сайта доебался? Ну вот написан он на питоне. О чём это говорит? Да ни о чём. Скорее всего, они его разработку вообще на аутсорс отдали, ибо дешевле по крайне мере, я бы на их месте так и сделал, в то время как свои котлин-разрабы занимаются более важными и прибыльными делами.
>>1077761 >Я просто пытался донести до тебя мысль, что выпуск некоей компанией своего языка не означает, что она должна ломануться всё на нём писать. А нахер мне такой язык, на котором сами авторы не пишут? Тут сразу ощущение что тебе пытаются говно какое-то дать (которые они сами брезгуют).
>Чё ты до их сайта доебался? Ну вот написан он на питоне. О чём это говорит? Да ни о чём И да, а что если сайт был написан на Го, тебя бы не смутило? Имхо, тот анон прав, сайт языка, это его лицо (в том числе и сорцы, раз это программирование).
>Скорее всего, они его разработку вообще на аутсорс отдали Какой нахер оутсорс, там странички чуть сложнее голого html. Да даже если так, что о них это говорит? Компания имея легион программистов не может в страничку-визитку (дизайн как раз можно на стороне, но не код)?
>>1079310 Ебать ты ограниченный, я сказал правильно что другой сайт (его часть отдельная) написана на котлине, типо вот как надо было. Но ты, баранище, уже как-то сделал вывод что котлин стал хороший?
На котлине все такие тупые? Или ты раньше на жс писал?
>>1079709 >написано не на котлине - поэтому котлин параша >написано на котлине - котлин все равно параша Ты сам порочность своего суждения о языке по такому хуевому фактору вывел, долбоеб. Это вообще не говорит о языке, тебе выше уже не раз пояснили. Котлин я даже не пробовал, что ты там вскукарекнул про поспешные выводы, клоун?
>>1081109 Начнем что ли C - Язык созданный бизнесом для продвижение своего бизнеса (Bell Labs) C++ - Язык созданный бизнесом для продвижение своего бизнеса (AT&T) Erlang - Язык созданный бизнесом для продвижение своего бизнеса (Ericsson) Delphi - Язык созданный бизнесом для продвижение своего бизнеса (Borland) Java ... ну ты понел?
>>1081361 С - язык созданный заменить ассемблер (который подзаебал) С++ хайп ООП на модном Си (прокатило, потому что на модном Си и людям нужен вдруг стал ООП). Erlang - экзотическая хуйня, которая не выстрелила (нахуя это говно принес)? Delphi - стухший кал (нахуя это говно принес)? Жаба - создавалось как кросс решение для множества платформ, так же как заменитель С++ (потому что писать приложения уровня энтерпрайза затратно на сях, посему и выстрелил).
Жаба - бизнес устраивает (пока), поэтому любой высер поверх жабы, смотрится как искусственно раздутый пузырь (в том числе и всякие скалы и прочая чепуха)
По той же причине не могут победить С++, те кто на ней пишет все устраевает, те кто понимает что это кал (как и жаба уже) просто это говно не трогают.
Про саму жабу вы часто слышите только лишь потому, что модно пилить приложения и каждый студент-школьник тут у нас инди разработчик (как 12 лет назад было с вебом).
>>1081571 >Все что выстрелило было реально нужно. Анон прав, какой-то поверхностный сахар с кучей отсебячины не повод для переката с языка. Время цитат:
Yuriy Myronovych Senior Android Developer at Discovery 02.10.2017 18:34 Я вот в принципе не понимаю зачем тратятся усилия на «чуть-другой» способ написания простейших систем. Реально на андроид проектах любая функциональность пишется за 5 минут на джаве. Зачем вам новые языки чтоб писать тонкий нативный клиент? 99% процентов всех апп тянет данные с сервака и показывает на гуе, все! Сложность космос, да? Новые технологии надо там где можно что-то значительно улучшить — робототехника, АИ, медицина, какие-то научные моделирования и т д. А вот токо сюрприз, им не надо эти новые языки ибо критический вопрос там не на «чем» делать а «как» это сделать в принципе! Другими словами — польза от котлина такая же как от этого поста.
>>1081742 Такой-то диван, а у нас два отдела мобильной разработки и не знали, что все за 5 минут делается. Мне, айоснику, от перехода с Objective-C на Swift стало пиздец легче, краш-фри процент выше из-за охуенной типизации. Котлиноебы также выиграют от перехода, никаких больше жабовых npe как минимум.
>>1081896 Увидел я барана у которое NPE везде сыпется. Или так же поел буллшита у маркетологов не думая?? Самое забавное что от динамического состояния в программирование никуда не деться (а в не динамическом состояние никогда null в жабе и не возвращали) и что же теперь ебаться с хуй?.пизда или хуй!!.пизда ? И тут же делать проверку которую ты бы и так сделал?
Тебе просто скрытую проблему, которая отлавливалась в логах на раз, разменяли на порцию дополнительных типов с "вопросиками", с которыми тебе надо будет ебаться но уже явно. Охуеть решение.
>>1082024 ...причем у тебя будут часто динамические состояния, в которых ты вынужден будешь возвращать null или кидать исключение (что бесит еще сильнее и не чем не лучше NPE, так как в таком состояние тебе надо будет обязательно перехватить его). В конечном итоге, еботня типов с вопросиками заебет еще сильнее чем проверка на null в джаве потому, что в действительности прям везде этого делать не нужно.
>>1082041 Весь поинт был в том, чтобы проверку на null переместить на этап компиляции, то есть возложить на плечи программиста. Вопрос в другом, на столько ли NPE был реально такой большой проблемой, что блять теперь ручками гонять из типа Obj? в тип Obj ???
- Надеюсь потомки поймут, почему null - это величайшая ошибка за всю историю создания языков программирования.
later on sosach ну кароч нулы заебися NPE толко у довенов ыыы чё они там в сваих свифтах сисярпах какиита мейби манады борщехлёбы штолисуука джава норм язык же тычо
>>1082111 Так почему бы просто их не убрать, почему это зло вечно во что-то оборачивают, а ты, глупое пародие на программиста, думаешь что обертками их победил? Потому нельзя, блядь, из динамической среды (рантайм) убрать неопределенные состояние.
>>1082111 >>1082147 Предвижу котлин-хуйню, скриньте. Понятно что для неопределенных состояний не одно животное на котлине не захочет писать с в вопросительным знаком (MyClass?) ведь это не удобно и не тру-путь, поэтому как в го будут возвращать "пустые" объекты. Но так как все равно надо будет проверить - валидное ли это говно или так, сплюнули, то вместо obj == null появится obj.isEmty() или obj.isUndefined() или вообще какая-то своя отсебячина obj.isJopa()
А если не проверишь, то эти "пустые" объекты могут еще покрашить данные дальше в коде (например в базу запишешь эту дефолтную херню). И тут станет вопрос, как было бы круто если объект "не определен", то выскочило бы исключение, да?
И я не удивлен, такие тру умельцы как здесь придумают новую NPE и обернут в еще одну абстракцию.
>>1082048 >то есть возложить на плечи программиста Смысл в обратном, компилятор твой друг, на любой строке когда ты уверен, что у тебя в этой переменной именно то, что ты ожидаешь, все по спецификации. Охуеть ты любишь неявность, утенок, блядь.
>>1082152 Ты путаешь теплое с мягким. NPE зло. Все, баста. Котлин за счет использования конструкторов с параметрами и null-типизации позволяет избавиться от NPE. Ты просто не сможешь инициализировать объект, если суешь нулл, где не нулл. И это охуенно. А если хаваешь данные из внешнего источника - компилятор заставит (или посоветует, если вызываешь джавакод) проверить на нулл.
И это все охуенно.
> поэтому как в го будут возвращать "пустые" объекты А вот за такую хуйню, где все поля инициализированы дефолтными значениями уровня "" надо отрывать руки. Это самый пиздецовый антипаттерн на котлине и я не знаю почему Джетбрейнс красным болдом везде это не пишет.
>>1082205 Я не понимаю юзкейс. То есть кто-то для лулзов вернет из метода null или что? Все методы возвращающие null спроектированы для этого и ты в любом случае будешь использовать nullable в kotlin для этих случаев, или изобретать свои костыли
>>1082206 Та пожалуйста. Вот тебе реальный юзкейс. Есть дао / репозиторий, который возвращает не плоский объект с вложенностью и списочками. В сервисе, ты как добрый самаритянин проверил его на null и работаешь с ним.
Я тебе гарантирую, что в реальной жизни никто не смотрит на 100% nullable поле в БД или нет. И хуяк в одном из вложенных объектов поле null и пиздык NPE.
Котлин просто не примет данные в модель, если в поле ожидается не null, а суется нулл. А если действительно нулл может быть - проверь, пидар, и у тебя не будет проблем с NPE. Или дао / репозиторий можешь заменить на контроллер и принимать данные с фронта (в плоском виде или не совсем - не важно).
Если ты не байтоеб презренный и не июнь обоссаный, то тебе этих кейсов будет достаточно. Но если ты из оных, то продолжай верещать НИНУЖНААА ЯСКОЗАЛ ВСИГДА ЛУЧШЕ СВАЛИТЬСЯ С NPE ХУЙ ЗНАЕТ ГДЕ ПО НЕПОНЯТНЫМ ПРИЧИНАМ, ЧЕМ ПРИ ИНИЦИАЛИЗАЦИИ С ПОНЯТНЫМ СТЕКТРЕЙСОМ, ИЛИ ВООБЩЕ НЕ СВАЛИТЬСЯ, ЕСЛИ NULL ДОПУСТИМ.
>>1082209 Ну у меня тоже один раз была такая ошибка с внезапным отсутствием поля в json. Ну и что, сработало исключение, я исправил. Суть ошибки-то не в том, что null, а в том, что я не ожидал что поле может быть nullable - это ошибка дизайна. В любом случае для nullable полей нужно писать свою логику. Как уже сказали, компилятор просто заставит тебя инициализировать все поля "пустыми" объектами. Это ничем не лучше
>>1082239 У тебя логическая ошибка. Первенство в чем-то не означает, что кто-то другой не сделал бы то же самое, а может и лучше. То, что дед спроектировал какой-то ЯП, не дает ему бафф не быть долбоебом
я в 30 уже отупел хуже студента, мозг не выдерживает.
то надо ебать легаси графический редактор на флеше, то систему рассчета коэффициентов для соцзащиты на дельфах, то ебаный сейлфорс бекенд для продаванов, то хитровыебаную корморативную хуету на джаве
>>1082302 >Из-за одного деда спизданувшего тупость, срочно переписывают все языки программирования. Эскперты индустрии сломали копья в спорах, должен ли конпелятор отказываться конпелировать, если запозодрит null в переменной или нет
>>1082311 Дед то - крестный отец всего алголоподобного семейства языков. И да, один из самых выдающихся компьютер-сайнтистов современности, который продолжает оказывать влияние на развитие всего менйстрима и не мейнстрима до сих пор. Конечно же боевые маньки с сосача кричащие нинужно, нуллы - круто и плохо зделоли, тупо имеют куда более большие познания и, соответственно, больший авторитет.
>>1082210 > Ну у меня тоже один раз была такая ошибка с внезапным отсутствием поля в json. Точно июнь. > Как уже сказали, компилятор просто заставит тебя инициализировать все поля "пустыми" объектами. Это ничем не лучше Протри глаза от спермы и прочитай что выше сказано про антипаттерн "пустых" объектов.
>>1082434 Единственный анон у которого есть критическое мышление.
>Ну у меня тоже один раз была такая ошибка с внезапным отсутствием поля в json. >Точно июнь. Суть проблемы, что с этим котлином назаливали говна в уши, что мол они победили грандиозную проблему (как они писали - на миллиард долларов), но в действительности такой проблемы то и не было. И кстати, последнее время потише стали об этом кричать.
И да проблема пустых объектов горазда шире NPE, если NPE в 99% случаев сигнал что надо где-то пофиксить, то пустые объекты это валидное дермицо с замедленным таймером на еще большие проблемы (которые в отличие от NPE за пару минут не решить).
Я хз что у деда с памятью (и как любят юные программисты дрочить на авторитетов), но блядь не надо жрать маркетинговое говницо.
Единственный смысл запрета null это использовать его с классами, которые семантически являются значениями (примитивы, числа). Например, строки. Во всех остальных случаях исключение намного лучше. Убрав исключения ошибки в коде не исчезнут, они станут только необнаруживаемыми. Не проверив на null ты словишь исключение. Не проверив на "пустой" объект, программа продолжит выполняться с ошибками
>>1082583 >>1082542 Ты походу не понимаешь, как реализованы опциональные значения в нормальных языках. Сначала попробуй, потом кукарекай, господин теоретик.
>>1082152 >А если не проверишь, то эти "пустые" объекты могут еще покрашить данные дальше в коде (например в базу запишешь эту дефолтную херню). Что-то я не понял примера или туплю. Если в базу даётся null, то база видя это пишет dafault значение. Грубо говоря в ячейку базы записывается то что ты указал записывать если на вход подаётся null. Указал default = 0, вот и запишется 0. Ну тоесть я не понял как эта херня может покрашить данные. И о чём ты вообще говоришь.
>>1082542 Ты так и будешь верещать про пустые объекты, хотя тебя уже десять раз обоссали за это, потому что тебе больше нечего выпукнуть в защиту своей хуевой аргументации.
>>1082595 Думай и причем тут одно поле, речь идет о "пустом" объекте. Что это такое (дефолтные поля или еще что) знает только котлин разработчик писавший этот класс.
>>1082596 Так верещаете вы, анон по делу пишут, а у вас только "не бомбит" и null аргументов против.
Тебе сказали что из-за намеренного упоротого синтаксиса вида obj?!!.field, юзер не захочет писать так (они сами говорили что специально так неудобно сделали, значит юзеры будут плодить пустые объекты, раз того хотят авторы, которые в реале нехуя не подумали о последствии, а тупо лепили хайповый язык для своего бизнеса)
>>1082689 >хотя тебя уже десять раз обоссали за это Ты ебанутый. У тебя всего 2 варианта не возвращать null из метода: это вернуть пустой объект или исключение. Чем это лучше null? В случае некоторых классов пустой объект упрощает программу. Например, пустая строка вместо null; пустой массив. Это работает для одних типов, и абсолютно не работает для других.
Автора языка предлагают забанить не opt-in для некоторых типов, а opt-out - т.е. забанить вообще все null с кривым синтаксисом для nullable-типов
>>1082690 >>1082808 >У тебя всего 2 варианта не возвращать null из метода: это вернуть пустой объект или исключение >Понятно что для неопределенных состояний не одно животное на котлине не захочет писать с в вопросительным знаком (MyClass?) ведь это не удобно и не тру-путь, поэтому как в го будут возвращать "пустые" объекты. Блядь, опшионалы активно используются в свифте. В этом и суть - если дизайн подразумевает отсутствие значения - делается опциональным, если нет - то работаем со значением, будучи уверенным, что оно есть. Сам придумал про пустые объекты и исключения, сам что-то доказывает, никто так не делает. Если не понимаешь, как это работает - пикрелейтед, задавай вопросы, поможем.
>>1082891 >опшионалы Спиздили из C#. Там у Nullable строго определенная функция - возвращать null для типов, которые не могут быть null (struct'ы) и для которых в принципе невозможно сделать пустой объект (какой пустой объект для Int).
> поэтому как в го будут возвращать "пустые" объекты.
Ты это про себя что-ли? Зачем тебе тут пустая строка?
Дали тебе божественный нулл, чтобы не использовать empty object, недостатки которого тут правильно описали, дали тебе божественные нуллабл-типы, чтобы NPE не выскакивало там, где ты его не ожидаешь — нет, хочу жрать говно, ведь всегда же можно пустую строку вернуть.
>>1083111 Сначала null отняли, потом null дали. Ничего не изменилось, кроме усложнения архитектуры и кода. Ох уж эти маневры. А могли бы программы писать.
>>1083111 в не-нуллабл типах нулла нет, в нуллабл-типах есть.
Дали - значит, что ты не боишься теперь использовать нулл, там где это действительно необходимо, не боишься того, что его где-то дальше нечаянно дереференсят с NPE, и не передаешь вместо него пустые объекты.
А там где это не необходимо, ты пишешь не-нуллабл тип, и опять же таки не думаешь больше о том, может быть там нулл или нет.
>>1083113 >Дали - значит, что ты не боишься теперь использовать нулл Нехуя вас там запугали? 10 лет пишу на джаве и вдруг мне тут ужасы рассказали, которые я глупец не видел. Скорее на котлин побежал.
>>1083113 >использовать нулл, там где это действительно необходимо То есть, теперь, у наших фабоев нулл где-то стал необходим?? Вы уже определитесь, так как ранее топили о полной победе над нуллами и что писать ?. и !!. плохой тон (авторы сами говорили, что запилили такой неудобный такой синтаксис, чтобы страдали и не писали такое больше).
>>1083232 >10 лет пишу на джаве и вдруг Вся суть. Я на Obj-C тоже года три ебашил до перехода на Swift и был такого же мнения, мол, хипсторы набижали, у меня и так все работает, нахуй оно надо. Точно также противился опшионалам. Эта та ситуация, когда доводы не действуют и тебе нужно просто поюзать новые подходы, чтобы понять, насколько они облегчают твою работe и делают ее спокойнее. Я, сука, благодарен заказчикам, хипсторам и эппол за то, что они вынудили меня, долбоеба, использовать свифт. Одно дело теоретизировать про нужность/нинужность, а другое - на практике прочувствовать, назад ты не вернешься.
>>1083259 Что тебе будет ясно, понятно что единственная их надежда теперь, это профорсить язык. Ждем унылый повторяющийся маркетинг и фанбоев с заряженными глазами пишущих под копирку сказанное маркетологами.
>>1083232 основная проблема с нуллом в джаве (да и в других языках, где в любой ссылочный тип можно записать нулл) в том, что он возникает в одном месте прогамммы, а стреляет совсем в другом - там куда сможет пробраться, если ты не обложил все вокруг проверками вида: if (x == null) throw new IllegalArgumentException();
Котлин решает эту проблему тем, что не дает нуллам пробраться туда, куда ты сам не проложил ему дорогу используя нуллабл-типы.
Победа над нуллами в этом и заключается, а не в том что нулл объявлен зашкваром, как ты думаешь.
>>1083529 Это все манямирок людей очень далеких от программирования. Настоящие практики только посмеиваются над вашим крестовым походам в обосранных портках на null
>>1083620 Аргументация достойная nullодауна. >>1083526 В той же википедии, в которой ты это посмотрел, внизу есть influenced by. У Kotlina там Swift, а у Swift'а Kotlin'а нет. Но это тухлый срач, похуй в принципе.
>>1083663 >Аргументация достойная nullодауна. Мой опыт - это мой лучший аргумент. А ты продолжай жить в своем манямирке. За весь мой опыт программирования коварные null'ы сами никуда не пробирались, как глисты какие-то.
у какой-нибудь функции Zalupa GetZalupa() по контракту определено, что она возвращает залупы. Зачем еще городить какую-то стену абстракции, а потом для этой стены делать бэкдор в виде nullable-типов я не понимаю. Это какая-то специальная олимпиада ИТ-гуманитариев.
>>1083704 Примеры жизненной необходимости войны с null'ами в студию. Я излазил весь гугл, я прочитал все дискуссии и не нашел ни одного убедительного примера зачем нужна унижающая программистов проверка компилятором для ВСЕХ типов
да, тут было пример с путыми полями из БД, который вместо исключения создает undefined behaviour. спасибо, я лучше выберию исключение
>>1083707 Чтобы подобрать хороший пример, нужно представлять твой уровень знаний. Ты хорошо понимаешь что такое типы в языках программирования и зачем они нужны?
>>1083707 То у него npe не было, то он ВСЕ дискуссии прочитал, ебать ты балабол. Тебе весь тред приводят аргументы, в ответ на что "А мне и так норм". Ну норм и норм, удались из треда.
>>1083750 >Тебе весь тред приводят аргументы Где эти аргументы? У вас все аргументы уровня "злой null как глист коварно прокрался в анальную глубь программы ой беда!"
>>1083750 >то он ВСЕ дискуссии прочитал, ебать ты балабол. Да ты охуел. Я прочитал все что гуглится. Нигде нет ни одного убедительного примера, иначе бы я это не писал.
Вот тут, например, кто-то пишет про бесполезность войны с null https://kukuruku.co/post/why-kotlin-sucks/ И это мне кажется намного более убедительнее. Тут есть и реальные примеры кода и доводы.
>>1083750 Очередные жертвы маркетинга, им показывают в примерах где null зло и они сразу, биполярном мышлением додумывают что надо быстрее от него использоваться любыми путями. Ведь золотой середины быть не может, либо белое либо черное, либо соленное либо сладкое (ум типичных ит-блондинок).
Однохуйственно пойти показать что числовые типы могут переполняться и дать этим баранам проверку на уровне компиляции и они так же будут разносить святую идею, ебаться с долгой компиляцией и проверками (утрированно, но показывает как этот буллшит работает на таких блондинистых умах).
NPE действительно служить для детекта "undefined behaviour" и на практике (настоящей практике, а не пет проектов под ваш древний андроид, где ты в классе забыл заиницилизировать объект) встречается редко.
>>1083495 >Даладна, ты же не будешь отрицать, что джава - параша? А котлин под копирку со свифта спиздили. В котлин нахватали отовсюду, от чего он выглядит более ущербно по сравнению с чистой джавой. Мне даже лямбды нахер не нужны. Джава имела полноценную и простую ООП философию, где написание продукта важнее наличия рюшечек в синтаксисе. То есть котлин получился этаким монстром, поверх окружения философии джавы и в тоже время с синтаксическим дермицом чтобы толкнуть товар (и такими истерическими победами над null).
Ссылка на русеке, потому что судя по уровню ведения дискуссии, ты других языков не знаешь.
Статья может показаться запутанной, но ты постарайся, главная идея - системы типов помимо прочего гарантируют отсутствие определенного класса ошибок. Как усвоишь, возвращайся, продолжим обсуждение.
>>1081361 Scala сделана и сейчас делается учеными, у которых есть цель создать лучший яп в мире (хотя он уже объективно лучший). Вполне используется в продакшене.
>>1076221 (OP) > В частности хочу вкатиться в котлин для веб-бэкенда и котлин-js для фронтенда Если бэкенд - то однозначно скала, потому что в скале мегаудобно работать с concurrency, есть такой набор библиотек akka. Котлин преобладает на андроиде, потому что андроид-макаки слишком тупые, на скалу их не надрессировать.
Предлагаю шизикам следующую идею. Допустим, вы передаете объект как параметр в метод. Это настоящий объект, не null. Но у него неправильное состояние (например, не был вызван нужный метод перед этим), и при обращении к этому объекту будут исключение. Это же теоретически ошибка на газиллион сомалийских долларов. Ваши действия?
>>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# как язык довольно неплох, но я дот нета и винду в рот ебал.
>>1084715 Что значит пиздят идеи? Это обычная стратегия мелкомягких, иметь множество экспериментальных языков разной степени академичности и сливать удачные фичи из более академичных в более практичные, и в конце-концов самые отобранные попадают во флагманский язык. Так-то майкрософт в тот же хаскель инвестировали немало.
В частности хочу вкатиться в котлин для веб-бэкенда и котлин-js для фронтенда