C# .net 9 release дотнета тред #58 /csharp/ 3332445 В конец треда | Веб
Запоздалый перекат треда о лучшем языка на планете.

.net core 9 уже релиз!

1. Ресурсы:
https://dotnet.microsoft.com/learn
https://ru.stackoverflow.com/a/416585/422180
https://metanit.com
https://professorweb.ru

2. С# для веб
https://docs.microsoft.com/ru-ru/aspnet/core

3. C# для десктопа
https://docs.microsoft.com/ru-ru/dotnet/desktop

4. С# для игр
https://ru.stackoverflow.com/a/609901/422180

5. С# для мобильной разработки
https://docs.microsoft.com/ru-ru/dotnet/maui

6. Годные ютуб-каналы
https://www.youtube.com/c/CODEBLOG
https://www.youtube.com/c/AndreyShyrokoriadov
https://www.youtube.com/c/DevJungles
https://www.youtube.com/user/Shmachilin

Шапка: https://pastebin.com/HT7Hi6FD
Прошлый тред: >>3218883 (OP)
2 3332448
Фрирен - шлюха.
3 3332469
Главный вопрос треда, нужен ли AutoMapper?
4 3332499
>>32469
да. ведь выбирающие его заслуживают страдать по определению.
17070544210930.mp4182 Кб, mp4,
360x360, 0:06
5 3332537
>>3332498 →
Да мужик (или тяночка), компоуз не виноват, что вышел из-под гугла. Тут проблема в том, что XML никуда не делся, а компоуз слишком быстро зашел на рынок как основной фреймворк. Это же не джаву на котлин менять (кстати, вроде Square написали Retrofit поверх okHttp, но на джаве, что достаточно интересно в плане "нахера?").
На выразительность тоже уже плевать, да и это более "тонкая" тема т.к. для меня джава всегда была более понятнее, чем котлин.

Глянул на C#, на его кол-во живых библиотек, на его качество кода (в плане читаемости) и прям кончил можно сказать. Мне постоянно ссали в уши менторы с ютуба, что котлин это будущее, джава скоро сдохнет. Ну я как идиот 3 года учил котлин и андройд, вместо спринга или того же asp + c#. МДАААААААААААААААААААААААААА
6 3332542
>>32537

>Тут проблема в том, что XML никуда не делся


ну это проблема динозавров любящих (цензура) с этим подходом (привет списки)

>компоуз слишком быстро зашел на рынок как основной фреймворк


и это шикарно. шикарный фреймворк шикарный подход

>что вышел из-под гугла


енто да. они умеют все портит. вон навигацию испортили. M2 не доделали, но поддерживают. Какие то странные ребята

>для меня джава всегда была более понятнее, чем котлин.


выразительность это не про понятность. Это "мы городим огород (читай костыли) потому что иначе никак, а в другом языке это есть искаропки и работает само".

недостаток котлина это его жава рантайм (ну и сложные корутины). в остальном же на нем приятнее писать код. Зато в шарпе структуры и много чего под них заточено, а в котлине такого нет....но ведь это не котлин виноват.
7 3332544
>>32542
Я надеюсь, что когда-нибудь напишут какой-нибудь рантайм чисто для котлина и будут ребята уровня xiph или типо того, чтобы писали код для компоста и всего, что с ним связано.
В данный момент для меня котлин это чисто андройд, который на уровне говна собаки (андройд, конечно же).

А я в бекенд хочу, а не искать проблемы с производительностью UI, навигацией и делать анимашки конченных даунов-дизайнеров через littie, а потом выслушивать .что я неправильно запихал их анимашку.
8 3332545
>>32544

>который на уровне говна собаки (андройд, конечно же)


если честно хз. он там вполне норм. да и котлин актуальный последний. Просто меня не волнуют анимашки и "в этой версии андроида нужно делать так, а в этой анально огородили и вот тебе 3 стула и все с говном и на них нужно не сидеть, а проглотить".
я ссу кипятком с компоуза в плане удобства. Собственно из-за него котлин и выучил ибо этот хамл в замарине ...замарил
но на десктопе беру шарп и WPF, потому что гуи на порядок сложнее надо (про шрифты помолчу)
9 3332570
>>32469
Ненависть к автомапперу - признак шизика. Видимо чел в него пытался кучу конвертаций запихивать которые чуть ли не бизнес логикой являются. Ну и при этом на все тесты хуй ложил, да.
10 3332575
Захотел дайвануть в пучины C#, а clr via C# уже устарело в говно.

Сейчас начал читать Pro .NET Memory Management, уже начинаю понимать как на практике работает GC и всякие умные указатели. Вместо тупых абстрактных концепций в голове которые на самом деле не дают нормального представления.

В своё время так же заебался с ответом про async методы - "ну это стейтмашины", который толком нихуя не объясняет, это просто элементарный паттерн лол, а топик асинхронности огромный.

Вот канал челика, который кстати рассказывает что-то интересное, а не просто тупорылые хэлло ворлды пишет
https://www.youtube.com/watch?v=okXbHqRQ6Mo

Если что-то похожее есть - кидайте.
11 3332581
>>32570

>Ненависть к автомапперу - признак шизика


Ненависть к инструменту который добавляет неявность, ломает навигацию в ide, да еще не везде применим - так ли он нужен то
12 3332625
>>32544

>Я надеюсь, что когда-нибудь напишут какой-нибудь рантайм чисто для котлина



Нечего там не напишут, набрали студентов, наговнокодили компилятор (у них даже внутренний доки не было), потом переписывали несколько лет это.

Эти ребята писали компилятор в байткод лет 5, о каком уровне вирт машины можно говорить. Писали много лет писаали фронт под llvm, потом что-то переписывали (я про нейтив), в общем ппц.
А анальный вендерлок на тулинг просто убивает возможность развитие котлина самостоятельно. Сначала они вроде пытались пилить плагины для других редакторов, но потом даже не набрав массы положили болт.

Гредл это отдельный ужас жаба мира. Тырпрайзный-индустриальные технологии очень плохо ложатся на модный и молодежный новый язык.

В котлине есть некоторые интересные синтаксические решения, которые они просто потаскали у груви (но есть тотальные безграмотное wtf) В общем, как говорил анон, технология без души, которая еще утопила скалу и сам груви (да и жаба без мобилок это уже кобол).
13 3332628
>>32469
Кода с автомаппером получается больше, чем без него. Поэтому вывод очевиден: не нужен. ЗЫ: однако, кодомакаки именно за это его и любят: можно настрочить тонны конфигов маппинга, и вроде как не бездельничал.

Сейчас основная тенденция в дотнете - AOT. Посему AutoMappet, работающий на рефлексии, в пролёте.
14 3332670
>>32469

Чел, это другой подход.

Сейчас набирает популярность Automapper.FullTuring, который позволяет вообще без классов писать, потому что это ненужный мусор.

Плюс, если подключить Automapper.Router, то можно выкинуть контроллеры и сделать всё автоматически.

Тут вопрос в другом. Нужно ли вообще дедовское ООП, если автомаппер+nosql делает всё автоматически.
15 3332672
>>32670
Ты из епама?
16 3332674
>>32672

Нет, а что в епаме тоже используют автомаппер?
17 3332675
>>3332498 →

>ну шарп не такой выразительный как котлин



Что за категория такая, "выразительность"?

Почему её используют только в контексте котлина? Это точно не слово из маркетингового буклетика, которое не означает ничего?
18 3332680
>>32675
По-моему это слово обозначает (в контексте ЯП) понимание того, что ты пишешь и как ты пишешь буквально с первых секунд, а не в попытках понять синтаксис.
Условно
val myValue = intArrayOf(1,2,3,4,5)
Более понятно, чем в джаве
int[] myValue = new int[5] {1,2,3,4,5};
19 3332684
>>32680

int[] myValue = new int[] {1,2,3,4,5};

Вот эта строка явно выразительнее. Котлин хуйня, короче
20 3332697
Котлин хорош! Он великолепен тем, что разделил комюнити Жавы на две части. Теперь и создатели вынуждены поддерживать Коклин, и его пользователи вынуждены учить и его, и саму Жабу. Собственно, сами виноваты. Могли бы писать на божественном Шарпе и не страдать хернёй.
21 3332701
>>32697
Думаю переползать на Котлин с дотнета. Котлин судя по всему очень выразительный язык.

Есть пара вопросов. В Котлине есть автомаппер?
23 3332711
>>32701

>переползать


То что придется ползать, это очень тонко подмечено.
24 3332715
>>32704
Ебать, уродливая невыразительная хуйня, это ещё более тесный гроб, чем автомаппер.

Автомаппер хорош тем, что можно писать асинхронные маппинги. Если например, надо в БД сгонять, или HTTP запрос сделать во время маппинга.
image.png38 Кб, 667x299
25 3332742
Пацаны, я наконец решил главную проблему шарпов для себя!
Поздравьте меня!
26 3332750
>>32742
Главная проблема шарпов для тебя это использовать переменные?
27 3332751
>>3332673 →

>Что за категория такая, "выразительность"?


Да хуй его знает. Носятся с ней как с важной хуйней какой-то, а когда просишь конкртено пояснить, что это - обычное "пук-срень, ну вот в язык_нейм можно сделать вот так, а в шарпе нельзя" (и в 90% случаев окажется, что либо можно, либо нахуй не нужно). Часть под "выразительностью" имеет в виду просто какой-нибудь местечковый сахарок, который им нравится исключительно из-за синдрома утенка. И что, кстати, не мешает им поливать шарп за засилье сахара, хотя свой жрут ложками.
28 3332755
>>32750
Ну да... Типа для меня - переменная это что-то важное, у чего аж имя есть которое я сидел, придумывал, чтобы не x,y, a,b,c было, и оно доступно во всем скопе где объявлена. Как-то пояснить, что оно нужно просто чтобы передать значение - в шарпе нельзя. Даже в ЖС сделали const-перменные, пусть они и всратые и можно уже внутреннее состояние изменить, но какая-то семантика все же есть.

А если их не использовать и заворачивать вызовы - это становится нечитаемо. Потому что будет:
Console.WriteLine(string.Join(" ", ("HelloWorld!".Split(" ").Reverse())));

Тут разобраться что там за чем вызывается - надо посидеть, подумать. А это простейший пример же.
29 3332756
>>32680

>Условно


>val myValue = intArrayOf(1,2,3,4,5)


>Более понятно, чем в джаве


>int[] myValue = new int[5] {1,2,3,4,5};


Во, как я и говорил. Типичный пример "в язык_нейм хуй сахар вкуснее, чем в язык_нейм_2"
30 3332798
>>32675
ее использую в контексте котлина Я потому что пишу и на шарпе и на котлине
И нет - это не просто слово. И нет это не НЕ читабельность. Это способность удобнЕЕ выразить мысль в коде
уже не раз приводил примеры, повторяться влом
повторю только малую часть

backing field. в котлине он просто есть. А в шарпе что? Что то там в дотнет 9...ну ну
примари конструкторы в шарпе притащили позже и они примитив по сравнению с котлиновскими (хотя лучше чем ничего)
енумы в шарпе...без мата нечего сказать
нельзя нормально расширить статический класс
нет инлайн методов настоящих
нет делегации свойств
нет топ левел функций
нет типа unit и поэтому есть Task и Task<T> вместо одного Task<T>/Task<Unit> (кто кодогенил оба варианта потому что просто необходимо их оба - тот поймет)
где бл... lateinit. вместо него null! что другое
ну и так далее...

>>32751

> виду просто какой-нибудь местечковый сахарок


этот "местечковый" сахарок делает, например, принципиально невозможным портировать подход jetpack compose потому что язык просто не может. Максимум что могут выдать это comet по типу swiftui combine, да и тот будет засран вездесущими new

щас будет "да и не надо", да ))))
31 3332829
>>32798

>щас будет "да и не надо", да


Я не пишу под андроид/айфон, на котлин/джаве и в душе не ебу за всякие jetpack compos-ы и т.д. Поэтому да - не надо. =)
Ну и опять же. Когда говорят про "выразительность", то это идет в контексте базы языка, а не всяких его фреймворков и тулкитов. Т.к. их можно наворотить сколько угодно и какого угодно вида.
32 3332831
>>32755
Удачи дебажить это добро без негатива
33 3332832
>>32829
а я и не говорил про фреймворки и тулкиты. И андроид тут вообще не причем. Кстати на замарине под андроид те же проблемы у шарпа ибо...ну мы же про шарп говорим.

я говорил за сам язык
и НЕВОЗМОЖНОСТЬ сделать подобное на шарпе. Когда что-то получается кривокосо (последствия компромиссов) - значит у языка не хватает выразительности.
А значит на шарпе мне приходится жить с другими подходами БЕЗ ВАРИАНТОВ

потому что НЕТ - НЕЛЬЗЯ НАВОРОТИТЬ, ограниченность языка позволяет наворотить только то, что можно наворотить как бы это в итоге не получилось, а не РЕАЛЬНО УДОБНО.

Просто средний шарпист, как и...допустим, похапэшник - НЕ ВИДИТ проблем выразительности ибо он и не видел что можно как то по другому. Тот вариант, что предлагает язык, является для него единственным, а значит и верным. Как и похапэшник не видит проблем похапэ, пока не пощупает питон.
image.png222 Кб, 1070x1534
34 3332960
>>32742
А эта хуетень сразу вызывается, или лениво?
Стектрейс выглядит как говно?
Как отлаживать? Никак?
Брейкпойнты не ставятся примерно никуда?
Внутри там уебанский обобщённый фреймворк?

Смотри пример, какое мутное говно есть у меня в коде. Это героически переизобретают каждые два года, а потом с ним одни мучения
35 3332964
>>32798

На мой взгляд, котлин очень невыразительный язык, я бы даже сказал обоссаный
36 3332965
>>32829
Под выразительностью 10 лет назад преподносили в противовес джава коду, мол геттеров и сеттеров не писать и вообще дата классы, лямбда-хелл этот и прочее.

Нужно было продать жабистам зачем им второй язык за туже зарплату. То что до сих пор с этим носятся, это косяк дармоедов евангелистов или инфоцыган, которые продают курсы андроид.
Еще в те же времена стало ясно, что если апи не на дсл котлина, то пишешь ты на той же джаве, только с х2.5 компиляцией.

Прокси языки зло. Ты либо с нуля бери и дела, либо размазывай говно по полу.
37 3332968
>>32832

Да успокойся уже, не рвись.
38 3332971
>>32964

>я бы даже сказал обоссаный


>>32968

>Да успокойся уже, не рвись.



еще будут профессиАнальные аргументы?
39 3332985
>>32965

>Прокси языки зло


это так

>Под выразительностью 10 лет назад преподносили в противовес джава коду, мол геттеров и сеттеров не писать и вообще дата классы, лямбда-хелл этот и прочее.


в шарпе типа не та же ситуация, ога. и всякие рекорды появились не поэтому, а потому что гладиолус?

>Еще в те же времена стало ясно, что если апи не на дсл котлина, то пишешь ты на той же джаве


а это можно просто не тащить легаси. ведь можно же
в шарпе же увы легаси вбит навечно. И никогда Ilist не станет наследоваться от IReadOnlyList, и даже Lock из 9го дотнета не заставит похудеть хидеры объектов. И много чего этакого что "никогда"
40 3332998
>>32960
Так охуенно выглядит же. Чего ты?
Надо просто взять концепт и довести до ума. Ну и майков заебывать, чтобы наконец довели до ума дебагер. Вон, недавно наконец - при return стал показывать что там реутрнится. Думаю если сильно попросить и примеры что это и при дебаге линку будет полезно - они таки возьмут в работу.
41 3332999
>>32670
Там Automapper.AI в пререлизе, как выпустят код писать вообще не придётся.
42 3333001
>>32998

>чтобы наконец довели до ума дебагер


они это не умеют. у них лапки
взяли бы oz-code. да запихали в дебаггер, но нет - лапки кривые же
43 3333006
>>32998
вот что было с теми же LINQ
https://www.youtube.com/watch?v=h4VgoWt91LM

а что в итоге - вы и так знаете
44 3333063
>>32985

>Увы легаси вбит навечно. И никогда Ilist не станет наследоваться от IReadOnlyList,



Нахуя? Он же рид-онли, а лист не рид-онли.

>... и даже Lock из 9го дотнета не заставит похудеть хидеры объектов. И много чего этакого что "никогда"



В 12 дотнете запланирован полный переход.
45 3333064
>>33006
Чел, вот эту мутную ебалу-билдер-через-точечку оставь на новый год, хорошо?
46 3333074
>>33063

>Он же рид-онли, а лист не рид-онли.


А типа List (не интерфейс) ридонли.Но между тем реализует IReadOnlyList, а еще и IEnumerable, которое риоднли по самые помидоры

Как можно передать Ilist в метод принимающий IEnumerable, так и тут та же логика, но
в шарпе нет Ilist : IReadOnlyList потому что изначально тупо спроектировали. А теперь уже поздно - ломается бинарная совместимость.

>В 12 дотнете запланирован полный переход.


брякоченджесы на уровне бинарной совместимости? ну ну.

>>33064
это кстати шикарная ебала. просто померла со студией 2019, а для 2022 выкатили недоделку и забросили.
Спрашивается - почему в студии такой убогий дебаггер в плане гуи. Просто говно говнистого говна. Ответ - потому что рукожопы.
И новый год ничего не изменит в их жопошных руках. Лол, даже ретурн валую они сделали хорошо в этом тысячелетии, прямо удивился
47 3333078
>>32832
Нормальный шарпист знает о Nemerle - языке для .NET, который имеет гигиенические макросы, что позволяет вводить новые синтаксические конструкции. В нём легко можно ввести все те фичи, о которых ты говоришь.
К сожалению, Nemerle умер... Но Microsoft постепенно движется к реализации его возможностей в C#.
48 3333083
>>33078

>К сожалению, Nemerle умер


тогда ЗАЧЕМ ты его вспоминаешь??????? риторический вопрос

однако

>В нём легко можно ввести все те фичи


может мне еще свой язык написать? а че нет?
с меня хватает и необходимости создавать и поддерживать либу в которой есть то, чего ожидаешь в дотнете, но будет там через 1000000 лет.
вообще я не один такой с такой либой. Даже вон есть dotnext проект
49 3333085
>>33074

>IEnumerable, которое риоднли по самые помидоры



Перечисление только перечисляет, ему ничего не известно о словах, которые ты произносишь
50 3333086
>>33078

>В нём легко можно ввести все те фичи, о которых ты говоришь.



В принципе нахуй не нужно, можно просто автомаппер использовать
51 3333087
>>33085

>Перечисление только перечисляет


как и IReadOnlyList только читает и его ничуть не волнует ридонли ли список или нет. Он всего лишь говорит "я буду только читать"

>ему ничего не известно о словах, которые ты произносишь


tomatoes.Select(t=>t)
а теперь?
52 3333088
>>33074

>бинарная совместимость


Я даже не будут спрашивать какую шизофрению ты в это понятие закладываешь.

Надо будет - прибьют гвоздями как Enumerator для foreach прибит. Просто это никому не нужно. Это не решает вообще никакую проблему.
53 3333089
>>33088

>Надо будет - прибьют гвоздями


вообще то изначально было надо. но не вышло. даже статьи на эту тему писали почему НЕЛЬЗЯ это сделать - именно проблема бинарной совместимости. Так что никто никогда гвоздики не тронет

>Я даже не будут спрашивать какую шизофрению ты в это понятие закладываешь.


а я отвечу
они ввели Lock польза от которой какая? новый апи? никто не побежит переделывать текущие локи
возможность убрать секцию для лока из хидера объекта - тогда все старые либы которые просто "мы тут версию дотнета поменяли" просто выпадут в осадок.
Тогда что они планируют в дотнет 12? из за подобных проблем никто не стал делать IList : IReadOnlyList ни щас, ниКОГДА
54 3333095
>>32701

>В Котлине есть автомаппер?


Чувак, автомаппер - это всего лишь библиотека! Их тысячи.
Если тебе нужен маппер, но нет подходящего с нужными фичами - напиши свой. Это делается на коленке.
55 3333098
>>33083
А зачем ты полудохлый Коклин вспоминаешь в теме про .NET?
56 3333099
>>33086
автомаппер нахуй не нужен
к тому же он не решает ни одну из упомянутых котлинистом фич
57 3333102
>>33098
критикую шарп, нельзя что ли? в шарпе хватает говна и ему радоваться или что?
58 3333154
>>33102
Да, нельзя.
Нет, не хватает.
59 3333167
>>33154

>Да, нельзя.


я не говноед. я критикую и требуют навести порядок. жаль что меня не очень слушают, поэтому получаем фичи в недоделанном виде, а то и годами ждем.

>Нет, не хватает.


так ты не переживай. мелкие еще наделают. они в этом мастера. они найдут где сделать так что "ну семён семеныч"

