Сишорп не сдох, внимание, не поддаёмся на провокации джавистов. Вакансий нет, т.к. сишорп программисты самодостаточные и сами знают где их искать. Хэхэ ру не нужон. Постинг сдох, т.к. сишорп программисты - это уважаемые люди с работой, которым некогда шитпостить, они работают. Постинг в джава/питон/1с треде - это признак того, что там работы нет и безработные просто пинают балду в треде. Просьба не бухтеть и не раскачивать лодку.
>>3604187 >Постинг сдох, т.к. сишорп программисты - это уважаемые люди с работой, которым некогда шитпостить, они работают. Всё так. >Постинг в джава/питон/1с треде - это признак того, что там работы нет и безработные просто пинают балду в треде. Работа есть, просто они ее ненавидят и вместо закрытия техдолга и получения премий за закрытие фич - предпочитают бухтеть в тредах >Вакансий нет, т.к. сишорп программисты самодостаточные и сами знают где их искать. Вакансий нет потому что кабанчики не знают куда деваться в кризис, у них есть джава/джанго/1с легаси родом из конца нулевых и они его педалят и подмазывают, чтобы хоть как-то стояло, технологиями десятилетней давности - просто потому что переписывать дорого. Шарпистам в этой самой стране остался только геймдев.
>>3603761 (OP) Чо как вам 2026-я студия? Меня пока больше всего бесит новое окно настроек, благо старое все еще доступно. Остальное мелочи. Из приятного, что почти все расширения сразу заработали, кроме каких-то совсем древних, которыми все равно не пользовался. Ну и работает побыстрее.
>>3605015 Говно. Уебищный дизайн, от линий рябит в глазах. Шрифты стали хуже, хз что там паджиты сломали. Уебищный копилот как назойливый ребенок все время лезет под руку со своими охуительными советами, пришлось сразу отключать. По скорости я разницы не заметил, на большом проекте этот их розлин тормозит одинаково. Я остался на 2022 студии без копилота ебаного.
>>3605015 У меня дизайн стал супер мелким, почему то 125% увеличения с винды не конектятся к приложению из за этого интерфейс очень мелкий, а так нраица
>>3603761 (OP) Ебать у вас столько незнакомой терминологии - автомапперы какие-то ебучие и прочий скам. Мне порою кажется что в плюсах гораздо меньше всякого bloatware чем в оопнутой джаве и сишарпе
Реквестирую блоги, видео или книги где более менее качественный и интересный контент по рантайму и связанному с .NET или C#. Предпочтительно что нибудь низкоуровневое. Я кидал это: https://2ch.su/pr/res/3332445.html#3337069 и был бы рад если бы кто-то накидал мне за щеку подобного.
Как был сишарп кривой парашей за пределами виндовсогавна, так и остался. Создал в VS Code пустой проект на основе MAUI, не вношу никаких изменений и запускаю компиляцию, а этот петушиный дотнет жалуется на ошибку в коде и не собирается.
Видимо говнокодеры из майкрософт не ожидали что их говноподелие будет кто-то использовать за пределами винды.
projects/android2/MauiApp1/MainPage.xaml.cs(3,33): error CS0246: The type or namespace name 'ConittentPage' could not be found (are you missing a using directive or an assembly reference?)
The terminal process terminated with exit code: 1. Terminal will be reused by tasks, press any key to close it.
>>3608775 >>3608781 Как оказалось это криворукое индусоподелие от криворуких майкоблядей настолько криво работает, что после создания нового .net проекта в vs code и его открытия (открывается он в автоматическом режиме), нужно вручную СНОВА открыть проект через solution explorer.
>>3608823 >Кто тебе виноват что ты Снегишь в буквально аналоге блокнота? Скачай и поставь себе студию долбоеб.
Дурачок, актуальной студии под Mac OS / Linux нет, а шизики из мелкософта говрят что C# ТЕПЕРЬ КРОССПЛАТФОРМЕННЫЙ кек. Выходят индусы из мелкософта снова наврали/
Гайз, хелп!!!! Есть wpf uno хуйнюшка. В зависимости от масштаба выставленного в настройках операционки плывет разметка. Можно как-то сделать так, чтобы вне зависимости от масштаба операционки эта хуйня рисовалась одинаково?
Я не хочу рисовать 4 вьюхи под каждый масштаб, и дополнительно 4 вьюхи под разрешения + еще на планшеты это говно делать. Я это до старости говноСнегить буду.
>>3613432 >VS fo mac Он уже очень давно не обновляется и депрекейтед под Mac OS. Ты как долго в заморозке был?
>С чем ты сравниваешь кросс-платформенность? С тем что тот же VS Code это тупо текстовой редактор, а не IDE с глючной поддержкой C# в mac os. Я уэе писал выше об этом, посмотри на сообщение, на которое я изначально отвечал.
>>3613432 Вот отзыв экспериенса Снегинга c# .net под vs code на mac os:
Как оказалось это криворукое индусоподелие от криворуких майкоблядей настолько криво работает, что после создания нового .net проекта в vs code и его открытия (открывается он в автоматическом режиме), нужно вручную СНОВА открыть проект через solution explorer.
С тоской вспоминаю далекий 2012 год, когда еще встречались вакансии на WinForms. Даже на Delphi встречались. Какое же ламповое время было. Воистину, не врали древние майя про конец света.
>>3613762 >Как оказалось это криворукое индусоподелие от криворуких майкоблядей настолько криво работает, что после создания нового .net проекта в vs code и его открытия (открывается он в автоматическом режиме), нужно вручную СНОВА открыть проект через solution explorer.
ну хз, альтернатив всё равно нет
Джавка ещё хуже, она живёт только потому что есть дохуя проектов на спринге 2008 года. Гоу ещё более-менее, но там нет минимального ООП, который непСайгако помог бы. Нода, питон - мусорные технологии: проекты не живут дольше полугода и их всё время переписывать надо.
>>3613830 >мусорные технологии: проекты не живут дольше полугода и их всё время переписывать надо. Про питон не знаю, а про ноду с тайпскриптом бред откровенный
>>3609103 >Дурачок, актуальной студии под Mac OS / Linux нет Потому что не надо заниматься Снегингом на тех ОС что для этого не подходят. Макбук это оверпрайс печатная машинка для соцсетей и модных дизайнеров. Линукс непригодная ни для чего хуйня.
Поставь винду и живи как белый человек который может ставить любое ПО, а если очень надо запускать WSL.
>>3615024 Ты троллишь? [нео]вим, емакс. ВИЖОЛСТУДИЯ КOДЕ на худой конец. Идеи всякие вроде тоже кроссплатформенные, но я таким дерьмом не пользуюсь, могу ошибаться. Я бы понял если бы ты говорил про игори и фотошопы, но вот написание кoдов под спермой, сделанной буквально для неграмотных бабов сраков и прочих потребителей - это всегда пытка.
>>3615635 Да даже makefile это верх адекватности. А то тут и sln и csproj и msbuild. Пока в IDE сидишь и руками ничего не трогаешь - ок. Как вылезешь, пиздец.
>>3608775 >Видимо говнокодеры из майкрософт не ожидали что их говноподелие будет кто-то использовать за пределами винды. А схуяли им заботиться? Может им вс-код на пс2 портировать ещё? На хуй иди, короче.
>>3616325 Это местный шизик, надышавшийся паров то ли Столярова, то ли еще кого. Уже какой месяц носится по всей доске. По стилю и тематике сообщений легко узнается. Поясняет всем, что тру Кнут, Таненнбаум, книга Дракона, язык С, Линукс, емакс/ви, а что не тру в целом всё остальное, чаще всего хейт к вебу, к ИДЕ, при этом сам, наверняка, не писавший ничего объемнее пары сотен строк. Возможно так же сидит в /math и пытается осилить ТК и книжку Голдблата про топосы. В общем скорее всего впечатлительный школьник лет 14. Сам примерно таким был.
>>3616355 >зачем он про сперму пишет? Древнее уничижительное прозвище винды. Юзеров называли спермоблядками. Линуксойдов прыщеблядками. Откуда пошло не знаю. Мб от слова "семерка".
С утра вычитывал какой-то метод, около 300 строк длиной. он имеет примерно следующую структуру:
комментарий, который поясняет, что делает следующие 30 строк кода 30 строк raw-sql перемешанного с сишарпом
Я не могу отделаться от мысли про комментарии. Они напоминают мне мудака, который смотрит на то, как я работаю, и комментируют каждое моё действие или просто дёргает меня за локоть. Это как помощник автомеханика, который вместо того, чтобы помочь, смотрит и говорит, "Крутишь гайку? Ну давай, крути".
Джуны, дебилы, выносите блоки кода в функции и используйте правильное именование. Купите себе блокнотик, свои соображения оставляйте при себе. Не структурируйте код комментариями.
>>3620811 Какий вакансий? Фулстек на аутстаф галеру за штуку баксов, опыт настройки кубера от трех лет. Или фулстек в крипто копро аи финтех стартап директор лично проводит собесы. Нет вакансий нихуя.
>>3621007 >Мы, например, выбираем. Я в прошлом треде рассказывал как от спринга избавлялись в пользу обычного aspnet core. Одно говно поменяли на другое, типо оно лучше.
>При чём тут майковский стек? В докере всё одинаково работает. Речь про интеграцию с Office, Active Directory и т.д. Вот моя будущая контора выбрала шарп ради интеграции с AD.
>>3618854 Уеби обчитаются своего клинкода и выносят все подряд в функцию this.krutitGaiku() , потом как ебанько прыгаешь по всем этим функциям, чтоб понять, что происходит, вместо одного места
да, лучше. После опыта спринга, в дотнете все те же самые вещи делаешь, но получается лучше. Я хз, почему так. Если подробно объяснять - то сильно долго будет
У меня чувство будто GC пишут медленные тупые чсвшные пидоры (20 лет додумываются до регионов, положили хуй на workstation gc, и т.д.), ибо хули они игнорят Satori (с учётом того что его написал "свой" чел)? Та же Maoni не высказалась в треде ( https://github.com/dotnet/runtime/discussions/115627#discussioncomment-13162692 ), хотя казалось бы - не последний человек. Ну да, требуются изменения в рантайме, несколько GC будут иметь несовместимые между собой настройки и .т.д, ну так а хули они хотели, смысл комьюнити делать другой GC, который будет отличаться только цветом (они вроде где-то говорили, что комьюнити может сделать свой GC, ведь публичный API доступен)? Из геймдева люди оценили (и ещё больше оценят) Satori, а эти пидоры даже в runtimelab его не добавили. Горит пиздец.
Потому что в дотнете нет такого бестолкового жора памяти как в джаве или, прости госпаде, питоне. Обычный GC устраивает 99% пользователей, оставшемуся проценту надо просто на си пересесть
>>3622513 >нет такого бестолкового жора памяти >Pauseless Garbage Collector >Also, people don't need a real pause-less GC, what they need is a GC that has a consistent reasonably low maximum pausing time (lower than one or two milliseconds) for latency-sensitive apps. Чел...
Он каждую строчку кода комментарием сопровождал. По гениальной задумке, надо читать комментарий, затем сравнивать его с кодом. Типо, в комментарии - правильное поведение.
В общем по его коду прошлись регекспами, вычистили комменты нахуй сразу после его увольнения. Чел работал три месяца, не успел сделать ничего путного
>>3622761 Самое смешное, что он писал /// комментарии ко всем буквально сущностям в коде. Такая вымученная канцелярщина. В основном цепочки слов в родительном падеже. Я уже тогда над ним начал угорать и так же в годе загаживать всё:
/// Модель объекта нотификации пользователя
/// Сервис отправки модели объекта нотификации пользователя
/// Конструктор сервиса отправки модели объекта нотификации пользователя
/// Интерфейс сервиса отправки модели объекта нотификации пользователя
// Вызов интерфейса сервиса отправки модели объекта нотификации пользователя
// Обработка результата вызова интерфейса сервиса отправки модели объекта нотификации пользователя
опы, всем привет. помогите пожалуйста советом по развитию в профессии, использую этот язык. сделала пет проект при помощи entity framework, postgreSQL, +-знаю базу языка, ооп, асинхронное программирование, но лишь для СRUD систем, что делать дальше? такие же проекты с регестрацией? делать таких мини проектов больше, чтобы тренироваться ?
>получай рефлексией За неимением лучшего так и делаю. Но тут уже и джейсон не нужен становится.
>оперируй низкоуровневыми примитивами newtonsoft Здесь не понял.
>Зачем это тебе, бы долбоёб? Может быть, но вот, к примеру, есть у меня класс где хранятся настройки программы. Зачем мне создавать объект? Настройки они одни и других быть не может - по логике вещей этот класс должен быть статическим.
Предположим при стечении некоторых условий мне нужно прервать компиляцию и выдать соответствующее сообщение. Я так понимаю пафосный шарп тут пукает в лужу?
>>3623179 Учитывая, насколько много в шарпе фич, которые появились в шарпе на много лет раньше, чем в жабе, если было бы нужно, то давно бы уже сделали.
>>3623455 >Как так получилось, что джава стала говном, которое все ненавидят, а дотнет приятный? Это из-за того что джавой пользуются все, а дотнетом никто
Вынужден писать проект на спринге, какое-то враждебное говно эти мавены, ломбоки, jpa. В божественной студии все просто работает из коробки. А тут приходится постоянно какие-то левые проблемы решать.
>>3623370 А чем плох синтаксис? Есть же какой-нибудь sizeof() или typeof(). Ну хочешь можно так errorcompile("ляля тополя") { }
>>3623334 >>3623360 >>3623361 Директивы здесь не пойдут. По сути нужно проверить класс на присутствие/отсутствие определённых типов и в случае если не так как надо выдавать ошибку с поясняющим текстом. Текст можно и в комментариях написать, главное чтоб на строчку указывал.
>>3622512 >json Этот ваш json даже тип Font не может десериализовать. Ну и нахуй он тогда нужен?
>>3623355 >По какой логике структура данных должна быть статической? По той что она нужна в одном единственном экземпляре и второй такой быть не может. Создавая статический класс ты как бы неиллюзорно на это намекаешь.
>Его просто биндишь, регистрируешь и инжектишь Я нуфаг, мне эти твои жаргонные словечки ничего не говорят.
> Этот ваш json даже тип Font не может десериализовать. Что за хуйню ты несёшь?
> По той что она нужна в одном единственном экземпляре и второй такой быть не может. Создавая статический класс ты как бы неиллюзорно на это намекаешь. Зачем ты слово "неилюзорно" вставил? Что за хуйню ты несёшь?
> Я нуфаг, мне эти твои жаргонные словечки ничего не говорят. А, ясно.
Я думал, ты челленджовый скуфи-разраб 10+лет опыта и решил хуйнёй пострадать в шутку (как и все тут), а ты просто настолько тупой, что несёшь какую-то несуразицу и вряд-ли понимаешь, что делаешь и зачем. Вопросы настолько тупые, что даже объяснять что-то лень.
Документацию не читай ни в коем случае, там всё врут. У дикпика тоже не спрашивай, его неправильно научили. Все свои тупые вопросы адресуй в этот ИТТ тред
Или у тебя есть умные мысли, зачем в 2к26 году использовать DI контейнер, если можно резолвить любой обработчик по месту медиатром? DI умеет кросс-каттинг консёрны решать?
Медиатр (и автомаппер) охуительно полезны: как только при приеме на работу собеседуемый вскукарекнет про них, сразу отсеиваешь его. И в итоге команда будет состоять из нормальных людей.
>>3625111 >Что за хуйню ты несёшь? Ну сам попробуй. >Зачем ты слово "неилюзорно" вставил? Потому-что могу. Эко тебе жопу клочками по закоулочкам разъебало. >этот ИТТ тред Да я давно понял что тут полно душных чсвшных пидоров наподобие тебя.
>>3625384 >>3625222 >сингтон синглтон, хуинглтон... А зачем же тогда статика нужна?
>>3625817 Медиатор это лучший DDD фреймворк на сегодня. Ты буквально одной библиотекой получаешь доменные события, CQRS, и по нормальному можешь обрабатывать кросс-каттинг консёрны в любом вызванном методе.
>>3625957 Фактически, комбинация медиатр-автомаппер это безальтернативный выбор на сегодня.
Две эти библиотеки составляют собой мощный и в то же время простой в отладке инструмент. Порог вхождения крайне низкий.
Достаточно запомнить одну догму: всё - это либо команда, либо квери.
Самое охуенное - это работа с доменными событиями. Их можно запускать как в текущем процессе, так и через кафку. Опять же, пукнул событием в кафку, а медиатр сам разберётся где и как его исполнять.
Но самое мощное - это что для добавления новой доменной сущности надо просто добавить один класс! Автомаппер разберёт как его хранить в хранилище. Притом, даже не надо знать, В КАКОМ хранилище лежат агрегаты.
А самое главное - кросс-каттинг консёрны. Ты просто запускаешь команду и не греешь себе голову. Нужны транзакции - благодаря встроенным бехевиорам медиатр всё за тебя сделает. Нужна валидация - медиатр валидирует каждую команду в цепочке, и не важно, в каком процессе она исполняется.
Я долго могу рассказывать и про новые свойства, которые автомаппер автоматически подхватывает и добавляет в БД. И про гарантии автомаппера, который при добавлении одной строчки бросает ошибку при любом некорректно настроенном маппинге.
Забыл добавить про чистую архитектуру. Используя эти две библиотеки получается действительно чистый и не тесно не связанный код. Ты просто вызываешь команду из домена, а обработчик может быть как в аппликейшене, как в инфраструктуре, так и вообще в соседнеем домене или процессе.
>>3623322 >Учитывая, насколько много в шарпе фич, которые появились в шарпе на много лет раньше, чем в жабе, если было бы нужно, то давно бы уже сделали. Есть фича которой в шарпе нет, и судя по всему не будет - нормальный подход к дизайну языка. Хороший подход это когда у тебя есть 1 идеоматичный способа сделать что-то. Ни прибавить, ни убавить.
Ты не страдаешь херней пытаясь выбрать, что же лучше для задачи А, ты просто делаешь как принято. А тот, кто читает код, видит идеоматичный способ сделать А и сразу понимает о чем речь.
>>3627899 Нет практически ни одного языка, для которого это было бы верно. В них всех есть по куче разных способов сделать одно и то же, причём в разных ситуациях разные подходы получаются лучше, что позволяет подавляющему количеству разработчиков использовать некорректные методы, порождая говнокод. Шарп действительно не лишён этого недостатка, но данная претензия точно так же применима к джаве, и почти ко всем остальным языкам. Говорят, на расте приходится писать только одним способом, поэтому там получается идиоматически верный говнокод.
>>3627899 >Ни прибавить, ни убавить. Джава спроектирована как говно, поэтому новые современные фичи в неё просто не добавишь. То, что в дотнете сделали из коробки, в джаве сделать не могут по 10-20 лет и прикрываются умными словами вроде идеоматичности, обратной совместимости, дизайном и прочей гуманитарной хуйнёй.
>>3627899 Рассуждения хуйня. Так моно докатится до того, что и вообще разнообразие не нужно. "Давайте уберем все виды циклов и будем хуярить только while везде". "Или давайте выкинем нахуй все коллекции и оставим только массивы". И т.д.
Это не рассуждения, а психологическая защита java-разработчика, который оправдывает кривизну джавы какими-то магическими словами вроде идеоматичности и преемственности.
На самом деле джава просто не может вобрать в себя современные фичи. Физически:
Дженерики реализованы на уровне виртуальной машины как говно. type erasure - говно. Апи работы с коллекциями - говно. Stream API - говно. Ничего даже близко сравнимого с Linq нет. Любые попытки вкорячить async/await не заканчиваются ничем, не поломав язык. В джаве есть четыре подхода писать асинхронщину, и все - ебля с коллбеками. Структур нет. Исключения спроектированы как говно, по факту, от них просто отказались
Обьясните плиз почему вместо вывода от 0 до 14 получается такая хрень? Это типо из-за того, что операция передачи переменной i в метод не является атомарной, да?
>>3629155 Нет, это потому что i — захваченная переменная в замыкании. Её значение в метод передаётся не сразу на каждом шаге цикла, а в момент, когда создался тред и начал выполнятся. За это время цикл успевает сделать несколько шагов. Если хочешь, чтобы было от 0 до 14, надо добавить в 9 строке var j = i;, и передать в метод j.
>>3629208 >Бля многопоточность тут вообще непричем Конечно ни причем, тебе же сказали - смотри, что такое 'замыкания' и как они работают.
Если вкратце, то в Console.Writeline в качестве параметра i попадает значение из первого цикла, а не второго. А с учетом того, что когда ты дергаешь экшены, первый цикл закончился и i в нем равен 15, то ты и получаешь такой результат.
Я регулярно захожу на утренний стендап, и каждый раз спрашиваю, подключён ли там MassTransit. Каждый раз мне отвечают — нет. Я спрашивал уже раз 150, и 150 раз мне ответили — нет.
Смысл в том, что отвечает мне один и тот же тимлид. Отвечает с неизменной интонацией. А я каждый раз с неизменной интонацией спрашиваю:
— MassTransit подключён? — MassTransit не используем.
— А шина сообщений у нас есть? — Без брокеров обходимся.
— А конфигурации событий MassTransit можно посмотреть, где настраиваются маппинги? — Нет, MassTransit в проекте отсутствует.
— Я бы хотел события нормально публиковать, через MassTransit, как у людей. — Извините, у нас синхронные вызовы.
— Как публиковать события? Из медиатра или напрямую звать масс-транзит? — Мы не любим инфраструктурные библиотеки.
И ведь этот тимлид, зараза, знает меня идеально по коммитам, знает, что я спрошу, и знает, что он мне ответит. Но ещё ни разу ни один из нас ни жестом, ни словом не показал, что каждый из нас знает сценарий.
Бывает, он в это время рефакторит контроллеры, когда я открываю решение. Тогда я подсматриваю на его пулл-реквест, он равнодушно переписывает await mediator.Send(...) на _getUsersUseCase.Run(id), коммитит и возвращается в ко мне:
— Что ты хотел? — Мне нужен MassTransit для публикиции событий. — У нас его нет. — Жаль.
Иногда он обсуждает с другим разработчиком AutoMapper, тогда, сидя рядом в созвоне, я терпеливо жду, когда они закончат:
— А MassTransit в проекте есть? — Нет, мы им не пользуемся.
Иногда он просто скучает в проекте, когда нет задач, и только я брожу по слоям решения. Конечно, он знает, что будет дальше, но не подаёт виду и равнодушно удаляет MappingProfile.
— Что-то я MassTransit в Infrastructure найти не могу, он вообще у нас бывает? — Нет, не бывает, мы им не пользуемся.
Это очень суровое, по-настоящему мужское противостояние, исход которого не ясен. Очевидно, что каждая сторона рассчитывает на победу.
>>3627948 >Нет практически ни одного языка, для которого это было бы верно. Понятно что абсолюта нет, но где-то ситуация лучше, где-то хуже.
>>3627948 >В них всех есть по куче разных способов сделать одно и то же, причём в разных ситуациях разные подходы получаются лучше, что позволяет подавляющему количеству разработчиков использовать некорректные методы, порождая говнокод. >>3627974 Речь не идет о принципиально разных способах сделать одно и то же, типа пройтись по коллекции циклом и аггрегировать их, или использовать LINQ. А о том что есть Query Syntax, а есть Method Syntax. И тут уже возникают вопросы, а нахуя надо было городить огород с Query Syntax, который смотрится абсолютно чужеродно в C# коде. И гораздо более органичный Method Syntax. При этом Query Syntax еще и порождает ложное ощущение что это SQL у которого есть всякие оптимизации- индексы, хитрые джойны и прочее.
>>3627975 >Джава нахуй не нужна со своей идеоматичностью. Там даже async/await нет. И ты даже можешь, аргументированно объяснить чем легковесные треды virtual threads в Java, или goroutine в Go хуже шарпейного async/await? Или ты так, спизданул не разбираясь?
>>3628003 >Рассуждения хуйня. Так моно докатится до того, что и вообще разнообразие не нужно. "Давайте уберем все виды циклов и будем хуярить только while везде". "Или давайте выкинем нахуй все коллекции и оставим только массивы". И т.д. Ты просто не догнал о чем вообще речь. Разные структуры данных нужны, они служат разным целям и у них разные плюсы и минусы. Речь идет о том, что способах сделать одно и то же или сэкономить пару символов. Как будто кто-то пишет на петушарпе в блокноте, без автодополнения.
>>3628217 >Это не рассуждения, а психологическая защита java-разработчика, который оправдывает кривизну джавы какими-то магическими словами вроде идеоматичности и преемственности. Психологическая это твой высер, половина которого маня проекции, вторая пиздеж от незнания. Если будет не лень потом прокомментирую.
В целом подрывом жёп петушарперов удовлетворён! Через недельку начну говнокодить на вашем Петушарпе и буду и дальше писать впечатления от этого ахуительного языка. До новых подрывов!
>>3630055 Квери синтакс действительно говно, но к счастью им почти никто никогда не пользуется. Зато в джаве реально просто дикое количество разных способов создавать треды. Или, например коллбеки событий, раньше всё время надо было класс-обработчик подавать, теперь часто можно передать функцию, но старые версии с классом на каждый чих никуда не делись. Учитывая, что каждый класс зачем-то надо в отдельный файл, получался адский блоат кода. Как видишь, у всех языков есть свои косяки. Сложно заранее предугадать, что и как будет лучше.
Уже несколько лет пишу на wpf десктоп приложения за небольшую зп, но за то работа ненапряжная. Но пиздец гложет понимание, что если уволят, то это овари да нахуй, ибо вакух просто нет щас под это. Какую околошарповую сферу стоит освоить на такой случай? Мне в целом шарп нравится, да и привык я к нему сильно за столько лет.
>>3626509 >при любом некорректно настроенном маппинге А маппинг-то откуда взялся? Написан руками! Причём это охренительно сложный маппинг (на стековерфлоу тысячи вопроса на тему: как сделать маппинг в автомаппере). А теперь выкидываем автомаппер и пишем простой маппинг без него. Кода получается меньше, работает быстрее, память не жрёт.
>>3628003 >уберем все виды циклов В богоподобном Nemerle циклов нет! И в то же время они есть. Они сделаны на гигиенических макросах. Какой тебе цикл нужен, такой и добавляешь в язык. Прям в синтаксис.
>>3628233 Я как кабанчик выбираю шарп. Нанимаю высококлассных дотнетчиков по пять копеек пучок. Такие же по классу джависты стоят дороже. Поэтому все проекты у нас на .NET - так выгоднее.
Похуй на чем писать. Главное - лишь бы были ебучие вакансии за рубежом и чтобы смогли релоцировать. А так готов хоть на 1С, хоть на джаве, хоть на сишарпе, хоть на пхп, хоть на ABAP, хоть на вижуал бейсике. Вообще до пизды.
Сам последние 5 лет писал на Go/Python. Из-за гойды релокнулся в Сербию, потом моя айти батрачька схлопнулась нахуй и я пошел побираться по удаленным кипрским конторам, так как в Сербии найма локального на Го очень мало, только люксофт с епамом иногда вакухи открывают по мелочи но не более того.
Сейчас меня удаленные криптоскам параши на кипре изрядно подзаебали, поэтому ищу варианты релокнуться в нормальную гейропу и пойти в финтех или банк работать с нормальным оформлением в штат.
Так вот работы на Го за рубежом нет нихуя. Количество вакансий просто мизерное нахуй.
>>3630979 Тем удивительнее популярность goвна на нашем локальном рыночке, которая уже по количеству вакансий уже превосходит и джаву и шарп вместе взятых.
>>3630255 Ладно, я так понял на юнити работы почти нет, а больше на шарпе нечего и нет, ибо ксамарин даже рассматривать глупо. Тогда остаётся только бэк. Вопрос такой тогда, если я хочу как-то более фундаментально разобраться, как бэк работает, то мне asp.net ковырять или спринг? Просто спринг я однажды уже трогал и что-то на нем писал и мне не особо понравилась эта завязанность на аннотации. Я хочу видеть код, а не украшать классы аннотациями без конца. Как ситуация с этим на шарповом бэке обстоит? И ещё, у меня в целом о бэке на шарпе сложилось впечатление, что там в основном вакансии состоят из гречневых контор, где ты по-сути каловый фуллстек и где зп это 150к потолок. На сколько это правда? Не хотелось бы вложить несколько лет своего обучения в стек и потом остаться с 2 хуевыми стеками.
from users in context.Users join tickets in context.Ticket on users.Id equals tickets.UserId join book in context.Books on tickets.BookId equals book.Id select users
Method syntax:
context.Users .Join( context.Tickets, user => user.Id, ticket => ticket.UserId, (user, ticket) => new { user, ticket }) .Join( context.Books, temp => temp.ticket.BookId, book => book.Id, (temp, book) => temp.user)
Только имбецил будет спорить, что методы тут лучше. В синтаксисе методов нужно вручную протаскивать между джойнами. В синтаксисе запроса они и так видны.
И таких примеров может быть много. Например, let в Query syntax позволяет создать значение, которое можно использовать несколько раз. С методами опять облом.
>>3631894 >>3631941 При чём тут вообще sql? Речь о LINQ, который может использоваться и с коллекциями в памяти.
>Тебе надо объяснять, почему он не прижился или и так всё понятно? У долбоёбов не прижился? Ты не можешь раздуплить глаза и сравнить два приведённых фрагмента кода? Даже в этом простейшем примере Query syntax намного корочем, чем Method syntax, что уж говорить о более сложных вариантах.
Я смотрю, тут холиварчик небольшой на тему синтаксиса линка. Зацените библиотеку Linq2d (не путать с linq2db) для работы с двумерными массивами. Используется синтаксис запросов и получается очень просто и понятно. Синтаксис методов использовать просто невозможно, чтобы получить такую же красоту.
Решил попробовать Rider и чёт чувствую себя теперь говноедом. Может я чего-то не понимаю, но Rider маниакально предлагает менять объявление всех переменных на var. Даже если это не несёт никакой выгоды. Объявляю какую-нибудь локальную переменную, чей тип я точно знаю, которую я буду использовать только внутри одной функции, и менять тип которой я не собираюсь. Да даже имя класса короткое. А вот хуй, меняй на var. А если игнорировать, то выдаёт уведомление "Build succeeded with warnings". Типа, ебать ты хлебушек, без ошибок не можешь написать. Как эту хуйню выключить? Или это такая мода пошла?
Бонусом пикча с ещё одним варнингом. Какого Rider мне предлагает сделать конструктор приватным? Чтобы что?
>>3631963 >Речь о LINQ, который может использоваться и с коллекциями в памяти. Не может. Он дико сосет по производительности. LINQ - это высер от паджитов, имитация деятельности, что-то типа современной ??= хуеты.
>>3631976 >А вот хуй, меняй на var. >"Build succeeded with warnings" Неиспользование var записать в warning'и... я знал что есть var'осектанты, но чтоб настолько..
Как дорасти до первой работы? Я студик, у нас преподают дерьмово, решил самообучиться вне пар дома. Программирование очень нравится, очень интересно обучаться, в будущем хотелось бы быть именно специалистом, но жизненная ситуация меня сейчас очень подгоняет начать зарабатывать деньги как можно скорее. Как вкатиться именно в коммерческую разработку максимально быстро? Я понимаю, что самым грамотным вариантом является просто написание собственных проектов, по ходу развития которых я должен изучать все больше технологий и практик, но мне очень торопится заделаться джуном, чтобы быть уже в профессии, получать какие-никакие деньги и развиваться осязаемо. Зароляет ли мне сейчас изучить стек технологий, которые прописываются в вакансиях, просто чтобы поскорее получить первую работу в итэ?
Понимаю, что вопрос говнярского вката, но мне сейчас это очень нужно, просто чтобы иметь возможность развиваться дальше как специалист.
>>3632131 >Понимаю, что вопрос говнярского вката, но мне сейчас это очень нужно, просто чтобы иметь возможность развиваться дальше как специалист.
Нахуй нам студенты не нужны, вы, блядь, долбоёбы, припераетесь, на 250к устраиваетесь, а толку от вас как с козла молока.
Не в обиду, но иди на хуй. Мы студентов и джунов не берём. Вы, долбоёбы, изобретаете каждый раз одно и то же говно из умных статей про DDD-MassTransin-Aop-Automapper-ЧИСТАЯ-АХРИТЕКТУРА, чтобы в резюме написать хуйню какую-нибудь, а со стороны как дети, измазавшиеся в собственном говне.
>>3631976 > Или это такая мода пошла? Судя по приложенному изображению, ты пишешь HelloWorld. Очевидно, ты либо никогда код на проектах не писал, где кроме тебя кто-то есть, либо просто учишь язык.
В обоих случаях делай как райдер предлагает. А лучше просто форматируй код райдером и вообще не думай о том как код должен выглядеть. Он всё за тебя сделает
>>3632268 Мне кажется ты не совсем понял суть моего вопроса. Я как раз и спрашиваю, что мне нужно знать и уметь, чтобы устроиться на работу и быть полезным. Если бы у меня стояла цель просто на зарплатку попасть, то вопросов бы не было, тк в айти сегменте сейчас больше гайдов как залететь волком. Или ты планируешь бесконечно жить и всегда быть программистом?
>>3632266 >Многие функции LINQ векторизованы. 1.5 функции и это если они смогут получить спан из входящего IEnumerable<T> (а я сомневаюсь, что в реальном коде это будет часто, ибо это должен быть либо T[], либо List<T>). https://source.dot.net/#System.Linq/System/Linq/Enumerable.cs,44 >>3632273 >jit умеет применять векторизацию Смотря что считать векторизацией. JIT использует SIMD инструкции в обычном коде, но не использует те которые реально SIMD (по типу addps) (может что-то и поменялось в .NET 10/11, но я не видел), так что и векторизации циклов нет. https://habr.com/ru/companies/otus/articles/977080/#comment_29260898 Вроде как это комент егорки, который EgorBo
>>3632282 Нет. Линк делает всё именно так, как ты напишешь. Можно легко получить квадратик, а в некоторых местах это бывает критично. Иногда у тебя коллекции уже отсортированы или, например, там только уникальные значения. Линк этого всего не знает и никак не оптимизирует. Да, в простейших случаях можно написать where, select, group by, ещё select, и получится то же самое по производительности, что циклы писать, только гораздо короче. Но как только начинается что-то сложное, лучше ручками перегнать в хэшсеты, словари по необходимости и написать итеративный код. Как правило можно даже с помощью линка это написать, но это будет настолько нечитаемо и неподдерживаемо, что за такое надо увольнять.
>>3632581 >ряяяя не получают шарписты сток, я на хх видел >пруфы с зп еще выше >ну и зачем ты это скинул Иди менять штаны маня. Я уже не говорю о том что работу на хх ищут разве что джуны с 0 лет и катышки которые летают из компании в компанию. Жирные и хорошие места вообще не попадают на рынок как вакансии, их закрывают чисто по найму через знакомых.
Почему в query syntax можно использовать let, а в method syntax нельзя использовать аналог let, который существует с самой первой версии языка переменные? Или это другое?
>>3631065 >Тем удивительнее популярность goвна на нашем локальном рыночке, которая уже по количеству вакансий уже превосходит и джаву и шарп вместе взятых
Как было на моей памяти: на Go первыми начали писать массово в Avito. Они ходили по конференциям и рассказывали как круто они переписали часть бекенда на пхп и джаве на Go и сэкономили там чего-то на инфраструктуре. Потом вслед за ними начали подтягиваться Озон и WB и тоже стали писать на Go и переписывать легаси на пхп/джаве/шарпе на Го. Ну а потом уже пошло-поехало, Озон и WB сильно выросли в момент ковида, стали крупными работодателями. И в то же время случилась гойда и многие работодатели с джавой и шарпом банально уехали, а озон, вб и авито никуда не делись и стали значимыми игроками на рынке труда.
Сейчас из более-менее адекватных работодателей на шарпе разве что майндбокс остался и немного шарпа есть в озоне, в случае с джавой - сбер и тбанк. Майндбокс раньше славился хорошими условиями труда, интересно деградировала ли она за эти суровые годы. Озон, сбер и тбанк стали бигтехами с перф ревью и потогонкой и увольнениями.
В целом писать крудики на голенке нет никакого смысла. Для переката за границу голенк в целом тоже не очень выбор, мало кто на нем пишет.
>>3632596 >Иногда у тебя коллекции уже отсортированы или, например, там только уникальные значения. Линк этого всего не знает и никак не оптимизирует.
Просто сортируешь и дистинктишь с помощью того же линка
> лучше ручками > написать итеративный код > но это будет настолько нечитаемо и неподдерживаемо
Стандартные средства языка на мой взгляд всегда лучше, чем копаться в сомнительных самописных алгоритмах. И ладно, тебе, дураку, это писать. Ну ты недопонял чего-то, полез в микрооптимизации, бывает.
>>3632772 > Просто сортируешь и дистинктишь с помощью того же линка Только линк после вызова distinct не в курсе, что в коллекции только уникальные данные, и никак это не может использовать в дальнейшем.
> Стандартные средства языка на мой взгляд всегда лучше, чем копаться в сомнительных самописных алгоритмах. И ладно, тебе, дураку, это писать. Ну ты недопонял чего-то, полез в микрооптимизации, бывает. А что, циклы вдруг перестали быть стандартными?
> Но твоим коллегам же ревьюить всё это. И >>3632777 Господа, я пишу на шарпе за деньги уже почти 15 лет. До этого ещё кодил на нём в универе. Я не чего-то недопонял, я прекрасно знаю как там что под капотом работает. Я сам прошёл уже все эти фазы, когда мне хотелось писать все подряд через линк, типа посмотрите как я могу начейнить десять функций с тройной вложенностью. И потом через полгода смотрел на свой же код как на текст на грузинском. Это сложнее разбирать, чем регулярки. Итеративный алгоритм ты всегда можешь разбить на кусочки, дать переменным говорящие названия, сделав код понятным и читаемым.
Конечно, цепочку из where, group by и select лучше написать через линк. Но я говорю о гораздо более сложных ситуациях.
>>3632770 >Для переката за границу голенк в целом тоже не очень выбор, мало кто на нем пишет. Там это просто поделка, чтобы было чем занять толпы тупеньких студентов-практикантов в гугле.
>>3632782 >Это сложнее разбирать, чем регулярки. До-о-о, канешн. Это тебе удобнее, поскольку ты их под себя пишешь. А попробуй их поразбирать, когда их штук 20...30 и все писались разными людьми. А потом еще и ебля с отладкой, которой нет.
>>3633781 Паджиты ебанулись. Запилить escape analysis они не могут, сложна нипанятна, зато радостно засирают синтаксис и повышают кпи. Раньше все обсирали комитет по С++, а оказалось они святые люди нахуй. В голенге Пайк устроил диктатуру имени себя и один решает будущее языка, все довольны. В сишарпе же устроили демократию со запахом карри, получился полный пиздец.