Вы видите копию треда, сохраненную 3 июня 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
C# (.NET core) - язык вроде и кроссплатформенный стал, но хер пойми где какие и куда либы. Синтаксис и возможности в свое время увлажняли многие бородатые умы, но по состоянию 2020 синтаксис уже протух.
Kotlin - наконец-то на жабе стало удобно писать. Стало настолько модно и молодежно, что напряглись даже шорписты. Если вы хотите пробустить вашу джаву, то котлин без вариантов.
Python - язык создавался гением, поэтому не такой как все во всех смыслах. Петухон стоит брать только, если вы хотите стать инфоцыганом и зарабатывать на курсах. Это сейчас золотая жила для развода "хочух в айти".
Scala - очередной продукт гениев, создан чтобы восхищаться, а не писать на нем.
Все мы знаем что ФП языки нужны, чтобы работники банка или формошлепы могли самоутвердиться. Хоть иногда встречаются победили, которые не поняли фишку ФП и на полном серьезе пытаются что-то разрабатывать, но в реальности все понимают, что о ФП интереснее пиздеть с товарищами или сраться на бордах, чем пробовать на этом что-то написать.
Ruby - магическая, тормозная, багнуто-кроссплатформенная херня. Выстрелила благодаря рельсам, откуда все фреймворки потаскали понравившиеся фичи и забыли.
JavaScript - если с фронтендом я еще смирился и с новыми версиями даже полюбил немного (стокгольмским синдромом, не иначе), то вот сам node.js это кусок говна, который по ощущению пилился студентом. Даже JavaScript не заслужил такого издевательства. А ведь реально могли запилить все на корутинах и сделать нам "нормальный" Go.
PHP - по прежнему топ в вебе, от чего поджигает пуканы всем остальным. Каким-то хером, какой-то долбаеб, засунул туда полный комплект ООП, от чего макаки просто замесили тонну трудно сопровождаемого тормозного кода.
Rust - очередная попытка победить С/C++, возможно попытка была бы и удачной, но комьюнити больше волнуют политические проблемы. Со слов хейтеров все выглядит сыро и бестолково (даже говорят о зависающих асинках). Язык, почему-то, привлекает бэкендеров, хотя даже уборщика кабинета информатики знает, что быстрый код надо уметь еще писать, о чем постоянно напоминает techempower.
Go - Тот язык в котором нет стектрейса во время ошибок и в котором руками надо пробрасывать эти ошибки - просто непригоден для серьезной разработки (можно, способных много, но нахрена?). Одно дело когда у тебя Си 1970 года и сам язык просто представляет обертку над ассемблером, другое дело в 21 веке позорится таким сырым говном.
И да - лол, нет дженериков.
> всем лучше котлина
> котлин это вообще страх и ужас
Ну как-то голословно. Не продал. На котлине можно под андроид приложухи делать. А на шарпе что? Десктоп? Бэкэнд? Научные числодробилки? Ну это всё и котлин умеет.
> > кубернетес написали не на шарпе?
> а должны были? а почему на котлине не написали?!
Потому что котлин это страх и ужас? Ладно, если без шуток, то кубер делали в гугле, а там го суют везде, ну прям как майки шарп. Только вот гугл сервера больше пишет, а майки под домашнюю/офисную пекарню. И в случае кубера я больше доверяю выбору гугла.
>На котлине можно под андроид приложухи делать
дык и на шарпе можно
>Десктоп? Бэкэнд? Научные числодробилки? Ну это всё и котлин умеет.
дык все это даже питон умеет
разница лишь в самом языке. Где то просто пишешь и доволен от процесса, а где то постоянно WTF всплывает
>Потому что котлин это страх и ужас?
котлин страх и ужас потому что те кто его разрабатывал видимо очень решили перенять чужие фичи, но не подумали как это сделать хорошо.
конструкторы с инит, компаньоны - разве мог здравомыслящий человек такое соорудить.
>майки под домашнюю/офисную пекарню.
голословные заявления так то. азуре вот майковский.
>И в случае кубера я больше доверяю выбору гугла.
выбор выбор. написал гугл кубер - ну молодец чо. остальные здраво подумали "зачем писать свое" и не стали.
На шарпе, под андроид? Очень интересно.
> Где то просто пишешь и доволен от процесса
Ну вот, хоть один selling point.
Ну про жс я в курсе. Но не потащишь же ты туда CLR/Mono собранный NDK вместе с приложением, при том что там встроена по сути та же херня, JVM.
почему не потащу. потащу.
а когда тебя попросят сделать кросс приложение для смартов, то ты что будешь со своим жвм делать не на андроидах?
High tier: Kotlin, Javascript
Mid tier: C, C++, C#, Python, Clojure
Low tier: Java, Scala, Ruby
Shit tier: PHP
>Rust, Go, Elixir, Kotlin
Это хорошо, но работы нет и не будет.
Лучший варик в России - пхп, фронтенд, джава и 1с.
А зачем работать в России?
У шарпистов бомбит от котлина, поэтому мы видим только слюни на экране, вместо фактов.
Понятно, котлин делает шарп ненужным.
Если бы шарп еще лет 15 назад полез в опенсорс (сделали Core). То сегодня даже вопроса не было на чем писать, но увы, мягкие просрали все полимеры как и с IE.
>дык и на шарпе можно
Не стоит, очередные костыли, вместо родного языка.
>дык все это даже питон умеет
от динамико-дресни страдают уже даже дата-сатанисты. Не удивлюсь если в какой-нибудь котлин перекатятся в скором времени.
>конструкторы с инит
Это сахар, можешь конструкторы писать ручками (см пикчу).
>компаньоны
Да, обосрались, сами сказали. Бывает.
>разве мог здравомыслящий человек
Разве мог здравомыслящий придумать методы с большой буквы. Или док-комменты в xml. Или эту херню с {get и set} аж в глазах ребит.
Или пизданутые вложенные неймспейсы?
Ну или вообще как можно пилить не кроссплатформенный язык в 21 веке. Нахрен такой костыль вообще нужен?
>голословные заявления так то. азуре вот майковский.
Все равно какая-то анальная привязка к вендору. Раньше насильно, а теперь потому что выбора нет. Либо известный костыль, либо васяновские перделки.
>У шарпистов бомбит от котлина
у меня бомбит только от того какой котлин несуразный. понабрал отовсюду да криво сшил
>очередные костыли, вместо родного языка.
ча?
>от динамико-дресни страдают уже даже дата-сатанисты
суть в том что быть универсальным языком может не только котлин. а и питон.и даже ЖАВА (только не уходи в аргументы что на котлине кодить приятнее. а то смешно будет)
>Да, обосрались, сами сказали
и всем сразу стало легче?
>Разве мог здравомыслящий придумать методы с большой буквы. Или док-комменты в xml. Или эту херню с {get и set} аж в глазах ребит.
не вижу ничего плохого с большой буквы. а вот в других языках читабельность страдает
гет сет...будто бы в котлине не то же самое
про неймспейсы вообще не знаю в чем претензия.
>Ну или вообще как можно пилить не кроссплатформенный язык в 21 веке
шарп кросс. о чем ты вообще.
>какая-то анальная привязка к вендору
каким образом это доказывает твои байки "мс не умеют в сервера"? можешь не прыгать с темы на тему?
Гугл хочет C++ разработчиков подешевле. Значительно дешевле. Ещё дешевле. Пусть лучше if err != nil { return err } пишут каждые 20 строк кода, зато другие индусы легко разберутся и любого другого разраба можно сконвертировать в го за две недели. Ну и железа мощного не нужно (без динамикотормозов), рантаймы за собой таскать не нужно (экономия на деплое) и мультитред/корутины изкоробки чтобы 10к соединений проблемой не были. Ящетаю со своими хотелками гугл справился более чем.
Да собственно жава/шарп и остальные с того же и начинались, упростить C++, вроде бы упростили, но куда-то не туда всё ушло, в какие-то дебри паттернов, абстракции на абстракциях и абстракциями погоняют. А книг-то сколько понаписали, ужас.
>>1782398
Котлин == Джава 2.0 Как тут плюсы так и минусы.
Го - только микросервисы, хз зачем целый язык учить, асинхронное программирование сейчас есть везде.
Руст - обосрались они там уже, дальше некуда.
Элексир - очередная йоба, очередного художника гения. Динамико-говно не нужно априори.
Typescript - статик язык компилирующийся в динамичный, это уже ржака.
Тебе жопоскрипт ошибок мало, тебе еще надо отлаживать второй язык?
Javascript - потому что выбора нет, как малое зло - единственный язык из динамико-дресни, который надо знать.
Python - я не буду покупать твои курсы.
C, C++ - минимум стаж 15 лет, чтобы перейти во вменяемого мидл разработчика.
PHP - говно, но деньги не пахнут.
>у меня бомбит только от того какой котлин несуразный. понабрал отовсюду да криво сшил
Это синдром утенка, пока сам не попишешь и не поймешь, что многие решения были выбраны из-за практичного опыта.
>ча?
Да жопа ваш ксамарин, ну пиздец же. Еще бы на петухоне предложил писать.
>суть в том что быть универсальным языком может не только котлин
Любой код сложнее утилитки для консоле, в динамичный языках превращается в убожество, которое надо зубрить. В то время с типами ты можешь хотя бы определить что с чем работает.
То есть питон решает только базовые веши, сложные абстракции там тоже придется писать. И без нормального ООП это сложно.
Я почему написал про котлин и сантистов, потому что там есть типизированный DSL. Это может хорошо бустить работу, при этом не отстреливая руки.
>не вижу ничего плохого
А другие видят, синтаксис вычурный и устарел.
Одни только типы с лева чего стоят, даже в тс от этого дерьма отказались.
>шарп кросс. о чем ты вообще.
Это как jit в руби, вроде обещают запилить, но уже никому и не надо.
Так же и твой кросс. Опоздали лет так на 10-15.
>каким образом это доказывает твои байки
Я такое и не говорил.
>Это синдром утенка, пока сам не попишешь и не поймешь
в моем списке языков - жс, шарп, питон, пхп, руби, жава ну и котлин лол. Отлично заметно что хорошо сделано в одном языке и как это же коряво подано в другом.
>Да жопа ваш ксамарин, ну пиздец же
жа жопа ваш жвм...когда нужно кроссмобильную апликуху писать. )
>в динамичный языках превращается в убожество, которое надо зубрить
с этим спорить не буду же. потому я предпочитаю шарп. но у нас спор не об этом
>А другие видят, синтаксис вычурный и устарел.
очень субъективно. а насчет синтаксиса который устарел - в разы продуманее чем в том же котлине (про жаву не будем вспоминать - она древность)
>Так же и твой кросс. Опоздали лет так на 10-15.
ты уже определись есть или нет. Как то тупо звучит аргумент "у вас нет кросса, но он у вас есть но если бы был 15 лет назад..." - то что? кросс есть и вовсю используется.
>Я такое и не говорил.
пардоньте. на дваче не видно кто есть кто, кто кому отвечает.
но кто то же говорил
> Элексир - очередная йоба, очередного художника гения. Динамико-говно не нужно априори.
Пиздец. Во-первых, научись писать грамотно, во-вторых, расскажи это вотсапу, дискорду и goldman sachs
Эликсир это тот же эрланг, только с современным синтаксисом
Сейчас бы отождествлять языки и крупные компании, которые могут позволить иметь 100500 проектов на разных языках.
Какие же гуманитарные программисты тупые.
> Сейчас бы отождествлять языки и крупные компании, которые могут позволить иметь 100500 проектов на разных языках.
Да, да, они пишут в блоге как у них 2+ млн коннектов на одной машине на эрланге, а сами наверно втихую используют другие языки?
https://blog.whatsapp.com/1-million-is-so-2011
Продуманный язык.
Нижний регистр для функций и полей, придумали чтобы не путать их с классами.
Наймспейс создает на пустом месте лишний отступ, да еще просто бойлерплейт. Все равно пишите как на жабе.
Явная декларация геттеров и сеттеров. Автор вообще не понимал что делал, теперь все пишут бойлерплейт {get; set;}.
Точка с запятой в 2020 году, просто иди нахер.
Офигеть, удивляться от корутин и асинхронного программирования, как там в 2010?
Ниче что эликсир в реале тормозное говно?
https://www.techempower.com/benchmarks/#section=data-r19&hw=ph&test=plaintext&l=zg24jj-1r
А в реальности гитхаб до сих пор юзает руби, шизик.
Если скорость так важна, давай тогда писать всё на плюсах
Вот почему он вечно падает.
>придумали чтобы не путать их с классами.
даже не знаю какие глаза нужно иметь чтобы перепутать.
>Наймспейс создает на пустом месте лишний отступ
да блин о чем ты
>Все равно пишите как на жабе.
ну так язык и появился как жабоподобная замена жабы. только не застыл в каменном веке, а набрал кучу фич
>Явная декларация геттеров и сеттеров. Автор вообще не понимал что делал, теперь все пишут бойлерплейт {get; set;}
понимал. если сеттелы не указать это будет поле, а с сеттерами свойство. Так то разные вещи.
>Точка с запятой в 2020 году, просто иди нахер.
язык родился не в 20 году. ты же не ждешь от жавы чтобы в ней не было ;, так тут какие претензии
пасиб. день потратил искал на чем щас гитхаб и как же ты вовремя
еще бы гитлаб на том же руби не был таким тяжеловесом
>язык родился не в 20 году.
Ну вот, я говорю, если бы в свое время не зажопили опенсорс, могли бы быть топ языком, но для 20 года, это уже кал.
Да, точка с запятой решает ппц как, быстро к хорошему привыкаешь. Ну и вменяемые лямбды через { }, это просто вершина удовольствия.
> это уже кал.
напомню в 2020 году призывают писать на го...в котором черт знает что с ошибками и нет дженериков.
и море народу пишет на жс
так что хватит про 2020 год
Все эти языки копошатся на дне спроса. Просто агрессивный маркетинг и стадо ваннаби-программистов создает иллюзию популярности.
ну так в нашем мире все решает хайп, а не личные достоинства, работодатели они же за хайпом следят.
вот гит например как тулз примитивен, но стал стандартом
> Ну и вменяемые лямбды через { }, это просто вершина удовольствия.
Чем лямбды через () хуже?
> Явная декларация геттеров и сеттеров. Автор вообще не понимал что делал, теперь все пишут бойлерплейт {get; set;}.
Ага, а вот джавовские private Foo foo; public void setFoo(); public Foo getFoo(); намного круче и вовсе не бойлерплейт. Да и эту хуйню юзают чаще всего как {publiic get; priivate set;}, что довольно удобно.
> Точка с запятой в 2020 году, просто иди нахер.
Вкусовщина пиздец
>только типы слева чего стоят
А вот тут поясни. При типе справа ты читаешь переменную, как она и есть: "строка Foo", "число Bar" . Тогда как с этой ебаниной оно мало того что выглядит по тупому, так еще и двоеточие ставить надо.
>Чем лямбды через () хуже?
Серьезно? Ну вызов лямбды как минимум будет foo((it) => {})
Лесенка в конце из "});" не напрягает?.
>> Точка с запятой в 2020 году, просто иди нахер.
>Вкусовщина пиздец
Для 2020 это уже роляет. Древний бойлерплейт, когда не умели писать компиляторы.
>вот джавовские
Мы говорим про котлин.
>При типе справа ты читаешь переменную, как она и есть:
Я видел на практике джуны сначала пишут переменную потом тип.
>так еще и двоеточие ставить надо.
Помогает в восприятие, тоже этому сопротивлялся, а потом осознал. Но согласен, у них своя IDE, могли бы просто раскраску сделать отдельно (хотя сразу начали кукарекать про привязку к ide)
Вот всегда удивлялся почему жидбрейнсы сделали sealed классы, а паттерн матчинг нормальный не запили, как в той же скале. Топовая фича же. А потом ещё кукарекают про скала апологетов.
Мимо
>Древний бойлерплейт, когда не умели писать компиляторы.
Так а что там уметь? Просто интерпретируй \n как точку с запятой.
> Мы говорим про котлин.
Я вообще не понимаю, как можно доебываться до точки с запятой, синтаксису декларации типов, "бойлерплейтным" геттерам, но при этом юзать библиотеки и читать код джавы. Я ведь уверен, каждый котлинист кроме котлина должен знать еще и джаву, а скорее всего, с джавы и перешел на котлин.
>>1783456
> Лесенка в конце из "});" не напрягает?.
Так пишут только если тебе нужны стейтменты в лямбде. Но в 99% случаев они тебе не нужны и ты пишешь одно выражение типа foo(it => something);
Но вообще, у тебя доебки к синтаксису, когда у шарпа есть проблемы и похуже, особенно с новыми версиями: сделали какие-то костыли с варнингами для наллов вместо аналога джавовского Optional<T>, добавляют рекорды ШОБ КАК В ДЖАВЕ, когда уже существуют ридонли структуры, создают тонну нахуй ненужного сахара типа "Point p = new (2,3)" и тд.
Мне кажется, лет через 5-10 шарп по сложности превратится в ебаные плюсы, потому что майки стремятся добавить все возможные и невозможные фичи, дабы завоевать новую аудиторию.
Потому что их матчинг (when) покрывает большую часть потребностей, а делать бочку ради 1,5 анона, тоже такая радость себе.
>Я вообще не понимаю, как можно доебываться до точки с запятой
Когда попишешь на нормальных языков, ты начнешь понимать, что тебе просто выдрессировали на точку с запятой, потому что разработчикам было тупо лень.
>Просто интерпретируй \n как точку с запятой.
Наивный.
>каждый котлинист кроме котлина должен знать еще и джаву
А шарписту надо знать дотнет. Жопоскриптеру надо знать работу с DOM. Продолжать или будешь дальше перечислять вещи, которые так и были заявлены?
Котлин - это удобная жаба. Которую поцеловал принц.
>Но в 99% случаев они тебе не нужны
Пиздабол.
Языки с обязательной точкой запятой в 20 десятилетии больше не нужны. Выкинь каку.
Есть работа на всех четырёх, даже на расте, но на нём пока меньше всего. На го уже навалом работы, и на котлине (мобайл). На эликсире хватает, на расте пока только для илиты.
>>1782456
>Го - только микросервисы, хз зачем целый язык учить, асинхронное программирование сейчас есть везде.
Он достаточно небольшой, его недолго и нетрудно учить, а платят очень хорошо и асинхронщина в нём крайне приятная, лучше наверное только в эликсире.
>Руст - обосрались они там уже, дальше некуда.
Плюсовику неприятно, что потихоньку началась утилизация плюсов?
>Элексир - очередная йоба, очередного художника гения. Динамико-говно не нужно априори.
Свои задачи он выполняет шикарно. А про динамикодрисню — на скале попытались написать своё велокостыльное подобие той модели многопоточности, которая под капотом у эликсира, но с типизацией. Мало хорошего из этой затеи получилось.
>Typescript - статик язык компилирующийся в динамичный, это уже ржака.
>Тебе жопоскрипт ошибок мало, тебе еще надо отлаживать второй язык?
Уже толстота пошла, или ты серьёзно? Тайпскрипт решает огромное количество проблем жёппо скрипта. А поскольку без жс никак, то тс маст хев.
>PHP - говно, но деньги не пахнут.
Какие там деньги, софтвер-ассенизатором работать за половину зарплаты фронтендера или за четверть зарплаты гофера?
>Уже толстота пошла, или ты серьёзно? Тайпскрипт решает огромное количество проблем жёппо скрипта. А поскольку без жс никак, то тс маст хев.
почему ты думаешь что статической типизацией можно решить проблемы долбоебизма программиста?
>Low tier: Java, Scala, Ruby
Программачую! Такой-то высер, для которого даже IDE нормальной нет. Чего уж говорить, что работы на нем нет и пишут на нем только студенты одного швейцарского политеха, лул.
>потихоньку началась утилизация плюсов?
Вот тогда и приходите.
каждый раз удивляюсь ЧСВ ржавчины
или это защитный механизм МЫ ИЛИТА ВАМ НИПАНЯТЬ?
>Когда попишешь на нормальных языков, ты начнешь понимать, что тебе просто выдрессировали на точку с запятой
я пишу и на тех где есть точки с запятой и где нет (и среди них и котлин) и отступы даже
вообще не замечаю данного аспекта
но как же котлинисты пытаются навязать всем "вас гнобят с разделителями"
Еще раз повторюсь - у меня нет никаких проблем ОДНОВРЕМЕННО писать на языках с ; и без них и даже с отступами
я АБСОЛЮТНО НЕ ЗАМЕЧАЮ данный аспект
по вашим же заверениям у меня должно ПОСТОЯННО ПОДГОРАТЬ
"ДА НЕ БОМБИТ У МЕНЯ БЛЯТЬ, НЕ БОМБИТ"
>Ну подгорает же.
ага. у котлинистов от того, что другим плевать какие там разделители.
как привыкаешь к отсутствию, так привыкаешь и к наличию.
это мелочи которые не замечаешь вовсе.
Майки сильнее всего просрали полимеры с мобилками. А с IE история вполне понятная: на браузерах сегодня не заработаешь. Да и так ли уж плохо, если есть опенсорцный монополист? Будет меньше бюрократии со стандартами.
>Да и так ли уж плохо, если есть опенсорцный монополист
монополизм всегда плохо.
тем более если из выбора только говнохром
> монополизм всегда плохо
Опенсорцный. Подумай ещё раз. Это как сказать что Бехтовен в общественном достоянии это плохо.
> говнохром
Что не так с ним? Не нравится UI - возьми любой дериватив. Давай только не съезжай на зонды гугла, есть хромиум и я конкретно говорил про хромиум.
>Опенсорцный. Подумай ещё раз
да хоть какой. допустим ты вебломастер и гугл предьявляет к тебе дебильные требования. чем тебе поможет свой форк браузера?
>Что не так с ним?
убогая кастомизируемость. порождает кучу процессов.
> гугл предьявляет к тебе дебильные требования
Например? Вряд ли они будут ломать то что уже есть.
> порождает кучу процессов
Треды или процессы порождает любой браузер. Процессы безопаснее.
> убогая кастомизируемость
Ты про UI, экстеншены или исходники хромиума? Про UI я тебе уже ответил, не вижу проблем с экстеншенами, и форкодельцы не жалуются чёт.
>Например?
"везде только хттпс" например
>Процессы безопаснее.
Если не умеете в нормальную изоляцию - нечего браузеры садиться писать.
А по делу у меня огромное количество вкладок. мне столько процессов не нужно. фф отлично управляется по количествую ядер и летает все так же
>Ты про UI
угу. про него самого. решил поставить Tree Style Tab который более менее норм даже на новом фф и глянул че там на хроме и ужаснулся от того решения чо там предлагается. костыли
>не вижу проблем с экстеншенами
сплошные анальные запреты... ну ладно во благо юзера приму
> везде только хттпс
И в каком месте это проблема?
> Если не умеете в нормальную изоляцию
Лол. Почитай чем треды отличаются от процессов.
> мне столько процессов не нужно
Ну так ты закрой диспетчер задач и выдохни. Какая разница сколько там процессов? Думаешь pidы закончатся?
> про UI
Давай с этим лучше в /s/. Я хочу внятно услышать почему монополизм в случае хрома это плохо и чем это грозит разработчикам.
>И в каком месте это проблема?
ресурсы в локальной сети - им не нужно хттпс.
>Почитай чем треды отличаются от процессов.
ну знаю я и что. в этом споре я просто пользователь, а не программист. я вижу фф мало процессов и хром ДОХЕРИЩА
и как следствие повышенное потребление памяти (а это уже как пользователя меня очень заботит)
>Какая разница сколько там процессов?
оператива оператива хрум хрум хрум
>Давай с этим лучше в /s/
лень. а монополизм грозит всем. монополия есть монополия и гугл давно не корпорация бобра. инет никакой пользы от альтбраузеров если на них нет ца
Ты наверное из тех, кто всегда текст воспринимает буквально. В слове элита намеренно заменена первая буква, чтобы таким как ты упростить понимание, но как видишь, всё равно приходится разжёвывать. Имелось в виду, что на расте реально мало вакансий, и на них возьмут только редкого человека, потому что на них ищут такизн людей, которые уже хорошо разбираются в низкоуровневом программировании, системщине, имеют большой опыт и сильную подготовку по информатике, при этом имеют желание писать на расте, при этом не душные увальни с завода, которым место среди петровичей. Когда раст станет популярнее, и утилизация плюсов наберёт обороты, то вакансии будут уже не насколько требовательными.
>>1783543
Жопочтец, ты?
Написано:
>Тайпскрипт решает огромное количество проблем жёппо скрипта
То есть статической типизацией можно решить проблемы языка. При чём тут долбоебизм программиста? Охуеть, читать не умеют, а сами себя считают лучше жс-макак
>Плюсовику неприятно, что потихоньку началась утилизация плюсов?
>Ты наверное из тех, кто всегда текст воспринимает буквально.
Сверхманевренность - вопросы остаются
>возьмут только редкого человека, потому что на них ищут такизн людей
НАРОД НЕ ТОТ
>Когда раст станет популярнее, и утилизация плюсов наберёт обороты,
Тогда и приходите, лол. Когда уже станет-то?
>на скале попытались написать своё велокостыльное подобие той модели многопоточности, которая под капотом у эликсира, но с типизацией. Мало хорошего из этой затеи получилось
Это ты про акторы?
>А с IE история вполне понятная
Нефига ты эту тему не понимаешь, мягкие реально просрали. Они настолько обрадовались своей 93% победов в инете, что даже часть разработчиков уволили. Но тут подкрался лис...
То как там сделали дженерики, я уже стал реально думать что над вами там тупо издеваются.
Ты чего тут в треде забыл то? Иди ошибки пробрасывай, ошибки сами себя не пробросят.
https://pl.kotl.in/fK0rtQZmI
ну за 1 минуту при желании пишется метод расширение Let который примет ламбду и будет тот же результат
напомню что шарп развивался со времен жавы. с тех времен жава нихера не развилась что у кой кого лопнуло терпение и они выкатили свой язык (с кучей WTF кстате) и теперь жависты бывшие котлином кичатся
может мне экспрешены притащить и спросить? не. лениво. я лучше спать
>напомню что шарп развивался со времен жавы
Язык на одной платформе это не язык кококо мс прогнулся и сделал core - да поздно уже, Карл
Куда там в своем загоне он развивался?
Джава мощнейшая кроссплатформенная йоба, а тут еще ей норм синтакис подвезли, не поломав саму джаву.
Это вин десятилетия.
нитакое. ясно
>>1784591
>а тут еще ей норм синтакис подвезли
в жаву ничего не подвозили. котлин это не жава
и то что жвм это ничего не значит
может почти каждый котлинист знает жаву
но далеко не каждый жавист знает котлин и вообще собирается знать
для "норм синтаксис" изучать целый новый язык с ортогональными концепциями понатасканными отовсюду - ню ню
>сделал core - да поздно уже, Карл
собака лает...
все нормально у core
ВСЕ шарписты переедут на коре и будут только рады
сколько % жавистов переедет на котлин? то то же )
Ну и что они теряют? Взяли готовый движок, вставили все свои зонды и интеграции, готово. Тот же ИЕ, только с поддержкой стандартов и скоростью как у хрома. Разве не счастье? И разрабов можно нахуй уволить.
Сколько нужно шарпитстов, чтобы заменить лампочку перейти на core?
Нисколько. Те кто юзает шарп, конвертят эксель таблицы в эксепшены, их и так все устраивает. Другие, кому нужна проверенная временем инфраструктура на линуксе, даже не посмотрят на очередной порт mono. первые релизы core вообще забавно глючил.
Что не так со Свифтом?
>Вот тогда и заживем, внучок
но заживем ведь. коре это всего лишь рантайм. для перехода не нужно изучать абсолютно другие языки с абсолютно чуждыми концепциями, как это котлинисты нахваливают, а желающих чет жавистов реально это делать кот наплакал
>>1784622
>даже не посмотрят на очередной порт mono
собака лает, а...коре вполне зрелый для продакшена еще в версии 2, но может кому не хватало совместимости, так в 3 стало очень хорошо. А вот недалече 5 (который должен повелевать и заменить всех)
https://dotnetfiddle.net/v1KRNk
и я ж не отрицаю что в котлине некоторые вещи сделаны хорошо. Ведь он писался с нуля, когда можно было видеть неправильные решения в других языках (а не делался клон жавы и потом уже пытались исправить проблемы, но совместимость....)
я утверждаю что при этих условиях в котлине заделали кучу "ну блин зачем вы выбрали сделать WTF"
Никогда такую дичь не юзал, но вот точно такая же хуйня. А я то думал что ты наллы монадами обработал, а ты всего-то такую хуйню многословною сделал.
Ты не думал, что намного удобнее будет сделать как на 2м пике?
>рантайм
>языки
Когда хотел досолить jvm миру, но мозгов хватило чтобы сравнить теплое с мягким.
Действительно это достижение, стать кроссплатформенный, похлопаем ребятам. Там в другой палате дженерики завозят. Порадуйтесь вместе.
ниче что на примере котлина calc() это функции, то есть эмуляция какого-то вычисления "calculation".
Так что уноси, котлин-шарп: 1-0
И да, там распечатали массив, а не перебрали его.
В том что это живой пример, когда разные функции возвращают разное (тип или null) и нужно собрать только результат.
Если убрать функции весь пример схлопывается до то, что данные можно было сразу в список поместить.
А у тебя йоба фантазия, когда зачем-то перебираешь поля у класса.
>что намного удобнее будет сделать как на 2м пике?
я делал эквивалент по коду. а то котлинист бы придрался "а вот как у меня надо"
Какой же шарп омерзительный. Этот Let с большой буквы. Целый класс богу классов. Этот наймспейс, нафига он? Трудно сделать package? Console.WriteLine, почему не CurrentPC.System.Yoba.Console.MsDos.Zalupa.WriteLine?
Я знаю отличие функции от переменной. Я про то, какая нахуй разница, что будет в моем примере? Он работает и с функциями, и с переменными. Я вообще не думаю, что возможно сделать так, чтобы оно работало только с переменными. да и зачем так делать
Котлинист показал встроенные расширения, лямбды, сокращенные записи функций и работу с наллом.
А ты, тормоз, показал нам расширения. И такой уверенный сидит, в обосранных штанах, лол.
у тебя каша в голове.
я всего лишь делал работу с налом
сокращать че то там целью не ставил
остальное все есть
Котлинист показал фичи, которые котлин взял из шарпа.
Шарпист показал код, который будет удобно писать.
Додик, если взялся делать в противовес, то делай это так же. Если функция значит функция. Мне лень ради тебя дебила туда еще рандом подставлять на каждый вызов.
>потому что Console это класс, а не неймспейс
Лол, а может это функция? Вашем говно языке хер отличишь.
Написал отличный код от оригинала, хотя есть возможность один в один написать, и теперь говорит что не обосрался.
У вас там все такие одарённые?
Нехрена ты не знаешь отличие от готовых данных состояний и вычисляемых в процессе функций. Вот тебе пример, иди пиши на шарпе или молча слейся (ибо будет смешная простыня на целую страницу из методов)
https://pl.kotl.in/01BeovD05
в шарпе функции не существуют сами по себе. так что не ошибешься
> Random random = new Random();
Взывание к Богу рандома.
Лол, еще и дженерики. Код уже тянет на энтерпрайз.
>a =>
Это лямбды или что? Где честные методы/функции? Почему шарпей всегда стремиться наебать?
Еще, я так понял, у вас это эквивалентно?
foo(obj, arg)
obj.foo(arg)
Это же ппц магия, как такое в статичном языке допустили? Смахивает уже на какой-то руби.
Так ты можешь скинуть хоть один пример, где котлин лучше? Не доебываться своим субьективным мнением к синтаксису, не кричать о том какие дженереки ужасны так на го иди, там все модно, молодежно, без этих ынтырпрайзных абстракций, а показать пример того, где шарп реально сосет и не может ничего сделать?
>>1784937
Методы расширения же. Разве у котлина такого нет? Вот ниже код для них, this и указывает на то, что это метод расширения.
Очевидно кода меньше.
Для простых и частых задач кода реально меньше, без взывания к рандому. Я реально на котлине скрипты-утилитки пишу вместо питона. А вот шарп уж многословен. Даже в консоль насрать, надо взывать то ли к классу то ли к неймспейсу.
И кстати, я думал эту жабью херню Кококо кокок = new Кокок() у вас пофиксили. А оказалось слизали как есть.
>Методы расширения же.
Они пишутся явно, а не магией. Когда магия, это же жопа, по-любому найдется место где напутаешь и все прокатит с логической ошибкой.
Это как интерфейсы в го, сначала кажется круто и своеобразно, пока не навернешь говница и код пройдет там, где не должен.
> без взывания к рандому.
Для решения задачи никакой рэндом не нужен. Хватит придираться к запятым лол
>Они пишутся явно, а не магией
Они и пишутся явно. Куда уж явнее. Лишь бы придраться
>Это же ппц магия, как такое в статичном языке допустили?
нет никакой магии. это по факту обычный статический метод. И пользоваться им можно как обычным стат методом
просто модификатор this указывает на то, что его можно вызывать как инстансовый метод и this интанста попадет туда (прямо как self в питоне)
Я this не увидел, я подумал что любая йоба функция превращается в расширение.
фломастеры.
котлинисты и конструктор с инит методом логичным считают.
и обозначение типа справа от переменной.
>Очевидно кода меньше.
А как на меня, в котлине больше. Из-за отсутствия свойств надо писать в конце геттеров (), if else явно длиннее чем ?:, декларация типов из-за : длиннее, а лямбды в {} мне просто не нравятся. Но я не буду придираться к такой фигне, потому что к ней можно привыкнуть.
>Я реально на котлине скрипты-утилитки пишу вместо питона
С девятым шарпом тоже можно будет. Не понимаю, нахуя это надо когда есть баш, питон, повершелл , хаскель но видимо, я просто не понимаю таких как ты.
>И кстати, я думал эту жабью херню Кококо кокок = new Кокок() у вас пофиксили. А оказалось слизали как
есть.
Так у тебе то же самое, если вместо стринга поставить какой-то обьект:
>fun kokoko(): ArrayList<Kukarek> = ArrayList<Kukarek>()
А вот твоего хейта к неймспейсам я не понимаю. В ебучей джаве на каждый публичный класс/интерфейс нужно клепать отдельный файл, что иногда ппц неудобно, тогда как в шарпе такой хуйни нет именно благодаря неймспейсам.
Уже поздно. На гитхабе есть proporsals, можешь голосовать за нужную фичу в десятом шарпе.
Но это такая себе фича, у меня больше горит с копипаста джавовских рекордов, недосахара с пикрл и наллов в восьмом шарпе.
> То как там сделали дженерики, я уже стал реально думать что над вами там тупо издеваются.
Аргументы будут? "Ваши дженерики не дженерики" — это сильно
> Ты чего тут в треде забыл то? Иди ошибки пробрасывай, ошибки сами себя не пробросят.
А ты чего забыл тут? Пока просто пукаешь в воду без фактов и логики, зачем ты такой здесь нужен?
Не понял, до чего ты доебался. Вакансии на расте есть почти только для одних сениоров. Кто хочет писать на расте и зарабатывать на этом, тот становится сениором и пишет на расте за деньги. Какие проблемы? Не для веб-мартышек язык, так что проходи мимо.
а что God Tier для Европы? Перекатываюсь на днях, но не по погромистской работе. Естественно, везде пишут, что джава, питон, пхп, жс и прочее. Нихуя нового
Вангую, что жс или пхп
>Из-за отсутствия свойств надо писать в конце геттеров ()
Пиздабол. Там вообще по умолчанию свойства все.
> if else явно длиннее чем ?:
Конечно, сейчас бы сравнивать тернарный оператор с if.
>декларация типов из-за :
Обосрался))
>лямбды в {} мне просто не нравятся
Самый топ, за что любили груви и котлин.
>С девятым шарпом тоже можно будет
Ты же понимаешь, речь не про короткую запись main.
>Так у тебе то же самое
Тупой шарпист путает декларацию функции с бойлерплейтным объявлением переменной.
У меня сложилось впечатление что шарписты такие скользкие такие люди и постоянно пиздят. Нахер таким быть?
Бреслав как-то упомянул, две вещи которые ему не нравятся, которые несут нагрузку на развитие синтаксиса языка.
Ничего критичного нет, кто кто-то очень сильно хотел победить статику.
Она уже началась. До момента, когда раст выместит ощутимую часть плюсов ещё долго. И полностью он их вымещать не собирается. Можно ждать у моря погоды, а можно уже сейчас принять участие в утилизации плюсов там, где это необходимо
Слышал мозила начала увольнение, неужели разгонят этот рассадник хипстер кода?
Она уже прошла в 2000х, когда плюсовые проекты переехали на джаву и дотнет. Сейчас плюсы остались там, где они реально нужны.
>До момента, когда раст выместит ощутимую часть плюсов ещё долго
Примерно вечность, потому что раст через 5 лет забудут
Вы и в правду такие тупые, чтобы на серьезных щах обсуждать инструменты и "какой синтаксический сахар в моем hello world лучше"?
У шарписта подгорает))
>Плюсовику неприятно, что потихоньку началась утилизация плюсов?
>До момента, когда раст выместит ощутимую часть плюсов ещё долго.
>И полностью он их вымещать не собирается.
В хрусте же тоже эксепшеннов нет, тоже бараны пробрасывают ошибки, или там сложнее линукс утилит и не пишут?
кстати подобные графики вопросов не всегда верны
продукт может быть не очень популярным но крайне ебанутым что постоянно приходится спрашивать
пример тому тот же гит. миллионы статей и вопросов "а как в этом .....аном гит делать простые бл.. вещи" не потому что гит популярным, а потому что такие статьи нужны ибо тулз чокнутый. и без вопросов никуда. потому что тулз чокнутый
и такое на графиках выглядит "ого популярно".
тот же эффект и в плюсах.
Надо уже заставлять этих баранов на го и расте ручками собирать стектрейс, пока пробрасывают.
И потом написать статью "Ошибки тоже значения, свой стектрейс лучше стектрейса бездушной машины."
Это так не работает, тут вроде дядя Гаусс объяснит, что популярный инструмент, будет иметь много вопросов, много статей, много документаций, много мемом итд.
Будут отклонения, но мы их особо не заметим.
То есть, имея огромное число ресурсов, легче их приумножить.
Единственное что вот питон может быть языком студентов или инфоцыган с курсами, и число неадекватных вопросов помножиться на силу искусственного раздутого пузыря. Казалось бы, причем тут хорошая документация питона. И да, это говорит как о популярности питона, так и о качестве этой популярности.
Раст испугался и спрятался за ось X.
Туда же TIOBE - хуже, чем измерять популярность чего-то по количеству вопросов может быть только измерять количество запросов в гугле.
Неожиданно, взяв непопулярный язык, ты идешь в гитхаб, убираешь мусор, поиском по 500-1000 звезд, и видишь, ровно тоже самое - непопулярное, не популярно.
А ещё лучше идти на хедхантер, он в вопросе популярности объективнее всего. А в свободное время хоть на прологе, расте и V писать.
О каком языке бы кодер не мечтал, он всегда думает лишь о том, чтобы ему перезвонили.
Программирование - одна из самых неблагодарных профессий. Ты п-умолчанию проиграл, если в профессии ради денег.
> самых неблагодарных
Это в Рашке-то, где это одна из самых высокооплачиваемых профессий?
Разумеется, я говорю про великую Россию, а не про пендоссии с гейропами всякие
Шарпей, тебе говорят что профессия неблагодарная и в двойне сложнее если ты в ней только ради денег.
Хватит переворачивать смыслы и понятия под свой лад.
Ну так и изъясняйся сразу понятно, а то какую-то расплывчатую хуйню будто для самого себя постишь.
Так ты спрашивай что не понял. А не придумывай за меня.
1) Программирование сейчас представляет из себя эпоху кустарного производства, каждый кустарь лепит одно и тоже но по своим стандартам. Ты можешь знать SQL, который в свое время был ели как стандартизирован, но не сможешь осилить все ORM, на всех языках, потому что они процесс кустарного производства. Тысячи либ по ORM делают одно и тоже, но каждый немного по своему. Это, мать его, каменный век информационных технологий.
2) Из-за кустарного ремесла твои знания сводятся к нулю, уже сейчас пилится очередной йоба-реакт, или йоба-спринг, который помножит твои знания динозавра на ноль. Я заглядывал в шарп, даже у вендор-лок технологии, постоянно что-то меняют. Что уже говорить про свободный кустарный рынок.
А вот ресурс мозгов, он не бесконечный. В итоге к 40, у тебя будут не топ технические знания, а воспоминания о технологиях прошлого. И тебя будет проше заменить на очередного зумера, который как радостный школьник, пока еще, впитывает все новые кустарные продукты.
3) Любой код рано или поздно покрывается тонной говна и абстракций, ты словно парень на картинке, каждый раз погружаешься в эту канализацию, чтобы решить какие-то мелкие задачи. И на все это у тебя уходят часы.
И это с инженерной точки зрения никого не волнует, программист как дурачек радуется новому синтаксису, но совершенно пофиг на то, что 80 его времени это сопровождение кода и никто даже не стремиться это как-то обуздать.
Если вся твоя работа - знание хипстерских фреймворков, то поздравляю - ты кодомакака, которую и в самом деле можно заменить пицценосом с улицы.
Тут у нас нарисовался пацантрэ, который пишет без фреймворков. Ловите пиздабола!
потому что я четвертое лицо, очевидно же.
Пиздец ты какой депрессивный. Что там такого в этих фреймворках, что нужно прям дрочить их чтобы от зубов отскакивало? Алсо, всегда можно скипнуть десяток фреймворков, 5 лет работать на проекте с каким-нибудь не самым свежим ангуляром, а потом резко перекотиться в самый свежак. Работы дохуя под каждый из них. Зачем голову себе засирать вообще всем что выходит?
А слабо аргументировать за нужность эксепшенов? Так ли много эксепшенов в твоём коде приводят к чему-то другому кроме паники?
Сладкая боль ниасилятора. Простые бля вещи, делаются даже в гите просто.
Mah JIT.. почти нативная скорость..
>А слабо аргументировать за нужность эксепшенов?
ну как сказать. подойдет тот очевидный факт, что в случае ексепшенов не нужно проверять каждый вызов всего на ошибку
Так ли много эксепшенов в твоём коде приводят к чему-то другому кроме паники?
если ты про "залогировать и выйти", то без исключений та же фигня - если база данных отвалилась, то ты с нее не прочитаешь. Если диск переполнился - ты не запишешь в него
единственная претензия к исключениям у любителей кодов ошибок - их неявность. Не всегда понятно какое может прилететь. Но концепт чекед эксепшенов в жаве вон не взлетел, хотя устраняет именно этот недостаток. Потому что всех заебало возня с ними.
>>1786533
>Сладкая боль ниасилятора. Простые бля вещи, делаются даже в гите просто.
- гит говно же. как это можно есть?
- ниасилил
- ок я прочитал 500 мануалов, 10000 статей, научился есть вилкой, ножом, палочками, телекинезом как в том фильме с галушками, лично линус меня признал, но вкус говна никуда не уходит
- ты просто ниасилил
ниасилил забыть что оно говно )
а по теме гита дело не в том что там простые вещи делаются просто. простые вещи везде делаются просто. дело в том что гит сам по себе говно, как система контроля версий. убогий с миниум базовых фич, с максимум неконсистентности. ебанутости и лишней возни на ровном месте.
>>1786547
>Тормозное говно
ох уж эти фантазеры. прямо ФАНТАЗЕРЫ
> что в случае ексепшенов не нужно проверять каждый вызов всего на ошибку
Это по-твоему хорошо? Такой-то goto из любого места в коде. Только в расте ты видишь где у тебя .unwrap(), а здесь не видишь. Пишешь прогу, а потом по логам узнаёшь где ж оно ёбнулось, на каком-нибудь DNSNameResolveError потому что интернет лагнул.
> единственная претензия к исключениям
> Не всегда понятно какое может прилететь
Это неправда. Исключения очень тяжёлые, рантайм туда срёт на всякий случай всем до чего дотянулся, и выключить это нельзя.
>Это по-твоему хорошо?
ну так были же коды ошибок и подход как в go.
его никто не запрещал.
зачем же все стали юзать исключения с их то недостатками?
почему не взлетели чекед исключения в жаве, если они убирают именно этот недостаток?
люди выбрали что им удобнее с неявностью исключений, чем с еботней по проверке всего на свете
>Это неправда. Исключения очень тяжёлые
ну тяжелые и что. на то они и ИСКЛЮЧЕНИЯ, то бишь исключительные ситуации. Тот, кто использует их как замену goto - ссзб
у меня вот подгорает что в питоне сделали StopIteration. это ж додуматься нужно было. Но я не видел, чтобы кто то кроме меня жаловался на это
> зачем же все стали юзать исключения с их то недостатками?
А это как раз очень просто. Ни удобного Option/Result, ни паттернматчинга. Ещё и повсеместный nil. То есть, в том же питоне есть аж три разных способа вернуть результат или ничего: таки смастерить Option и пердолиться везде с if, вернуть nil в случае ошибки, или бросить эксепшен. И вот в случае KeyError даже эксепшен оказался неудобной хуетой и там есть .get .setdefault .pop, оказывается nil вернуть удобнее.
> ну тяжелые и что
И как ни странно nil возвращают именно поэтому.
Еще раз
есть ожидаемые ситуации,а есть исключительные.
если файла может не быть - ожидаемая
файл исчез пока в него писали - исключительная
проверить через if что файла нет нормально, а проверять через if при каждом чтении что записалось именно нужное количество байт это уже крайность
>оказывается nil вернуть удобнее
именно поэтому. в случае когда отсутствие элемента норма. то используется if (а get просто метод с этим самым if), а когда нет, то просто []
а то до маразма дойдет:
- я выше ложил элемент в словарь, зачем мне проверять что он там есть
- не проверяй
- не проверял и потом случилась непредвиденная ситуация, когда там не оказалось (по какой то причине, может багу) элемента. А поскольку исключений нет, то....(тут я уже не знаю, что то ибо все языки что я знаю с исключенями. ну кроме пхп, но там я проверяю и матерюсь)
> если файла может не быть - ожидаемая
> файл исчез пока в него писали - исключительная
Ну вот, в расте ты в первом случае пердолишь результат, во втором делаешь .unwrap(), который по сути if с паникой.
> в случае когда отсутствие элемента норма. то используется if (а get просто метод с этим самым if), а когда нет, то просто []
Вот только в расте это называется Option. И без хотя бы unwrap ты значение не прочитаешь. Тем самым обезопасишься от null pointer exceptions. А так то же самое.
> А поскольку исключений нет, то...
А очень просто. Если ты пытаешься использовать что оттуда вернуло, то оно другого типа, будь добр хотя бы .unwrap() или обработать матчингом если нужно перехватить. Если не используешь значение, то выполнение пойдёт дальше. У тебя же надо будет в таких случаях пустой try расставлять.
> есть ожидаемые ситуации,а есть исключительные.
Тупое сектантство, далёкое от реальности. На практике всем похуй, что есть какая-то академическая магя-разница.
Всё это только ради того, чтобы оправдать явные изъяны языка.
Что за дичь я читаю.. В первом случае ты знаешь как отреагировать, во втором нет, и просто дропаешь процесс. Не будешь же ты всё на свете покрывать, включая out of memory, невозможность создать окно графическому приложению и прочее.
Это слишком относительно. В жабе вон тоже ввели checked exceptions, подразумевая, что это ожидаемые ситуации, которые надо отработать прямо на месте, а на практике оказалось, что почти никогда это невозможно, и надо прокидывать дальше.
Так что хуйня это всё.
>Ну вот, в расте ты в первом случае пердолишь результат
я на расте не пишу. я увидел вопрос "в чем польза исключений" и написал в чем их польза
>А так то же самое.
не то же самое. никто KeyError в месте его возникновния ловить не будет. Только на самом верху, ибо это нештатная ситуация. Не просто "чет не то", а "то, чего не должно быть", а значит "не запланировано как на это реагировать, кроме как аларм и помереть, ну или не помереть".
Даже если ты проверяешь, что ключа нет на месте, то потом все равно можно кинуть исключение, как сигнал "тут все пошло не по плану", а не тащить это наверх вручную
В общем исключение === что то пошло не так и мы на своем уровне не знаем как на это реагировать, а потому там наверху разбирайтесь.
Но все это нештатные ситуации. Если у тебя есть план что делать в случае не так - это уже штатная ситуация. Если она близко возникает к месту где знают что делать - проверка, если далеко - исключение. Можно ли дотащить наверх? можно конечно почему ж нет. Опционально все. Нет догмы "только исключения"
>что оттуда вернуло
а что оттуда вернет? nil? а если nil это валидное значение элемента? код ошибки вернет? это что теперь нельзя хранить инты?
особый тип ошибки вернет. ну ладно
>будь добр хотя бы .unwrap() или обработать матчингом если нужно перехватить
во во. то что я и писал - проверка результата КАЖДОГО действия ибо не проверять нельзя
> В жабе вон тоже ввели checked exceptions, подразумевая, что это ожидаемые ситуации, которые надо отработать прямо на месте
нет. не на месте, а "известно, что они могут быть". Чтобы было какое то знание о том, что там может быть.
но в реальности наверх может как улететь неожиданное исключение, так и прикатить ручным пробросом неожиданная ошибка
на то она и неожиданная. только разница где возни больше
Ну так checked exceptions это распорка над обычными эксепшенами, которая ничего не решает, только заставляет документировать, действительно хуйня какая-то.
> надо прокидывать дальше
Если тебе так уж надо прокидывать эксепшен по стеку, то там даже оператор для этого есть, писать много не придётся.
Звучит как оправдание почему говнокодить это норм. Я тебе ещё раз говорю, никто не пробрасывает неожиданные ошибки, сразу вызывают панику.
Вот писал ты
mem = allocate()
Теперь пишешь
mem = allocate().unwrap()
Неужели это так трудно?
Зато ты видишь что здесь мы нарочно забили на ошибку в таком-то методе, что здесь может быть паника. В твоём коде ты никогда не знаешь где у тебя может случиться паника, а где нет.
Проброс по стеку нужен в не самых частых случаях, вангую большая часть из них связана с логированием. И логирование ты можешь сделать своим типом Result, со своей реализацией unwrap, без всяких пробросов.
>mem = allocate().unwrap()
что будет при этом твоем анврап?
чем это отличается от "насяльника у нас неведома беда, мы тонем"?
В давние времена трансляторы языков программирования не умели понимать, где заканчивается один оператор языка программирования и начинается следующий. От программиста требовалось постоянно указывать окончание каждого оператора через точку с запятой.
В современнном мире точка с запятой — это лишь бессмысленное дублирование символов CR и LF, которые итак вставляет любой текстовый редактор по нажатию на Enter.
Защитники точки с запятой иногда выходят за рамки приличия, когда говорят, что без точки с запятой не обойтись, иначе они не смогут писать нечитаемые портянки десятков операторов на одной строке.
Современные компиляторы вполне способны увидеть окончание одного одператора и начало другого, точки с запятой больше не нужны.
и скобки в if
долой их долой )
зы: тот кому вообще на эти аспекты насрать. хоть и пишу на языках с ними и без них, но настолько похуй
Да ничем не отличается. Там внутри if всё_плохо then panic else return unboxed. Это тот же код, что вызывает рантайм у тебя если эксепшен не перехватили. Только во-первых оно теперь явно, во-вторых ты можешь эти ошибки матчить не только ограниченным try catch хуй знает где в стеке, а любыми штатными средствами языка. И тебе не нужна развесистая система классов для эксепшенов, ты всего лишь применяешь дженерик к типу.
>then panic else return unboxed.
и что ты можешь сделать с panic?
что если тут ты не знаешь что делать с этой ошибкой, а на 3 уровня вышел знают что с ней делать?
Да вы заебали, сука
Точка с запятой им, видите ли, не нравится. Может, и до запрета на пробелы в переменных доебётесь? Жирный рантайм? Съедание дохуя ОЗУ? Нет, лучше давайте сраться про синтаксис, к которому за день привыкаешь.
А можете пояснить ньюфагу, в чем разница между ексепшном и растовским Result<T, Error>?
дык что делать с этим panic?
чем "мы хер знаем что делать с этой ошибкой" от "мимо нас летит ошибка которую мы хер знает что делать"
в случае исключений его может поймают те кто знают.
ваш анврап с паник что сделает? сразу же выход из функции с ошибкой?
если да то можно понять схему
но все равно постоянный анврап морока
Ты мыслишь эксепшенами, и хочешь сделать эксепшены везде, потому что так привычнее. Даже задачу ставишь не как пример из жизни, а как пересказ механизма эксепшенов. Вот только необходимость в этих эксепшенах это спорный вопрос. panic не работает как эксепшен, panic это что-то вроде exit(1). Твои три уровня выше, вангую в 90% случаев это просто залогировать ошибку в файл и ничего больше не делать. И это точно можно сделать иначе.
Я не понимаю, почему в 2020 году программист должен дублировать конец строки точками с запятой, перед Enter наживать ещё и на «;». Определение конца строки по символам CR LF — неужели компилятор не может справиться с такой простой задачей?
Result это такое же значение как и все остальные, ты ему делаешь return. А экзепшены это особый такой костыль, который ещё может и raise. И вот в момент этого raise весь стек выворачивается наизнанку, собирается трейс, складывается в экзепшен, дальше происходит goto на твой обработчик. Всё это делает рантайм и как он это делает ты не контролируешь, только расставляешь везде try блоки. Потом ещё там происходит наркомания с вызовом finally блоков, поди всё это распутай.
>Ты мыслишь эксепшенами
я пишу И на пхп и писал на нем еще 20 лет назад. )))
так что такое обвинение не в тему.
>Твои три уровня выше, вангую в 90% случаев это просто залогировать ошибку в файл и ничего больше не делать.
я не знаю что вы там за софты пишете
В моей практике ошибки "залогировать и упасть" крайне редки. И даже тогда не упасть. Что значит упасть? если у меня вебсервис я верну клиенту причем конкретному что для конкретно его запроса конкретно 500 и то в конкретно крайнем случае
Ибо зная тип ошибки на верхнем уровне я знаю что хотя бы сказать пользователю.
И тем более могу принять решение, что еще можно сделать.
Но не могу не признать что я не пишу всякие там весайты где "500 и отъебись", а в основном отказоустойчивые демоны пишу, где на каждую ошибку он должен знать что делать.
И исключения норм работают
> почему в 2020 году программист должен набирать текст вместо редактирования AST напрямую
почему в 2020 году программист должен набирать текст, когда процессор исполняет инструкции. Какие то навязанные правила, которые избыточно потом транслируются в машинный код. доколе?
> я верну клиенту причем конкретному что для конкретно его запроса конкретно 500
Ну так я об этом и говорил. Не надо никуда падать. 90% юзкейсов проброса ошибок по стеку (читай классических экзепшенов) это отдать 500 и залогировать. Больше они ни для чего не нужны.
> я пишу И на пхп и писал на нем еще 20 лет назад
Надо блядь духовно расти, иначе пиздец. Попробуй хотя бы, что-нибудь кроме пхп. От экзепшенов в новых языках отказываются не просто так, на это есть причины. Бьюсь об заклад, ты никогда для путей выполнения по экзепшенам не писал тесты, что уж там говорить о покрытии. Экзепшены конечно работают, но порождают запутанные спагетти, увеличивая и так большую цикломатическую сложность.
Точки с запятой в конце строк делают код более читабельным, тренируют аккуратность. Еще точки с запятой делают возможным написание нескольких строк в одной строке. Или же наоборот, благодаря точке с запятой, становиться возможным написать одну строку в несколько строк.
>90% юзкейсов проброса ошибок по стеку
в моих задачах 99% юзкейсов это именно обработка и принятие решение
и падать только в крайних случаях вида "память того, диск того, все того"
>Попробуй хотя бы, что-нибудь кроме пхп
я знаю пхп, шарп, руби, питон, жс, жава, котлин... и много других страшных слов )
А если серьезно, то я знаю все эти языки.
В них еще был с++ с которого я начинал, но я его слава богу удалось забыть и не касаться. Теперь выбрасываю из стека руби, пхп и жс. Не берусь за них, говорю что не знаю
И разных парадигм в них хватает. И если бы я приходил в каждый монастырь со своим уставом....
пхп я упомянул именно за то, что там изначально плохо (да и щас так же) с исключениями и функции возвращали кто что горазд.
>путей выполнения по экзепшенам не писал тесты
сложно сказать что ты имеешь в виду. но тест реакции на ожидаемую ошибку конечно писал. да их все пишут. это ж обычное дело.
>>1786939
>Я это знаю, но не понимаю, чем ексепшны лучше.
ну когда сделать 1000 и 1 проверку на каждый чих и потаскаешь ошибку до самого верха - сам поймешь
это в обычных языках. языки где ошибка автопротаскивается и не мешает - я с ними дел не имел
>>1786892
>Всё это делает рантайм и как он это делает ты не контролируешь, только расставляешь везде try блоки.
у тебя определенно какие то проблемы с ощущением того как работает твой код. Нет никаких проблем. Вот многопоток сложно да, особенно lock-free. А исключения - там все понятно, один вопрос лишь "что может прилететь из того что я знал бы как на него реагировать если бы вообще знал что оно может прилететь". дока это ну такое
90% таких штатных ошибок ловится во время разработки
но тут ничем "не знаю какое исключение вылетит" от "не знаю какая ошибка вернется" не отличаются
тут бы помог хрустальный шар.
>90% юзкейсов проброса ошибок по стеку
в моих задачах 99% юзкейсов это именно обработка и принятие решение
и падать только в крайних случаях вида "память того, диск того, все того"
>Попробуй хотя бы, что-нибудь кроме пхп
я знаю пхп, шарп, руби, питон, жс, жава, котлин... и много других страшных слов )
А если серьезно, то я знаю все эти языки.
В них еще был с++ с которого я начинал, но я его слава богу удалось забыть и не касаться. Теперь выбрасываю из стека руби, пхп и жс. Не берусь за них, говорю что не знаю
И разных парадигм в них хватает. И если бы я приходил в каждый монастырь со своим уставом....
пхп я упомянул именно за то, что там изначально плохо (да и щас так же) с исключениями и функции возвращали кто что горазд.
>путей выполнения по экзепшенам не писал тесты
сложно сказать что ты имеешь в виду. но тест реакции на ожидаемую ошибку конечно писал. да их все пишут. это ж обычное дело.
>>1786939
>Я это знаю, но не понимаю, чем ексепшны лучше.
ну когда сделать 1000 и 1 проверку на каждый чих и потаскаешь ошибку до самого верха - сам поймешь
это в обычных языках. языки где ошибка автопротаскивается и не мешает - я с ними дел не имел
>>1786892
>Всё это делает рантайм и как он это делает ты не контролируешь, только расставляешь везде try блоки.
у тебя определенно какие то проблемы с ощущением того как работает твой код. Нет никаких проблем. Вот многопоток сложно да, особенно lock-free. А исключения - там все понятно, один вопрос лишь "что может прилететь из того что я знал бы как на него реагировать если бы вообще знал что оно может прилететь". дока это ну такое
90% таких штатных ошибок ловится во время разработки
но тут ничем "не знаю какое исключение вылетит" от "не знаю какая ошибка вернется" не отличаются
тут бы помог хрустальный шар.
Исключения не требуют со стороны языка средств для проброса ошибки выше по стеку. Таких как монады Maybe/Either в хаскеле, откуда, кстати, раст идею и слизал, но не полностью - подобие do-нотации они не осилили
Do-нотации нет не потому, что не осилили, а потому, что нахуй не нужно. Это мимикрия под императивщину, но нахуй она нужна в и без того императивном языке.
Это не мимикрия под императивщину, а синтаксический сахарок для >>=
> но нахуй она нужна в и без того императивном языке.
Чтобы руками не ковырять Result и не городить костылей на макросах.
>ох уж эти фантазеры. прямо ФАНТАЗЕРЫ
У меня на нвме ссд лиса с одной влкдакой запускается секунд 5, хром с 100 вкладками практически моментально
твой конкретный случай
у меня оба браузера запускаются одинаково быстро
а в остальном хром говно
> пхп, шарп, руби, питон, жс, жава, котлин
У тебя невероятно однобокая выборка. Вот именно по контрол флоу и экзепшенам.
> сложно сказать что ты имеешь в виду
Попробуй нарисовать граф возможных путей выполнения программы без экзепшенов и с экзепшенами. А потом представь что все возможные пути на этом графе по-хорошему надо покрыть тестами.
> Нет никаких проблем
Да у меня тоже собственно никаких проблем с ними нет. Мне интересно подискутировать.
> А исключения - там все понятно
Уверен, ты охуеешь от того сколько магии можно творить в finally блоках.
Хром лучше лисы буквально во всём кроме зондов, но лично мне поебать на зонды. Для маминых анонимусов есть хромиум который тоже во всём лучше лисы
Выше поясняли же
>Вот именно по контрол флоу и экзепшенам
это не значит что я закрыт для разных парадигм
ваши аргументы "вам в 99% падать" не убеждают вообще
>граф возможных путей выполнения программы без экзепшенов и с экзепшенами
и где там разница? ее нет. если нужно не упасть, то все будет одинаковое - идем наверх до первого, кто знает что с этим делать попутно собирая информацию для принятия решения
А тестировать все возможные комбинации вообще невозможно. Да и не нужно.
>ты охуеешь от того сколько магии можно творить в finally блоках.
можно и х.. об стену сломать. А в реальности в финали 99% это просто "закрыть ресурс".
> А тестировать все возможные комбинации вообще невозможно. Да и не нужно.
Инфа соточка? А как же coverage? А представь я туда ещё колбэк передаю, который выбрасывает экзепшены, и наш батуд теперь собирает или пропускает даже то что не следует собирать. Предсказывая твой ответ, да, согласен, надо уметь правильно, только дебилы так делают, надо тестировать и прочее. Но ведь сложно же становится. А сложность это главный враг кода.
Нет, не так. Выглядеть всё будет конечно же как текст, ибо это ещё и читать нужно. Но вот редактировать можно довольно ограниченно, заполняя/удаляя/добавляя слоты.
Вот например так
https://www.youtube.com/watch?v=CnbVCNIh1NA
>>1786904
ЛОР это же филиал /s/, там ничего серьёзного нет.
>Инфа соточка?
угу угу. инкапсуляция жеж. код знает только о соседях и тестировать должен только ближайшие отношения. Потому не происходит тестирования всех возможных комбинаций
>А как же coverage?
а с ним все хорошо. для ковераже кода нужно чтобы код хоть раз отработал, а не "все возможные комбинации"
>я туда ещё колбэк передаю, который выбрасывает экзепшены
наш батуддд собирает то что он может обработать и принять решение. Должны же быть границы контекстов когда батуддду летят уже вменяемые уточненные исключения, а не "деление на ноль".
>А сложность это главный враг кода.
я в упор не вижу разницы с твоим подходом. разница лишь "кто доставит послание наверх кто знает что с ним делать". И что в случае исключений в каллбеке оно может быть неизвестным (не знает никто что с ним делать) что с пробросом даже зная тип ошибки опять же неизвестно что с ним делать.
я в упор не увидел что дало бы знание того, какие ошибки может выбросить переданный калбек, чтобы там "наверху" знали о них.
ну дотащил ты ошибку до самого верха (помирать низзя помнишь же?) и чо? чо с ней делать если никто ее не ожидал и правил нет для нее
сколько ты мне показываешь я вижу лишь просто относительное! удобство выброса ошибок наверх (если оно вообще есть ибо это я только предположил)
> чо с ней делать если никто ее не ожидал и правил нет для нее
Оч хороший вопрос. Вот здесь компилятор тебе как раз и скажет, что такой-то случай ты не покрыл. Компилятор это одна из сильных сторон раста, он тебе такой статик анализ сделает, что никакая жава и рядом не стояла.
>тебе как раз и скажет, что такой-то случай ты не покрыл
да ну глупости же
Придет тебе извне Vec с 2мя элементами (причем размер получается в рантайме, данные вообще извне могут приходить). Твой код обращается к 5 элементу. Никакой компилятор этот случай не отследит.
я раста не знаю но даже проверил
hread 'main' panicked at 'index out of bounds: the len is 2 but the index is 5'
ну и конечно это не имеет отношение к спору "ошибки против исключений"
> Никакой компилятор этот случай не отследит
> Vec
> причем размер получается в рантайме
А должен?
Смотри что я имел в виду:
https://doc.rust-lang.org/book/ch06-02-match.html#matches-are-exhaustive
Там если матчинг неполный, вот как ты говоришь, пробросили туда чёрт знает что, если оно не покрыто, то компилятор ругнётся. Мы же типы матчим, верно?
Вон смотри ещё что можно с векторами делать
https://doc.rust-lang.org/std/vec/struct.Vec.html#method.get
Паника получается потому что делается vec.get(5).unwrap()
Ты можешь сделать просто vec.get(5) и толкнуть его в match. Допустим у тебя большой метод, который берёт из вектора что-то по индексу 5, делает http запрос с тем что оттуда достал, пытается напечатать результат, а потом вернуть что достал из вектора. Ты можешь результат всего объединить в единый Option: если любая из операций пошла по пизде, возвращаешь None, если всё хорошо, Some(value). Ну или вместо None, там есть ещё тип с компонентом Err чтобы текст вывести, если тебе так нравится. У тебя там да, будет несколько ретурнов с Err по коду функции, но все эти экзепшены как бы соединяются в единый тип возвращаемого значения, который реально имеет функциональное значение для твоего кода. И всё это вместо сотни неизвестных разных экзепшенов, которых ещё и перехватить надо.
Если тебе нужны допустим ретраи, то сделай тип Err(str text) | Retry(float delay) | Success.
И вместо Err возвращай Retry в некоторых случаях. И всё это красиво прямо в сигнатуре функции, вместо пиздеца try catch обёртывающего метод.
>делают код более читабельным
Действительно, конец строки — это такая незаметная штука, программист его пропустит или недоглядит, конец строки нужно специально выделять точкой с запятой.
>Еще точки с запятой делают возможным написание нескольких строк в одной строке
Да‐да, чтобы лепить нечитаемые портянки «однострочников».
1) Исключительные ситуации на то и исключительные, что не в ходят в поток нормального исполнения. Это отдельный мир непредвиденных обстоятельств. Ты хотел, скажем прочитать с базы, а упал из-за переполнения памяти или NPE.
2) Исключения не просто автоматическая херня, это еще иерархии классов, что дает гибкость и возможность типизированно отделить котлеты от мух. А не как долбаеб анализируя вложенную строчку.
3) Но самое важное, что исключения собирает стектрейс. Ты может еще неопытный и не понимаешь как это архи-важно, но просто поверь, это прям граница между примитивным языком и языком современной индустрии.
4) Логгирование, хороший логгер позволяет записать даже в жопны ситуациях и ты хотя бы узнаешь почему у тебя софтина упал в 3 ночи.
1) Ну разобрались же выше, что есть падения, и есть перехваченные и отработанные экзепшены.
2) Никто и не предлагает анализировать строки. Вернуть из метода можно любой enum, каждый со своими полями. И не нужно делать глобальную иерархию, каждый раз выясняя, а это у нас сабкласс ValueError или RuntimeError.
3) 4) Скорее всего ты о падениях. Никто не запрещает установить хук в макрос паники, собирающий стектрейс и записывающий в лог.
Давай ещё раз.
1) Ты же понимаешь, что код который может обработать ошибку, может находиться далеко наверху по стеку.
И что тогда делать?
- Пробрасывать логгер. Что уже абсурд.
- Пробрасывать ошибку. Ну не руками, да? 21 век же. Программисту и так есть чем заняться.
Что касается производительности, то даже в жабе можно заглушить стектрейс и кинуть эксепшен, практически нулевой стоимости.
-Делать логгер глобальный (привет код стайл девяностых и непобежденные глобальные состояния).
В общем, как я и писал, программисту в наше время и так
есть чем заняться, надо логику писать, а не строчить бойлерплейт из-за эпохи деградации языкостроения.
Есть такой феномен, как программисты, которые и не программисты во все. Страшно становится когда эти люди в своем манямирке начинают делать языки или библиотеки, да еще под финансовой поддержкой.
Так и получает го, раст, реактивное программирование, MVC модель на стороне клиента.
>Ты можешь сделать просто vec.get(5) и толкнуть его в match.
я брал vec[5]
чем не доступ к элементу? доступ.
Из того, что нравится: бекенд и базы данных, возможно мобилки (но усложняет тот факт, что андроидом пользовался последний раз когда только 4ая версия вышла, а в иос сейчас какая-то залупа с переходом на свифт юи или как его), возможно занялся бы ембеддед (просто нравится си и ассемблер).
Лол, у тебя каникулы в конце августа начинаются? Что за универ то такой?
Я наоборот думаю, что вот зря проебал эти пол года с карантином и каникулами, мог бы работу найти, а учеба уже через неделю.
А у нас в нашей стране (далекой от СНГ) из-за короны семестр сместился и начался не 1ого Марта, а в середине Апреля.
О, а я начал вкат в айти с котлина. Нигде не работал, готовился к поступлению на юриста, но вдруг гугл подсунул статью с топ новых яп, а затем гуиды по котлину на ютабе. Я чисто случайно начал погружаться в тему айти и почалось. Думал, вот оно, моя тема.
Прошли месяцы вката, я глянул на вакансии и пиздец - котлин никому не нужен. Пошел спрашивать на двач, а что делать? Я думал вот новый язык, изучу я его первее толпы и со свистом влечу в айтишечку. Нихуя, аноны отправили учить жабу. А жаба тянет за собой спринг (решил не в мобилки, а бэк идти тогда). Прошло еще пару месяцев, выгорел, решил с голым кором пробовать подаваться на вакансии ибо учиться уже не было мотивации.
Никто меня на джаву не брал, в процессе хождений по собесам поучил спринг и бд, но отказывали часто потому-что без вышки. Пришел спросить снова у анонов, а чо так вышку то просят. Оказалось, в энтерпрайз без вышки попасть нельзя.
В полном ахуе я побежал учить фронтенд, но от цсс тошнило, а бате надоело, что я "сижу там за своим компуктером" и выкинули меня на улицу.
Если бы не нашел тред QA в воркаче, сейчас бы таскал пиццу в яеде. А так и тестером норм работается, но хочу перейти в разрабы боюсь с коллегами об этом говорить, а то выкинут меня ненадежного свитчера и нового джуна возьмут..
Это я к чему, котлин охуенная тема. Все вокруг его нахваливают, не только джависты.
Тогда в мобилках джава на первом месте стояла, а котлин указывался как будет плюсом или вообще не упомянался. Да и думаю сейчас не лучше, в айосе сколько лет objective c требовался, хотя был новенький свифт.
в свфит сейчас хуя вкатишься
до короны-то вакансий было мало, а сейчас подавно
лучше js и прочий скам для фронта - работа всегда есть
На ноде пишут фронтендеры и пыхеры и с 10 годами опыта, там новички обычно нахуй не сдались
Ну ищут новичков-фронтов с нодой в подарок
Конечно жаба
Жаба в любом случае, решётки - это кобол, живёт только в госконторах в виде легаси, нового на нём не пишут.
Сярп практически полностью представлен только на ЮС рынке, и то искусствено накачан МСом
я шарпист мне норм. шарп сила
Для работы только в РФ — 1с и php.
Аргументы уровня двача. Меня этот спор уже ничем не обогащает, я сливаюсь, можешь считать что экзепшены победили))0
нет. это проигрывает подход где каждый шаг нужно проверять
ты предложил гет юзать ( и выходит что вообще всегда, а то мало ли какой массив будет) потому что если взять по индексу которого не будет то небось все ухнет наглухо
а я спросил что если ожидается что там будет 5 элементов
то есть нет никаких причин проверять лишний раз
но по какой то случайности там будет 2 то что будет
юзай гет это не ответ
Но ведь ты юзаешь гет в других языках. И точно так же программа бахнется если не гет и элемента 2 вместо 5. Ну ладно, в жс чуть позже жахнется из-за undefined. Либо какая-нибудь сишечка вообще позволит читать память вне массива.
не бахнется. а полетит исключение. неприятная ошибка, но может быть абсолютно не смертельная. И до никакого жс не дойдет в принципе.
Ну наверное только сишка и позволит. Но я не пишу на си. а во всех остальных языках будет исключение которое прервет выполнение текущего места.
С гет я уже понял. Далее матч ( по слову подозреваю что это проверка на "чо за обьект мы достали давай проверим" что и есть та проверка каждого шага что я гноблю) - все понятно
пока что я вижу что нужно не доверять каждому шагу, ведь "а вдруг ай". И как я понял если доверился данным и ошибся в доверии то ссзб и падение будет фатальным для всего в отличие от исключения, который просто прервет часть программы
Ну епт, я серьезно. Чо там на собесах спрашивают обычно
Какой ждун такие и алгоритмы
Веб гребец - основные структуры данных и их переворачивание
Околотырпрайз - дроч коллекций и алгоритмов/структур, крутящихся под ними
Дальше деревьев с каким-нибудь квиксортом вряд ли будут спрашивать, да и учить что-то без планов использовать в реальной жизни не стоит
>дроч коллекций и алгоритмов/структур, крутящихся под ними
А чо там их дрочить? Все же уже реализовано в классе List, хули еще надо, какие алгоритмы?
Ты же понимаешь, что даже лист алгоритм как минимум не один и даже самые очевидных реализаций минимум две?
Не говоря уже про хуеллион деревьев
Та особо ниче не надо. Просто знай что такое связный список, бинарное дерево, куча, стэк, хэш таблица и как все это работает, какая а. сложность и тд. Даже реализацию подбробно знать не надо за тебя уже все написали, достаточно понимать, где какую структуру лучше всего применить.
> где какую структуру лучше всего применить.
Кучу и стэк компилятор ведь сам решает, чо куда совать, при чем тут я?
Я про эту кучу https://en.m.wikipedia.org/wiki/Heap_(data_structure)
И про стэк я говорил как про связный список с методами пуш/поп.
>компилятор сам решает
Разве что в хаскеле. В джаве он все без разбора пихает в кучу, в шарпе/с/с++/расте ты сам решаешь, хранить данные в куче или стэке.
Хеш-функции, связанные списки, дерево меркла, эллиптические кривые, теория чисел, случайный оракул, структура меркла-дамгора, задача византийских генералов, многоагентные системы, теория сложности вычислений, широковещательные каналы и обмен сообщениями, обработка транзакций, TCP, UDP
О половине упомянутого впервые слышу, а из того, что слышал, половину не знаю. Работаю джавистом больше года.
> дерево меркла, эллиптические кривые, теория чисел, случайный оракул, структура меркла-дамгора, задача византийских генералов, многоагентные системы
Попахивает блокчейном.
Ну тогда нода/джава/питон/любое говно из топа популярных языков
>шарпе/с/с++/расте ты сам решаешь, хранить данные в куче или стэке.
Чего, блядь? В шарпе же всякие инт чар пиздуют в стек, ссылочные типы - в кучу, где ты там чо сам решаешь?
Ну вот, например, чо за основные алгоритмы?
Херка чо, тупая? Уметь работать над общим проектом, но быть командным игроком?
Perfomance. GC не напрягается. Меньше мемори траффик (или больше)))
Эта структура похожа на чемпионат. На вершине всегда чемпион, за ним идут финалисты, далее полуфиналисты, итд. С вершины можно оптимально забрать чемпиона, а так же добавить в дерево нового участника. То есть получается такая коробочка, в которую можно насыпать элементы, и по одному забирать наилучшего в текущий момент.
Теперь представь что наилучшесть определяется по метке времени, и то что запланировано раньше всего, раньше всего уйдёт на выполнение. Получается планировщик, эвентлуп.
>Теперь представь что наилучшесть определяется по метке времени, и то что запланировано раньше всего, раньше всего уйдёт на выполнение. Получается планировщик, эвентлуп.
Я конечно тупой, но в чем смысл этого и сложность? Ну вот ебанул класс
class Zalupa
{
DateTime dt;
}
Нахуярил экземпляров этого класса в List<Zalupa>, затем отсортировал по dt и вытаскиваешь самого первого. И чо, вот и получился планировщик? В чем смысл и нахуй надо городить какие то умные слова вокруг банальной вещи?
Решетки это натянутая сова на глобус, трешит, рвется, но мс зачем-то её держит еще.
Но вообще то шарпы один из самых приятных языков современности. Недостаток "ну это же мелкософт" парит не всех
Вообще-то да, самый приятный.
Но вот когда научится объектники делать и не потребует виртуальной машины, тогда и приходите.
А синтаксис приятный. Да. Этого не отнять.
ну вирт машина и чо. будто не фиолетово. от жавы чет такого не требуют чтобы он без виртуалки был
а компиляцию в натив подвозят. уже грят можно даже чо то там компилить.
У тебя вставки и извлечения будут O(n) не говоря уже о бинарном поиске куда вставить, а там O(log n).
Настолько стандарт что в жс-треде постоянно идут возгласы "а где вакансии на Ноде?", "а че работы нет?"
Я бы выучил Жабу и пошел бы тихо аутировать в офис на ней. Но где вакансии? Везде питон цыгане и жабаскрипт студенты.
JetBrains, андроид.
Так в тыпрайзе большие деньги и там платят.
Тебе не надо быть очень умный, всегда можно докупить слот памяти, если затормозило.
Очень толсто. Ты хотя бы раз открывал хедхантер и искал на нём джаву?
> Везде питон цыгане и жабаскрипт студенты.
Потому что самые громкие и злоебучие, а не потому что "везде".
>Разве мог здравомыслящий придумать методы с большой буквы.
Бесят дебилы с дурным вкусом, которые в 2к20-м продолжают придерживаться ебанутых правил именования методов, классов, переменных и т.д., потомушо так делали диды в 1970-х у которых был только блокнот. Похуй, что сегодня IDE позволяет и так всё подсветить и переобозвать на твой вкус. Похуй, что приходится писать вырвиглазные имена типа cPUID, uSACode и т.п. Похуй на элементарные правила человеческой грамматики и читаемости.
За множеством стилей лежат реальные шишки.
Как раз именование это тот случай.
Шарпу просто надо было хоть как-то отличаться от джавы, вот и вьебали вам говницо, не подумав.
Пускай тебе IDE анал подсвечивает, когда ты листаешь код на гитхабе.
>когда ты листаешь код на гитхабе.
ну вот я часто листаю. и потому мне жутко интересно. а с чем можно спутать метод листая код на гитхабе? Вот где "если бы он не был с большой буквы то..."
Шарп взял это из VB. Потому что для людей делали, а не старых красноглаззиков. А в целом это вкусовщина.
>У тебя вставки и извлечения будут O(n) не говоря уже о бинарном поиске куда вставить, а там O(log n).
чо?
>как шарпо-дебилы пытаются обосрать/обоссать другие языки, но забывают снять штаны.
проснись ты обосрался
это как раз шарп обсирают типа "старый синтаксис"
>Разве мог здравомыслящий придумать методы с большой буквы
А в чем проблема? Поясняй, твердо и четко, чем плохи методы с большой буквы иначе будешь слит, унижен и обоссан
Значит, ты не знаешь основы алгоритмов и структуры данных.. Иди учи, хуле.
https://ru.m.wikipedia.org/wiki/Вычислительная_сложность#Асимптотическая_сложность
Я бы назвал инопланетный синтаксис.
Мелкие так хотели усидеть на двух стульях и перетянуть одеяло тырпрайза, что умудрились сделать жаба синтаксис еще хуже.
Наверняка сейчас сидят и смотрят на котлин и понимают, как надо было реально делать.
И вообще, хватит лезть же к взрослым дядям, идите дальше конвертите эксель таблицы в эксепшены.
хуже жавы? да фиг вам. они начали с жавы и потом наворотили много приятного
а жава как была многословной так и осталась (а по фичам каменный век)
и в котлине не особо лучше
кое что лучше да, но конструкторы, компньон обьекты, тупые енумы ничего не лучше, тип после переменной туда же.
также концепция TPL имхо более удобна (хотя может дело привычки)
На бейсике хуёво писать.
Но прочитать бейсик может даже 50-ти летняя марьиванна из бухгалтерии.
Куда идти чтоб быть модным пацанчиком, которому дают телочки а не красноглазым чуханом? Фронт на жс либо датасаенс на питоне? Еще что-то есть?
>Значит, ты не знаешь основы алгоритмов и структуры данных.
Я недавно спрашивал чо это такое, на дваче мне ответили джва человека и оба рассказали, что надо переворачивать деревья и учить чо такое стек и куча. Вот про ту залупу, про которую ты говоришь никто не сказал ничего
В порноактёры.
>шарпогосподин
А по всем признакам питонодаун смышленее будет
аряяя алгоритмы нинужны! нинужны яскозал!
Внезапно таки фронт-макаке может и не нужны, поэтому большая часть жсеров может забить хуй. Но если чувак сидящий на .NET несет подобное...
Значит кому-то пора найти работу, а то он так и останется хлебать борщи на мамкиной хате до 40 лет
Ну сложнее найти работу где без математики никуда
Когда валом вариантов где она не нужна
Так зачем напрягаться искать
>Вопрос почему тогда в вебе рулит Питон и Жаба-скрипт?
потому что мелкософт же.
1 изначально только винда (моно не считается)
2 боятся преследований и разбираться кто че никто не хочет. мс и все
3 боятся вендорлока на мс. в детали опять же вдаваться никто не хочет
те дяди что денежку платят они такие подробности вникать не хотят
ну во всяких ынтырпрайзах и банках он есть
а вот в конторках что на заказчика ориентируются - там не взлетел
>asp net core
Ищи количество вакансий в Рашке. А потом плачь
>Сайты на питоне? Ебобо?
Перед тобой разраб на питоне (tornado, aiohttp, fastapi). Задавай ответы
Кек. Знаю как минимум две галеры, где были половина питонисты и половина шарписты. В обеих в итоге шарпистов выперли на мороз и набрали ещё питонистов.
Шарп, конечное, тот еще вендор-шлак. Но, блин, набрать низкокачественных скрипачей вместо статик-бояр - тот еще ламерский подход.
Шарпей максимально натягивался на глобус, по средствам компании промывки мозгов студентов. Естественно, тугое натягивание еще одной джавы на глобус, такое себе занятие, как например писать замену С++.
Основной серверный де-факто стандарт, это юкикс-подобные системы. Core появился слишком поздно, ну и мало кто верит, что туда вложили качественные усилия.
То есть, core не выстрелил, поэтому МС там пытается сейчас объединить натянуть core на fremework, или как там его звать.
Но уже поздно, это надо было делать когда стагнировала жаба 10-15 лет назад.
Сейчас туда еще котлин въебали, так что любой джавист может легко писать на "джава шарп".
В шарпе бояться вендор лок, решетки символизируют.
Нужно чудо или влитое серьезное бабло в язык, чтобы шарп сейчас что-то мог противопоставить связке java/kotlin.
Если бы раньше я для пет проекта не взял бы джаву, ибо это путь серьезного ПО, то сейчас я делаю микросервисы на котлине, не медленнее и главное удобнее чем на питоне.
Естественно набив руку и умело юзая бекграунд джавы и частично котлина.
> и частично котлина.
Не потому что это тру-путь, а потому что просто знаю бэграунд джавы больше, но в случае достаточного свободного времени и если мне нравится DSL api у либы котлина, я стараюсь юзнуть котлин либу.
>выучить за день язык, чтобы застрять в нем навсегда
Пиздец, сейчас крудозапильные языки максимально изоморфны,
не знаю каким надо быть дауном, чтобы их "учить".
Вся мякотка у них во фреймворках, вот их ещё можно изучать.
Ладно тред бы был для запиливателей таких фреймворков, но итт кодомакаки с даннинг-крюгером соревнуются в хеллоуворлдах.
> низкокачественных скрипачей вместо статик-бояр
Если нечем больше гордиться — гордись статической типизацией своего языка.
> не медленнее и главное удобнее чем на питоне
Вот это очень интересно. Кто победит в качестве замены питону: го или котлин?
Го туча бойлерплейта, это цена за то, что там ничего нет, нашел что противопоставить.
Ну и конечно котлин или ему подобные современные языки, на сахаре и лямбдах на лопатки ставят старые языки, даже гибкие динамические.
>То есть, core не выстрелил, поэтому МС там пытается сейчас объединить натянуть core на fremework, или как там его звать
откуда у вас такие ебнутые мысли только рождаются?
мс сделали новую реализацию и сейчас хотят заменить старую новой, чтобы не было зоопарка. К тому же в старой не все реализуемо - те же спаны сбоку прикручены.
и с коре все хорошо. просто переход может быть затруднен если юзаются те апи что еще несовместимы. у меня на работе на большом проекте анализатор совместимости показал 99.91%
ждем коре 5 чтобы было 100% и без гемора перетащить
Хз, я вообще на эликсире пишу, но топлю за котлин тоже, потому что синтаксис охуенный
>котлин или ему подобные современные языки, на сахаре и лямбдах на лопатки ставят старые языки, даже гибкие динамические
Они сосут у Лиспов.
Это зависть. Завидуешь людям которые пишут на приятном языке и их ниипет всякие там го(вно)-веяния и котлинские WTF в синтаксисе
А хаскель у агды, дальше что?
>потому что синтаксис охуенный
у котлина 2 крайности
от "вот это круть" до откровенного "WTF бля"
конструкторы например
такое ощущение, что они думали в таком порядке
1 А давайте сделаем так чтобы не писать конструктор в классе, компактно. Делаем что пишется там где и имя класса и оно автоприсваевается. Сложнее читать? похуй. главное компактность
2 ой бля. нужно же иногда не только присваивать, а и код выполнять. ну ок влепим дополнительный блок init
3 да епрст. оказывается иногда нужно более одного конструктора. ну хуй с ним пусть будет привычный ака метод. ура ура мы молодцы
"А может нахуй тогда инит и оставить 2 вида - короткий и (если нужна логика) в виде метода" - да ну бред какой то
туда же компаньон обьекты вместо статиков. "нахуй стат методы, мы должны отличаться" и захерачили концепцию "вот вам обьект компаньон. непривычно? толку от такого синтаксиса нет? ааапохуй. мы вон вам конструкторы придумали
про енумы забыл че там за втф был и копать не хочу щас
Lisp is the most powerful language!
>>1793337
>>1793137
Да откуда вы лезете то? Из 2007го? Мало того, что кроссплатформенный нет кор существует, он опенсорсный, так при этом нет фреймворк обьявили чуть ли не deprecated и рекомендуют все новое писать на нет коре, ведь только в нем и пилятся новые фичи.
И то, в чем котлин бляди сосут, это в вакансиях. Да, джава работ вдвое больше чем шарпо работ, но котлин работ еще в 4 раза меньше. И это я просто в линкедине ввел в поиск слово "Kotlin", скорее всего 90% этих работ просто имеют в описании "Будет плюсом иметь опыт работы с Kotlin"
Поэтому если в 2020 ты хочешь писать на нормальном языке с GC, типизацией и сахарком, при этом зарабатывая деньги, у тебя нет никакого выбора, кроме как шарп.
я сам корщик
но я продолжу утверждать, что прошлое мс по отношению к анальной огороженности бросает тень и на шарп среди тех кто бабло платит
>откуда у вас такие ебнутые мысли только рождаются?
Ты плохо знаешь мягких.
Есть популярная мысль, мол, вдруг mono/core будет тупить или тормозить и нам придется перебраться на винду, типа такая задумка.
>коре все хорошо
Аноны помнят начало этого пути.
Родные корутины.
class MyType {
constructor(/⚹ args ⚹/)
}
}
А блок init {} - это то же, что instance initialization block в жабе, но с более интуитивным кейвордом init перед скобками.
>core будет тупить или тормозить и нам придется перебраться на винду
он опенсорс. - раз
да и и тупо это делать. ибо контигент для кого коре и так на винде и у них и так есть дотнет 4.8 (который очень даже взрослый)
так что это фантазии
>>1793774
>В котлине ЕСТЬ обычные конструкторы?
А я написал что их нет? я именно написал что они есть
в итоге разношерстный синтаксис. и нужно глазами выискивать и собирать в голове чо где кого куда зачем вызовет. Почему бы не сделать
1 короткий конструктор без метода
2 обычный в виде метода и остальные такие же
нахер тот блок инит. вы и так в тело класса лезете. ну так зачем засирать его отдельной сущностью если у вас УЖЕ ЕСТЬ constructor
>что instance initialization block в жабе
срать на жабу. котлин не жаба.
Да, чёт тупанул.
>Перед тобой разраб на питоне (tornado, aiohttp, fastapi). Задавай ответы
Как можно бек держать на серваке просто открытыми исходниками? Это же пиздец, любой уася может залезть и все поломать или переписать
>Кек. Знаю как минимум две галеры, где были половина питонисты и половина шарписты.
А вакансии открываешь и питонисты нахуй никому не нужны, тогда как шарпобояре в почете
Ну тогда уася сможет и экзешник сервера заменить на свой, раз уж доступ у него есть, лол.
на питухон три с половиной вакансии, а на шарпе большой выбор. А деньги? Ну мы же не ради чисто денег этим занимаемся? Деньги это приятный бонус, не более
Чтобы заменить на свой, его нужно сначала написать, да и нет там экзешников, как таковых в аспнет. А вот в петухоне реальная любой дурачок может в блокноте открыть и написать, здесь был уася и все, пизда рулю, все сломалось и порушилось
Кто тебе сказал про открытые исходники? Сборка через docker ведется, обновления в проджекты выкатываются по модели gitflow, мержи в релизную ветку запланированны, кроме пары сеньоров-помидоров, лидов и СЕО никто напрямую на сервак залезть не сможет
Это не ты случайно ОП "Аутентификации треда", где доказывал, что сертификатам TLS доверять нельзя, ибо любой анон с двача может наебать удостоверяющий центр?
А разве это не так? Сам факт наличия сертификата не говорит о подлинности сайта. Именно поэтому замочек https перекрасили из зелёного в серый, чтобы у пользователей не складывалось ложных иллюзий безопасности.
мимопроходил
> Чтобы заменить на свой, его нужно сначала написать
На цитаты можно разбирать. Такая-то хитровыебанная атака, патчами в коде. Какие-то дурачки, которые непонятно что на серваке делают. И эта эпическая уверенность что сломать и порушить приложение на шарпе нельзя, только потому что оно в виде байткода. Божечки, пэхаписты наверное более компетентны чем эти долбоёбы дотнетчики.
Все просто, если ты декомпилишь байткод, то к тебе сразу приходят люди в синем из майкрософта и забирают неизвестно куда. Не один какер не будет так рисковать, увидев байткод шарпа. или же, просто, увидев шарп, они пожалеют калеку и не станут ломать
Но в реале доля правды есть, он просто тупой и где-то слышал, но не понял. Суть в том что в скриптах действительно проще просунуть бэкдор в код, в пхп, помню, даже вирусняк такой был, автоматом внедрял свой код.
> Суть в том что в скриптах действительно проще просунуть бэкдор в код, в пхп, помню, даже вирусняк такой был, автоматом внедрял свой код.
И есть до сих пор, столкнулся с пхп-мирком недавно и охуел от этого, даже антивирусы есть.
мимо
В каком-то смысле это даже фича пхп. Разработка проще и быстрее: поправил в редакторе, нажал ф5 в браузере. Неспроста он съел большую часть веб-разработки. Такое-то волевое решение перезапускать весь скрипт на каждый запрос ради облегчения вката.
Я даже тебе скажу что можно и F5 не нажимать, все сразу налету. Дизайн править одно удовольствие.
Единственное, что там дятлы упоролись в ООП и php пошел не по тому пути развития.
Там реально каждый раз сотня классов инициализируется и всех это устраивает. Ппц.
Ну что школота/студентота, вошли в айти этим летом? Изучили свои питоны? Написали свою первую социальную сеть? Или крутое мобильное предложение?
так-с, что там у нас?
=две вакухи на невротъебенных сеньёров, где надо знать небеса и аллаха, платят соответственно
=удалёнка на фуллстака за зп джуна в ДС
=гуру за зп мидла
=ну и обычная себе вакуха
по сравнению с фронтом, жабой или мобилками весьма так себе
>по сравнению с фронтом, жабой или мобилками весьма так себе
вот только и конкурентов макак меньше.
и кодить приятнее
Мог бы вообще не поступать в вуз ебаный, но тогда считал себя слишком тупым для айти. Случайно начал верстать тк учился на рекламе, а там уже понеслось: реакты тайпскрипты ez,не задумываясь сразу забрал доки после первого тудулиста.
Ну а я на двух стульях хотел усидеть, так как ебучая армия и хотел выйти в образованные белые люди. Не смог, выперли. С тех пор изредка поглядываю на всякие дистанционки, потом схожусь на том что надо бы книжками обмазаться, какая разница домашний ты автодидакт или университетский, но в итоге забиваю и занимаюсь программированием.
>конкурентов макак меньше
если не считать кучи молодняка, у которыз в вузике преподавали шарпы
На питоне проще слепить из говна и палок встроенной либы какие-то окошки и показать детям. Пускай сама либа, это кусок реального говна, не имеющий ничего общего от реальной разработки десктопного приложение, но на этом все образование и строиться, сделать показуху и дать только то, что уже устарело или не нужно, или проще преподу/инфоцыгану преподнести.
Гвидо знал этот наеб и поэтому поместил этот кусок говна в стандартную либу, чтобы лучше продать язык.
До гуёв в вузиках добираются редко, обычно там лабы с реализацией сортировок/множеств вручную и выводом тестовых примеров в соснольку. Питон хорош для начального обучения алгоритмизации, это ведь тот же псевдокод, но исполнимый и на английском вместо АЛГ НАЧ КОН. В конце концов не бейсик с паскалём же давать тем, кто в среднем не может учиться сам. И даётся это всё с очень оптимистичной наивной надеждой, что студенты потом самостоятельно выучат серьёзные языки и уже на них будут искать работу.
>Поэтому если в 2020 ты хочешь писать на нормальном языке с GC, типизацией и сахарком, при этом зарабатывая деньги, у тебя нет никакого выбора, кроме как шарп.
А нука блять, где там вакансии на шарпе? Все что ни листаю какая-то ебола непонятная. В шарп умею, работу найти не могу сука.
Вообще, кстати, парни, помогите советом пожалуйста. Я вот знаю СиШарп, но чет с поиском работы не идёт. Какой язык выучить после шарпа и найти работу чтоб через полгодика хоть можно было? Жаба? Питон?
Жаба тебе будет ближе всего, к тому же на петухоне тоже хуй работу найдёшь.
Питон, пхп и жс пока рано списывать со счетов, каким бы говном они ни были. Не говоря уж про всякие 1с и SQL.
цэ, цэпэпэ, жаба(на ней работы до старости хватит да и сама платформа жвм не крякнет в любом случае), жс(монополист в вротэнде), пхп(нахуярить сайтик за минимальное время тут его не обойти), пистон(для датасатанистов и девопсов), сисярп(тоже хватает работы)
больше особо ничего не взлетит как бы там кровью не расписывались
Что значит "серьезные языки"? Я кроме пистона и жс ничего не знаю и мне как-то похуй, лавэ капает
> Я вот знаю СиШарп
Очевидные мобилки. Свифт или жаба/котлин. Ну или в гейдев на юнити на том же шарпе.
>Все что ни листаю какая-то ебола непонятная.
Что это, блядь, значит? Ты какую работу то хочешь?
Это верно, и всё же ООП-огрызок там чуть более целый.
>потихоньку началась утилизация плюсов
вот только ты со своей ржавчиной сегодня нахуй никому ни всрался даже за безплатно. Через лет так 20 можт и всрешься, вот тогда и поговорим.
И то не факт, ведь те же кресты тоже развиваются под современный лад (тот же 20 стандарт).
Максимум что он может обработать это твои аналлы
Ну а если серьезно то этот тред можно заканчивать одной лишь фразой Бьярне Страуструпа:
"Есть только два типа языков - те на которые все жалуются и те которыми никто не пользуется".
>фразой Бьярне Страуструпа:
>"Есть только два типа языков - те на которые все жалуются и те которыми никто не пользуется".
Типичное оправдание говноеда.
- Бьярне, почему кресты такое уебищное говно из кучи бездумно накиданных неортогональных фич?
- РРЯЯЯЯ СПЕРВА ДОБЕЙСЯ!
То, что много идиотов используют идиотские языки, говорит лишь о том, что идиотов много.
>Не изучать COBOL
>Единственный язык программирования который останется в будущем
Ну вы и мани
ютаб и иста: Я что для вас какя то шутка?
https://dotnetfiddle.net/H64Yt6
https://dotnetfiddle.net/3soW6F
static в реальном приложении не будет, потому что никто основную логику прям в Main не пихает.
Зачем вы призываете к ненависти? C# имеет достаточно встроенного функционала чтобы решить любую задачу. Если нет какого-то сахара - добавить его можно за несколько секунд.
Kotlin завезли недавно и ему выдали системный красивый print метод. В шарпе древний Console.WriteLine. Но разве это реальный минус? Мы консольный вывод только для вот таких вот примеров используем. В проде таких штук в принципе нет. Если очень нужно, то можно за минуту свой print с красивым выводом разных типов добавить (наверняка уже пакет на гитхабе есть такой).
Почему-то тут начинают тыкать в говорливость языка и приводят в пример Main() и прочие вещи, которые в реальном проекте на глаза в принципе не попадаются. Мне требуется всего несколько секунд чтобы понять что делает какой-то класс у нас в проектах и я свободно пишу 1к+ строк кода в день.
Чтение - быстро (секунды)
Написание - быстро (секунды)
Размер проекта с 20к+ строк - несколько кб
Какие метрики ещё надо использовать?
У вас есть аналог jar или в dll собираете??
Ты написал бесполезный комментарий. Единственная его цель - вызов враждебности.
Куда он опоздал? Почему ты за всех решил что он в линуксах не нужен?
Не важно кто его делал, какая у него история и прочие мета данные.
Мы имеем фреймворк (dotnet), который
- запускается на Windows/Linux/Mac/Android/iOS/web browser практически без изменения исходников
- умеет создавать приложения любого типа
- высокопроизводительный (используется в хайлоаде с обработкой тысяч запросов в минуту)
- имеет большое комьюнити
- позволяет создавать огромные приложения (1кк+ строк) и системы SOA/microservices в короткие сроки
- поддерживается кучей платформ (вшит по умолчанию во все основные облака и, кстати говоря, чаще всего хостится в Linux контейнере или на Linux App Service в Azure)
- опен сорс и бесплатен
- широкий выбор качественных инструментов для работы
- удобные консольные и GUI инструменты для сбора и анализа телеметрии и производительности
- удобные инструменты для отладки, включая дебаг локально и удалённо через SSH, Docker daemon, внутри k8s, через собственный протокол. И ещё вот такие штуки для особых случаев https://www.turboirc.com/rde/
Это только то, с чем часто приходится сталкиваться. Наверняка у других анонов есть ещё куча своих пунктов.
Потом мы имеем язык (C#), который
- имеет удобный синтакс щас начнётся...
- удобен в использовании
- легко писать/читать
- постоянно развивается
- используется во всяких Unity/Godot/CRYENGINE (https://dotnet.microsoft.com/apps/gaming) и ещё в куче популярных платформ
- делает сложным выстрелить себе в ногу
Откуда в вас столько ненависти? Почему вместо разработки вы занимаетесь какой-то ерундой и постоянно пытаетесь разжечь конфликт? Это вопрос в принципе к борде, а не к этому конкретному комментарию.
Ты написал бесполезный комментарий. Единственная его цель - вызов враждебности.
Куда он опоздал? Почему ты за всех решил что он в линуксах не нужен?
Не важно кто его делал, какая у него история и прочие мета данные.
Мы имеем фреймворк (dotnet), который
- запускается на Windows/Linux/Mac/Android/iOS/web browser практически без изменения исходников
- умеет создавать приложения любого типа
- высокопроизводительный (используется в хайлоаде с обработкой тысяч запросов в минуту)
- имеет большое комьюнити
- позволяет создавать огромные приложения (1кк+ строк) и системы SOA/microservices в короткие сроки
- поддерживается кучей платформ (вшит по умолчанию во все основные облака и, кстати говоря, чаще всего хостится в Linux контейнере или на Linux App Service в Azure)
- опен сорс и бесплатен
- широкий выбор качественных инструментов для работы
- удобные консольные и GUI инструменты для сбора и анализа телеметрии и производительности
- удобные инструменты для отладки, включая дебаг локально и удалённо через SSH, Docker daemon, внутри k8s, через собственный протокол. И ещё вот такие штуки для особых случаев https://www.turboirc.com/rde/
Это только то, с чем часто приходится сталкиваться. Наверняка у других анонов есть ещё куча своих пунктов.
Потом мы имеем язык (C#), который
- имеет удобный синтакс щас начнётся...
- удобен в использовании
- легко писать/читать
- постоянно развивается
- используется во всяких Unity/Godot/CRYENGINE (https://dotnet.microsoft.com/apps/gaming) и ещё в куче популярных платформ
- делает сложным выстрелить себе в ногу
Откуда в вас столько ненависти? Почему вместо разработки вы занимаетесь какой-то ерундой и постоянно пытаетесь разжечь конфликт? Это вопрос в принципе к борде, а не к этому конкретному комментарию.
- запускается на...
Одного запускается мало
- запускается на Windows/Linux/Mac/Android/iOS/web browser практически без изменения исходников
Как всегда, надо только...
- запускается на Windows/Linux/Mac/Android/iOS/web browser
Сейчас пойду на линуксах напишу кроссплатформенный гуй от мягких.
-Стойте, как это нету WPF?
-Куда, куда мне пойти?
-Понял..
- умеет создавать приложения любого типа
-Сейчас пойду на ардуино драва напишу.
=Стойте, куда мне пойти? Опять На...й??
- позволяет создавать огромные приложения (1кк+ строк)
Да ну нафиг, вот это язык, позволяет писать много кода. Офигеть. Вы только преставьте, можно много кода писать и создавать приложения любого типа. Ну офигеть.
Давайте еще в достижение запишем возможность компиляции и писать в ООП стиле.
- поддерживается кучей платформ
Здраствуй, вендор лок, а попенсорс линивые жопы, нехера толком ничего не пилят, потому что реально туда попенсорщики и не перекатывались.
>Azure
Вы представляете, язык от мс, поддерживается на серверах мс. Ну не чудо, а?
>широкий выбор
Ой не звезди, как была ахилесова пита в разнообразии либ, так и осталось. Хочешь бери вендор лок, хочешь не бери :)
>- удобные консольные и GUI инструменты
Ты подожди, я еще от миллиона строк кода не отошел, куда так стелишь, то
>включая дебаг
Дебагом ты только гоферов удивишь.
Ты как демагог, так себе.
- запускается на...
Одного запускается мало
- запускается на Windows/Linux/Mac/Android/iOS/web browser практически без изменения исходников
Как всегда, надо только...
- запускается на Windows/Linux/Mac/Android/iOS/web browser
Сейчас пойду на линуксах напишу кроссплатформенный гуй от мягких.
-Стойте, как это нету WPF?
-Куда, куда мне пойти?
-Понял..
- умеет создавать приложения любого типа
-Сейчас пойду на ардуино драва напишу.
=Стойте, куда мне пойти? Опять На...й??
- позволяет создавать огромные приложения (1кк+ строк)
Да ну нафиг, вот это язык, позволяет писать много кода. Офигеть. Вы только преставьте, можно много кода писать и создавать приложения любого типа. Ну офигеть.
Давайте еще в достижение запишем возможность компиляции и писать в ООП стиле.
- поддерживается кучей платформ
Здраствуй, вендор лок, а попенсорс линивые жопы, нехера толком ничего не пилят, потому что реально туда попенсорщики и не перекатывались.
>Azure
Вы представляете, язык от мс, поддерживается на серверах мс. Ну не чудо, а?
>широкий выбор
Ой не звезди, как была ахилесова пита в разнообразии либ, так и осталось. Хочешь бери вендор лок, хочешь не бери :)
>- удобные консольные и GUI инструменты
Ты подожди, я еще от миллиона строк кода не отошел, куда так стелишь, то
>включая дебаг
Дебагом ты только гоферов удивишь.
Ты как демагог, так себе.
> web browser
Надо рантайм тащить. Я конечно не спорю, он кешируется и растаскивается в CDN. Но это как минимум бьёт по тем у кого платный трафик. Уверен что это ещё негативно сказывается на времени запуска, отзывчивости и потреблении памяти, и на даже чистом жс будет быстрее и лучше. Собственно из-за этого большинство языков для вебассембли не годится.
> Linux/Mac/Android/iOS
Никто не будет нанимать шарпистов для mobile-first стартапа. Такое прокатит только если изначально было приложение на шарпе и его нужно портировать.
> высокопроизводительный (используется в хайлоаде с обработкой тысяч запросов в минуту)
Го быстрее, проще деплоится (опять же, нет рантайма) и поддержано cloud native community.
> позволяет создавать огромные приложения в короткие сроки
Ну это просто пук какой-то.
> удобные инструменты
Ну вот это ещё может кого-то убедить.
> используется во всяких Unity/Godot/CRYENGINE
Кстати в геймдеве таки да, шарп будет норм.
>>1803319
> Здраствуй, вендор лок, а попенсорс линивые жопы, нехера толком ничего не пилят, потому что реально туда попенсорщики и не перекатывались.
Вот этого оратора ещё двачну.
Какой-то порт и на питоне есть и еще тучу языков, но это всегда костыли "чтобы было". Хера там местами в 2кб стека уместишься даже на си-подобном местном языке.
>>1803224
>C# 6.0 July 2015
>At Google I/O 2017, Google announced first-class support for Kotlin on Android.
C# мог такой код писать ещё в 2015, пока Котлин только начал открываться миру. Сейчас такие операции можно миллионом разных путей решить - всё от конкретной архитектуры и вбранных стилей зависит.
я мимокрок
>- запускается на Windows/Linux/Mac/Android/iOS/web browser практически без изменения исходников
>Как всегда, надо только...
притянуто за уши
возьмем ту же жаву. Приложение на линукс чет нихрена нельзя юзать на андроид "практически без изменений исходников". А что же тогда можно? А всякие жава либы, которые не заточены под что то конкретное.
Ну так и в шарпе то же самое. В том же хамарин и блазор юзаются те же либы что и в десктоп приложении
>Стойте, как это нету WPF?
да. это они зря. мауи правда притащат, но он из хамарин ростет. хз че за хрень будет.
авалония все же не майковская
>Да ну нафиг, вот это язык, позволяет писать много кода. Офигеть.
вообще то там была приписка "в короткие сроки". Ай как не стыдно не замечать да.
>Ты подожди, я еще от миллиона строк кода не отошел, куда так стелишь, то
аналогично про "миллион строк". они реально есть просто ты предпочел закрыть глазки
>Дебагом ты только гоферов удивишь.
вот если бы они не забросили Debugger Canvas ироды, то можно было бы многих удивлять.
>Сейчас пойду на линуксах напишу кроссплатформенный гуй от мягких.
Такое впечатление что весь двач (весь последний год в любом pr треде) заполонили писатели гуёв под линукс десктопы. Видимо самое важное в 2020. Для тех двух с половиной писателей можно использовать PWA, Electron и прочие замаскированные под десктоп веб приложения. Всякие ноды этим постоянно занимаются и их почему-то любят.
Вообще ждём MAUI.
>Как всегда, надо только...
Наши системы запускаются под Win/Lin/Mac без единого изменения. Для Android/iOS (Xamarin) надо иногда какие-то особенности учитывать. Вообще хорошая практика - пилить UI отдельно от всего остального и под конкретную платформу.
>Сейчас пойду на ардуино драва напишу.
Делать детальный лист для двача - ну да ну да. Двачер будет использовать термины any/любой, если речь идёт о наиболее популярных вещах.
Но вообще:
https://create.arduino.cc/projecthub/sxwei123/serial-communication-with-net-core-3-0-on-rpi-linux-0f2ed4
Есть ещё такие штуки https://www.wildernesslabs.co/developers
>позволяет писать много кода
Не писать, а легко писать и потом всё это поддерживать. Поддержка 1кк+ строк кода в приложении на c++/питоне/ноде будет сродни мазохизму.
Но посыл был не в этом.
>Вы представляете, язык от мс, поддерживается на серверах мс.
dotnet поддерживается и на AWS и на GCP. Azure и AWS - топовые облачные платформы. Azure крутит увесистые части инфраструктуры много триллионных организаций (US DoD, Fidelity) и прочих мега корпораций. Azure достаточно популярен чтобы его приводить в примеры в таких топиках.
Твой ответ в стиле "надо придраться к орфографическим ошибкам". Выдрать слова из контекста, втолкнуть в свой, на ходу придуманный, и к этой выдуманной реальности написать комментарий.
Смысл был не в том, что дотнет и шарп - вершина, а всё остальное - отстой.
Если коротко: dotnet/c# - легко доступные и удобные инструменты, с которыми уже знакомо огромное количество разработчиков и которые позволяют решить большую часть насущных проблем. Есть и другие инструменты. Каждый выбирает что ему по душе или нужно для конкретной задачи.
Но здесь почему-то начинают агриться и закидывать умственно отсталыми комментами почти любое высказывание, в котором содержится упоминание о C#/dotnet.
>Сейчас пойду на линуксах напишу кроссплатформенный гуй от мягких.
Такое впечатление что весь двач (весь последний год в любом pr треде) заполонили писатели гуёв под линукс десктопы. Видимо самое важное в 2020. Для тех двух с половиной писателей можно использовать PWA, Electron и прочие замаскированные под десктоп веб приложения. Всякие ноды этим постоянно занимаются и их почему-то любят.
Вообще ждём MAUI.
>Как всегда, надо только...
Наши системы запускаются под Win/Lin/Mac без единого изменения. Для Android/iOS (Xamarin) надо иногда какие-то особенности учитывать. Вообще хорошая практика - пилить UI отдельно от всего остального и под конкретную платформу.
>Сейчас пойду на ардуино драва напишу.
Делать детальный лист для двача - ну да ну да. Двачер будет использовать термины any/любой, если речь идёт о наиболее популярных вещах.
Но вообще:
https://create.arduino.cc/projecthub/sxwei123/serial-communication-with-net-core-3-0-on-rpi-linux-0f2ed4
Есть ещё такие штуки https://www.wildernesslabs.co/developers
>позволяет писать много кода
Не писать, а легко писать и потом всё это поддерживать. Поддержка 1кк+ строк кода в приложении на c++/питоне/ноде будет сродни мазохизму.
Но посыл был не в этом.
>Вы представляете, язык от мс, поддерживается на серверах мс.
dotnet поддерживается и на AWS и на GCP. Azure и AWS - топовые облачные платформы. Azure крутит увесистые части инфраструктуры много триллионных организаций (US DoD, Fidelity) и прочих мега корпораций. Azure достаточно популярен чтобы его приводить в примеры в таких топиках.
Твой ответ в стиле "надо придраться к орфографическим ошибкам". Выдрать слова из контекста, втолкнуть в свой, на ходу придуманный, и к этой выдуманной реальности написать комментарий.
Смысл был не в том, что дотнет и шарп - вершина, а всё остальное - отстой.
Если коротко: dotnet/c# - легко доступные и удобные инструменты, с которыми уже знакомо огромное количество разработчиков и которые позволяют решить большую часть насущных проблем. Есть и другие инструменты. Каждый выбирает что ему по душе или нужно для конкретной задачи.
Но здесь почему-то начинают агриться и закидывать умственно отсталыми комментами почти любое высказывание, в котором содержится упоминание о C#/dotnet.
>Надо рантайм тащить.
Для игр, сложных софтин или даже того же Outlook/Gmail вполне можно стащить пару мб. Скорее всего оно пойдёт по пути контейнеров (Docker). У тебя будут образы с рантаймами, которые браузеры будут кэшить, и на них ты будешь запускать свои приложения.
>на даже чистом жс будет быстрее
Blazor выигрывает в производительности. Но зачем сравнивать сырой продукт с тем что уже давно на рынке? Весь WASM ещё сырой, но очень желаем. Ждём нормального релиза и обката в проде. Будет нормальный multithreaded runtime, будет lazy loading и конечно AOT.
>Го быстрее, проще деплоится
Можно бенчи посмотреть? Вангую -10% < "выигрыш" < 10% (т.е. в пределах погрешности) в зависимости от задачи.
dotnet publish --self-contained true --runtime ubuntu.18.04-x64 - куда ещё проще? По умолчанию оно с собой тащит рантайм и может вообще всё в один файл запихать, который ты потом можешь
./my-app
в консоли и оно будет работать без установленного в системе дотнета хоть на отдельно взятой VM, хоть где-то в облаке.
>Никто не будет нанимать шарпистов для mobile-first стартапа
Как можно такое за всю планету разом говорить? Я в одном из таких участвовал. Приложение в помощь проведения клинических исследований. Xamarin все дела. Нормально было.
>Поддержка 1кк+ строк кода в приложении на c++/питоне/ноде будет сродни мазохизму.
Гребанные сектанты. "Только в нашем языке строки самые читаемые" и пофиг что это слизанное жаба-ООП и с кучей синтаксического изнемогания. Если в топорной жабе то плохо читается, то шарпе вообще можно устроить такой разгуляй, что позавидует плюсовик.
> в топорной жабе то плохо читается
Нам котлин завезли, так что скоро по количеству нечитаемого и неподдерживаемого говнища мы быстро обгоним шарп и приблизимся к плюсам.
> Outlook/Gmail вполне можно стащить пару мб
Уже куча постов про это было и на HN, и на хабре, что мы пошли куда-то не туда. Чтобы проверить долбаный список блочков из текста, нужно загрузить небо и аллаха. Всё то же самое можно нахерачить на расте или assemblyscript и получить очень тонкую сборку.
> WASM ещё сырой
Чёэтавдруг? Везде уже включен по умолчанию.
> Можно бенчи посмотреть?
Структуры на стеке можно. В шарпе скорее всего как в жаве, объекты всегда в куче.
дебил, ты текст до конца не дочитал, но спиздануть что-нибудь уже невтерпёж
уже 20 лет прошло, а вы всё кококо, слизано с жабы
Да, грустно.
Вкатываюсь в анализ данных, пока хватает BS и панды, но смотрю в будущее.
А еще напрягает всратость самой джвм. Отсутствие структур, дженерики только для референс типов, из-за чего нужны костыли типа Integer и так далее. В то время, как на шарпе даже с указателями ебаться можно.
В эксель и маркетинг учи вместо R.
да ничего.
полезно знать, чтобы дедовские книжки читать и понимать.
но писать на нем уже не нужно.
Он же вроде синтаксически примитивный?
Алсо, расскажи куда ты там "вкатываешься".
Почитай это. Перепись джунов за 300. Без слез не взглянешь.
https://t.me/datalytx/427
И это еще типа крутой аналитик.
Вообще-то, понимание какие именно топики формулирует LDA это довольно сложно и не относится к программированию,но из области абстрактной фантазии.
Наверняка нихуя не получится у этих джунов и примкнувшим к ним сеньоров, но я бы почитал результаты.
Среди моих личных кандидатов: zig, v, nim, rust, go.
Но я не очень понимаю их принципиальные отличия. Все обещают быть хорошими, все вроде бы приносят что-то новое и интересное. Но неясно зачем мне к примеру hot code reloading и tiny compiler из v. Зачем мне тупейшая простота го. Зачем мне такой сложный, почти как плюсы, язык как раст. Зачем мне адские макросы ним. Зачем мне невероятный контроль над компилятором в zig.
Анон, я знаю, ты детально разбирался с каждым из них, какой более достоин внимания и почему?
Зачем это всё если есть божественный elixir?
Чтобы понять hot code reloading (на самом деле это не то, но не суть), возьми любой лисп (или смоллток, если боишься скобочек).
Из предложенных для изучения во время новогодних праздников годятся только ним и раст. Остальные никаких новых концепций тебе не откроют, поэтому их изучение в формате "для себя" бессмысленно. Если хочется когда-то эти знания еще и применить на практике, то остается только раст.
мимо
Пошел нахуй.
В макдак кассиром
офк джава и шарп
Очевидный Си. Лучше только ассемблер.
Оправдывайся дальше.
https://tproger.ru/articles/top-10-jazykov-programmirovanija-v-2020-godu-po-versii-github/
Очевидно что если надо хоть базы данных обрабатывать, хоть боты писать или небольшие игры делать у питона из коробки всё легко, просто, функционально. И все адекваты предпочтут функциональность, поэтому библиотеки на питоне создают наса и мит под свои нужды, а на брюзжание двачеров всем как-то пофиг.
Очевидный lisp очевиден.
Чел говорит про то, что инфо.ц раздувают пузырь и тут же ты приведешь статью про питон, якобы по версии гитхаба, но тут же ссылка на ноунем рейтинг. И это как раз яркий пример раздувания, так как на гитхламе самый популярный по статистике js (вторая картинка по ограничению в 10К звезд).
Еще недавно он занимал там 3-5 место, собственно, раздувания пузыря налицо.
PS сейчас бы на месте ваннаби программистов радоваться, что растет число программистов на одно рабочее место. Серьезно.
Хоти.
Здесь треды либо про то, что представляет коммерческий интерес (жаба, жс, питон), либо академический (haskell, sicp). Остальное долго не живёт.
Официальная площадка для обсуждений, очевидно, будет самой активной, ибо там собираются ради чего-то конкретного. А на двачике ничего официального нет.
Dlang же, ну
Вы видите копию треда, сохраненную 3 июня 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.