свойства без backingfield, ConfigureAwait, рекорды, is var, полусырые примари конструторы (хотя как я понимаю это всё) и т.д. - что то доделывают через годы (когда уже поздновато), но в основном хер
Ну хоть расширения на доработку отправили, но они постараются и там сделать жопно
m57jjzqjj4db1.png400 Кб, 1200x1200
60 3333177
>>32445 (OP)
Всем ку мужики, скатываюсь в шарписты, подскажите где можно найти задачи/проекты которые будут похожи на реальные рабочие кейсы? Я имею ввиду не хуйню с литкода или кодварса, а что-то реальное и прикладное. Хочу потренироваться и занять себя.>>33088
61 3333179
>>32985

>Ilist не станет наследоваться от IReadOnlyList


ФэПэшное фантазии умерли уже лет 10 назад. Программирование не может не иметь сайд эффектов. Лист по задумке это динамическая структура и иметь иммутабельную структуру данных в хипе, а не в стеке - это абсурд и результат того, что некомпетентные люди попадают в разработку языков.

>в шарпе типа не та же ситуация


Нет, даже 5 лет назад шарп был на голову выше жабы. Продать его шарпистам было сложно, ради пару модных сахаринок.
То что в шарп тянут модные свестелки и перделки - в чем проблема? Это больше гемморой для команды разработчиков, чем для потребителя. Нормальная практика взять проверенное другими фичу и засунуть себе (так же и джава делает, что там от котлина еще осталось?).

>а это можно просто не тащить легаси. ведь можно же


Нельзя, потому что у котлина не было ничего своего, перевкатуны даже об гредл разбивались. Представь тебе только что рассказали про модный и молодежный язык, чуть ли не правильный питон у тебя в руках и ты такой на радостях бежишь потыкать в него и тут тебя встречают сразу кровавый тырпрайз с его аномальными оверхед-решениями, которые непонятны даже местным (блин, даже гугля про веб на джаве в 2016 году ты попадал на страницы про EE). Фраза "котлин пахнет джавой", это фраза того времени, то что они полезли в котлин жс, котлин нейтив, а не стали пилить дефолт инструменты для jvm на их выразительном, это фатальная ошибка руководства тех лет. котлин js вообще смешно, они правда думали что смогут конкурировать с node.js и ts, написав кривую обертку над HTML DOM? Ты представь уровень некомпетентности в управление котлина в те года
62 3333181
>>33177
Если вебдресня - то по традиции люди с двача пишут движок двача.

Я бы попробовал какую-нибудь низкополигональную (low poly) игрушку написать на юнити, не ради результата, а ради каких-то механик которые можно написать на шарпах (например, сложный расчет поведения врагов за счет динамически меняющегося окружения. Или процедурная генерация местности или мобов как в no man sky). В общем что-то, что визуально можно позапускать потыкать, это интереснее бэкенда с перекладыванием json'ов (хотя есть вот эти браузерные сетевые миниигрушки на вебассембли).
63 3333182
>>32445 (OP)
https://career.habr.com/80levelelf

типичный любитель сидиеза, кста
64 3333189
>>33102

>критикую шарп, нельзя что ли? в шарпе хватает говна и ему радоваться или что?


Шарп мультикомбайн в прикладной разработке, как наверное и современный js. И там и там людями срать на какие-то огрехи языка которым овер 20 лет, все реально понимают почему так или иначе исторически сложилось, все внимание пользователей этих языков не в том с какой стороны тип записать или список объявить, там у людей уже фокус смешается на уровень - какой взять инструмент и какие технологии помогут в том или ином решении. в свое время я попал в шарпы не потому что нравился синтаксис, а потому что он был в моем решение - юнити, был бы там хоть js - мне было срать, я бы писал на js

Так что всем срать что твой юношеский максимализм фрустрирует с синдромом утенка и тебе что-то где-то не нравится. Хочешь уровень реальной разработки? Возьми и напиши свой "свифт/котлин/ts" для дотнета (и пойми потом почему это не нужно), а мериться тем как одно и тоже делается в разных языках, но чуточку по разному - это удел глупеньких.

Смотреть на котлин надо смотреть через призму андроида. А не потому что там глисты другие. Так что если нравится котлин? Напиши уже какую-то теху или флагман на нем, это ему больше поможет. Сейчас главное проблема котлина и то что его убивает - это вендерлок на IDE, так что спаси свой кокотлин, вытащи его хотя бы в vscode.
65 3333190
>>33087

>tomatoes.Select(t=>t)


>а теперь?


И что "теперь"? Select это метод расширения статический, это не метод самого IEnumerable, так что он все так же ничего не знает.
66 3333192
>>33167

>годами ждем.


Кто ждет? Зачем? Иди попиши на го, потом даже в джаву вернутся будет счастьем.

Недавно узнал что раст планировался изначально с гринтредами и гц как го, но в нормальном дизайне и тулингом не из 70х годов. Представьте какую ошибку допустили авторы, а где-то в параллельной вселенной сейчас существует язык, который полностью затмил все ваши жабы/шарпы - нормальный современный язык с нормальным тулингом и конкурентностью.

Так что спасибо что не го и не раст.
67 3333205
>>33192

>Недавно узнал что раст планировался изначально с гринтредами и гц как го, но в нормальном дизайне и тулингом не из 70х годов



Отсутствие GC это единственное, что отличает раст от других технологий.
68 3333215
⚡⚡⚡Dotnet 10 будет включать новый сборщик мусора, основанный на технологиях AI (машинного обучения).

Технология будет включаться при наличии тензорных ядер, либо в облачных сервисах Microsoft, при наличии платной подписки Azure.AI.
69 3333270
>>33215

>Технология будет включаться при наличии тензорных ядер, либо в облачных сервисах Microsoft, при наличии платной подписки Azure.AI.


лол
70 3333286
>>33205
Отсутствие поддержки внутренний мутабельности объектов, практически навязывает использование Arc<Mutex<T>>
Что является счетчиком ссылок с проверкой владения во время исполнение. Это не так критично, но это уже не совсем системный уровень.

Отсутствие ГЦ нужно только паяльникам, в прикладной разработке банально нет столько ресурсов, чтобы еще с указателями трахаться. То есть, это настолько узкая и ниша, что старого с++ там было достаточно, на котором и так тонна либ, которые переписывать никто не собирается.
А вот наличие в бэкенде удобного конкурентного языка - это до сих пор явная потребность.
71 3333289
>>33215
Все юродствуешь.
72 3333316
>>33179

>Лист по задумке это динамическая структура


сам понял что сказал? лично я нет. причем тут вообще фп. причем тут вообще стек. есть КОНТРАКТ.
IList реализует IEnumerable, потому что IList имеет часть контракта "читать" и поэтому IList можно передавать БЕЗ ДОПОЛНИТЕЛЬНЫХ приседаний в методы, которые принимают IEnumerable
с IReadOnlyList та же история просто ЕГО ЗАБЫЛИ когда изначально дизайнили контракт списков (кстати жопой дизайнили). А когда люди наконец пояснили что "надо бы", то оказалось что уже поздно впихивать как надо.

>даже 5 лет назад шарп был на голову выше жабы.


причем тут жаба. в шарп тянут свистелки по той же причине - народу надо.

>взять проверенное другими фичу и засунуть себе (так же и джава делает


ога, через десятилетия. при этом все эти 10 лет утверждая "эта фича никому не нужна", а потом с бахвальством "смотрите мы сделяль". поэтому жава говнистое говно и всё лучше жавы, даже говно бомжа лучше жавы.

>потому что у котлина не было ничего своего


это просто динозавры привыкли. Я вот не изучал легаси и сразу жетпак и котлин и всрались мне всякие там ретрофиты. И никаких "эта хрень не работает с корутинами". Но да, то я - у меня не было старых проектов которые нужно было бы переводить.
73 3333321
>>33189

>И там и там людями срать на какие-то огрехи языка которым овер 20 лет


это личное дело каждого говноеда.
не всем срать на огрехи что можно исправить
бэкингфилды тому пример, если всем срать то зачем их исправляют?
и так многие вещи просят. Просто не всех слушают.

>твой юношеский максимализм


я начал писать на шарпе с его рождения еще с версии 1 и это мой основной язык. Так что про синдром утенка он как бы более у тебя. У меня же здравая критика "не нужно бояться признавать ошибки, но и не нужно избегать их исправлять, просто можно не через десятилетия, а? мы ж не жава"

>Смотреть на котлин надо смотреть через призму андроида


мне на него смотреть не надо. Я шарпист и спотыкаясь о проблемы дизайна шарпа, иду и пишу мелким, что "тут херня, а другой херни вообще нет", а не хвалю котлин "вот там есть". С котлином мне просто ЗАМЕТНЕЕ разница. Но это не значит что я и без котлина не матерился каждый раз создавая бэкингфилд или кодируя ConfigureAwait(false) или кастуя к IReadOnlyList (ну там ладно я хоть понимаю что они исправить не могут) или не имея очевидных методов LINQ или того же словаря - котлин тут вообще не причем.

>>33190

>Select это метод расширения статический


зато возвращает IEnumerable помидорков. так что...

>>33192

>Кто ждет? Зачем?


внезапно шарписты. потому что нужно. смотри список proposal и прозревай. и это ведь про новые фичи.

>Иди попиши на го


иди поешь говна чтобы познать что тебе не так уж плохо или а в африке вообще негры голодают
это аргументы уровня /b
74 3333360
>>33321

>я начал писать на шарпе с его рождения еще с версии 1 и это мой основной язык.


Тогда бы ты обплювался от котлина, который везде наговнил классическому дефолт джава-стилю (чтобы быть нетакусиком). Если для го это быть может норм, это новый яп и он может делать что хочет, то для приемника джавы, переворачивать базу семантики, это идиотизм.

Да и с опытом более 15 лет приходит осознание что все языки в какой-то степени говно, а когда начинаешь писать свои сложные архитектуры, то понимаешь что это нормально и по другому нельзя, поэтому придираться, что там где-то забыли что-то, это юношеский максимализм. Это тоже самое как жаловаться что в одном заводе, поставили автомат с печеньками, а на другом заводе нет.

>причем тут вообще фп.


А в том что листы по природе были созданы в противовес массивов как мутабельная динамическая структура данных. Представь ты создаешь машину которая должна ездить, а потом создаешь машину которая ездить не должна, ибо опасно когда она ездит, Ванюша может пораниться в коде.
75 3333375
>>33360

>Тогда бы ты обплювался от котлина


у меня претензий к нему тоже хватает, но тут не котлин тред чтобы я им возмущался

>наговнил классическому дефолт джава-стилю


котлин не преемник жавы. это шарп преемник ибо начался как "мы сделаем свою жаву".

>и по другому нельзя, поэтому придираться, что там где-то забыли что-то, это юношеский максимализм


нельзя? кто сказал нельзя? что за дикий бред. вот щас делая фичу с бэкингфилдами оказывается можно. И даже возможные конфликты с написанным кодом не останавливают.

>как жаловаться что в одном заводе, поставили автомат с печеньками


ну так если в итоге автомат с печеньками поставят, то разумно жаловаться, а не продолжать облизываться на другой завод.

>А в том что листы по природе были созданы в противовес массивов


какое отношение это имеет к контрактам списочных структур? правильно - никакое. На уровне контрактов не разницы что там лист или вообще склад котиков мимикрирующий под список. Там есть просто контракт. И его просто не продумали, ведь так спешили сделать свою жаву, что много чего не продумали.

А если брать дизайн списков то сделано было ЧЕРЕЗ ЖОПУ
нужно было сразу разделить мутабельные, иммутабельные, ридонли на уровне языка. И назвать нормально
76 3333389
>>33375

>нельзя? кто сказал нельзя? что за дикий бред


Реальность, без декомпозиции мозг не способен воспринимать сложные системы полностью, там физическое ограничение на 4-7 элементов. В остальном восприятие происходит через обобщение, но так что ты его даже не чувствуешь - поэтому и получается что ты как вкатун бегаешь с листами, а кто-то решает реальные проблемы реального софта. Вот мне думаешь важны какие там листы, когда я не могу локализовать плавающую ошибку в коде?

Так что учи шарп молча. Еще бы к шрифтам в вскоде докапался бы.
77 3333446
>>33389

>там физическое ограничение на 4-7 элементов


ты какой то шизнутый. какое отношение имеет, например, НЕОБХОДИМОСТЬ писать бэкингфилд руками к ограничению твоего мозга?
и остальное тоже туда же.

похоже у тебя шизофазия какая то, раз ты вообще не понимаешь что я пишу
78 3333457
>>33375

>бэкингфилдами


Чел, а ты можешь объяснить как тупому, зачем они нужны?
А то я вот почитал и чет не понимаю, что в них такого уникального, что нельзя было бы заменить обычными свойствами с модификаторами на get/set ?

А то ты так их расписываешь, будто это прям килер фича какая-то, вот и хотелось бы понять.
79 3333472
>>33457
Нахуя тогда свойства нужны, и чем они отличаются от публичных полей?
image.png470 Кб, 626x417
80 3333475
>>33446

>Я не ограниченный биоробот, который мыслит субъективно, слышишь! Я высшие существо способное думать умно! Если я вижу что листы неправильные, значит так оно и есть! Это самая главная проблема сейчас в шарпах! Это очень сюрьезна, ты понял?!

81 3333478
>>33457
Очередная околомагия, помню еще в кокотлине можно было как-то просрать контекст this как в js, лол.
82 3333531
>>33457
ты просто не понимаешь что это такое
их нельзя заменить обычными свойствами ибо они и есть ЧАСТЬ свойств

вместо

private int _foo;
public int Foo {
get=>_foo;
set{
_foo=value;
...другой код
}

ты можешь не заводить private int _foo; которая может нахер никому не нужна, а заведена лишь потому что нечему присвоить =value

поэтому в норм языках если ты хочешь добавить код в сеттер, и тебе нахрен не нужно это приватное поле в классе, то ты можешь сделать так
get=>field
set{
field=value;
...другой код
}
где этот field за тебя скомпилирует компилятор. вот в дотнет9 это и собирались сделать...или сделали но там экспериментально...или сделали. вот перейду на дотнет 9 и посмотрю
83 3333533
>>33475
это одна из проблем в шарпах. и ты можешь сколько угодно трололо, но это не изменит ущербности списков в шарпе
так что мимо, иду учись аргументировать нормально дитятко

В чем ущербность? в том что нет нормального искаропочного разграничения между мутабульными, иммутабельными, риоднли, фрозен и прочее. Ну и на уровне контрактов та же херня. Я не могу передать byte[] как ридонли и не потерять в перфомансе. Когда ввели IReadOnlyList, то он оказался неудобным и большинство так и продолжило передавать везде IList (какой такой там чистый код вы что) не замораиваясь с какими то там "контрактами" вида "если метод будет лишь читать список, то пусть прямо обозначает это в сигнатуре"
85 3333602
>>33531
С-с-ука-а. Ну это же ебучий сахар. Ты весь тред сотрасаешься насколько важны - эти бэкингфилды, а по сути - нихуя особенного. Просто, блять, приватное поле под капот спрятал. Я понимаю, если бы это было, что-нибудь вроде init или with, которые в 9-м шарпе появились. Вот это да офигеть как избавляло от кучи ебли. А тут...

Алсо, я честно говоря вообще не вспомню, чтобы за последние 3 года хоть какую-то логику в get/set-ах писал.
86 3333609
>>33556
только бездарям, которые себя погромистами называют
а нормальным программистам - нет.

>>33602
как и get/set тоже сахар. может его тоже не надо было делать, а как в жаве методами? ты ж вот не пишешь в свойствах ничего из логки. зачем тогда вообще свойства? или что ты хотел сказать?

это пример того что этот сахар со свойствами изначально не был нормально сделан. И такое в шарпе много где.
Я не сотрясаюсь о их важности. я сотрясаюсь о том что ФИЧИ ДЕЛАЮТ ЖОПОЙ и они получаются сырыми.
и это просто пример одной из фич, которая показательна тем, что через десятки лет они таки решили этот вопрос допилить (что прямо нереальная редкость). иди напиши им что "не надо этого делать, никому не нужно, а что там в proposal champions, так то жависты накручивают"

>чтобы за последние 3 года хоть какую-то логику в get/set-ах писал.


ну да, ты ж один у нас на свете шарпист )
87 3333648
>>33533

>В чем ущербность?



Так в чём ущербность-то?
wr-960.webp84 Кб, 960x640
88 3333649
>>33531

>поэтому в норм языках если ты хочешь добавить код в сеттер, и тебе нахрен не нужно это приватное поле в классе, то ты можешь сделать так



Больше, больше сахара!
89 3333652
>>33472
Тем что свойства - это методы, а поля - это всего лишь значения.
90 3333660
⚡⚡⚡Платформа Asp.Net Core 10 будет включать в себя новую библиотеку System.Object.Autoassigner.

"Многие просили нас включить в ASP.NET Core решение для автоматического маппинга свойств в объектах. Поэтому вместе с Visual Studio 2024 будет поставляться совершенно новое решение на базе многолетнего изучения опыта разработчиков.

Мы разработали для нового пакета специальный, укороченный синтаксис. Благодаря ускоренной в dotnet 10 обработке деревьев выражений, а так же обновлённому API динамических прокси, System.Object.Autoassigner работает на 12% быстрее альтернативных библиотек."
- Раджеш Папаржеканасра, главный архитектор Blazor
91 3333662
>>33652
А нахуя тебе такие методы, которые все используют просто как публичные поля?

Никогда не понимал этой хуйни. Я бы вообще не парился и геттеры руками писал
92 3333670
>>33648

>Так в чём ущербность-то?


я ж говорю. чужие методы без проблем принимают IList просто потому что "а что еще ж", и хрен поймешь меняют ли они твой массив внутри или нет. С выходом IReadOnlyList ...ничего не изменилось. Особенно забавно если у тебя уже IReadOnlyList и методу нахер не нужно писать в твой список, но он же принимает IList

фрозен коллекции появились ТОЛЬКО ВОТ. иммутабельные тоже не сразу.
ну а на уровне обычного массива вообще нет защиты компилятора на запись без каста к интерфейсу со всеми вытекающими.

>>33649

>Больше, больше сахара!


вообще то это не новый сахар, а он должен был быть таким с самого начала. просто как обычно сделали все руками из жопы
И да - этот сахар нужен. Не веришь - иди убеди что зря мелкие доделывают фичу
но лично ты после выхода фичи можешь не использовать. тебе ж не нужно.
93 3333672
>>33670
Пиздец, ты развёл нытья на весь день вокруг несущественной мелочи.
94 3333673
>>33670

>должен был быть таким с самого начала



Кому должен?
95 3333676
>>33672
дурачок что ли
это ОДИН ИЗ МНОЖЕСТВА примеров
просто нагляднее ибо его таки обещают притащить

интересно. а вы сахаром пользуетесь в шарпе или тупо лицемерите?
отвечать не надо. ответ знают все

>>33673
понятию "нормальный дизайн языка позволяющий писать чистый и стройный код без костылей и приседания, и лишних компромиссов"
но ВАМ такое понятие неведомо, поэтому можешь даже не пытаться понять.
96 3333683
>>33676

>чистый и стройный код


За разговоры про чистый код в 2к24 в приличном обществе руки не подают, а через пару лет, так вообще пиздить начнут.
97 3333701
>>33683
пожалуй, постою подальше от вашего "приличного" общества
а то еще заражусь проказой.
98 3333708
>>33683

>За разговоры про чистый код в 2к24 в приличном обществе руки не подают, а через пару лет, так вообще пиздить начнут.



Есть что-то лучше? Чистый код классная книжка. Особенно классно там поводили хуем по губам любителям писать комментарии
99 3333710
>>33676

>это ОДИН ИЗ МНОЖЕСТВА примеров



Возмутительно!
100 3333761
>>33710
таков мир дотнета
вон решарпер последний имеет баг где при переименовании студия просто виснет. фикс будет в следующем билде. а когда он? полмесяца прошло
101 3333776
ну вот дотнет 9 наглядный пример

они наконец додумались бэкингфилды
они наконец додумались до метода Index
они наконец додумались что hex строка нужно то в разном регистре.
они наконец додумались что если в LINQ проходит ICollection то можно не создавать итератор (это сколько то тредов назад сюда заходил жавишник и выиграл в перфомансе именно по этой причине)
они наконец додумались добавить еще методов в LINQ (но все равно мало)
они наконец додумались что таки нужен и дженерик вариант SortedDictionary
они наконец додумались сделать оптимизации для Task.WhenAll (в 8 версии тоже делали, но кто ж делает всё очевидное сразу то, ведь можно отложить на год....двадцать...вечность)
и другое...

возникает вопрос - а раньше никак нельзя было догадаться да?
102 3333788
>>33776

>а раньше никак нельзя было догадаться да?


Догадаться то можно было, а ты пойди и сделай сразу. И можешь не утруждать себя фразами "а вот в язык_нейм сделали" - копнув поглубже в любом языке можно дофига другого говна найти из разряда "а чо сразу не сделали". Вон, куда ни ткни, все современные языкописатели сначала усираются чем-нибудь в духе "дженерики нинужны", а потом, когда им комьюнити панамку хуев напихают, начинают все это прикручивать на готовый костяк, пытаясь к херам все не сломать.

Ты вот к примеру если умный такой, чего битками в 2007-м не обзавелся? Ведь мог бы догадаться, а?
103 3333789
>>33776
возникает вопрос - а раньше никак нельзя было догадаться да?

Зна́ние за́дним число́м — когнитивное искажение, склонность воспринимать события, которые уже произошли, или факты, которые уже были установлены, как очевидные и предсказуемые, несмотря на отсутствие достаточной первоначальной информации для их предсказания.

Умник ёбаный
104 3333799
Даю бесплатный совет

Чтобы максимально заебать окружающих, нужно завалить код комментариями, составленными из цепочек слов в родительном падеже:

/// Форма отправки данных платежа клиента службы доставки
...

/// Метод отправки формы данных платежа клиента службы доставки
...

/// Сервис вызова метода отправки формы данных платежа клиента службы доставки
...

/// Конструктор сервиса вызова метода отправки формы данных платежа клиента службы доставки
...

/// Интерфейс сервиса вызова метода отправки формы данных платежа клиента службы доставки
...

/// Регистрация DI контейнера интерфейса сервиса вызова метода отправки формы данных платежа клиента службы доставки
...
105 3333806
>>33799

>/// Форма отправки данных платежа клиента службы доставки


Это норм, потому, что вротебал разбираться в тысяче ДТО-шек по их названиям какая из них за что отвечает.

>>33799

>/// Метод отправки формы данных платежа клиента службы доставки


>/// Конструктор сервиса вызова метода отправки формы данных платежа клиента службы доставки


>/// Регистрация DI контейнера интерфейса сервиса вызова метода отправки формы данных платежа клиента службы доставки


>/// Сервис вызова метода отправки формы данных платежа клиента службы доставки



Это да, очевидная хуйня - засоряет.

>>33799

>/// Интерфейс сервиса вызова метода отправки формы данных платежа клиента службы доставки


То что, это интерфейс итак очевидно и не нежно, но подписать, что за контракт он реализует, тоже иногда бывает полезно, если это не какая-нибудь очевидная хуйня вроде репозитория или клиента.
106 3333808
>>33806

>и не нежно


и не нужно
107 3333817
Допустим я ебанулся и делаю монолит модульный но мой мозг загажен микросервисами.
Собственно, я не хочу делать общую сборку в которую вынесу события для эвентбаса. Я хочу чтобы каждый модуль мог сам определить события, и потом если имя И СИГНАТУРА объекта совпадает - какой-то модуль обрабатывал.

Тут и вопрос. Есть ли более хороший путь, кроме как заворачивать при публикации в жсон и динамически пробовать развернуть в объект уже из другой сборки?
Я как-то делал типа утиную реализацию, типа если все поля есть - то можем спапить. НО, это во первых был оч обскурный код, там надо было ебаться с генерацией типов в рантайме, да и вообще, не настолько я хорошо знаю шарпы. Больше так не хочу.

Чтобы было понятно:
public record UserAuthEvent(int Id, string Name, string Email) : IEvent // MyProj.ModuleA
public record UserAuthEvent(int Id, string Name, string Email) : IEvent // MyProj.ModuleB

Почему я так хочу? Потому что я не хочу пересобирать модули, которые не менялись. А если я буду менять какую-то базовую сборку с событиями - все модули что ее используют(считай все) будут должны пересобраться, а иногда это критично.
108 3333820
>>33806
Это ирония была. Комментарии запрещены у нас, как и на всех нормальных проектах после того как один дебик вот такой хуйнёй начал заниматься.
109 3333822
>>33817
сделай дискриминатор и по нему разбирай тип сообщения
110 3333823
>>33817

>Почему я так хочу? Потому что я не хочу пересобирать модули, которые не менялись.


Ты дрочила просто, экономишь на хуйне
111 3333834
>>33817

>спапить



Смамить
112 3333890
>>33531
Если тебе приходится часто писать приватное поле под гет/сет - то ты неправильно используешь свойства.
113 3333899
>>33817

>события для эвентбаса


Нахуя? Хореография вообще нахуй не нужна.
114 3334013
>>33899
Правильно, нахуй не нужна, лучше использовать автомаппер
115 3334018
>>33788

>а ты пойди и сделай сразу


а я иду и делаю сразу. серьезно. в моей либе ака MiscUtils есть много чего и даже больше и уже десять лет минимум.
потому что нет ничего сложного сделать сразу.

>чего битками в 2007-м не обзавелся?


потому что я не оракул разбираться в чем то новом неизвестном
а SortedDictionary существует со времен динозавров и дженерики тоже. Что тут неизвестного то
А LINQ наверное инопланетные технологии будущего да?
ну а hex это ж...никто никогда не пользуется hex строками.

>>33789

>Зна́ние за́дним число́м — когнитивное искажение,


ты разраб дотнета?
взять тот же hex
они делают методы в классе Convert не помню в какой версии дотнета И делают метод для генерации хеша в нижнем регистре НО ДЕЛАЮ! ЕГО! ИНТЕРНАЛ!!!!!!
то есть они всё таки понимают нужность этого, потому что он был реализован сразу...просто ИНТЕРНАЛ

>>33890

>то ты неправильно используешь свойства.


вернее как раз правильно. геттеры и сеттеры как раз и придуманы чтобы можно было логику добавить, а не только степень видимости установить.
Другой вопрос КАКУЮ логику я там пишу - но этот вопрос за рамками.
116 3334076
>>34018

>НО ДЕЛАЮ! ЕГО! ИНТЕРНАЛ!!!!!!



И ЧЕ!!!!!!?????
117 3334080
>>34076
да ничего
когда тебе в чай с сахаром не положат, собственно, чай - ну может ты поймешь в чем беда
хотя нет, не поймешь. Тебе в голову мозг не доложили )
118 3334102
Накидайте вопросов с однозначным ответом, по которым джуна можно сразу отсеять.

