- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
using KoKo.Property;
namespace MyProject {
public class Person {
private StoredProperty<string> FirstName { get; }
private StoredProperty<string> LastName { get; }
public Property<string> FullName { get; }
public Person(string firstName, string lastName) {
FirstName = new StoredProperty<string>(firstName);
LastName = new StoredProperty<string>(lastName);
FullName = DerivedProperty<string>.Create(FirstName, LastName, (first, last) => $"{first} {last}");
}
public void SetFirstName(string firstName) {
FirstName.Value = firstName;
}
}
}
3_dar 04.01.2022 19:22 # +2
Дампик.
guest6 04.01.2022 20:54 # +1
Чтобы его типа кешировать?
3_dar 05.01.2022 00:58 # +1
3_dar 05.01.2022 00:59 # +1
3.14159265 06.01.2022 15:15 # 0
> LastName = new StoredProperty<string>(lastName);
> FullName = DerivedProperty<string>.Create(FirstName , LastName, (first, last) => $"{first} {last}");
Автовывод генериков так и не завезли?
Такое даже в 7ой йаже быдло:
> LastName = new StoredProperty<>(lastName);
guest6 06.01.2022 17:46 # 0
bormand 06.01.2022 17:58 # +2
Настоящему джависту не влом написать одно и то же джва раза.
Давайте тогда в каждом выражении у каждой переменной тип повторять, чтобы всё явно было.
Fike 06.01.2022 18:00 # 0
3.14159265 06.01.2022 18:02 # +3
Последние исследования ученых говорят, что оптимально делать третье, бустерное упоминание типа.
Ну чтобы точно не ошибиться.
bormand 06.01.2022 18:05 # +1
guest6 06.01.2022 18:09 # +1
Вообще заебись. Я предлагаю при инициализации хотя бы писать.
HoBorogHuu_nemyx 06.01.2022 18:45 # 0
bormand 06.01.2022 18:48 # +1
3.14159265 06.01.2022 19:32 # +1
Потом выяснится что половину auto можно не писать, их выведет компилятор.
ISO 06.01.2022 19:33 # +2
3.14159265 06.01.2022 19:36 # +1
В Стандарте ™ сделают фичу чтобы компилятор сам догадывался по названиям файлов, какой код там должен быть.
Будет кококмпилироваться в утилиту grep.
Будет кококмпилироваться в python3. Итд.
ISO 06.01.2022 19:37 # 0
guest6 06.01.2022 19:40 # +1
HoBorogHuu_nemyx 06.01.2022 19:45 # +2
HoBorogHuu_nemyx 06.01.2022 18:10 # +1
Жаль, Конрад Цузе так и не внедрил его.
bormand 06.01.2022 18:12 # 0
HoBorogHuu_nemyx 06.01.2022 18:13 # 0
Floating_cockerel 06.01.2022 18:16 # 0
HoBorogHuu_nemyx 06.01.2022 18:23 # 0
https://ru.m.wikipedia.org/wiki/Планкалкюль
Почти, как ассемблер, только для ма-те-ма-ти-ков.
Уже после смерти Цузе реализовали трансляторы, изменив синтаксис на однострочный (типы стали писать в квадратных скобках).
Soul_re@ver 06.01.2022 18:28 # +3
Не успел помереть, а тут же язык испоганили.
3.14159265 06.01.2022 15:26 # 0
«Иажа»
«Cщ»
«ТуреЗсгiрт»
Итд.
Почему анскильные няудачники ня могли зделать инициализаторы как в Сишке?
Ок, если так нравится «new», неужели сложно было запилить нормальный type inference?
bormand 06.01.2022 15:43 # 0
bormand 06.01.2022 15:51 # 0
Fike 06.01.2022 15:58 # +2
Вообще-то в «Cщ» давно сделали
Beginning with C# 9.0, constructor invocation expressions are target-typed. That is, if a target type of an expression is known, you can omit a type name, as the following example shows:
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/new-operator
вот почему diamond operator до сих пор не завезли - это вопрос
3.14159265 06.01.2022 16:08 # 0
3.14159265 06.01.2022 16:15 # 0
Лютая годнота. Как я и предвидел, усилился процесс всеобщей ява-скриптизации современных типизированных языков.
Сперва varы, потом автовывод, теперь облегчённые инициализаторы.
Всё закончится тем что компилируемые строготипизированные языки получат компактность божественной скриптухи вроде ECMAScipt-5.
CHayT 06.01.2022 18:11 # +2
Возможно вы имели в виду: хаскеллизации. Т.к. ЙАЖА-свитки — динамический язычок.
3.14159265 06.01.2022 19:53 # 0
Но с императивностью и мутабельностью.
Хотя я бы и var тоже сделал опциональным и по умолчанию всё бы сделал константным, идеально вообще так:
константа = выражение
var перменная = выражение
HoBorogHuu_nemyx 06.01.2022 19:56 # 0
bormand 06.01.2022 20:04 # 0
CHayT 06.01.2022 20:32 # +1
цитата_Лироя_про_треды.txt
guest6 06.01.2022 21:14 # +1
ну-ну
Fike 06.01.2022 19:40 # 0
3.14159265 06.01.2022 19:50 # 0
bormand 06.01.2022 19:53 # 0
А вот вывод типов слева-направо уже сложнее читать без IDE т.к. может получиться говно в духе this.x = new (42, 100500). Хотя если не абузить, то вполне норм.
3.14159265 06.01.2022 19:55 # 0
Ну нормально.
Вообще это удобно для всяких аргументов, названных йажистами:
bormand 06.01.2022 19:58 # +1
Лучше бы именованные аргументы завезли, а не это костылище.
3.14159265 06.01.2022 20:04 # 0
>List<int> ys = new(capacity: 10_000);
>List<int> zs = new() { Capacity = 20_000 };
Почему-то разный регистр у Capacity. Я понимаю что в одном случае поле, а в другом аргумент конь-структора. Но инкапсуляция тут хромает.
> именованные аргументы завезли
А разве это не они?
>new(capacity: 10_000);
bormand 06.01.2022 20:07 # 0
3.14159265 06.01.2022 20:12 # 0
Вообще никогда не забуду книжку Бьярне, где он аргументированно объяснял почему не завёз в Кресты именнованные аргументы.
Поскольку эта фича поощряет хуёвый стиль программирования. А в методах где 1-2 аргумента она только мешает.
И как раз поэтому жду когда их таки завезут в С++.
bormand 06.01.2022 20:14 # +1
Да, у виндовых функций было бы по 40 аргументов вместо четырёх структур по десять...
3.14159265 06.01.2022 20:24 # 0
Но лучше всего зделали в Сишке.
bormand 06.01.2022 20:25 # 0
Floating_cockerel 06.01.2022 20:29 # 0
guest6 06.01.2022 20:25 # 0
?
bormand 06.01.2022 20:27 # 0
guest6 06.01.2022 20:42 # 0
bormand 06.01.2022 20:50 # 0
guest6 06.01.2022 20:46 # +1
кстати, new в C# и JAVA говно и не нужно. Реально лишнее слово и семантический мусор
Fike 06.01.2022 20:48 # 0
guest6 06.01.2022 20:49 # 0
Floating_cockerel 06.01.2022 20:11 # +1
3.14159265 06.01.2022 20:13 # +1
Ищем рифму к слову "сараситу". тараситу джираситу клораситу чампраситу бааситу кабаситу иаситу акаситу атакаситу йамаситу мимаситу уаситу накхаситу эаситу мангситу рангситу...
ObeseYoung 06.01.2022 21:46 # +1
Фу.
https://www.ar15.com/forums/General/DuckDuckGo-gone-WOKE/5-2491000/
3.14159265 06.01.2022 21:48 # 0
Там стена текста, а я жутко хочу спать.
Edit: А, въехал. Мультикультуралочка во все поля. ещё и резюме с ашипками. Охуенно!
Soul_re@ver 06.01.2022 22:00 # 0
Error 1020 Ray ID: 6c972f8f7b027b83 • 2022-01-06 18:59:50 UTC
Access denied
What happened?
This website is using a security service to protect itself from online attacks.
HoBorogHuu_nemyx 06.01.2022 22:03 # 0
ObeseYoung 06.01.2022 22:14 # 0
HoBorogHuu_nemyx 06.01.2022 22:17 # 0
У них там хостинг на «Целероне» Тараса?
CHayT 06.01.2022 22:22 # +2
Человек с IQ выше легального возраста согласия такой платформой пользоваться не будет, ergo смотреть там нечего.
ObeseYoung 06.01.2022 22:22 # 0
Ну ты бы наверно чаще попадал, если бы не требовали денег за просмотр
3.14159265 06.01.2022 22:21 # +1
Вконец испоганили интернеты. А ведь было время, был контент, был стиль:
http://alina6665.narod.ru/poems.htm
ObeseYoung 06.01.2022 22:29 # 0
Soul_re@ver 06.01.2022 22:53 # 0
ObeseYoung 06.01.2022 22:11 # 0
PS: ох лол, они как минимум с 2018 спонсируют
https://www.youtube.com/watch?v=-wePMUqnBn0
Fike 06.01.2022 22:19 # +2
какие же они там ебнутые, а
я бы застрелился, если бы в какой-то момент обнаружил, что несу такую хуету
ObeseYoung 06.01.2022 22:24 # 0
Fike 06.01.2022 22:27 # 0
Fike 06.01.2022 20:14 # 0
Это два разных конструктора
> List<int> ys = new(capacity: 10_000);
Вызов конструктора с аргументом
> List<int> zs = new() { Capacity = 20_000 };
Вызов конструктора и выполнение блока инициализации после
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/how-to-initialize-objects-by-using-an-object-initializer
Fike 06.01.2022 20:17 # 0
но в var options = new Dictionary<string, object>() { {"петухов", "пятнадцать, пожалуйста"} }, где тип очевиден, он конечно незаменим
3.14159265 06.01.2022 20:18 # 0
Так var не нужен. С этой фичей получается компактнее.
bormand 06.01.2022 20:23 # 0
Floating_cockerel 06.01.2022 20:26 # 0
guest6 06.01.2022 20:27 # +1
Всё таки С++ лаконичнее современных языков
bormand 06.01.2022 20:28 # +1