Как-то всю жизнь обходил стороной C#, по причине того, что кодил только веб-приложения на линуксе. Но тут для своих задач открыл шарфик (C#), который достаточно давно стал кроссплатформенным (настоящим) языком. Но ладно бы еще одно открытие языка и очередного синтаксиса, но я открыл действительно что-то ценное для себя в этом протухшем мире ИТ (ниже поясню).
Дело в том, что раньше не существовало понятия лучшего языка программирования. Все языки были в какой-то степени хороши и плохи. И тут скорее выбор напоминал между сортами говна, чем реально между чем-то удобным. Поэтому фраза "лучший язык программирования" всегда выглядела дилетантской.
Постепенно погружаясь в шарп и его инфраструктуру, я понял, что этот язык действительно вобрал и вбирает в себя все лучшее и нужное для прикладного уровня. От игр и вебассембли, до обычного бэкенда, машинного обучения и окошечек на десктопе. При этом весь его синтаксис действительно выглядит продуманным, а не как в типичных новых языках, где как-будто сил хватило только на половину синтаксиса, а остальное засунули с фразой "и так сойдет". Ну, вот как пример, автовыведение типов с "var" (let, val), в шарфике нельзя сделать автовыведение в классе (только для локальных переменных), что логично, если бы оно работало для классов, то сложно было понять сигнатуру класса без IDE. Во всех новомодных языках же можно клепать эту фичу куда угодно, конкурируя только с синтаксисом динамико-дресни (динамических языков).
Ладно, но почему лучший? Да просто потому, что остальное говно:
Java - работал с ней много лет, это тот еще пузырь раздутый инфоцыганами и пафосными конференциями, которые создают впечатление ультрокрутого языка. Но в действительности, можно до бесконечности ковырять этот многомерный кал под названием Spring и прочее устаревшие говно мамонта, но стоить уже признать (хотя бы себе), что инфраструктура этого языка просто устарела и протухла. Если бы не openjdk и мобильная разработка, имхо, джаву бы постигла судьба кобола. Но благодаря усилиям евангелистов джавы (их правда так называют) язык постоянно раздувают снова и снова (иначе не получить рабочую силу, на многотонные говно-плиты легаси кода).
Go - пытается кого-то удивить в 2021 асинхронщиной (и скоро, возможно, дженериками, лол). Язык микросервис, язык if err != nil Не, ну я понимаю поиграться на этом пару недель и написать свою утилитку в 500 строк. Но как на этом реально программировать долгие годы?
Rust - пытается и так сложное системное программирование засунуть в рамки борроу-чекера. Видимо, программистам и так скучно на системном уровне, что им надо еще больше ограничений в коде. Если раньше боролись с сигфолами, но могли хотя бы выражать свои мысли в коде. То теперь нужно пропихнуть свой код в "узкую трубу" парадигмы и попробовать еще написать продуктивный код.
Python - сложно назвать языки с динамической типизацией и отсутствием (без костылеварения) многопоточного программирования - языками вообще, но как же хорошо на них зарабатывать. Если вы клепаете видосики на ютубе, или пишите книжку или хотите создать курсы, это определенно ваш выбор. Питон - это язык "вкатон", лучший язык по версии хочух-в-айти. В реальности, экзотический синтаксис сего чуда заставит плеваться от всех остальных языков в будущем (потому что первый язык оставляет сильный отпечаток восприятия, а питон у нас особенный во всех смыслах).
Node.js - вообще выглядит как лабораторная студента. Казалось бы, что может быть еще хуже чем js, а оказывается может, достаточно добавить каллбэки и промисы.
PHP - еще один стагнирующий язык, мог бы стать чем-то лучшим для веба, но его убили тем, что в него засунули синтаксис джавы. Зачем динамическому языку ООП и тем более интерфейсы, мало кто ответит (они реально использовали интерфейсы, даже когда не было хинтов на типы). В общем, если хотите убить язык, добавьте в него джаву.
Kotlin, scala - пока компилируется код, можете изучить, скажем, groovy. Удвойте, утройте количество знаний и проблем за ту же зарплату, на той же jvm, но получите чуток сахарку на пару строк.
И так, что же остается, единственным недостатком шарпа в сравнение со всеми другими языками, является то, что он попросту не успел прыгнуть в нужный вагон в свое время. А вот с появлением .Net Сore (а теперь просто .Net 5), он начал солидно так набирать популярность вне круга окошечников.
Платформа .NET - это лучшее, что создала компания MicrosoftБилл Гейтс
>>253423744 (OP) Для меня С# стал божественным из-за того, что работаю я теперь около 16 часов в неделю, а получаю тоже самое, как фуллтайм на джанге с питухоном.
Майки сейчас всё больше закапывают бедный язык. Посмотри, чем и как думают дизайнеры языка. Из него делают какой-то кадавр, делая фичи, которые затыкают мелкие проблемки конкретных внутренних кастомеров MS.
Вместо того, чтобы делать те вещи, которые позволили C# хоть чуть-чуть быть похожим на современный язык. (См. всю замечательную историю относительно попыток туда тайпклассы добавить, там даже идеальный энкодинг в язык и рантайм для этого был найден)
> scala > получите чуток сахарку на пару строк
Скала не про это. Скала - это про то как ваннаби хаскелистами поэкплаутировать JVM экосистему. И да, скала - самый продвинутый по системе типов (и макросам) язык в мейнстриме. На порядки выше остальных в этом.
>>253424585 Я перед свиньей бесер не буду метать. Ты не шаришь ни в Go и его особенности, ни JS ни даже в С#. Че то там лепечешь что С# хорофый язык. Ну и что?
>>253423744 (OP) >кроссплатформенным Дальше не читал, тут налицо непонимание внутреннего устройства айти. В общем случае кроссплатформенность важна, но в данном случае она ничего не меняет. Принадлежность мелкософту - это зашквар, и работает она по правилам зашквара: если частица майкрософта (хуиная молекула) единожды попала на технологию, технология остаётся неприкасаемой навсегда. Навсегда! Даже если Терри Дэвис спустится с неба в окружении ангелов славы и провозгласит, что какой-нибудь vscode - это хороший редактор и достойная замена виму/емаксу, а каком-нибудь гитхабом можно снова спокойно пользоваться, как в 2010-м, то правдой это не станет, а Терри придётся объявить лжепророком и публично распять на говностолбе.
>>253425246 На компанию. Сейчас очень непопулярную точку зрения скажу, но вкатиться джуном к иностранцам на порядки проще, чем в отечественные фирмы из ДС. Разговорный ангельский в чатрулетке можно подтянуть.
Божественная троица Asp.Net, TypeScript, Angular явилась дабы всех спасти. Но погрязшие в суеверии древних веков линупсоиды и юные вкатунцы петонеры/жисеры противятся свету. Пусть же так и будет дабы сияла троица еще ярче для зрящих.
>>253426079 Фреймворчно-костыльная троица Asp.Net, TypeScript, Angular явилась дабы всех погрузить в мрак невежества автомации. Но погрязшие в суеверии древних веков линупсоиды и юные вкатунцы петонеры/жисеры противятся чуме. Пусть же так и будет дабы сияла троица еще ярче для зрящих, и её оходили стороной.
Сложно сказать — у меня изначально был оффер на 320 от банка и компании сомневались, но когда узнавали, что веду переговоры с конкурентами, сразу дело поживее пошло. Без параллельных офферов не уверен, выбил ли бы больше 300.
>>253423744 (OP) Как же хорошо, что я начал учить программирование с си, с++, а потом сразу шарп. Дрочил окошки на wpf. Там настолько чистый и выразительный код и приятная в использовании платформа, что я на джаву уше смотрю как-то так, а питон вообще не считаю за язык, это говно скриптовое для математиков, которым надо быстренько алгоритм накидать. Я настолько проперся по тому как красиво и аккуратно сделан дотнет, его код, документация, что я мечтаю в майкрософт устроиться, чтобы такую хуйню создавать. но мне пока средний балл не позволяет, но я попытаюсь
>>253425753 Бля, а ведь реально есть люди, которые получают 280к в месяц. Пиздец. Я работаю 5 лет и получаю 50к. Причем даже не представляю, что там нужно уметь такого, чтобы получать в 6 сука раз больше. Я ж не могу в 6 раз больше всего знать, это нереально. И главное как туда устроиться?
>>253426404 >инструмент Под инструментами обычно подразумевают гигабайты кода, для поддержки которых и придумали ООП, а не консольные приложения на лабу.
>>253426591 Да, на C. Именно поэтому, что в в виндоус, что в кернеле линукса лежит древний код из из 20-ого века, который никто не может разобрать и переписать.
>>253426357 >Ну пиши на нем без классов todo list и джун похерит тебе все данные а хакер взломает и выебет. Удачи, лол: я год назад поспорил с безопасником, что он мою прогу для физ. расчётов на 10 МБ обрушит на локалхосте. До сих пор ломает.
>>253423744 (OP) Нету нормального шарпа под IOT. Пилят опенсорс залупу уже 15 лет, одна в процессе сдохла, ее возродили под другим чутка соусом.
Она жирная пизда выходит. Тебе 1к рублей себестоимости дейвайса добавляет только сам факт подъемна CLR и он там не такой как на винде, а урезаный ебанись будет.
Идея хороша, но вряд-ли шарп займет эту нишу, пока они до ума доведут, туда уже пидоРАСТ выкатят и ВСЕ.
>>253426468 Уровень понимания абстракций: веб-мастер Код в контексте данной метафоры - либо конечное издение, либо материал. >>253426646 В линухе-то что неразбираемого? Есть пара средней выёбистости хаков в подсистемах виртуальной памяти и ВФС, но они замечательно задокументированы. И нафига его переписывать?
У меня первая фуллтайм-работа была в 2015, фрилансил года с 13-го студентотой — тоже не вчера в отрасль вошёл. Первая зарплата у меня была ₽30К.
>И главное как туда устроиться?
HR-ы пишут же постоянно во все каналы: по почте, в linkedin, в телегу, в вк(я профилем не пользуюсь уже лет пять, тот закрыт, но его какая-то буйная нашла). В начале августа я просто ответил паре дюжин, меня заинтересовали 6 компаний, оффер дали 4(две испугались по деньгам — к моменту переговоров о зарплате у меня был оффер на 320, о котором писал выше по треду). Скриншот календаря с графиком собесов/переговоров на пике.
У меня товарищ работает в бэкенде рекламы(основной генератор денег для Яндекса), у него ~500 выходит, но это с бонусами и RSU, полученными за прошлые годы.
>>253427157 Потоки и промисы - совсем разные вещи. Поток - сценарий, которому следует процессор, с общим ресурсом других потоков. Промис - обещание вернуться к выполнению функции, добавляя её в ивентлуп.
>Причем даже не представляю, что там нужно уметь такого, чтобы получать в 6 сука раз больше. Я ж не могу в 6 раз больше всего знать, это нереально.
Я ничего особенного на собесах не показыал. Яндекс спросил свой алгоритмический дроч, потом попросил в прямом эфире закодить задачку(оба раунда я так себе сделал, IMO), дальше мы просто поболтали с лидами о всякой херне.
Озоновцы погоняли по дотнетовскому рантайму, попросили решить простую алгоритмическую задачу(мне кажется, там было где-то лучшее решение по времени/памяти, но интервьюеры ничего не сказали), позадавали вопросы по БД, что-то спросили про проектирование микросервисов, попросили отревьюить код, что-то ещё тоже было — там вышло четыре раунда собеседований, часов на шесть в сумме. Звучит страшно, но с нормальным опытом работы оно скорее просто долго, чем сложно.
Этот прекрасный язык вобрал в себя все самое лучшее: от extension methods с anonymous types и linq до async/await с target-typed new expressions (господи какая охуенная фича) и возможностью байтоебить в unsafe mode.
Великие мыслители 21 века из Майкрософт дарят нам неоспоримо великолепнейшую платформу — .NET.
Пока чернь и смрад учат undefined && '0' это NaN или segfault, а различного вида подонки тренят нейронки, тратя 50% процессорного времени на type-checking, Дотнет-Всадники предвещают, используя лучшие тулзы от идыех от JB до source.dot.net (Roslyn) с sharplab'oм, апокалипсис в анусах лингуса-дрочеров и прочих несогласных
>>253425753 Хуевые у вас в Рашке ЗП, я в Украине 10 офферов получил на 450-500к чистыми, половина из них на обычного синьора, и 500к это не предел, можно и 600к получать на позиции архитекта. На самом деле больше чем 600к, но 600к, это то, на что может выйти каждый если захочет.
>>253423744 (OP) Как много текста и как мало по делу. Аргументы в стиле "ну это говно, а в сисярп не говно, и там тоже говно, идеально для говноедов, а вот сисярп для крутой". >Недоумевает хули ему тут отвечают в таком же стиле.
Щито поделать, дэсу. Я так себе сеньор, а экономика в жопе. В целом, сам заслужил — у товарищей, которые завели трактор, заметно больше. Однокурсник выбил в районе миллиона(если на рубли пересчитать) чистыми в месяц, но он контрактор и налоги у него заметно ниже среднеевропейских.
>>253425249 Работал в 2гисе, потом непосредственно в самом Сбере. И там и там зп у шарпистов были выше на треть, по этому большинство их там и работало. И сейчас джунов они набирают только шарп и голанг
>>253427580 А акции ты можешь продать в любой момент? Или компания еще не вышла на IPO и это по факту бумажки, которыми можно вытереть жопу если ты уволишься до IPO? И кстати за сколько хату в ДС снимаешь?
>Или компания еще не вышла на IPO и это по факту бумажк
Я выше писал, это Яндекс и Ozon — продать можно без проблем.
>А акции ты можешь продать в любой момент?
Там есть ограничения, но они не особо мешают. Что хуже, сам вестинг RSU растянут на годы / они подбрасывают понемногу в процессе / сгорают при увольнении — это в первую очередь способ привязать сотрудника к компании.
никто не отрицает, что в самой джаве есть проблемы с языком. вот только самое главное - это jvm, все остальное второстепенное. и так-то jvm продвинутее .net.
да и в 2к21 начинать разговоры о языке - ну хз, ты жуник?
>>Node.js - вообще выглядит как лабораторная студента. трижды долбоеб
>>PHP >>бы стать чем-то лучшим для веба не мог бы
>>Kotlin, scala плюсы покомпилируй
сам дотнет не лучшая вещь, но и не худшая, работал сам 4 года на дотенете, потом ушел, в любом случае майкрософтам респект за все открытые технологии, что они создают, особенно когда они сами себе срут под ноги с .net vs .net core разными несовместимыми версиями
>>253430386 Так на этот высер опа в стиле то говно, это говно - даже отвечать не хочется. Тупой байт на холивар, без каких то весомых аргументов, состоящий из отсебятины приправленной нереальным пафосом
>>253423744 (OP) Дед, для веба давно javascript как серверный так и клиентский везде, для невеба c++, ну или java если проект здоровый с кучей разрабов (тупо удобнее и быстрее). Со своими шарпами нахуй пошел, это очень нишевая и специфическая штука для таких же дедов, никогда она не взлетит.
>>253423744 (OP) >Если бы не openjdk и мобильная разработка, имхо, джаву бы постигла судьба кобола
openjdk тут не причем. JVM, которую писали в Sun Microsystems, выложили в опенсорс еще лет 15 назад. Собственно это и есть openjdk. Мобильная разработка да, добавила популярности конечно, но сейчас уже котлин вовсю используют, а джава так и не умерла.
>>253428493 Это не помогает, потому что джит в дотнете говно, как и весь рантайм в целом. Его спасает только то, что есть куча адхок фич под байтоебство.
А так что гц, что джит сосут у жвм по всем фронтам, увы. Включая качество самого кода, посмотри на то как гц в джаве написан (там такие исходники, что любой разберётся) и посмотри на всем известный дотнетовский gc.cpp который такой большой шмат говна, что его файл даже гитхаб не открывает.
Да и то, какой бы хороший джит не был, они все равно проигрывают целиком и полностью нормальным аот компиляторам. В особенности, если хочешь писать красивый код с абстракциями и чтобы он ещё был быстрым при этом.
>>253436027 >openjdk Это реакция крупных компаний, которые настолько погрязли в джаве, что им пришлось пилить этот костыл после перекупки жабы. Самое смешное, что раньше джависты пугали шарпистов лицензионным адом, но вышло ровно наоборот.
Openjdk - это скорее плод из говна и палок на скорую руку, после крушения "корабля джавы".
>>253437377 Ну не особо, всё важное из оракловой жвм туда перетащили и там к тому же есть ещё свои эксклюзивные фичи типа shenandoah gc, до которых шарповому рантайму как до луны
>>253434923 Жопой читаешь? Он про ноду твою и написал. К счастью, эксперимент на тему, что можно взять легион фронтент-макак и усадить за бэкенд - провалился. Причем лет так уже 6-8. В общем, с пробуждением тебя тоже.
>>253437559 > эксперимент на тему, что можно взять легион фронтент-макак и усадить за бэкенд - провалился И тут ты приносишь это исследование. Или его не существует?
>>253423744 (OP) Мне пофиг на буржуйские ваши языки. Я 1Сник. У нас самый лучший язык. Нет дебильного ООП, не надо ангельский знать, Пыня не запретит его.
>>253437647 Зачем тебе что-то приносить, если ты путаешь эксперимент с исследованием? Зачем вообще что-то доказывать ваннаби-программисту? Забавно, как ночное общение про работу утром перекатилось в срачь js-макак. Все учебники к школе купили?
>>253437937 Пока ты не принес ни того, ни другого. Ну и о чем говорить, если дсотоверность эксперимента сложно опровергнуть. Впрочем, не буду распыляться. Еще раз, ни того, ни другого. Особенно смешно твое сведение к оппоненту, видимо ты обосрался, деточка.
>>253437685 Ну начнем с банального, escape анализа как не было в дотнете, так до сих пор и нет, хотя issue уже минимум несколько лет висит на гх. Или как там у дотнета автовекторизация циклов (без ручного использования System.Numerics.Vectors) поживает?
Про гц я уж вообще промолчу. См сколько вариантов и настроек гц есть в джаве и сколько в шарпе. В шарпе хочешь лоу латенси - иди и сам байтоебь свое говно без вариантов. Спрашивается зачем тогда мне шарп, если на нативном языке байтоебить будет проще на порядок.
>>253438044 Обосрался только ты, когда посчитал js языком программирования и переобулся в "дай мне цифры, а свои я не буду приводить, ведь я макака, я могу голословно писать, ко-ко-ко"
>>253423744 (OP) Правильно пишешь. Сам разрабатываю веб на шарпах. Писать приятно, хороший баланс возможностей и читаемости, нормальная производительность, достаточно библиотек и поддержки всякими технологиями, облаками. Каждая новая версия приносит немного фич, хотя бы часть из которых находит повседневное применение. Пробовал ваши питухоны - прикол, вроде, понял, но не смешно. Раст тоже не впечатлил. Плюсы побольше нравятся.
Из плохого - не у всего поддержка первоклассная. Сотрудники плюются на замарин для айфонов, не взлетевшие веб фреймворки периодически закапывают, но так везде, наверное.
>>253423744 (OP) >Java - работал с ней много лет Много когда оп малолетний 18 летний дебил? В твоем высере даже разбирать нечего - понахватанные мнения из статей для идиотов
>>253438145 >сколько вариантов и настроек гц есть в джаве и сколько в шарпе Забавно что в технических кругах множество настроек ГЦ в джаве воспринималось как недостаток самого дизайна ГЦ. И после высера го, в джаве, неожиданно, стали появляться ГЦ с аналогичным дизайном (микро-задержками) и меньшим числом настроек.
Вот так вот технический просёр, можно влить в неокрепшие головы как достоинство. Это как если бы ты купил радиоприемник, но переключать станции мог только после перепайки определенных контактов.
>>253427347 Ну, любому знакомому со словосочетанием "длинная арифметика" ничего сложного хоть в терабайтных файлах не будет алсо упаковал все в либу да вывел наружу методы чтобы дергать, вот и абстрагировались от терабайтов твоих
>>253438480 Когда джава-манямирок треснул. "Ко-ко-ко, мне на конференции сказали что жаба это модно и современно! Сейчас только геттеры и сеттеры допишу и скажу какой ОП - говно!"
>>253438734 И да, ядро 7зип пишется нтхуя ее на петухоне, лол. Весь уровен петухонщика - это подцепить либу на ноомальном языке, да дергать методы с нее с графической морды дергать, как он привык на своем анусе
А если я знаю только язык VB6, то какой мне сейчас учить, чтобы было проще всего для себя написать утилиту, нужно парсить один сайт и доставать оттуда ссылки. А VB6 не работает нормально уже на десятке, а скоро вообще 11 винде будет. мимо бумер
>>253438662 С го сравнение не очень корректное, потому что в отличие от него, жвм рассчитана на очень широкий спектр нагрузок по гц.
У тебя на джаве могут быть как и десктопные приложения с хипом в сотню мб (или десятки если грааль взять), так и монстры с хипами в сотни гигов. Когда у тебя возможные паттерны использования так отличаются, то тебе нужны ручки.
>>253439285 Сложное что-то и зумерское. Думаю, либо попробовать VB.net какой-нибудь, он же хоть чуть-чуть похож сейчас на VB 6.0 98-го года? Либо php, на нем тоже говнокодил немного в зумерстве для себя, только там интерфейс нужно на html делать и платформу держать запущенной, чтобы скрипт по расписанию запускать. А тут exe шник просто сам работает.
>>253439260 >жвм рассчитана на очень широкий спектр Каких? Что го используется для бэкенда (микросервисы), что жаба используется только для бэкенда (легаси-кобол-говнина).
Да, сейчас найдется какой-то умник, который принесет какую-нибудь костыль игру на джаве или го, или еще что-то. Но мы же реалисты.
>>253439661 Ну тот же десктоп на джаве все ещё умудряются писать. К тому же на джаве и микросервисы пишут и говномонолиты астрономических размеров и всякую ебанатику уровня инвест банков для которую azul покупают.
На го, я все же надеюсь, говномонолиты всерьёз никто не пишет, все же 2021 год на дворе.
>>253439217 VB.NET нормальный вариант, похож, возможностей много. Но будь готов, что значительная часть документации по .NET и смежным технологиям предлагает примеры только на C#. Разумно (и достаточно просто) было бы перекатится в него со временем.
>>253423744 (OP) >пузырь раздутый инфоцыганами и пафосными конференциями, которые создают впечатление ультрокрутого языка Буквально C#, искусственно качаемый майкрософтами в вузах и на пендоском рынке >Go - пытается кого-то удивить в 2021 асинхронщиной Под "асинхронщину" голанга выделили отдельный термин не просто так >ну я понимаю Ничего ты не понимаешь, раковый зумер >Rust >Если раньше боролись с сигфолами, но могли хотя бы выражать свои мысли в коде >То теперь нужно пропихнуть свой код в "узкую трубу" парадигмы борроу-чекера Макачья шизофазия >Python >экзотический синтаксис С-лайк с табами под скопы? >питон у нас особенный во всех смыслах В каких смыслах? >Node.js - вообще выглядит как лабораторная студента Точно не твоя >достаточно добавить каллбэки На это отметки мы поняли, что ОП даже отдаленно не понимает, о чём серит >PHP - еще один стагнирующий язык Когда ему запиливают JIT со всеми модными стрелочными функциями, ага >получите чуток сахарку То есть "чуток сахарку" это как минимум >scala запиленная система тайпклассов >Kotlin язык-лвл корутины и дсл