Типо чем "throw отличается от throw ex". Хотя может джуны уже и это знают.
119 3334107
>>34102
что за методы типа UnsafeRegister
например, в CancellationToken
120 3334108
>>34018

>они делают методы в классе Convert не помню в какой версии дотнета И делают метод для генерации хеша в нижнем регистре НО ДЕЛАЮ! ЕГО! ИНТЕРНАЛ!!!!!!


Напиши им в issue. Ну то есть это нормальная претензия, буквально создай им этот вопрос в гитхабе, я видел что они вполне себе выносили какие-то методы в паблик на основе реквестов, после обсуждения естественно.

Шо ты так гонишь на дотнетчиков, подумаешь обосрались в мелочи. В листе кстати есть AsReadOnly, которая даже аллокаций не делает, кроме аллокации себя естественно. Чем тебе это не нравится? Решили же твою проблему.
121 3334114
>>34108

>Напиши им в issue. Ну то есть это нормальная претензия, буквально создай им этот вопрос в гитхабе,


ну я так и делаю же. Я ж не говноед, который "жричодали". Вот только толку мало - issue висят годами, вот в чем проблема.

>подумаешь обосрались в мелочи


практически в КАЖДОЙ мелочи.

>которая даже аллокаций не делает


но меняет объект на другой. Да и костыль это.

>Решили же твою проблему


нет не решили. Сам для себя я сразу написал метод типа дапперовоского AsList
но это никак не решает проблему что другие используют IList потому что "ну всегда использовали, а IReadOnlyList неудобна"
122 3334140
>>34107
Я на такое сам не отвечу, это уже совсем обскурщина. Про отмену асинхронного метода через токен сорс ещё куда не шло.
123 3334182
>>34140
ну тогда пусть расскажет про ExcutionContext, на который и завязано существование UnsafeRegister
и в таймерах та же беда.
124 3334230

>>333410


Как автомаппер оптимизирует запросы в БД?
Ты из епама?
Кто у твоей мамочки сладкий любимчик?
Почему Котлин такой выразительный?
125 3334247
>>34230

>Почему Котлин такой выразительный?


потому что его не делали "они не приняли наш j# поэтому мы запилим СИшарп" - в итоге получился сиподобный язык с сахаром. что тоже хорошо, но все же сахар не был самоцелью
а сразу делали упор на DSL-способность языка.
рантайм конечно выбрали говно. ну и подход с корутиноскоупами хорош для своих задач, но мозг сломаешь
то ли дело простые и понятные тасочки (но это уже другая крайность)
126 3334289
>>34102

Как автомаппер оптимизирует запросы в БД?
Вы из епама?
Кто у твоей мамочки сладкий любимчик?
Почему Котлин такой выразительный?
Почему List не наследуется от IReadOnlyCollection
127 3334290
>>34289

>Почему List не наследуется от IReadOnlyCollection


сегодня не пятница, а ты уже пьешь
128 3334306
>>34289
Толсто.
129 3334314
Кто нибудь может объяснить за frozen коллекции? Ощущение что им полтора применения в принципе.
130 3334317
>>34314
ну так скорость работы и потребление памяти. там нет запаса на "нам расти надо" и вообще "нас могут менять" и потому можно оптимизировать чтение. Не нужны никакие локи и тому подобное.
редко создавать и часто читать - вот их место.
131 3334329
>>34317
Я понимаю, но прирост для поиска не очень значительный, при больших затратах на саму оптимизацию. Выходит что имеет смысл использовать только для очень долго живущих сервисов? Сначала я вообще подумал это это просто readonly обёртка, типа заморозил коллекцию и будь уверен что никто не не поменяет, в то время как IReadOnly таких гарантий не даёт, ибо бог знает у кого под каким интерфейсом ещё лежит твоя коллекция. Оказалось совсем не про это.
132 3334332
>>34329
но все же прирост есть. а если создается один раз то еще больше.
а там еще jit поработает

это как то работает. вот у меня WPF проект с таблицами и после дотнет 9 прямо заметно шустрее стал. Почему? хз видимо jit что то постарался.

IReadOnly не гарантии что тебя не будут менять. IReadOnly это заявление, что тебя собираются там только читать и поэтому ты можешь впихнуть хоть фрозен. Но это не запрещает тебе ничего менять.
133 3334335
>>34332
С readonly - было бы удобно иметь условный immutable dictionary, но на хеш таблице. Как раз с целью хранить его и знать что даже если он пришел снаружи - никто поменять его не может. Поэтому первая мысль была - вот оно.
134 3334336
>>34335
immutable коллекции были ранее.
135 3334339
>>34336
Да, только под капотом там дерево.
136 3334342
>>34339
там еще хуже на самом деле.
тот же список полностью копируется
137 3334345
>>34342
Самое смешное что инфа про это совсем не на поверхности. И уж точно когда ты видишь название ImmutableList ты не ожидаешь логарифмической сложности доступа.
138 3334415
>>34345
а вот это ты зря. одной моей горящей жопы по этим поводам хватит на освещение всей солнечной системы.
так что ты присоединяйся к тем, кому норм.
fart.jpg1,3 Мб, 320x213
139 3334455
Практически весь текущий.
image.png28 Кб, 478x353
140 3334858
До чего всё таки убог wpf Да, статья от 2011 года, но поверьте, ничего не изменилось с тех времен.
https://jeremiahmorrill.wordpress.com/2011/02/14/a-critical-deep-dive-into-the-wpf-rendering-system/

> I’m currently working on a touch UI for an embedded medical device, and the requirement is basically to provide an iPad app-like UX. The machine has probably 2-3x the raw horsepower of an iPad, but no matter what, the UI just won’t feel as smooth or responsive as a slick iOS app.


> For another example, create an animated Expander with a large amount of content in it, or basically, slide anything with a large amount of content in it. This is a common iOS thing. It’s animation will be stuttery, even on a Core i7.


> Then I will see some cool HTML5 canvas example posted on Reddit, check the CPU loading it causes, and think there’s no way I could do that in WPF without 2x the loading. Even jquery widgets seem to behave more responsively than my WPF app.

141 3334892
>>33776

> (это сколько то тредов назад сюда заходил жавишник и выиграл в перфомансе именно по этой причине)


Проиграл с этого демедж контрола. Петушарп сосёт БЕСПРОСВЕТНО у джавы в перформансе. Петушарп это говно уровня питухона, т.е. игрушечный язык для долбоёбов что ни разу в жизни не запустали бенчмарк, когда джава это язык отстающий на ~2%-~3% от максимально возможного перформанса в принципе (ассемблера и с++).
142 3334896
>>34892
чушь говноеда.
я признаю что в том тесте шарп проиграл в 1.5 раза из за вот этого
1.5 раза в частном случае это не проигрыш

>джава это язык отстающий на ~2%-~3% от максимально возможного перформанса в принципе


ох уж эти ФАНТАЗЕРЫ

а уж жрет жава памяти как НИКТО ДРУГОЙ.
143 3334900
>>34858
да срать на анимации. за них деньги не платят.
Зато возможность создать контрол не пердолясь в ручное рисование - это вещь
а хамл - не вещь, запарил уже. но альтернатив толковых нет.
144 3334901
>>34892
Напоминаю, что в тесте с погодными станциями жаба соснула у шарпа раза в два.
2024.12.0421-02.png184 Кб, 1178x882
145 3334928
>>34896
>>34901
Шарпододики с правды порвались. Терпите, карлики.
изображение.png84 Кб, 549x618
146 3334930
>>34928
сразу видно что ты дурачок
если ты сравниваешь с ассемблером то сравнивай в числодробилках, а не либы !!!!с разным функционалом.!!! (потому как даже в рамках одного языка та же жсон сериализация имеет кучу реализаций с разным перфомансом) - сравнение такого рода сразу выдает человека не совсем здорового.

с ассемблером ладно. давай с растом хотя бы (пик)
2-3% ога ))))
ну чего еще от дурачков ожидать.
147 3334933
>>34930
Ага, понятно, жсоны сериализовать можно очень по разному, можно парсить, а можно читать, и на весь огромный петушарп не нашлось либы, что сериализует жсон таким же методом, чтобы также быстро как и на джаве получилось!

Позоришься, клоун)
148 3334934
>>34933
каким методом, дурачок?
на твоем скрине ВЕБФРЕЙМВОРКИ сравниваются, а не чисто жсон сериализация даже. (то есть в принципе разный функционал у них)

Господи, ты когда жавистов создавал, вообще мозг им давал или отложил "выдам когда реализуют гет/сет на уровне языка"?
149 3334935
>>34934

>JSON SERIALIZATION


Этот тред как зоопарк.
150 3334938
>>34935
да. сюда больные жависты забегают и позорятся.
а я вот никогда не против накормить их говном.
151 3334939
>>34938
Что-то по делу будет, животное?
152 3334940
>>34900

> да срать на анимации. за них деньги не платят.


Мне платят
153 3334943
>>34939
ты чего с зеркалом то разговариваешь, жавопсих. да еще так орешь, что всем тебе слышно.
ты (или не ты) ляпнул про 2-3%, а сейчас чего то замолчал по этому поводу

а сравнивать фреймворки или сериализаторы будет только имбецил. их воз и тележка в каждом языке, да и разные они между языками (банально в жаве нет структур, с дженериками жопа и так далее)

>>34940
ну плохо быть тобой. я хз что можно писать на WPF чтобы прямо требовали анимации.
154 3334944
>>34943
То есть не будет? Слив, клоун. Иди дальше перформанс тюнить, а то 1к рпс сервер ложат.
155 3334945
>>34944
конечно не будет. я не психиатр, справочку выписать не могу
могу только посоветовать к нему обратиться
но это я как бы сделал...правда не слишком явно
IMG20241118121336804.jpg41 Кб, 637x449
156 3334957
>>34945
>>34944
>>34938
>>34930
>>34928
Доложите статус ваших мамок
157 3334963
>>34957
они тоже не психиатры, увы.
так что сходи в пнд сам. Там тебя со старта примут только заикнись что ты на жаве пишешь.
158 3334974
>>34963
Пишу только на джаве, мне нравиться
159 3334982
>>34974
нам то какое дело до чужой копрофилии. иди собратьям это говори, а тут тред не засоряй.
160 3335000
>>34945
Кривлянием тормознутого писаки на тормознутом языке удовлетворён.
161 3335003
>>35000
отвечаю только из за трипла.
тупость говноеда жависта меня утомила. все всё увидели что не стоит на жаву смотреть, а то такими же дебилами станут

можешь уползать в свой сральник.
я больше учить тебя уму разуму не буду даже за триплы
162 3335006
>>35003
— ррааззддааллссяя ппррооннзз[сборка мусора]ииттееллььнн[сборка мусора]ыыйй ввооззгглл[краш]
163 3335064
>>35003
Java лучше чем C#. JVM производительные чем CLR.
164 3335074
Пришел к выводу, что все связанные с какой-то хуйней вещи должны лежать в одной папке. Иногда даже - в одном файле. Но хотя бы папка - достаточно.
Потому что ебись оно в сраку. Какой еблан придумал - константы положить в отдельную папочку. Модельки которые их используют - в другую. В третью - енамы. А потом тебе этот код из проекта в другой проект надо перенести - и ты как ебанат бегаешь и ищешь все говно.
Да даже если не переносить - ты подключаешь какую-то хуйню, и тебе хуяк - 100500 неймспейсов навалилось, и начинается....

Короче - структура должна быть такой:
- Папка1
--Модель1.цс
--Модель2.цс
--Константы.цс
--ЯСервис.цс
--Сервис.цс
--МодульТестыСервис.цс
--События.цс

Ну короче, вы поняли.
165 3335089
>>35074

> Какой еблан придумал


Джависты. Придумывают 100500 пакетов на каждый пук. Потом не могут вспомнить, где что лежит, а автоимпортом импортируют нужное только с третьей попытки. Додумываются называть классы как можно уникальней, чтобы при импорте был только один вариант, и пох, что в имени класса теперь 50 символов, половина из которых совпадает с именем пакета. Хуй знает ваще, зачем это тащат в шарп.
166 3335136
>>35074
именно так. feature based деление на папки рулит.
167 3335139
>>35074
Открой для себя Vertical Slice Architecture
168 3335141
>>34974
-тся!
169 3335144
>>35074

>--МодульТестыСервис.цс


Ты еблан? Нахуя тесты пихать в сборку? Нахуя они будут присутствовать в скомпилированном коде, который поставляется клиенту или разворачивается на сервере? Ух, сука, как подгорает!
170 3335157
>>35144

> <Compile Remove="МодульТесты*.цс" />


И никакие тесты в сборку не попадут.
171 3335167
>>35074

>Потому что ебись оно в сраку. Какой еблан придумал - константы положить в отдельную папочку. Модельки которые их используют - в другую. В третью - енамы.



Тоже никогда не понимал, зачем так делать. Я руководствуюсь следующим правилом из Библии:

Не клади руку в карман если у той меньше пяти пальцев. Это и не рука вовсе. Если пальцы кривые и выглядят как узелки на верёвочке, то, эта рука больна. Отрежь её. Но не жди, что на том месте вырастет другая, по виду здоровая и которую можно подать и бедному и богатому.
172 3335170
>>35074
Я группирую по сервисам. В одном файле лежит сервис, интерфейс к нему, все используемые енумы и дтошки. Нахуя плодить 100500 файлов по 10 строк в каждом, а потом лазить по 100500 вкладкам - непонятно, это что-то из области психиатрии.
173 3335171
>>35170
Охуенно наверное потом в двадцатером коммитить в один файл. Если про папки утверждение имело смысл, то тут - бред шизофреника.
174 3335173
⚡⚡⚡ глава корпорации Майкрософт Сатья Наделла заявил об отказе от С# и платформы дотнет, а так же переводе внутренних сервисов компании на более выразительный язык программирования
175 3335175
>>35173
На котлин что ли?
176 3335181
>>35170

>В одном файле лежит сервис, интерфейс к нему, все используемые енумы и дтошки. Нахуя плодить 100500 файлов по 10 строк в каждом, а потом лазить по 100500 вкладкам


Конечно, лучше как ебанутый метаться по одному файлу туда-сюда без возможности посмотреть некоторые места одновременно.

Ну и хранение интерфейса вместе с реализацией, тоже классика. Нахуй он тебе тогда вообще нужен? Ты множественные реализации тоже в один файл с ним будешь засовывать?
177 3335200
>>35171
В вашей шараге бардак вместо процессов. У нормальных людей таски разделяются между разработчиками и никто в один файл толпой не комитит. Ваш лид пидорас и хуесос.
178 3335202
>>35181

>Нахуй он тебе тогда вообще нужен?


Погугли, что такое DI и зачем он нужен.
179 3335210
>>35202
чтобы на каждый класс заводить по интерфейсу
зачем же еще
180 3335387
>>35202
А он на нахуй ненужон, диай ваш
181 3335393
>>35200
Прекрати, салфетки кончаются сало с монитора вытирать.
182 3335397
>>35393
хватить жрать за компом. комп для работы
а та то тот чел дело говорит.
183 3335464
>>35397
Да не трястись ты, смотри сколько опечаток
184 3335471
>>35170
Ебать ты долбаеб братишка
185 3335483
>>35464
как помоч несчастным.jpg
186 3335595
А скажите кто что нашел полезного в c#13 окромя params?
187 3335809
>>35595
Нефига, в шарпах не было varargs.
Хотя че мне ваши праздники жизни я в юнити.
188 3335952
>>35595
Новый Lock полезен.

А так основные нововведения в .NET9, а не в языке.
189 3336109
>>35809

>в шарпах не было varargs.


что значит не было? params много лет
просто он либо принимал массив, либо сам создавал - что приводило к лишним аллокациям только для вызова такого метода
190 3336202
В Шарпе отродясь был __arglist.
А также __makeref, __reftype, __refvalue.
191 3336283
>>35595

>params


Невероятно полезная фича уровня dynamic, перепишу теперь весь код нахуй. Паджиты совсем сдулись, уже не знают как выполнить план по нововведениям.
192 3336291
>>36283

>Невероятно полезная фича уровня dynamic


фича как фича. использовал много раз

> план по нововведениям.


оптимзировать ее нужно было давно. с самого начала, а лучше за 100 лет до рождения c#
но раз уж дотнет9 упор на оптимизацию...

а вот фича с индексом с конца - хз кому она вообще нужна
193 3336295
>>36291
Зачем оптимизировать то, что никому нахуй не надо? Эти params используются только в string.Format, форматирование давно все делают через доллар.
194 3336296
>>36295

>Эти params используются только в string.Format,


мде. что ты пишешь? калькуляторы?
это используется там, где это удобно.
если ты не использовал нигде - ну это твой частный случай.
195 3336514
>>33609
Откуда эта тряска чел? У тебя блять нет решарпера в конце 2к24? У меня приватное поле создаётся АВТОМАТИЧЕСКИ когда я требую создать тела для сеттера и геттера.

Пиздец ты шизофреник.
196 3336517
>>36514
у меня есть решарпер
я тот чел что жалуется что текущий решарпер вешает студию и это известный баг который типа будет пофикшен после нового билда
но билда нет уже полмесяца

а теперь по твоей аргументации

>У меня приватное поле создаётся АВТОМАТИЧЕСКИ


и оно НЕ НУЖНО НИГДЕ!!!!!!!!!!!!!!!!! кроме этого свойства, то есть банальный семантический мусор
и ты после этого нормальный? значит не пользуйся филдами когда они выйдут окончательно. ты же нормальный типа )))))))))))
А если воспользуешься (пусть и решарпер тебе перепишет) значит ты пидорасом станешь
197 3336576
Кто переходил с MVS на VS code + linux? Насколько болезненно было привыкание? Я пока только перенес проект на .net8 в vscode и охренел от древнего и неудобного интерфейса. Настроил запуск в режиме отладки, публикацию. - работать можно, но все желание работать в vs code пропало.
198 3336580
>>36576
Vscode кривое тормозящее говно. У меня после какого-то из недавних апдейтов пропадают букмарки, в списке они есть, а в окне с кодом нет. Паджиты, хуле.
Хуитку из трех файлов вскоде еще потянет, но в продуктовом солюшене однозначно нет пути.
199 3336582
>>36296
Я пишу продукт. Ты пишешь задачки на литкоде. Мы на разных уровнях.
200 3336587
>>36576
Нахуя ты на линукс перешёл?

Линукс это ОС для серверов чтобы экономить на лицензии и то при наличии денег лучше ставить винду.
Он просто напросто непригоден для работы, ты будешь больше ебаться с проблемами кривых пакетов и почему у тебя отвалилось "хуйня_нейм"
201 3336602
Недавно занимался добавлением авторизации через keycloak и через наш стандартный вариант текущий.
Хочу высказать моё почтение, разрабы .NET сделали реально заебись. В плане Keycloak достаточно просто добавить конфигурацию и прибиндить и оно работает, просто работает, сразу и без каких-то проблем. В целом с любым OAuth2 будет также.

Что не заебись это поведение при AllowAnonymous. В таком случае .NET все равно пытается проверить токен, но только при наличии схемы по умолчанию. Проблема заключается в том, что даже так дотНЕТ проверит только эту самую по умолчанию и дальше ничего не сделает. Политиками по умолчанию это не решается, надо указать именно схему.
В целом это не влияет никак на бизнес логику потому что ей, очевидно, не нужна информация о пользователе. Проблема в логах, там теперь нельзя понять кто же сделал анонимный запрос.
202 3336604
Я пол года назад понял, что не могу найти нормальную программу для отправки запросов HTTP.

Postmat - отвратителен, он ебёт мозги письмами, отжирает полтора гигабайта памяти, ебёт мозги покупкой лицензии, в общем не вариант.

Insomnia - вариант, но он для меня просто неудобен. Там окружения очень неудобно переключать.

Пробовал Yaak - мне понравился, но его тут же сделали платным.

В идеешке запросы отсылать люблю, но не люблю, хотелось бы именно годную программу. Чтобы на линуксе тоже работало.

В итоге получается, что абсолютно одинаковых графических обёрток над курлом дохуя, но все они говнище

Порекомендуйте что-нибудь, на чём можно остановиться?
203 3336607
>>36604
Посмотри Bruno.
204 3336654
>>36582
ахахаххахахах. вот это маневр.
ты просто пишешь калькуляторы. я понял
205 3336730
Раст обоссал петушарп, джава обоссала, говно обоссало, питон обоссал, жопаскрипт обоссал, плюсы обоссали, даже ёбаный кложур обоссал! Как после такой зрады жить-то можно вообще?!
206 3336737
>>36730

> обоссала говно



прикольное занятие, если честно,
207 3336755
>>36587

>Нахуя ты на линукс перешёл?


Импортозамещение на гос галере. Ещё и астру-линукс ставят. Я пока подготавливаю рабочее место.
Может проще перейти на джаву+эклипс, чем ебстись с дотнетами на вскоде?
208 3336910
>>36755

>Импортозамещение на гос галере.


А где вы сборку .Net берете? Качайте у Майков или есть импортозамещенные сборки .Net с саппортом и ГОСТ 28147-89?
209 3336917
>>36755

>Может проще перейти на джаву+эклипс, чем ебстись с дотнетами на вскоде?


Проще писать коды на своем компе, а кабану скидывать уже готовое через дыру в его анальном огораживании. Тогда и не придется ни на что переходить.
210 3336918
>>36604
VSCode + HTTP Client
211 3336919
>>36910

>ГОСТ 28147-89


В .Net-е по моему никогда и не было гостовских алгоритмов. Их всегда приходилось колхозить через всякие криптопро, сигнатуры и т.д.
212 3336979
>>36919
На nuget.org есть пакеты с гостовским шифрованием.
213 3336980
>>36604

>В идеешке запросы отсылать люблю


Имеешь в виду .http files в VS? Да, удобно. Но тогда ты должен знать, что оно вдохновлено VS Code REST Client extension. А VS Code работает и на лялихе.
214 3336983
>>36979
А пакеты с сертификацией ФСТЭК там тоже есть?
215 3337016
>>36980

> что оно вдохновлено VS Code REST Client extension



не, оно ещё в саблайм тексте 10 лет назад было.

Ну не запускать же VS CODE, который отжирает гигабайт памяти только за факт своего запуска? Тем более Visual Studio.

Вообще обидно. HTTP протокол простой как палка, для него нужна программа простая буквально как блокнот. А мы имеем комбайны с ЭЙ АЙ КЛАУД ОППОРТУНИТИС чтобы курл дёрнуть.
216 3337037
>>37016

> нужна программа простая буквально как блокнот


Раз она такая простая, тебе не составит труда написать её самому.
Простых программ дохуя, ими весь гитхаб завален, но они же все не на слуху, страшно использовать.
217 3337043
>>37037

Да в том и вся проблема. Либо постман, который уёбищен во всех смыслах, либо кустарное говно, которое при первых признаках популярности начинает просить всего по пачке жевачки в месяц (10 долларов, разумеется, а где эти доллары брать, я хуй знает, в руках их держал 1 раз в жизни).

Какой-то заколдованный круг в итоге.

Для себя я уже начал накидывать прототип на авалонии. Думаю уложиться в 800-140 мегабайт оперативки. Но чтобы довести до вменяемого уровня, надо усилия прилагать, тратить время, вылизывать и делать внимание к деталям.
218 3337044
>>37043
80 мегабайт. Вроде старт авалонии минимум 60 занимает.

Но лучше 80мб и минимальный функционал, чем 800 и облачный эйай у постмана.

Постман отвратителен, небогоугоден и неаыразителен
219 3337069
>>32575
Х.з. даже, в ежегодных Performance Improvements in .NET X что-нибудь проскакивает.
Иногда в блоге что-то интересное - https://devblogs.microsoft.com/dotnet/
Deep .NET - https://www.youtube.com/playlist?list=PLdo4fOcmZ0oX8eqDkSw4hH9cSehrGgdr1
В доках рантайма, но зачастую при их чтении не хватает контекста и доп. пояснений/информации - https://github.com/dotnet/runtime/tree/main/docs

https://www.youtube.com/@MaoniStephens/videos
https://devblogs.microsoft.com/dotnet/author/maoni/

Редко/очень редко что-то интересное:
https://andrewlock.net/
.NET Conf - https://www.youtube.com/playlist?list=PLdo4fOcmZ0oXeSG8BgCVru3zQtw_K4ANY - но они все поверностные, хотя что-то интересное может попасться, как например: https://www.youtube.com/watch?v=1bsTnaLchi4&list=PLdo4fOcmZ0oXeSG8BgCVru3zQtw_K4ANY&index=94
https://www.youtube.com/@DotNextConf
https://www.youtube.com/@DotNetRu

Есть ещё не самые свежие, но я читал на досуге:
https://mattwarren.org/
https://devblogs.microsoft.com/premier-developer/managed-object-internals-part-1-layout/ - и другие части
https://yizhang82.dev/blog/dotnet
https://migeel.sk/

Это всё если либо более глубокая "инфа" по разным темам или просто внутренности рантайма и т.д. Но я думаю всё это есть в той книге, в той или иной степени (я просто х.з., всё руки не доходят до неё).

Я был бы не против если бы кто-нибудь ещё что-то подобное кинул.
220 3337077
>>37069
Вот ещё чё вспомнил:
https://minidump.net/ <-- Kevin Gosse - один из авторов той книги
https://xoofx.github.io/blog/
https://lukasatkinson.de/2018/interface-dispatch/
https://habr.com/ru/articles/307088/
221 3337080
Я просто в браузере открываю консоль и пишу fetch
222 3337083
Как в uno вставить нативную джава активити для андроида?
223 3337084
>>37083
Ахахахахах
224 3337143
Почему студия не имеет рефактроинга - ПЕРЕНЕСТИ В ДРУГОЙ ПРОЕКТ?
Понимаю, что вопрос про софт, но типа.
Вот допустим, начал я что-то писать. Допустим, обертку над ребитом. Определил там сразу Event, ну, типа шина, вся хуйня.
Прошел год. Все пользовались, но закралось подорзение, что не гуд, что каждая блядская либа из класса *.Domain - знает не только про события, но и зачем-то интерфейс шины.
Возникает охуенная идея - а вынесу я Event - в отдельный проект, в духе Company.Project.Primitives.
И все. Пизда пошла. Теперь я как еблан бегаю в 100 местах ставлю ссылку на новый проект, удаляю ссылку на проект с абстракциями для шины.

А как было бы удобненько, если бы вот как с неймспейсом, но для проекта было бы. Клацаешь: Перенести в проект. Оно в корень перелетело, ссылки проставились где надо. Да. Ссылка на абстракции шины осталась, но там можно было бы другую хуйню еще: Удалить ссылки на неиспользуемые зависимости. И хуяк - у всех проектов осталось только то что используется.

Вот что в этом такого пиздец сложного?
225 3337145
>>37143
Не знаю что у тебя блять сложно перенести в другой проект, а потом сказать студии импортировать новые ссылки в нужные проекты.
226 3337164
>>37145
То что это делается не автоматически.
При переносе класса в другой неймспейс - студия сама все импортирует.
Когда я переношу руками в другой проект, на который нет ссылки, начинается - 9000 ошибок, не знаю что за класс. И я как дебил полдня трачу, чтобы все импорты проставить.
227 3337190
Из-за фрирен на оппике я начинаю дрочить шарпы
228 3337236
>>37164
Сколько у тебя там проектов в солюшене, что ты по пол дня тратишь на то, чтобы в них ссылки проставить? Просто если для тебя это постоянно боль, то вангую что с архитектурой что-то не то. Скорее всего десктопные приложения пилишь, да?

У меня, за все время работы на последнем месте, необходимость вынести что-то прям в отдельный проект появлялась раз 5 от силы, и то это обычно было в репозитории с платформенными либами, когда либу на Abstractions и Implementation пакеты разбивал, чтобы не тянуть лишние пакеты-зависимости туда, куда не следует.
В самих же (микро-)сервисах, при создании проекта у нас автоматом из шаблона создаются проекты под слои приложения (Domain, Application, Infrastructure, Hosting) и CrossCutting-проект для всяких хелперов и методов-расширений, которые могут в любых других проектах использоваться. И обычно достаточно просто перекинуть код между проектами (к примеру из Domain в Infrastracture, как в твоём примере с шиной), а потом просто попросить IDE автоматически выправить пространства имён и using'и по всему решению.
229 3337250
>>37236

>Скорее всего десктопные приложения пилишь, да?


а десктопные приложения уже не приложения?
230 3337266
>>37250
Приложения. Но в них я чаще говноархитектуру встречал.
В ASP.Net Core сама структура фреймворка и сопутствующих либ диктует, как приложения на слои разбить. Есть контроллеры, есть EF-Core для доступа к данным и т.д. Во всех местах, где работал, структура сервисов была +/- похожая. Везде на слои били.
А в десктопных обычно все лепят кто во что горазд. Плюс не одного устоявшегося стандартного фреймворка. Где-то Prism юзают, где-то что-то своё на основе MVVM Community toolkit пилят, а где-то реактивщиной с ReactiveUI упарываются. Ну и просто по объему кода десктопные приложения обычно заметно жирнее, так что там проблемы с архитектурой острее стоят.
231 3337272
>>37266

>Во всех местах, где работал, структура сервисов была +/- похожая. Везде на слои били.



Я работал с долблёбами, которые повторяли в день слова clean architecture по 10 раз, кичились ДДД, у них была разбивка по 5-7 слоям, но в итоге всё сваливали в кучу в проект Core.Domain, к которому подключались все нугеты.

Вот тогда я понял, что лучше не понимать вот эту всю архитектурную хуйню, чем понимать, но неправильно.

А к чему это я. Правильно: тот проект был о разработке твоей мамки
232 3337285
>>37266

>как приложения на слои разбить. Есть контроллеры,


а кто сказал что это хорошо. Поклонники feature-based деления скажут что вы шизанутые части одной фичи по 100500 мест размазывать
233 3337295
>>37272

> ДДД


Для меня это уже редфлаг. Если мне на собесе скажут, что у них все по DDD, то я скорее всего дропну вакансию. Только один раз видел, когда его нормально реализовали. В остальных местах был просто какой-то лютый дроч без особого выхлопа.
234 3337297
>>37272
У нас крч интерфейсы лежать в слое Domain их реализации и регистрации в Api и используют их в Application слое.

На мои логичные вопросы а почему бы вам не переложить реализации в Application, а ещё лучше в слое Domain пошли какие-то ебанутые рассказы про чистую архетуктуру. На это я прям на встрече сказал "ну окей давайте я сейчас добавлю новый слой PizdaApi или удалю Api. Ой блять приложение больше не запускается." Причём их даже это не убедило, что у них ебаный слой Api предоставляет Application реализации бизнес логики, а значит Application транзитивно от него зависит. Аргумент был заебись "ну ссылки до идут от Domain <- Application <- Api" ссылок на проект нет значит и зависимости нет.
235 3337324
>>37236

> Сколько у тебя там проектов в солюшене


120 примерно. С ходу не вспомню.

> Просто если для тебя это постоянно боль, то вангую что с архитектурой что-то не то


Ну. Как. Обычная микросервисная. Штук 15 сервисов, каждому из них создай домен, инфраструктуру, DAL-уровень, какую-то либу для своих ютилити штук.
Плюс - десяток либ для внутреннего использования или вот как раз с теми примитивами, которые всем нужны. Ну или всякие общие мидлвары и все такое.

>>37266
Как раз и разбивали. И это еще большая боль в заднице. Вот у тебя домен. Домен должен по хорошему ничего о шине не знать, только объявить свои события. Вот у тебя приложение - оно уже про шину знает, но не знает с какой конкретно работать будет, ей нужны абстракции шины. Вот у тебя инфра - она уже знает, что с кафкой работать надо. Вот у тебя еще запускатор, который может быть с веб-апи, а может без, в зависимости от сервиса.

И вот тебе надо из проекта EventBus.Core - вынести Events в проект Primitives. Все. Пошла пизда. Всем доменам - добавь ссылку на это, удалить ссылку EventBus.Core. Теперь всем приложениям - уже надо добавить ссылку на EventBus.Core, ведь теперь они не могут из домена это получить. Ну и т.д.

Это самый простой пример.
А когда начинается хуйня с контрактами. Ебись оно в сраку если честно.
Одни пишут - харам общую сборку для контрактов, вы же завтра решите на питон переписать, так что сразу делайте что сервис сам контракты объявляет.
Другие - не страдайте хуйней, вынесите контракты в одну сборку и пусть все подключают.
Третьи - нет, разбейте по доменам, и общие доменные события в одну сборку, нехуй сервису знать про события, которые в других сборках.

Короче. Залупистика.
А вынести иногда надо. Потому что когда у тебя библиотека какая-то должна на сторону пойти - выглядит кринжово, что с ней рядом лежит dll в которой половина кишок валяется.
236 3337332
>>37324
Ну а я это к чему пишу-то.
Вот типа когда я пишу два класса в одном файле - студия предлагает рефакторинг - о, можно вынести в отдельный файл.
Или когда я хочу - я навожусь на неймспейс - и она такая, а давай перенесем куда тебе надо, хоть новый создадим. И если кто-то использует класс - везде оно поменяет.

Вот нужна такая же фича для переноса между проектами. Было бы просто замечательно. Да.
237 3337337
>>37324
Вот за это и не люблю монорепы (даже для одного приложения). Еще и студия/райдер тормозят от такого кол-ва проектов.
Как по мне, лучше уж каждый микросервис в отдельном репозитории держать, а какие-то общие штуки в nuget-пакеты выносить. Так меньше соблазна сослаться на то, на что вообщето не следует. И вообще более вдумчиво все начинают подходить к тому, какие штуки должны быть общими.
А проблему контрактов мы у себя с помощью protobuf-ов и GRPC решили. У нас просто есть консольная утилита, которая берет ссылки на протники из репозиториев других сервисов из yaml-файла, который в репозитории сервиса лежит, и подтягивает их в проект. При билде для них C# контракты генерируются. Общие для всех сервисов протники просто в отдельном репозитории лежат и так же подтягиваются из него утилитой. Плюс недавно джобу для билд-пайплайна запилили, которое проверяет, нет ли в мр-е tracking changes в протниках.
238 3337339
>>37337
braking changes
Сраная гугл-клавиатура на смарте
239 3337376
>>36919
Про ГОСТ это была шутка, вопрос про сборку .Net. У Java есть Axiom JDK которая собирается российской компанией, находится в Реестре Российского ПО, сертифицирована ФСТЭК.
Соответвенно мой вопрос, есть ли что-то подобное для .Net?
240 3337385
>>37376
Какой пиздец это оказался не троллинг. И сколько денег освоили эти парни из Axiom, какой олигарх или министр крышует? Я блеванул с главной страницы их сайта.
Сборки дотнета нет потому что дотнет лежит на гитхабе. Вообще сборки в программировании это какая-то специфика джава мира.
241 3337387
>>37385

>Сборки дотнета нет потому что дотнет лежит на гитхабе.


Ты реально такой тупой?
242 3337389
>>37387
Что не так, пиггер? Иди билди дотнет и продавай кабанычам.
243 3337431
>>37084
Не смешно. Мне надо по требованиям использовать нативную сёрд пати лайбрари, которая доступна в виде jar-ника. Во флаттере я могу захерачить активити и общаться с ней из нормального кроссплатформенного кода. Как мне в уно сделать что-то подобное?
244 3337437
>>37337

>При билде для них C# контракты генерируются.



Не перемудрили? Мы такие раньше просто скриптами по необходимости дёргали
245 3337444
>>37297

>пошли какие-то ебанутые рассказы про чистую архетуктуру.


Но по чистой архитектуре должен быть проект Infrastructure с реализациями, если они зависят от базы или третьих сервисов. Если это какие-то типо Domain сервисы - их реализация может быть и в Application.

В Api ничего быть не может, что не относится именно к api.

>слой Api предоставляет Application реализации бизнес логики, а значит Application транзитивно от него зависит


Смотря что за реализации, но так это и должно работать.
246 3337446
>>37437
Не, удобно на самом деле. Это стандартный флоу для GRPC. Все эти контракты автоматом генерируются стандартным гуглувским пакетом (Grpc.Tools который). А вместе с контрактами сразу генерируется абстрактный класс для реализации объявленного GRPC-сервиса (там остаётся только заовверайдить методы и их реализовать) и реализация клиента для него.
247 3337509
>>37444

>Смотря что за реализации, но так это и должно работать


В смысле смотря что. Там лежит реализация интерфейса из Domain при этом используется этот интерфейс в Application.
Это не должно так быть и так делать нельзя потому что ты связываешь два разных слоя причем. Ты не можешь отделить АПИ от твоей системы и наоборот заменить то что лежит ниже этого АПИ.
248 3337512
Оцените код по 10 бальной системе.
var result = responseData
.Select(item =>
{
try
{
var json = JsonConvert.DeserializeObject(item.ResponseBody);
return $"URL: {item.Url}\nResponse Body: {JsonConvert.SerializeObject(json, Formatting.Indented)}";
}
catch (Exception ex)
{
return $"URL: {item.Url}\nFailed to parse response body: {ex.Message}";
}
})
.ToList();

return string.Join("\n\n", result);
249 3337524
>>37512
1000000000 конечно же.
но мы тебе не перезвоним.
250 3337529
>>37512
Та больной что ли?
sage 251 3337534
252 3337538
>>37509

>Это не должно так быть и так делать нельзя потому что ты связываешь два разных слоя


Ты просто создаёшь в домене некие абстрактные интерфейсы которые реализуешь потом.

Если написано хорошо и удачно - ты сможешь заменить апи на десктоп, а SQL базу на NoSql буквально без единого изменения в домене. Потому что он зависит от интерфейса, а не от апи напрямую. Цель - сформировать самодостаточный уровень домена, который бы не зависел от реализации. Но в отрыве от базы данных и прочего не очень понятно что должен делать код уровня "SaveUser" или "SendMessage", поэтому эти вещи существуют в домене как интерфейс без реализации.
253 3337539
Челы, а в каких сферах вообще шарпы щас применяют на рынке РФ?
254 3337557
>>37539
Да всё в те же, в каких и топ 10 других языков.
255 3337571
Забирайте своих клоунов из джаватреда. Уже лоб от фейспалмов болит.
256 3337574
>>37571
Зачем? Вы же своих клоунов отсюда не забираете.
257 3337575
>>37574
По моему сюда пишут только тогда, когда шарподебилы начинают активно у нас срать. А вообще общеизвестный факт, что священный вояка это безработный пидорас и ненавидим обеими сторонами.
258 3337586
>>37538

>Если написано хорошо и удачно - ты сможешь заменить апи на десктоп, а SQL базу на NoSql буквально без единого изменения в домене.


Караван охуительных историй. Нет, не можешь.
259 3337587
>>37512
Говнокод уровня голанг. В дотнете так не пишут.
260 3337591
>>37297

> На мои логичные вопросы а почему бы вам не переложить реализации в Application...



АДИК - субъективная и неоднозначная архитектура, которую каждый волен трактовать по своему.

Более того, она в принципе не реализуема, потому что всегда есть входная точка приложения, при упоминании которой принято стыдливо отводить глаза в сторону и переводить тему.
261 3337592
>>37332

>Вот нужна такая же фича для переноса между проектами. Было бы просто замечательно. Да.



Просто в два этапа делай, сначала неймспейс поменяй на целевой, а потом файл перекинь.
262 3337593
>>37539
Вот буквально все. Даже написание мобильных приложений через ксамарин. Даже десктоп.
263 3337594
>>37538

>Если написано хорошо и удачно - ты сможешь заменить апи на десктоп, а SQL базу на NoSql буквально без единого изменения в домене



При условии, что ты готовил проект к этому годами и надрачивал на мысль о том, что тебе надо перенести проект на no-sql.

Ну и при условии, что твоё приложение - Weather Forecast.
264 3337596
>>37512

Какой выразительный код! Это Котлин?
265 3337721
>>37586
Ты просто не видел как это по-нормальному пишется.

И это нормально. Потому что хорошая чистая архитектура действительно почти нигде не нужна. Нужно какой-то рандомный шаблон чтобы раскидать всякие классы, для этого что угодно подойдёт как основа.
266 3337736
>>37721

И я не видел. Наверное потому, что реляционную бд в принципе нахуй не надо менять на моего ебаное ввиду того что это списочек джейсонов?
267 3337837
>>37736
Монга - это секта поехавших, с ними бесполезно говорить. Если в проекте упоминается монга - там дичайший кал говна, от которого охуеют даже паджиты.
268 3337891
>>37596
>>37587
>>37534
>>37529
>>37524
Это чатЖпт такой сгенерил)
269 3337917
>>37721

>для этого что угодно подойдёт как основа.



Мамка твоя пойдет как основа
270 3337998
>>37389

>Что не так,


Это твоем хеловорду похуй на чём и как запускаться. А в крупных компаниях сидят на старых версиях и надо чтобы кто-то бэкпортил критичные багфиксы. Чтобы можно было засабмитить баг и его пофиксали. Вот для этого и нужен суппорт.

>>37389

>Иди билди дотнет и продавай кабанычам.


Куча компаний зарабатывает на том что билдит ядро линукса, посторесс и т.п. с гитхаба.
271 3338152
>>37998

>Куча компаний зарабатывает на том что билдит ядро линукса, посторесс и т.п. с гитхаба.



Наверняка на компьютере
272 3338330
>>38152
Троллинг тупостью вышел на новый уровень.
IMG20241210070656843.jpg166 Кб, 895x902
273 3338425
Друзья, я вчера программировал на сишарпе, всё было отлично
274 3338762
Надо замутить rest api сервер под виндой работающий в виде сервиса. Как лучше сделать, на asp.net или может какой нибудь хороший nuget пакет есть для этих целей? К asp.net душа не лежит. :С
275 3338787
>>38762
А чего не лежит? Ты разделяешь асп-нет от асп-нет-кор?

Может, минимал-апис подойдёт?
276 3338791
>>38787

>А чего не лежит?


хз, сложилась ассоциация что это интструмент для вебсайтиков. Ну и он монструозный, мне надо компактный для лёгкого сервиса.
277 3338792
278 3338796
>>38792
Это. А вообще, аспнеткор сейчас не назовёшь монструозным.
279 3338797
>>38796
Понял, спасибо. Пойду курить мануалы по асп кору.
280 3338834
>>38796
ну памяти он ест приличнее чем тот же HttpListener голый с обработчиками запросов
281 3338926
После двух недель мучений с Unity хочу спросить:
- Как жить без указателей?
- Как жить без #define?
- Как жить без typedef?
- Как жить без человеческих enum'ов?
Хули тут всё так неудобно?
282 3338943
>>38926
зачем тогда пришел оттуда где было тебе хорошо? возвращайся
283 3338944
>>38926

>Неудобно



Дело привычки. Через пол года будешь смотреть на кресты как на гроб.
284 3338954
>>38944
На энумы не будет. Они реально убогие. Еще и работают почему то медленнее
285 3338959
>>38943
Писать свой движок, конечно, интересно и приятно, но нереалистично, если хочется писать игру, а не движок.
Юнити тот ещё кактус, но увы, это всё ещё лучший вариант для одиночки, если хочешь в приёмлимые сроки написать законченный продукт, а не разрабатывать тулзы до старости.
>>38944
Сомневаюсь. Неуютное чувство, что тебя держат в песочнице и смотрят как на идиота никуда не денется.
1580076389701.png911 Кб, 740x900
286 3338961
А с чего вообще вкатываться? Меня направили из Unity/C# в дотнет из-за невозможности найти работы. ВО нету, с БД не работал, в вебе и серверах не шарю. С чего начинать вообще и за что браться? На каких проектах отрабатывать? Если в ГД просто берёшь и делаешь игру или прототип с механикой, то тут везде разные требования и фреймворки.
287 3338965
>>38961
ВО?
288 3338967
>>38965
Высшее образование
289 3338968
>>38967
а зачем оно нужно?
даже 9 классов не нужны если ты умеешь писать код.
диплом разве что хреновая подставка под кружку в айти
290 3338984
>>38961
БД?
ГД?
291 3339009
>>38984
ну тут и так понятно
база данных и геймдев
292 3339012
>>38791

>Ну и он монструозный


Пиздец. Ты из 2004 что ли?
293 3339015
>>38926

>- Как жить без указателей?


Они там есть. Ну вернее в шарпе есть. В юнити я не знаю чем тебя барин кормит.

>Как жить без #define?


>Как жить без typedef?


Это всё есть.

>Как жить без человеческих enum'ов?


Лол.
294 3339029
>>38959

> Сомневаюсь. Неуютное чувство, что тебя держат в песочнице и смотрят как на идиота никуда не денется.



Охуенное чувство однозначной, предсказуемой модели памяти, которая просто работает и не бухтит.

Это как созерцать Windows XP после ебли с Windows 11.
Это как созерцать Windows XP после ебли с Windows 98.
295 3339035
>>39015

>>Как жить без человеческих enum'ов?


>Лол.



А я не понял, чего им там с энамами так хорошо живётся?
296 3339041
>>39035
Я не понял проблемы енамов. Нужны конкретные примеры. Ну т что в шарпе они медленные - это верю. А ещё то что.
297 3339045
>>39041
проблема в том, что этот франкеншейн просто этакий не пойми что вокруг типа и ничего более
ты не можешь хранить разные значения в нем (да ты можешь это делать с помощью классов, но зачем тогда енум)

также ты можешь присвоить значение которого нет в енаме и никто и слова против не скажет.

Получается по факту что это строковое обозначение каких то значений базового типа (например инт) причем не бесплатно в плане выполнения (банально медленнее чем тот же инт) и при этом позволяет присвоить чего угодно. Этакий враппер над базовым типом с недовозможностями.
298 3339053
Ух, пиздец как енумы тормозят. Пока выполняется одна операция с енумом, БД успевает обработать 100 SQL-запросов.
299 3339105
>>39053
У тебя целые числа тормозят?
300 3339118
>>39045

>зачем тогда енум



Чтобы типы страховых полисов не путать с типами страховок полюсов.
301 3339120
>>39045

>недовозможностями



А каких возможностей ты хотел? Бесплатный полиморфизм через энамы?
изображение.png40 Кб, 616x273
302 3339299
>>39118
то есть базовый убогий механизм, причем кривой, ведь можно присвоить енаму значение, которого нет там вообще. И нужно ручками самому проверять лол.
>>39120
шарп не один язык имеющий энамы.
посмотри на котлин
посмотри на rust (пик) - в языке в принципе нет полиморфизма
303 3339615
>>39299
Нахуя в коде писать такие комментарии?
304 3339620
>>39615
потому что это скрин из учебника по расту.
305 3339621
>>39299

>посмотри на котлин



Он такой выразительный!

>посмотри на rust (пик) - в языке в принципе нет полиморфизма



Раст, к сожалению, не закрепился
306 3339623
>>39621
какая разница. я просто показал что это не "нельзя сделать такие енумы ибо полиморфизмы и другие умные слова мешают", а просто шарп сделал убогие енумы
307 3339624
>>39299

>посмотри на котлин



В Котлине энам это по сути объект с виртуальной таблицей методов, который требует выделения в куче.
308 3339631
>>39623

>нельзя сделать такие енумы



Ёбнись об стену. Энум это в шарпах число.

А в расте энум не число, а универсальная структура данных размером с максимально допустимый в ней объект + дискриминатор.

ты сравниваешь не относящиеся друг к другу категории, по ошибке названные одним словом

А речь шла про энамы из крестов вообще, там Антон выше на них надрачивал
309 3339650
>>39631
вообще то это обертка над числом на уровне IL, поэтому работает коряво и медленнее.

Ну так то да, в остальном бумс. Но кому от моего бумс легче стало?
310 3339662
Понял, что xunit объективно лучше чем nunit и микросовтовский движок. Со всеми тремя работал не менее чем по два года

Попробуйте оспорить, что-ли
311 3339670
>>39650

>вообще то это обертка над числом


Это и есть число, там никаких обёрток нет

>на уровне IL


Для красного словца что-ли решил приплести IL?
312 3339672
>>39650

>поэтому работает коряво и медленнее.



Схуяли? Не улавливаю твой ход мысли. Примерно хоть объясни, откуда ты это взял?
313 3339684
>>39053
Ты наговнокодил где-то, такого не может быть даже если ты 100 запросов параллельно пустишь.
314 3339685
>>39650

>вообще то это обертка над числом на уровне IL, поэтому работает коряво и медленнее.


А, ты шизофреник просто. Так бы сразу и написал, а то выдумывал что у шарпа какие-то проблемы есть лол.
315 3339789
>>39650
Ахаэахахахахахп
316 3339813
>>39624
котлин - тупопёздный кал для ебаньков. Говно без задач.
317 3339857
>>39662
Cорта говна, в обоих нет андроид тестов.
изображение.png49 Кб, 1203x398
318 3339984
>>39670
>>39685
>>39672
это не число (пик пруф)
коряво, потому что всякий десериализатор впихнет туда любое число и не поперхнется. Ну ладно это природа енума ради перфоманса....
но перфоманс их оставляет желать лучшего. О скорости методов енума легенды ходят.
ну ладно, там линейная сложность + рукожопство разрабов шарпа

так что возьму простое - я как то в микробенчах заменил енумы на числа и получил х4 в скорости. То есть это нихрена не zero cost
319 3340009
>>39984
Просто ты долбоёб и даже микробенч не смог написать что бы не наглотаться погрешностей измерения времени.

По дизассемблеру, чего тебе дебило не нравится? Потерей никаких нет, все ровно целое число и занимает.

>рукожопство разрабов шарпа



Угу, липперт и хейлсберк сидели в мс за зарплатой 5 лямов в год потому что рукожопы, а какое-то анонимное ебанько вершина достижений которого срать на сосаке, нерукожоп. Я бы на твоем месте задумался над самооценкой.
320 3340014
>>39984
Ебать дебил. Как из того факта что енум в IL имеет самостоятельный тип следует что в рантайме будут накладные расходы? Что тебя ждёт когда узнаешь что генерик в дот нете тоже имеет прямое представление в IL а не макрос времени компиляции как на плюсах?
321 3340046
>>40009

>Угу, липперт и хейлсберк сидели в мс за зарплатой 5 лямов в год


так вот в чем причина, что очевидные оптимизации делаются через годы, а то и десятиления. Я тут выше писал про дотнет9 как пример.

Интересно, а почему эти супер кодеры не сделали Enum.GetValues (и другие методы) быстрым сразу, а потом? Почему в LINQ оптимизации "а вдруг у нас тут список, так зачем создавать итератор если можно пройти по индексу" завозят только к 9й версии дотнета? это все риторические вопросы
чтобы подольше зарплату получать видимо. Ясно понятно.

зато они забыли сделать IReadOnlyList на старте (хотя может не они) и спроектировали дебильную систему коллекций. (но это уже оффтоп)
322 3340052
>>40009

>Я бы на твоем месте задумался над самооценкой.


у меня с ней все нормальн. это мс меня за дебила держит. поэтому и сделал ConfigureAwait(true) (боже, ну и синтаксис) по дефолту. Все в угоду формошлепам, чтобы им меньше этой пурги писать (а то дедлоки хуже чем "к контролу нельзя обращаться в другом потоке"...)

И когда остальные попросили "а можно нам на уровне сборки указать чтобы можно было чтобы он был (false)" - то результат все знают.
Нет никакого результата. Даже в асп.нет коре пишут что там нет контекста синхронизации, но оверхед не сильно высокий от ConfigureAwait(true) по дефолту. То есть на полном серьезе - оверхед, да есть, но он же небольшой, чего вы жалуетесь, мы тут по 5 лямов зарабатываем.
323 3340069
>>40052
>>40046
С енумом напукал в лужу, теперь по таскам решил насрать, генератор ты шизофазии нахватвашийся баззвордов? Иди учебники читай а не сри в треде. Всё там правильно сделно, тебе дебилу на низкой должности не понять. Читай бложек Липперта, он там популярно объясняет как принимаются те или иные решения по языку, по каким критериям и что берётся в расчёт.
324 3340174
>>40069
по таскам и по всему остальному я срал всегда.
а пояснения вместо функционала и скорости - лично мне они не нужны.
Он может пояснить почему методы в LINQ что добавили в дотнет 9 не были добавлены раньше?
не нужны были? тогда зачем добавили? нужны были? тогда почему только щас?

аргумент "потому что так в мануале написано" оставь говноедам.

Насчет енамов признаю только частично. Ведь от этого они не стали ничем более как именованными интами без защиты от записи чего угодно. И когда у тебя в енуме 3 значения 1,2,3, а тебе может в рантайме спокойно прийти 10 и твой метод ожидающий что может быть только 3 варианта...
325 3340183
>>40174

>твой метод ожидающий что может быть только 3 варианта


Падает на строке default throw new NotImplementedException()
Точнее, это написано в бузинес логике на всякий случай. Так-то ты мальчик взрослый и конечно же проверил юзер инпут еще в контроллере ручки, хитрый юзер получит ошибка 500 или чето там.
326 3340192
>>40183
ты проверяешь всю ту портянку что возвращает любой рест апи?
ну ты молодец, ну или ты этого просто не делаешь )
327 3340210
>>40174

>Он может пояснить почему методы в LINQ что добавили в дотнет 9 не были добавлены раньше? не нужны были?



про какие методы ты говоришь? если я о них не знаю, может они и не сильно нужны?
328 3340221
>>40174
Самый главный вопрос, почему List не реализует IReadOnlyCollection? Что за безобразие!
329 3340238
>>40046

>забыли сделать IReadOnlyList на старте (хотя может не они)


Ты снова на связь выходишь?
330 3340278
>>40210
Ты о них не знаешь ибо их не было)
Как и многих других. Morelinq тому пруФ

>>40238
Ты из мс?
331 3340310
>>40046

>зато они забыли сделать IReadOnlyList на старте (хотя может не они) и спроектировали дебильную систему коллекций.


Они пиздили её из другого языка, где тоже не было ридонли коллекций. Как и lock (object) спизжено.
inb4: сегодня то, уже очевидно, что надо было делать по другому. Но тогда всё было не так очевидно.
332 3340381
>>40174

>а пояснения вместо функционала и скорости - лично мне они не нужны.


Так ты на пиздел про скорость.

>Он может пояснить почему методы в LINQ что добавили в дотнет 9 не были добавлены раньше?



Ответы дадены в моём сообщении, перечитывай до просветелния. А ещё задайся вопросом почему Сталин людям ХДТВ не давал смотреть.

>Ведь от этого они не стали ничем более как именованными интами без защиты от записи чего угодно


У тебя совсем что ли вместо мозга насрано? Это их киллер фича и повсеместно используется. Без неё они не нужны т.к. будут дублировать обычный классы с кастом логикой.
333 3340396
>>40381

>Так ты на пиздел про скорость.


я это признал, дальше что? а ничего.

>Ответы дадены в моём сообщении, перечитывай до просветелния.


ответы вида "ну так в документации написано" это не аргументы

>Без неё они не нужны т.к. будут дублировать обычный классы с кастом логикой.


каво шта?
334 3340664
>>40278

>Morelinq



Первый раз слышу. Не нужно нахуй
335 3340773
>>40664
Есть многое на свете, друг Горацио,
Что и не снилось нашим мудрецам.
336 3340777
>>40773
Я посмотрел, там какое-то неебически огромное количество методов расширения.

Тащить всю эту библиотеку не вижу смысла. Хотя и не противник такого
337 3340801
>>40777
Был проект netfx вроде где можно было затащить отдельный метод
Но умер из-за ограничений студии
338 3340864
Аноны, стоит ли идти на позицию +1/3 дохода, если там может быть довольно уныло (много хранимых процедур, мало собственно разработки на .Net). Или поискать столько же выгодной вариант, но более интересный?
339 3340871
>>40864

>много хранимых процедур


Их наличие в целом красный флаг.
340 3340880
341 3340884
>>40871

>Их наличие в целом красный флаг.


У меня сейчас проект, где много бизнес-логики написано на хранимых процедурах. Это такая мучительная блевотина, что я засомневался соглашаться на новый офер, если получу его на наступающей неделе. Даже прямо за очень хорошую прибавку.
342 3340918
>>40871

>красный флаг



Ты пороху не нюхал
343 3340919
>>40871
Красный флаг - это слово фулстек в вакансии. Вот от такого говна надо держаться максимально далеко.
344 3340920
>>40919

>>Красный флаг



Какой унылый жаргон.
345 3340926
>>40918
Нахуя мне нюхать говно?
346 3340972
>>40926

Ты клюпый просто. Хранимки означают, что на проекте бд инженеры есть.

Я бы на твоём месте просто всю бизнес-логику свалил на них, а сам попивал бы фраппе в 11 утра и дёргал даппером вьюшки.
347 3340981
>>40972

>Хранимки означают, что на проекте бд инженеры есть.


Нет это означает что тебе придётся заниматься адовой ракоеблей на проде в попытке отловить баги через RDP говна под тремя слоями анальной модерации, а любая правка бизнес логики будет требовать десятка часов чтения говнокода.

Я белый человек с зп 320к который работает в банке бэкендором онли. Мои знания БД и как там это сделано заканчивается на миграциях в EF. CI/CD пишет и поддерживает девопс, фронт пишет фронтендер, за базой следит тоже девопс. Моё дело переложить JSON с фронта в базу в с помощью автомаппера
348 3340985
>>40981

>Я белый человек с зп 320к


>Мои знания БД и как там это сделано заканчивается на миграциях в EF.



За что тебе деньги платят?
349 3340987
>>40981

>Моё дело переложить JSON с фронта в базу в с помощью автомаппера



долбоёб, блядь
17341487294890.jpg162 Кб, 714x1280
350 3341053
Друзья, я всю неделю программировал на сишарпе. Всё хорошо
yo-high-five-dude.jpg39 Кб, 500x362
351 3341170
>>41053
Плюсую, по кайфу вообще
352 3341293
>>40919
Я на пяти работах из семи работал фуллстеком, и это ничем не хуже тех двух мест, где я работал бэкендером. Даже лучше, не надо с фронтами договариваться о контрактах, а то у них вечно какие-то ебанутые просьбы, то вместо массива объект прислать, то ещё какая хуйня.
С собой гораздо проще договориться.
353 3341362
бля сишарп такой охуенный. это как питон, только на нем можно хоть что то полезное написать
354 3341412
>>41362
Или наоборот
355 3341420
>>41362

>это как питон



неподдерживаемое ровно.
356 3341421
>>41420
Извините, случайно написал, что питон это ровно.

Я хотел сказать, что питон это говно
357 3341523
Какими биндингами для работы с directx 11 вы пользуетесь?
358 3341577
>>41362
Какая же хуета этот ваш питон. Вынужден был с ним связаться, и более уебищного языка я еще не видел (а я с бейсика пришел). Иногда нужно окунуться в говно, чтобы полюбить си шарп с еще большей силой.

Никто код не комментирует, везде каст к object или any, и вызывают методы из обджекта по наитию. Никаких подсказок intellisence, а если и есть, то что-то уровня пикрилейтед 1, где вываливают в кучу описание метода, описание параметров, и все без подсветки синтаксиса.

Все поля публичные, в итоге люди пытаются капсом или подчеркиваниями визуально отделить мочу от говна. Ну пиздец какой-то. Неудивительно, что в их тредах растет шиза уровня пикрил 2. Они выдумывают какие-то ритуалы, чтобы что-то там не перепутать, хотя в нормальном языке синтаксис в принципе не должен тебе позволить перепутать.

Хуже только джава скрипт.
359 3341583
>>41577

>Никаких подсказок intellisence, а если и есть, то что-то уровня пикрилейтед 1


так ты прыгай обратно в машину времени и возвращается
а то забросило тебя далеко в прошлое.
360 3341589
>>41583
Так я работал в последней вижуал студии с установленными средствами для питона. Что еще надо?
361 3341591
>>41589
Использовать type hints
И pylance
Конечно есть имбецилы что против этого типа "не по питонски это", но причем тут язык
2024-12-1513-28-59.png77 Кб, 1497x573
362 3341616
>>41591

>type hints


Первым делом начал юзать, но что делать с чужим кодом? Ты посмотри на пикрилейтед. Функция принимает any параметры, нииии одного комментария. Как с этим работать вообще?

>pylance


Это вообще для вс кода.
363 3341636
>>41577

>Никто код не комментирует



Код комментируют только долбоёбы
364 3341637
>>41616
документацию ищи. camelCase намекает на то, что это порт чего то.
да и на шарпе можно такое писать.

>>41636
он про тайпхинтинг, это совсем другое
ты же в шарпе пишешь типы везде, но долбоебом себя не называешь поэтому.
365 3341639
>>41616

>нииии одного комментария



Код комментируют только долбоёбы
366 3341650
>>41637

>тайпхинтинг



Я вот как работаю с комментариями.

1. Не трогаю их вообще никогда.
2. Даже если удаляю код вокруг, то то комментарии, если они были, оставляю на месте.
3. Если надо добавить метод, в класс с комментариями - просто вписываю его под уже существующий комментарий, если он хоть примерно пару подходящих слов содержит.
367 3341652
>>41636
>>41639
Питоноблядь порвалась. Да у вас и приватные поля и методы создают только долбоебы. Указание типов параметров и переменных — это тоже для долбоебов. Высрали нечитабельное говно и рады.
368 3341655
>>41652
Иди на хуй, я пишу на сишарпе самодокументируемый код по учебниками боба Мартина.
369 3341658
>>41652

>Да у вас и приватные поля и методы создают только долбоебы. Указание типов параметров и переменных — это тоже для долбоебов. Высрали нечитабельное говно и рады.



Зачем этой хуйнёй заниматься, если можно просто через автомаппер писать? Ему не важна видимость и типы, а в случае, если типы не сходятся, он сам всё выведет
370 3341659
>>41655

>самодокументируемый код


Ты раковая опухоль.
371 3341660
>>41650
в контексте питона тут другое.
в питоне 3 есть тайпхинтинг на уровне синтаксиса, а вот в питоне 2 только в докстринг можно что то указать. упоротые орали про "питонвей, питон это динамика". А нормальные делали, а с приходом тайпхинтинга нормальных стало сильно больше, но если либа старая, то с ней реально проблема. Вот есть либа pewee - ее автор долбоеб, который специально не делает хинты ибо упорот. Но я вот попробовал ее захинтить и это реально жопа делать постфактум, то есть ниасилил я покрыть всю ту магию, что она в динамике выдает, хинтами.

>>41652
шарпоблядь рвет жопу, а зачем?
я тоже шарпист, но если собрат шарпист несет хуйню, то я с радостью потыкаю его мордой в "иди изучи вопрос, а потом рот открывай".
372 3341664
>>41660

>я тоже шарпист


Здравому человеку в голову не придет высрать пикрилейтед >>41616
Ты просто горишь из-за того, что питон оскорбили. Никто в здравом уме не будет на шарпе писать только публичные поля и методы, возвращать и принимать данные object типа, не документировать свойства, классы и методы.

Нет таких людей. Нет.
373 3341676
>>41664
а тыкаю я мордой в говно тех, кто в вопросе не разбирается, но мнит себя дохера экспертом.

>Никто в здравом уме не будет на шарпе писать только публичные поля и методы, возвращать и принимать данные object типа, не документировать свойства, классы и методы.


ну так шарп и задуман как статически типизированный язык, а питон задуман ровно обратным. Природа у языка такая - быть динамическим где всё создается в РАНТАЙМЕ.

>Здравому человеку в голову не придет высрать пикрилейтед


еще как придет. причины есть
1 это порт или враппер аля QT. а значит есть офф дока по всем этим параметрам. зачем её еще раз писать
2 когда в языке нет поддержки хинтов, то писать как бы нечем. А в пи2 такого не было ибо динамическая природа языка. И очень много кода с тех времен, которые тупо перегнали конвертером под пи3. А многие до сих пор поддерживают обе версии зачем то. Да и сейчас чтобы писать с хинтами - это нужно писать игнорируя динамическую природу (основную силу питона), а будто на шарпе каком пишешь. Сначала выбираешь динамику, а потом пишешь как будто статика. Зачем тогда питон вообще выбрал?

Каждому языку своя задача. Иначе почему твой супер любимый красивый и мощный шарп не заместил питон. риторический вопрос.
374 3341707
>>41676

>а тыкаю я мордой в говно тех, кто в вопросе не разбирается


А ты разбираешься? Каждый второй дурак умеет тыкать других мордой в говно — для этого много ума не надо. Самоуверенность — не признак правоты.

>Природа у языка такая - быть динамическим


Не надо оправдывать глупости. Все мои претензии спокойно реализуются либо уже реализованы, но игнорируются пользователями.
Что мешает динамическому языку иметь приватное поле? VBA чет не помешало их иметь.

>когда в языке нет поддержки хинтов, то писать как бы нечем.


Но их появление — разве не доказательство моей правоты?

>Иначе почему твой супер любимый красивый и мощный шарп не заместил питон. риторический вопрос.


Вопрос форса языка инфоцыганами среди долбоебов (которых подавляющее большинство). Во многих сферах я встречал абсолютно ублюдочное приложение, которое по видом "справится и дурак" захватывало огромную аудиторию. Это даже не новость.
375 3341712
>>41664

>не документировать свойства, классы и методы.



За комментарии в коде в ебало ссать надо
376 3341717
>>41712
еще один выблядок питона или джаваскрипта
377 3341719
>>41717
Это один и тот же. Чем больше раз напишешь ебанутое утверждение, тем убедительнее оно кажется.
378 3341721
>>41712
Ссать надо за их отсутствие. В нормальных проектах у каждого поля, свойства и метода есть комментарий.
379 3341723
>>41707

>А ты разбираешься?


да. пишу на многих языках, но не лезу со своим уставом в чужой монастырь.
а раз я пишу, то я ЗНАЮ как что где устроено
Впрочем, это неважно
потому что только долбоеб высрет фразу "Да у вас и приватные поля и методы создают только долбоебы" - смысл которой понять может не только лишь каждый, а понять может только долбоеб.

>Что мешает динамическому языку иметь приватное поле?


ничего не мешает. просто это ДИНАМИЧЕСКИЙ язык где "всё есть словарь". И классы построены поверх этой концепции. как в том же раннем жс поверх прототипов было.
и сокрытие там есть - просто на уровне конвенции без лишних слов
одинарное подчеркивание - протектед
двойное - приватное и ни один нормальный редактор тебе его не подскажет снаружи, да и в рантайме чтобы добраться до этого приватного тебе нужно построить правильное имя. Ну так и в шарпе можно добраться до приватного поля - получается шарп не имеет средств для задания видимости?

>Но их появление — разве не доказательство моей правоты?
на момент появления кода их не было - раз.
они все равно не могут покрыть динамику - два.
Чтобы они работали - это нужно писать сразу с ними и забыть про магию. А это далеко не везде возможно.
да и они для редактора больше, а в рантайме их никто не проверяет.

>Вопрос форса языка инфоцыганами среди долбоебов


может тебе реально пописать на обоих языках чтобы понять что ты несешь херню?
риторический вопрос. у тебя синдром утенка.
я вот использую языки и знаю достоинства и недостатки. и поэтому прекрасно понимаю силу и слабость питона и шарп. и только утята пытаются запихать шарп везде, но реальность такова, что так не работает
380 3341731
>>41723

>да. пишу на многих языках


Специалист во всем и ни в чем не мастер. И прям щас лезешь в чужой монастырь, предлагая ебанутые идеи, вроде не документировать и не комментировать в коде шарпа. На столько тебе горит, что написал это трижды.

>ничего не мешает


А хули тогда споришь, кретин?

>и сокрытие там есть - просто на уровне конвенции без лишних слов


Вот пока вы так делаете, все так и происходит. Потом часами спорите с какой стороны ставить коснтанту.

>может тебе реально пописать на обоих языках чтобы понять что ты несешь херню?


А может послать нахуй говноязык и не пачкать руки? Ты — печальный пример самовлюбленного хуесоса, который лезет во все щели и навязывает больные идеи.

И заметь, когда мне что-то не нравится, я просто в это не лезу. Ты начинаешь распространять вредные идеи и "тыкать мордой в говно" тех, кто посмел возмутиться.
381 3341736
>>41676

>Сначала выбираешь динамику, а потом пишешь как будто статика.


Так-то помимо динамической/статической типизации есть еще сильная/слабая. И писать на пайтоне, как на каком-нибудь сраном js, такое себе.
382 3341739
>>41723

>да. пишу на многих языках,


>а раз я пишу, то я ЗНАЮ как что где устроено


Ну или наоборот - нахватался по верхам и считаешь, что преисполнился.
383 3341744
>>41723

>Ну так и в шарпе можно добраться до приватного поля - получается шарп не имеет средств для задания видимости?


Только в шарпе для этого недостаточно просто "построить правильное имя", а произвести некоторый комплекс действий, применение которого само по себе уже говорит "шатал я ваше ООП и области видимости в текущий момент"
384 3341750
>>41731

>предлагая ебанутые идеи, вроде не документировать и не комментировать в коде шарпа


долбоеб? риторический вопрос. я лишь пояснил ньюфакам почему отсутствие хинтов не является дичью, как бы это не раздражало (в том числе и меня). остальное ты придумал сам.

>А хули тогда споришь, кретин?


кретин тот, кто заявляет что там нет приватных вещей. Угадай кто из нас это заявил.

>Вот пока вы так делаете, все так и происходит


никто не спорит. это как раз дао питона (ну изначальный) - "есть только один путь сделать это". Поэтому там и отступы для блоков.
Это как раз в других языках спор "а как именовать приватные, нужна ли буковка m" или "открывающую скобочку на этой строке или переносить".

>А может послать нахуй говноязык и не пачкать руки?


тебя кто то заставляет писать? не пиши, какая проблема.
Но идиотом ты выставляешь себя САМ

>>41736
я НЕ про динамическую типизацию. А про динамическую ПРИРОДУ. при которой, например, класс (да и вообще всё) создается В РАНТАЙМЕ. То есть итоговые поля, методы и прочее создаются в рантайме и никакими хинтами на уровне IDE ты их не опишешь. Декораторы могут породить что угодно ибо динамика.

>>41739
по себе судишь. ну учитывая твои аргументы - ты даже по верхам не смотрел. ты вообще не знаешь о чем говоришь, и просто позоришься.

>>41744

> а произвести некоторый комплекс действий


а в чем разница? а ни в чем. просто ты снова "слышал звон, да не знаешь где он"
385 3341763
Любителям комментариев ссал на ебальник.
386 3341778
>>41750

>кретин тот, кто заявляет что там нет приватных вещей. Угадай кто из нас это заявил


Ну ты и клоун. Т.е. нет приватных модификаторов и ничего не мешает питону их заиметь, при этом их нет. Вместо этого дурачки закрывают глаза и представляют, что нет кучи говна в списке IntelliSence. При этом я в чем-то не прав, назвая это дебилизмом и вынужден читать ебанутый аргумент про то, что язык динамический, что не мешает языку заиметь приватные модификаторы, при этом их нет.

Чуешь чем пахнет? Получается замкнутый круг, когда хочешь добиться ответа от дурачка. Он приводтит аргументы, которые никоим образом не оправдывают то, что должны оправдывать. Зачем тогда он их приводит — не понятно.
387 3341783
>>41778

>Т.е. нет приватных модификаторов


а должны быть средства управления областью видимости или именно какие то ключевые слова чтобы лишь бы были потому что гладиолус?
средство есть - двойное подчеркивание. Зачем требовать необходимость особого слова?

>что нет кучи говна в списке IntelliSence


ее нет. Нормальная IDE знает, что __foo это приватное и не покажет его. И даже _foo не покажет.
нет никакой разницы между тем как IDE воспринимает private.
У тебя синдром утенка что приватное что то обязательно должно иметь слово private?
private class в шарпе давно писал?

да чую. дураком пахнет. дураком у нас выставляешь себя ты.
388 3341798
>>41763
Автомаппер сам их пишет.
389 3341841
>>41783

>Нормальная IDE знает, что __foo это приватное и не покажет его. И даже _foo не покажет.


А причем тут ИДЕ? Почему питон выполняет скрипт где идёт обращение до приватного поля.
Вообще private делает чуть больше чем просто скрывает поле в ИДЕ, но откуда пеутонщику это знать.
390 3341853
>>41841

>Почему питон выполняет скрипт где идёт обращение до приватного поля


а ты проверял или фантазируешь?
я написал тебе
"а и в рантайме чтобы добраться до этого приватного тебе нужно построить правильное имя"

что уже должно намекать на то, что если в классе есть поле __foo, то обращение print(obj.__foo) работать НЕ БУДЕТ для вызова извне класса. Чтобы до него добраться извне нужно обращаться как
_<classname>__<fieldname>, что как бы нельзя случайно обратиться, а нужно реально захотеть добраться до этого поля - это раз.

Ну а второе - зачем сверхсильно защищать приваты. даже в шарпе они защищены НЕ БОЛЕЕ - кому надо, тот доберется. А в питоне вообще то динамика НОРМА. Так что "нужно приседать дополнительно" вполне нормально. СЛУЧАЙНО ТАК НЕ ПРИСЯДЕШЬ.
Смекаешь? там НЕТ такого что "я задумал свойство приватным, а читатели снаружи этого не знают". ЗНАЮТ, ЕЩЕ КАК ЗНАЮТ - и вынуждены читать по особому ибо просто так не прочтешь.

но откуда фантазеру, который щупал предмет спора, это знать
391 3341860
>>41841
фикс

>который щупал предмет спора


который НЕ щупал предмет спора
ибо чудик, который со мной спорит и аргументирует "а там так", даже не пробовал проверить не несет ли он херню.
392 3341861
>>41783

> Нормальная IDE знает, что __foo это приватное и не покажет его



А если оно публичное? Может я кайфую называть публичные методы с двух плинтусов.
393 3341864
>>41841

>Почему питон выполняет скрипт где идёт обращение до приватного поля.



Очевидно потому что надо было комментарий оставить., что это поле приватное.
394 3341866
>>41861

>Может я кайфую называть публичные методы с двух плинтусов.


ну значит ты долбоеб, который пришел в чужой монастырь...
и питон защищается от таких долбоебов который "а я люблю вот так"
потому что "нужно код писать, а не выражаться затейливо"
395 3341870
>>41866

А на сишарпе таких вопросов вообще не возникает. Улавливаешь?
396 3341877
>>41866

>который пришел в чужой монастырь



Вот, в том то и проблема. У пейфона очень высокий порог вхождения и иллюзия простоты. В шарпах нет никиких монастыре, они просто однозначны
397 3341878
>>41870
так и к питону ты их ПРИДУМЫВАЕШЬ
улавливаешь?
ты просто решил опозориться публично.

>>41877

>В шарпах нет никиких монастыре, они просто однозначны.


за сим можно закрывать спор. утенок шарпист, который ДАЖЕ НЕ ВИДЕЛ В ГЛАЗА ПИТОНА, пытается рассуждать о чем то и придумывает на ходу полную херню лишь бы что то ляпнуть.
398 3341891
>>41878
Погоди, ты реально сейчас сравниваешь дотнет с пейфоном?
399 3341925
>>41891
я уже говорил - каждой задаче свой инструмент.
посмотри на количество всего написанного для питона и спроси "а че не для шарпа, ведь он же лучше".
ну и попробуй одно с другим и ты сильно удивишься.
для прототипов, для вещей для которых нужны всякие биндинги - там питон рулит и педалит.
насколько просто работать с OpenCV на питоне и как запаришься плясать с бубном в шарпах.
Такая же ситуация со многим.

питон универсален, если не против заплатить за его недостатки, а вот шарп хорош, но не для всего.
400 3341928
>>41925

>для прототипов



Ни одного технического преимущества, одни мантры про то, как на нём ОХУЕННО писать прототипы.

На практике там немножко по другому получается, но если не сравнивать с нормальными технологиями, то дебилам заходит.
image3,5 Мб, 3333x1802
401 3341929
Анончик, отрекламирую мне C#.
Я говнюкодю на Пиструне. Мне он нравится тем, что в нем я могу буквально всё. То есть, все костыли для работы уже давно придуманы красноглазиками, а я просто беру и пользуюсь. Очень универсальная штука, хотя он и жутко медленный, но jit обязательно доведут до ума.
Хочу в телеграм ботов, хочу в парсинг, бэк, невросети и так далее.
Что может предложить C# без костылей? Интересуюсь без негатива, мне действительно любопытно ваше мнение.
402 3341930
>>41925

>я уже говорил - каждой задаче свой инструмент



Для любой задачи всегда находится более уместный инструмент, чем пейфон. Без обид, но пейфон не нужен
403 3341939
>>41928
>>41930
на практике посмотри рейтинг языков
и УЧТИ, что питон не жс который "ну в вебе он дефолтный, а веб как бы везде", то есть его заслуга честная (в отличие от того же жс)

это на практике. А то, что ты несешь - это фантазии того, кто питона даже не знает даже поверхностно (это ты 1000000 раз уже доказал обосравшись)

питон лидер по универсальности (кроме системного программирования конечно, но это же узкая ниша - там вообще мало кто). жс взлетел потому что веб, но сам язык говнище.
остальное ниже питона по универсальности.

>>41929
шарп лучше в многопотоке, статическая типизация, довольно богатый синтаксис (но менее выразителен - когда появилась enumerate в питоне? а когда в шарпе Index? (ответ - в последнем 9м через пару десятилетий от момента когда это стало нужно)), но если тебе нужна динамика или всякие там биндинги, то у тебя может быть большая большая большая большая ЖОПА с ним.

я помню делал на шарпах проект для работы с видео, проект для работы с имаджами с экономией памяти (vip), ну и opencv
в первом случае пришлось самому кодить обвязыку, во втором у меня текла память под линуксами, в третьем вообще не завел под линуксами
в итоге плюнул и на питоне все это сделал и быстрее и оно просто работает.
404 3341957
>>41939

>то есть его заслуга честная (в отличие от того же жс)


>


Скорее это заслука хайпа на нейросетях и "вкате в айти"
405 3341961
>>41939

>его заслуга



Да мусор это
406 3341963
>>41929

>Хочу в телеграм ботов, хочу в парсинг, бэк, невросети и так далее.



Увы, ничего из вышеперечисленного в дотнете нет. Искать не надо, пользуйся пейфоном
407 3341971
>>41939
Заебал мне этот мусор впаривать.
408 3341975
>>41971
Никто не впаривает
Просто потыкали тебя мордой в твою брехню
Обычные развлечения на выходные
409 3341978
>>41929
Какой jit?
410 3341990
>>41978
В альфа-выпуске языка программирования Python 3.13.0a6 включена экспериментальная реализация JIT-компилятора. Он компилирует код Python в машинный код «на лету», во время выполнения программы, что позволяет языку работать значительно быстрее.
411 3342006
>>41783

>Зачем требовать необходимость особого слова?


Приватное на то и приватное, что его не видно снаружи. И не надо ебать мозги какими-то договоренностями, чет подчеркивать там.

>средство есть - двойное подчеркивание


Хуй там, это костыль, который не во всех случаях работает. Настолько не во всех, что его рекомендуют избегать.

Вишенка на торте, когда я пытался сделать статическое свойство, обращающееся к приватному полю. В этот момент питон жидко пернув обмяк.
412 3342029
>>42006

> что его не видно снаружи.


так его и не видно. и не потому что кто то не смотрит, а потому что __ эквивалент кейворду private, что в IDE, что в рантайме.

>Настолько не во всех, что его рекомендуют избегать.


пруфы будут? а то придумывать ты мастер

>В этот момент питон жидко пернув обмяк.


скорее ты обмяк со своим уставом в монастыре. нужно понимать что ооп в питоне прикручен сбоку да, потому что это вам не класс, как ты его привык видеть, а динамическая структура - да, да, само определение класса собирается в рантайме и в этот процесс не только можно вмешаться, а он является базой. Там все в питоне так устроено - "всё есть словарь". В жс с их прототипами что то похожее, только менее удобно ибо нет спец средств для магии.
понимая базу можно спокойно делать статические поля и работать с ними. Ну да, статическое проперти не выйдет, будет только статический метод.

ключевое слово "ПОНИМАЯ". Смекаешь?
2024-12-1523-11-12.png5 Кб, 222x259
413 3342044
>>42029

>так его и не видно. и не потому что кто то не смотрит, а потому что __ эквивалент кейворду private


Охуительные истории. На пикрилейтед класс Debug находится в другом пространстве имен (если это можно так называть). Почему я вижу зоопарк говна, которое я не должен видеть?

>пруфы будут?


https://youtu.be/0hrEaA3N3lk?t=703

>скорее ты обмяк со своим уставом в монастыре. нужно понимать что ооп в питоне прикручен сбоку да


Так а зачем ты тратил время на доказательство обратного? Я же изначально написал, что такой подход мне не нравится. Я сразу написал, что выглядит питон как говно, и работает как говно, но зато это ОСОБЕННОЕ говно, это говно со своей ФИЛОСОФИЕЙ. Мне поебать сколько человек его использует. Я считаю, что питон — говно. Какой толк от его особоенностей, если ты как слепой котенок буквально во всем? Какой-то садизм: то что надо не видно (any), а то что не надо — видно (приватные поля).

Даже указание типов в третьей версии намекает, что так живется проще. И джит прикрутить собираются. Даже в джава скрипте сначала нахуевертили ШВАБОДЫ, а потом поняли, что обосрались, и добавили let. Вы должны понять, что как бы языки не вертели жопой (простите за каламбур), но С-подобный принцип — это база, к которой придут все, потому что это удобно.
414 3342054
>>42044

>https://youtu.be/0hrEaA3N3lk?t=703[РАСКРЫТЬ]


Блин, какое же говно.
Меня еще поражает, что если ты сделал, что-то не так, то ты даже ворнинга не получишь, ни в компайл тайме, ни в рантайме. Пока построчно отладкой не пройдешь, хуй ты узнаешь, что что-то где-то не срабатывает. Хуже наверное только в js, который в довесок еще какую-нибудь явную хуйню начинает воротить.
415 3342070
>>42044

>Почему я вижу зоопарк говна, которое я не должен видеть?


потому что ты не отличаешь приватные методы от магических.
магические методы не являются приватными. Так что нормально что они подсказываются, но внизу списка.

какая то тупая хуета на видео
_foo - протектед (поле, метод)
__foo - приватный (поле, метод)
__foo__ - магический метод. это особая хреновина

Да, в IDE есть проблемы с подсказкой когда она вываливает лишнее или не в том порядке. Только это проблема самой IDE и обычно имеет issue на эту тему. То, что ее могут не чинить годами или ломать с новым билдом - ну что поделать, разрабы пишут на жава и они рукожопы (это я про пишарм)

>что такой подход мне не нравится


это лично твои проблемы. если ты НЕ ЗНАЕШЬ в чем сила динамики и не знаешь как ее применить - ну значит тебе оно и надо.

>Даже указание типов в третьей версии намекает, что так живется проще


опять ты про типы. я этого не отрицаю
Я вот вовсю использую тайпхинты чтобы не терять помощь редактора даже если пишу не либу, а просто рабочий код. Но если мне надо, то я просто ухожу в динамику, я думаю о задаче, а не о коде.

В шарпе же для такого мне приходится приседать и про код забывать не получается
Потому что динамика это не только типы. В шарпе в принципе нет таких вещей.

А если у тебя проблемы - значит ты не умеешь использовать силу языка, то есть плохо его знаешь. Что нормально, потому что писать в разных парадигмах это нужно сначала отформатировать мозг.
Везде своя парадигма. я вон под анрюшу на котлине пишу в реактив стиле, а в шарпе принципиально такое не перевариваю. Как то чужеродно.

>>42054
хз что ты там не узнаешь в рантайме.
415 3342070
>>42044

>Почему я вижу зоопарк говна, которое я не должен видеть?


потому что ты не отличаешь приватные методы от магических.
магические методы не являются приватными. Так что нормально что они подсказываются, но внизу списка.

какая то тупая хуета на видео
_foo - протектед (поле, метод)
__foo - приватный (поле, метод)
__foo__ - магический метод. это особая хреновина

Да, в IDE есть проблемы с подсказкой когда она вываливает лишнее или не в том порядке. Только это проблема самой IDE и обычно имеет issue на эту тему. То, что ее могут не чинить годами или ломать с новым билдом - ну что поделать, разрабы пишут на жава и они рукожопы (это я про пишарм)

>что такой подход мне не нравится


это лично твои проблемы. если ты НЕ ЗНАЕШЬ в чем сила динамики и не знаешь как ее применить - ну значит тебе оно и надо.

>Даже указание типов в третьей версии намекает, что так живется проще


опять ты про типы. я этого не отрицаю
Я вот вовсю использую тайпхинты чтобы не терять помощь редактора даже если пишу не либу, а просто рабочий код. Но если мне надо, то я просто ухожу в динамику, я думаю о задаче, а не о коде.

В шарпе же для такого мне приходится приседать и про код забывать не получается
Потому что динамика это не только типы. В шарпе в принципе нет таких вещей.

А если у тебя проблемы - значит ты не умеешь использовать силу языка, то есть плохо его знаешь. Что нормально, потому что писать в разных парадигмах это нужно сначала отформатировать мозг.
Везде своя парадигма. я вон под анрюшу на котлине пишу в реактив стиле, а в шарпе принципиально такое не перевариваю. Как то чужеродно.

>>42054
хз что ты там не узнаешь в рантайме.
416 3342166
>>41990
Охуеть, ахахахахахах
417 3342170
>>42070

>магические методы


>философия


>в чем сила динамики



Вы там на своём пейфоне в очко долбитесь?
418 3342184
>>42070

>это лично твои проблемы


А с чего ты взял, что это проблема? Я не считаю это проблемой.
Единственная проблема, это насильный форс питона — его запихнули буквально во все приложения в качестве языка скриптинга. А потом радостно показывают статистики популярности питона. Но так было и с VBA одно время.
419 3342185
>>42070

>А если у тебя проблемы - значит ты не умеешь использовать силу языка, то есть плохо его знаешь. Что нормально, потому что писать в разных парадигмах это нужно сначала отформатировать мозг.


Ебать как ты себя любишь.
420 3342221
>>40985
За пиздёж на сосаче.
421 3342236
>>42184

>форс питона — его запихнули буквально во все приложения в качестве языка скриптинг


Согласен. Хуже в этом плане только ебучий yaml
422 3342363
>>42070
Все приложения, написанные на питоне, которые я встречал, были жутко забагованными с возмутительными ошибками.

1. Cura - слайсер для 3д печати. При закрытии сохраняет все введенные параметры не спрашивая пользователя, наперекор всем стандартом. Но питонисты не любят проверенные пути, им обязательно надо сделать медвежью услугу, они думают, что облегчают жизнь пользователю не ебя мозги всплывающими окнами.

Однажды, в настройках, при установке размера стола печати принтера, я ввел "220,5" вместо "220.5" — написал на автомате, с учетом региона моего шиндовс. Знаете что произошло? ВСЕ текущие параметры печати нахуй слетели, а их там сотни. А теперь вспоминаем про сохранение параметров при закрытии приложения и охуеваем от нулевой безопасности этого говна. И это философия питона — медвежья услуга, вот эта вот нетребовательность, предлагаемая на старте, чтобы в ближе к финалу придти в тупик и не знать что делать дальше.
Мне пришлось запускать новый экземпляр приложения, а этот убивать — так я сохранил параметры, а ведь мог случайно закрыть приложение и потерять сотни параметров навсегда.

2. ComfyUI - оболочка для Stable Diffusion. Этому говну так же поебать на регион, поэтому с русской раскладкой Ctrl+V вставляет данные из буфера дважды. Косяк на косяке. Например, там есть возможность связку нод преобразовать в компонент, это аналог функции в Unreal Engine или ассета в Houdini. Сохраняешь компонент (сохраняется в джейсон) и это дерьмо берет и все константы внутри компонента нахуй сбрасывает. А там прикол в том, что условная нода math содержит словарь операторов, и если я установил деление, которое НЕ является первым в списке словаря, то оно сбрасывается на суммирование, которое является первым в списке, и вся логика компонента летит в пизду. Ты смотришь джейсон, там все параметры сохранены, все так, как должно быть, но при чтении они сбрасываются до дефолтных значений. Ну подумаешь баг, с кем не бывает? Но там, сука, каждый этап сохранения компонента сделан через жопу. Например, не может адекватно установить путь до компонента. Весь комфи забагованный и работает через жопу. Все нестабильно.

Кстати, код, который я показывал, он как раз оттуда. И когда мне пишут оправдания по поводу подобного, мол, это враппер или порт, то я не верю. Я не верю потому, что приложение, написанное в такой манере, прекрасно сочетается с говеным забагованным результатом. Когда ты работаешь с приложением, созданным на питоне, ты как будто ходишь по минному полю. И цена ошибки порой очень серьезная.
422 3342363
>>42070
Все приложения, написанные на питоне, которые я встречал, были жутко забагованными с возмутительными ошибками.

1. Cura - слайсер для 3д печати. При закрытии сохраняет все введенные параметры не спрашивая пользователя, наперекор всем стандартом. Но питонисты не любят проверенные пути, им обязательно надо сделать медвежью услугу, они думают, что облегчают жизнь пользователю не ебя мозги всплывающими окнами.

Однажды, в настройках, при установке размера стола печати принтера, я ввел "220,5" вместо "220.5" — написал на автомате, с учетом региона моего шиндовс. Знаете что произошло? ВСЕ текущие параметры печати нахуй слетели, а их там сотни. А теперь вспоминаем про сохранение параметров при закрытии приложения и охуеваем от нулевой безопасности этого говна. И это философия питона — медвежья услуга, вот эта вот нетребовательность, предлагаемая на старте, чтобы в ближе к финалу придти в тупик и не знать что делать дальше.
Мне пришлось запускать новый экземпляр приложения, а этот убивать — так я сохранил параметры, а ведь мог случайно закрыть приложение и потерять сотни параметров навсегда.

2. ComfyUI - оболочка для Stable Diffusion. Этому говну так же поебать на регион, поэтому с русской раскладкой Ctrl+V вставляет данные из буфера дважды. Косяк на косяке. Например, там есть возможность связку нод преобразовать в компонент, это аналог функции в Unreal Engine или ассета в Houdini. Сохраняешь компонент (сохраняется в джейсон) и это дерьмо берет и все константы внутри компонента нахуй сбрасывает. А там прикол в том, что условная нода math содержит словарь операторов, и если я установил деление, которое НЕ является первым в списке словаря, то оно сбрасывается на суммирование, которое является первым в списке, и вся логика компонента летит в пизду. Ты смотришь джейсон, там все параметры сохранены, все так, как должно быть, но при чтении они сбрасываются до дефолтных значений. Ну подумаешь баг, с кем не бывает? Но там, сука, каждый этап сохранения компонента сделан через жопу. Например, не может адекватно установить путь до компонента. Весь комфи забагованный и работает через жопу. Все нестабильно.

Кстати, код, который я показывал, он как раз оттуда. И когда мне пишут оправдания по поводу подобного, мол, это враппер или порт, то я не верю. Я не верю потому, что приложение, написанное в такой манере, прекрасно сочетается с говеным забагованным результатом. Когда ты работаешь с приложением, созданным на питоне, ты как будто ходишь по минному полю. И цена ошибки порой очень серьезная.
423 3342524
>>42363
Тем не менее на питоне есть эти приложения, а на шарпе нихуя полезного не пишут
424 3342549
>>40396

>ответы вида "ну так в документации написано" это не аргументы


Так у тебя не техническая претензия, а почему не сделали или почему поздно. Один из главных критериев той или иной фичи экономический и востребованность. Руководство могло посчитать что на раннем этапе та или иная фича была мало кому нужна. Ну ида, какое нибудь частное решение может быть кривым в силу эксцесса исполнителя, большие дяди с зп в 5 лямов только контурно определяют решение, на низах там могут говнокодить тупые пёзды вроде широко обсуждаемой здесь в своё время ленки-хуесоски с какой-то хохляцкой галеры которая пересосав километры задротских хуев дорвалась до какой-то должности в команде по F#.

>каво шта?


Что бы сделать как ты писал нужно писать отдельный класс, поддержки со стороны языка не требуется, голый enum в С# по дизайну полный аналог сишного.
python loh.mp43,4 Мб, mp4,
464x784, 0:16
425 3342553
426 3342625
>>42553
а хули там js делает? Это такое же говно как и пейфон
427 3342655
Есть у нас на работе, как и в любой КРУПНОЙ компании, свой нахуй никому не нужный фреймворк говна. И есть в нем шедевральные строки.

IsAllowedOrigin(o=>true)

З.А.Е.Б.И.С.Ь.
428 3342676
>>42655
Когда в сишарп только добавили эти экспрешены, такого говна было много. Потом народ наигрался в мамкиных метапрограммистов и шиза прошла. Ты наблюдаешь копролит тех времен.
429 3342699
>>42184

>во все приложения в качестве языка скриптинга.


потому что он для этого подходит. он по своей природе буквально "клей" между разными вещами.

>>42185

>Ебать как ты себя любишь.


нет. я себя знаю просто. я бестолочь, но некоторые парадигмы все же освоил. Не знать их, а думать на них.

>>42363

>которые я встречал, были жутко забагованными с возмутительными ошибками


так а питон тут причем? я так же насрать могу и на шарпе.
430 3342709
>>42549

>а почему не сделали или почему поздно


именно так. некоторые вещи просто ОЧЕВИДНЫ и делаются легко
но делаются через жопу.
взять тот же Index метод у LINQ. Пипец дохера сложный да?
Или задание регистра в методах конвертации в hex, где они таки это сделали, но оно интернал
и тому подобное

Я понимаю их оптимизацию LINQ когда появилось allow ref struct
но блин другое то делается на 2 щелчка
431 3342800
>>42676
Эту хуйню написали в 2020 и это не копролит тех времен, а отключение политик CORS на проекте в 0.
432 3342803
>>42800
Никакой инфы, что за проект и для чего там политики CORS, конечно же, не будет. Может, эти политики там нахуй не всрались.
433 3342829
>>42803

>Может, эти политики там нахуй не всрались.


Правильно нахуй нам проверять что запросы идут с доверенных доменов. Принимаем все от всех и без проверок.
Неважно какой у тебя проект. Если это не публичный АПИ то ты должен проверять кто прислал запросы, даже если это GET. Тем более если ты разработчик в банке.

Ты вообще писал что-то сложнее калькулятора?
434 3342842
>>32445 (OP)
Как вы выдерживаете это скучное занятие дрочите алгоритмы и задачки с литкода? Да вы же ебанутые.
435 3342848
>>42842
Ни разу в жизни литкод не открывал. Лутать сотыги это не мешает.
436 3342925
>>42842
Ты кто такой по жизни? А что не скучно, быть эскортницей как твоя мамаша?
437 3343587
В Dotnet реально запустить динамически dll без ебаного reflection? AppDomain сдохли в дотнете, выходит альтернатив не осталось?

P.S Пилю свою десктоп-приложуху которая со всеми оптимизациями сборки весит 40 Мб (при оригинальных 250 Мб без всяких NativeAOT и прочих) но эти оптимизации похерят любой reflection так что ищу варик без него
438 3343588
>>43587
AssemblyLoadContext???
439 3343672

>> Сейчас основная тенденция в дотнете - AOT. Посему AutoMappet, работающий на рефлексии, в пролёте.



Как и DI? Откат на фабрики\СервисЛокаторы получается?)
440 3343691
>>43672
https://github.com/amis92/csharp-source-generators

там штуки три контейнера годных, на сорс-генераторах написанных.
441 3343706
У вас опять цепной клоун сбежал и обосрал весь программач.
442 3343716
>>43672

>СервисЛокаторы


А что если я тебе скажу что можно импортировать нужные сервисы напрямую.
Не используй эту хуйню никогда.
443 3343765
>>43672

>Как и DI


При чем тут DI и рефлексия. Максимум у тебя отвалятся некоторые методы добавления в контейнер сервисов. Вроде AddFromAssembly или по якорям.
Пикасо хренов 444 3343993
Вопрос к местным эстетам. В принципе разобрался с WPF, читал Петцольда, Мак-Дональда, но беда пришла откуда не ждали. Если пытаюсь с нуля сделать свою программу мечты, то внешний вид виджетов получается настолько всратым, что Айвазовский крутится в гробу. Либо во время веб-сёрфинга случайно натыкаюсь на какой-нибудь сайт с пиздатым дизайном, и пытаюсь скопировать. Тогда норм выглядит.
Есть ли готовые таблицы цветов, или эмпирические правила, чтобы красиво выглядело?
445 3343997
>>43993
у каждого свое понятие красивости
как раз дефолтное и выглядит норм
а всякие типа https://github.com/Kinnara/ModernWpf https://wpfui.lepo.co/
выглядят бррр
446 3344020
>>43993
Твоя ошибка в выборе впф, которому давно пора на свалку. Он кривой, тормозной, рендерить на нем что-то приличное из-за использования directx9 и airspace issue сложно. Лучше переходи на авалонию.
Ну и да, чтобы получилось красиво, нужно сначало отрисовать это красиво в фигме или хотя бы lunacy (написана на авалонии), чтобы можно было видеть как интерфейс выглядит в целом.
447 3344025
>>44020

>Лучше переходи на авалонию


нет не лучше. единственное достоинство - кросс
а на винде выглядит ужасно
да вообще всё что на skia выглядит жопно.
что авалония, что та же проблема у котлин мультиплатформ

WPF же позволяет делать более менее.
448 3344042
>>44020
авалония это безперспективный кал, щас из таких фреймворков уно рулит, который еще последние ФП фичи активно использует и развивает
449 3344044
>>44025

>жопно


это уже зависит от того не поленился ли кто создать ассеты и стили, тоже касается и wpf
450 3344045
Сап аноны, нужна ваша помощь
вот есть домашка по информатике, у меня с#
нам дали задание написать прогу которая выводит таблицу с бегунами у которых есть своё имя группа и время, нужно выделить лучших и тех кто прошёл норматив
Вопрос как задать этим бегунам имена и группы?
время я реализовал через функцию рандом, через форич смог отсортировать лучших и тех кто прошёл норматив. А как задать имя обьекту я не знаю.
Код могу скинуть если нужен
451 3344047
>>44044
нет. просто жопно
десктоп он как бы не планшет чтобы в нем делать метроподобное флюент говно, да еще без мультиокон
452 3344059
>>44042
Вот как раз уно кал, который на винде представляет собой абстракцию над winui3, со всем из этого вытекающим.
>>44025

> нет не лучше. единственное достоинство - кросс


У авалонии полно достоинств. Она гораздо производительнее wpf, имеет куда лучшую систему стилей, позволяет легко встраивать рендеринг directx/opengl/vulkan, активно разрабатывается и поддерживается, ну и плюс ко всему она кроссплатформенна, да.
Единственные плюсы впф это лучшая документация и наличие большого количества сторонних библиотек контролов. На этом всё.

> а на винде выглядит ужасно


Нормально выглядит.
453 3344060
>>43993
UI\UX дизайн это отдельная профессия

>Есть ли готовые таблицы цветов


1. Есть цветовой круг, например https://colorscheme.ru/
Берешь базовый цвет, выбираешь схему, и тебе предлагают сочетающиеся цвета. Самая базовая схема, это триада.

2. Есть правило 60-30-10 (пикрил 3). Оно определяет в каких пропорциях цвета триады использовать на твоем макете. 60% цветовой гаммы твоего окна должно быть заполнено доминирующим цветом, 30% - второстепенным цветом и 10% - акцентным цветом. Что такое доминирующий, второстепенный и акцентный, можно узнать в гугле.

3. На основе этого создается цветовая система приложения (гугли color system). Сперва рисуется UI раскладка в какой нибудь векторной программе, типа иллюстратора или фигмы, делается таблица цветов с ключами уровня Control.Secondary.Background, ты видел подобное в стилях WPF, но без точек, но не суть — можно юзать и так и сяк. Это уже стандарт, посмотри туторы по фигме, там суть та же.

Вот, к примеру описание цветовой системы шиндовс 11
https://learn.microsoft.com/en-us/windows/apps/design/signature-experiences/color#color-principles
https://learn.microsoft.com/en-us/windows/apps/design/signature-experiences/color

У телерик есть тема винды 11 для WPF, устанавливать не надо (она вроде платная), но интересно посмотреть таблицу ключей и цветов. Типичная цветовая система:
https://docs.telerik.com/devtools/wpf/styling-and-appearance/themes-suite/windows11

Но это так, вершки. Можно просто гуглить цветовые системы, какие-то дизайны UI например на https://www.behance.net/ и пиздить оттуда. Обычно там представляется выкладка всех элементов интерфейса и их взаимное сочетание, типа как на пикрил 1 и 2.

Через пару лет глаз приучится и начнешь создавать самостоятельно. Либо продолжай пиздить, ничего зазорного в этом нет, если ты не дизайнер с пятилетним стажем. Все художники и дизайнеры начинали с пиздинга, по другому никак, твои нейроны должны обучаться на базе данных, и чем эта база больше, тем лучше результат.
454 3344062
>>44059

>Нормально выглядит.


для тебя может да. но не все любят мылошрифты.
455 3344064
>>44062
Там нет мыла, просто отсутствует cleartype (как и во всех современных гуи фреймворках от майков начиная с uwp к слову)
456 3344066
>>44064

>Там нет мыла


можешь назвать его гладиолусом, суть не изменится

>просто отсутствует cleartype


а вот хрен тебе. он там есть. просто результат все равно не такой какой можно получить в WPF
457 3344129
>>43993
Просто пизди чужой дизайн и не заморачивайся. С кодом же у тебя такой проблемы нет.
image.png3 Кб, 368x129
458 3344132
>>44066
Перепутал cleartype с фирменным хинтингом от майков, который пидорасит шрифты, но делает их четче, да. Но это не особо актуально на современных дисплеях. Ну и отсутствие жестокого хинтинга не делает шрифт мыльным.
459 3344138
>>44045
Создай класс "бегун" у которого будут свойства "имя", "группа" и "время"
И создавая новый объект присваивай ему все его свойства
460 3344141
>>43588
Так он возвращает Assembly из system.reflection если я верно понимаю что написано в https://learn.microsoft.com/ru-ru/dotnet/api/system.runtime.loader.assemblyloadcontext.loadfromstream?view=net-8.0.
Я хз как с этим без reflection работать
461 3344151
>>44059

>Вот как раз уно кал, который на винде представляет собой абстракцию над winui3, со всем из этого вытекающим.



Во-первых это абстракция, а значит лазить внутрь в прикладном коде долбоебизм, во-вторых вин уи 3 это круто.

>имеет куда лучшую систему стилей



Ничем не лучше.

>ну и плюс ко всему она кроссплатформенна, да.



Ты понятия не имеешь о чем говоришь. Имплементации у неё разные под разные платформы, как и у уно.

>>44047
Жопно выглядят кривые стили из коробки, впф голый идет, за денюжку сторонние производители делают конфетку. Тоже самое касается всех фреймворков, обычно только простенькие контролы вылижут для рекламы, а что-то чуть нестандартное нужно делать с нуля, проблема только в этом. В целом все основанные на разметке фреймворки более менее одинаковые, удобство только в том насколько конкретный фреймворк облегчит тебе создание законченного приложения, с этом плане уно всех обскакал и быстро развивается, авалония уже свое отжила, оттуда народ разбегается, ничего нового не выпускают.
462 3344153
>>44132

>Но это не особо актуально на современных дисплеях


субъективное мнение так то
"с каждой версией приложения по новому монитору...каждому".
зопесал

>жестокого хинтинга не делает шрифт мыльным


он МЕНЕЕ четкий чем весь остальной шрифт в системе.
И что ты хотел сказать своим пиком хз - ты посмотри на дефолтный размер шрифта что предлагает авалония и на размер шрифта в системе.
Конечно километровый шрифт проще сделать четким.

>>44151

>впф голый идет, за денюжку сторонние производители делают конфетку


голый да, но "конветку" - слишком спорно. слово "модерн" в модернуи не значит конфетка, а значит "модняво"
А что такое "модняво" можно посмотреть на любом показе моды.
463 3344175
>>44151

> Во-первых это абстракция, а значит лазить внутрь в прикладном коде долбоебизм, во-вторых вин уи 3 это круто.


А лазить не надо, достаточно знать, что уно всего-лишь подмножество и без того крайне бедного функционально winui. При том, что винюай это кривая залупа, с кучей багов, недоработок, и в целом почти не развивающаяся. К тому же он медленный из-за того, что написан на плюсах, и много времени уходит на вызов плюсового кода из шарпов. Фиксится aot, но с ним не работают templatebinding (в голос с этого). Поэтому тот же винстор написан на uwp, и никто его не спешит переносит на winui. Ну и winui, как и uwp до этого имеет крайне кастрированный xaml. Мультибиндингов нет, findparent нет, onewaytosource нет, x:static нет и тд и тп.

> Ничем не лучше.


Ну это сектанство форменное. Стили в авалонии лучше во всем, куда более гибкие и удобные. В впф, чтобы банально поменять цвет одного элемента нужно переопределять весь шаблон, в авалонии достаточно выцепить нужный элемент селектором. Не говоря уже о том, что в авалонии можно комбинировать стили.
464 3344215
>>44138
Понял, а как сделать тогда человеческие имена бегунам? Или они так и будут в виде рандомных символов?
465 3344217
>>44215
тебе сложно имена придумать что ли
466 3344227
>>44175

>А лазить не надо, достаточно знать


Так ты не знаешь нихуя. Уно по фичам перекрывает твою древнюю авалонию которая была актуална только во времена первых версий замарина, только она не развивается и осталась там где стартанула.
Кросс платформа по дефолту медленнная, как и любой навороченный MVVM фреймворк где по определению на каждом углу оверхед из-за паттернов и кросс платформенности, так что это пук в лужу. Главное что производительности хватает для целевых приложух (ты же не собрался игры на нем писать).

> Поэтому тот же винстор написан на uwp


Это ты сочиняешь, просто сто лет назад написали во времена вин 8, так и остался пока, нет мотивации на переписывание.

На С++ наоборот быстрее работает чем на управляемом коде.

>но всего-лишь подмножество и без того крайне бедного функционально winui



Не пизди, всё там есть. Ты понятия не имеешь что представляет собой уно, или по какой-то древней версии судишь. Там если что мощный сдвиг в функциональщину, даже основной паттерн другой, не MVVM а MVUX.
467 3344230
>>44227
я мимокрок

>Уно по фичам


да ну. серьезно? можно создать свой кастомный контрол без пердолинга?

>На С++ наоборот быстрее работает чем на управляемом коде.


но тут ты ошибаешься winui медленнее чем тот же впф из-за вызовов к сишному коду.
468 3344236
>>44217
Задать вручную понял
469 3344238
>>44236
ну можешь для понта написать генератор
задать ему 3 списка - имена, фамилии, отчества аля "кто ты сегодня" и собирать комбинации убирая дубликаты.
470 3344264
>>44227

> Так ты не знаешь нихуя. Уно по фичам перекрывает твою древнюю авалонию которая была актуална только во времена первых версий замарина, только она не развивается и осталась там где стартанула.


Какие фичи есть у уно, которых нет в авалонии? Ну, кроме x:Bind, который годнота, не отрицаю (хотя порой криво работает, к тому же плохо совмещается с чистым mvvm). Ну а говоря, что авалония не развивается, ты лишь доказываешь, что ничего о ней не знаешь. Если взять ту же 11 версию, то там обновили рендеринг, добавили Composition Api со всем функционалом вроде expressionanimation, какой был в UWP.

> Кросс платформа по дефолту медленнная, как и любой навороченный MVVM фреймворк где по определению на каждом углу оверхед из-за паттернов и кросс платформенности, так что это пук в лужу.


Ни на чем не основанное утверждение. Производительность кросс платформы зависит от реализации для каждой конкретной платформы, не более. Авалония в частности быстрее wpf, winui, а следовательно и uno. К чем твой пук о mvvm вообще не ясно, 99% функционала этих фреймворков сводится к реализации inpc, все остальное, если сравнивать со временем рендеринга, вообще почти ничего не потребляет.

> Это ты сочиняешь, просто сто лет назад написали во времена вин 8, так и остался пока, нет мотивации на переписывание.


Во времена win 8 uwp не было так то. А не переписывают именно потому, что winui кривой и тормозной.

> На С++ наоборот быстрее работает чем на управляемом коде.


Анон, я уже заметил, что ты туповат, но хоть бы подумал о том, что вызов неуправляемого кода из управляемого не бесплатен.

> Не пизди, всё там есть. Ты понятия не имеешь что представляет собой уно, или по какой-то древней версии судишь. Там если что мощный сдвиг в функциональщину, даже основной паттерн другой, не MVVM а MVUX.


При чем функциональщина и паттерны, к функциональности фреймворка они не имеют отношения. Не говоря о том, что mvux какая-то очередная игрушка, mvvm как рулил так и будет рулить.
471 3344272
>>44264
хватит вам спорить. все уи фреймворки в шарпе суть говно
увы.
472 3344282
>>44272
Кроме авалонии, авалония годнота. А вообще десктоп мёртв, не будь я ленивым хуйлом уже давно перекатился бы в фулстэка, грузил джейсоны и дрочил реакт. А вместо этого дрочу авалонию и opengl за копейки по меркам даже самых обоссаных джунов на asp.net
473 3344291
>>44282
язык, основанный на хамл, не может быть годнотой по определению
километровые портянки xml, куча файлов, исключительная декларативность

бррр, дрянь какая.
474 3344306
>>44291

> язык, основанный на хамл, не может быть годнотой по определению


Ну а какие альтернативы? Так то да, от многословности горит жопа, когда у тебя условно такая конструкция:
xmlns:libNameControls=””
<libNameControl:AnotherUselessControl>
<libNameControl:AnotherUselessControl.CustomizeableProperty>
</libNameControl:AnotherUselessControl.CustomizeableProperty>
</libNameControl:AnotherUselessControl>
Но что поделать
475 3344313
>>44306
на шарпе никаких. на других языках MVU подходы, которые в шарпе никто нормально не сделает никогда.
тот же Comet (https://github.com/dotnet/Comet)...ну да, он приносит типа MVU, но по факту "ну просто вместо хмл описывает кодом...но не более, чем мог бы описать тот же хмл...просто кодом" Описание кодом лучше чем хмл в плане компиляции, но это все равно так уныло - ну и это чисто концепт.
476 3344498
Есть большой метод с кучей вычислений, который принимает 28 аргументов. Я вот думаю, стоит ли создать несколько структур, которые сократят количество аргументов до 5-6, или получится слишком большой оверхед? Метод вызывается очень часто.
477 3344504
>>44498
Зачем?
478 3344515
>>44498
У структур почти нету оверхеда. А почему у тебя у метода 28 аргументов?
479 3344697
>>43997

Ну ладно. Буду дальше мучить жопу. Спасибо
480 3344740
>>44060

Щикарно. Два мешка нихуя этому господину.
481 3345199
>>44059

> У авалонии полно достоинств


Хотел было спросить наехать за нумерацию строк в гриде, но они всё-таки смогли:
https://github.com/AvaloniaUI/Avalonia/commit/7413434e8791b69ef71cd3605de07683c7810a9c
изображение.png126 Кб, 1004x440
482 3345310
В Dotnet реально запустить динамически dll без reflection? AppDomain сдохли в дотнете, выходит альтернатив не осталось? AssemblyLoadContext возвращает Assembly с которым возможна работа только с System.Reflection. Неужели нет альтернатив? ( publish trimming и ебучий reflection плохо совмещаются, не хочу гигабинари плодить)
483 3345323
>>45310
Два раза повторять не надо! Два раза повторять не надо!
484 3345517
Мужики, что делать?
Написал на net 8 gRPC клиент на http узел без шифрования, всё работает.
Тоже самое только в проекте на framework 4.8 при подключении опускает хттп 2 до 1.1: Bad gRPC response. Response protocol downgraded to HTTP/1.1
Как это исправить? Нагуглил только совет установить флажки:
AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2Support", true);
AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true);
но не помогло.
485 3345519
>>45310
А как ты себе имаджинируешь это без рефлексии? Скажи спасибо что вообще чисто технически возможно подключить dll в рантайме.
486 3345923
Программирую весь день на сишарпе, всё охуенно
carbon (2).png245 Кб, 1602x1680
487 3345925
Проектирую архитектуру библиотеки, которая поддерживает несколько реализаций. Планирую всю основную архитектуру построить на интерфейсах и добавить метод QueryObject, и в каждой конкретной реализации при помощи этого метода получать класс этой реализации. Соответственно если пользователь попытается смешать две реализации, буду кидать исключение. Какие подводные?
488 3345926
>>43993
ЁБ ТВОЮ МАААААААААААААТЬЬ!!!!!!!!!!!!!!!! НАУЧИТЕСЬ УЖЕ БЛЯДЬ СУКА В КОИ ТО ВЕКИ БЛЯДЬ ТРЮКАМ РАСШИРЕНИЯ ЦВЕТОВОГО ПРОСТРАНСТВА, ЭТО ЖЕ ПИЗДЕЦ, КАК ЖЕ Я НЕНАВИЖУ БЛЯДЬ ЭТИ БИТОВЫЕ ПОЛОСКИ БЛЯДЬ!!!!!
489 3345939
>>45925

Приведение типа это красный флаг в любом коде. Я бы выкинул нахуй твой говнокод и послал тебя на пейфоне программировать.

Ты пишешь какое-то невнятное абстрактное говно. Какую проблему решает твоя "библиотека"?

Почему ты просто не взял автомаппер?
490 3345964
491 3345974
>>45964
Да хуй знает, деталей мало. давай больше деталей, может быть в процессе сам найдёшь, в чём проблема
492 3346146
493 3346346
>>42553
Всю историю питон был на дне, в нулевые они стебались над классами пхп 4 когда во 2 питоне был вообще адок во всем. Пхп 5 все быстро пофиксиле и ООП потенциала и сахара там стало больше чем во всех языках вместе взятых (даже чем в шарпах, ну ибо это интерпретируемый язык). Но питухи продолжали стебаться сидя на своей 2 версии со всем говном. Это буквально было как слон и моська в те времена.

Потом эта говнина раскрутилась с новой техой (ИИ), хотя веб до сих пор в отсосе, но они просто на каком-то уже генетическом уровне продолжают противопоставлять себя над пхп.
494 3346366
>>46346
кек от фантазий анона ))
пхп взлетел из за того что низкий порог входа и каждый школьник мог написать свой супер пупер скрипт, кинуть на шаред хостинг и оно работает (про то "как работает" я промолчу))))
и ТОЛЬКО ТАМ была сфера применения похапэ (да там и осталась)

именно эта уникальная способность "кинул скриптик в папочку и оно заработало" и сыграло на руку пхп
но это не значит что питон был где то на дне )))

ну а "ооп потанцевал" это вообще лол. банальная калька с жавы - да похапэ этого и не скрывает.
495 3346477
>>46366
Ну одно дело, тебе на ютубе рассказали что было когда ты родился, а другое дело, когда я варился в этом в те года. До машинного обучения питон был экзотической помойкой с проблемой перехода между 2/3 версией и ужасной производительностью.

Самое смешное когда они на конференциях упоминали веб языки, цинично не упоминали пхп, хотя тот на то время занимал 90% рынка.

Причем тут выстрелил не выстрелил, пхп в свой рассвет конкурировал с перлом вообще
496 3346584
Почему в интернетах так мало артов с тянками-шарпистами? Наводит на определённые мысли.
497 3346654
>>46477

>До машинного обучения питон был экзотической помойкой


когда по твоему выстрелило это ML что ты такой вывод делаешь?
может ты про 2007 год когда по версии тиобе (да, да я знаю это попугайный индекс, но других нет) он стал лидером рейтинга (экзотическая помойка занимает первое место????)

>с проблемой перехода между 2/3 версией


....а питон3 появился только в 2008?

> и ужасной производительностью


она ужасная у всех интерпретируемых языков где не нашлось достаточно ресурсов все это безобразие ускорить. И похапэ тут не исключение

и да - с пхп я познакомился еще во времена пхп 3, так что прекрасно знаю как он рос по фичам и почему выстрелил. Слава богу, удалось свалить с этого "чудесного" языка на чудесный питон (3 конечно). Но не до конца еще (((
image.png996 Кб, 1000x562
498 3346856
>>46584
Потому что с шарпом работают нормальные гетеросексуальные мужики и бабы нам тут не нужны.
499 3346894
Сап, аноны

Нужен совет

Брать ли macbook для .net бэкенда?

Сейчас на проекте core, но в будущем могут на framework перекинуть

В основном работаю на своем пк, но иногда нужно по rdp заходить

Нормально ли работает rdp macos - windows server?

М какие подводные?
500 3346896
>>46894
Не нужен тебе макбук.
501 3346902
>>46896
А что брать?

Хочется чтоб работал без лагов и экран хороший
502 3346937
>>46902
калькулятор Электроника МК-61
и не говори что говно.
503 3347027
>>46894

>Брать ли macbook


Очевидно нет. Зачем тебе это говнобук? Не надо только про 10/15/120ч мобильности.
1) он максимум часов 6 выдержит райдер
2) ты сам себе не ври ты работаешь из дома рядом с розеткой.
504 3347150
>>46894

Упаси госпаде. Для разработки бека нужно минимум 32 гигабайта оперативки.

Цена на такой макбук будет 350 000+.

Альтернатива не от эппл будет стоить около 200 000.

Память на макбуках всегда распаянная и объединённая (минус 4 гигабайта на полупрозрачные окошки).

Плюс, это арм, как на него ставить линукс для работы - хуй знает.
Как на него ставить винду, если работаешь с фреймворком - хуй знает.

Докер на маке работает как говно.
505 3347153
>>46902

> Хочется чтоб работал без лагов и экран хороший



Я весной купил huawei matebook x pro. Весит меньше килограмма, 32 гига памяти. Кайфую
506 3347238
>>46902

> Хочется чтоб работал без лагов и экран хороший


> макбук



ты ёбнутый?
507 3347256
>>46894

>Брать ли macbook для .net бэкенда?


Если райдером пользуешься, тогда можешь попробовать.

>>46894

>Сейчас на проекте core, но в будущем могут на framework перекинуть


Тогда тебе не о маке надо думать, а как съебать с этой работы побыстрее.

>>46894

>Нормально ли работает rdp macos - windows server?


Это зависит не от платформы как таковой (т.к. стандартное подключение везде работает нормально), а от анальных заслонов которые работодатель накрутит поверх твоей удаленки. У тебя там может какой-нибудь хитровыебанная модификация цитрикса оказаться или еще что-нибудь и ты соснешь. Поэтому выясняй заранее у самого работодателя можно ли к нему подключаться с мака.

>>46894

>М какие подводные?


Ну только что геем станешь с маком.
509 3347768
>>46894
На огрызке работают только петушары.
Обновить тред
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

Скачать тред только с превьюс превью и прикрепленными файлами

Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах.Подробнее