Форум программистов, компьютерный форум, киберфорум
Теория программирования
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.92/75: Рейтинг темы: голосов - 75, средняя оценка - 4.92
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
430 / 179 / 41
Регистрация: 13.07.2017
Сообщений: 4,563
Записей в блоге: 14

Почему мы все еще программируем на древних языках?

05.06.2021, 12:39. Показов 15265. Ответов 166
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
На каком-то другом форуме я читал, что Microsoft не обновляет свою ОС. Пишут, что новая ОС - это Windows 11, Windows 12 и т. д., а Windows 10 устарела, и все эти "крупные" обновления - это болтовня. А ей еще и десяти лет нет! И в то же самое время в языках программирования картина кардинально другая: активно программируют на Жабе, которой 30 лет, на плюсах, которым 40 лет, на Си, которому 50 лет! И не выйдет же какой-нибудь C++II с кортежно-ориентированным программированием, с интегрированными управляемыми ссылками (а не со сплошными припонами, как C++/CLI), с конструкциями вида x is string s + "o" + s! Это я фантазирую, но с чем-то действительно НОВЫМ, что влияло бы на программирование СУЩЕСТВЕННО, а не как эти бесконечные C++11/14/17/20/... . Но нет, так и остается высокоуровневым ассемблером. Самый новый на сегодняшний день язык - это Шарп, которому чуть больше 20 лет (говно в стиле Dart и Go не в счет). Ну, а когда-то каждые 10 лет выходили не то что передовые языки, а новые парадигмы! И это не "трава была зеленее", а известный факт. Могу даже предоставить названия этих парадигм. Ну неужели всем настолько тупо лень сделать мир хоть на 0.000001% лучше, улучшить хоть одну его область, сделать хоть что-то НОВОЕ, а не по кругу Шарп-Жаба-Пайсен-плюсы-ПрочееГовно? Неужели я один во всем мире стремлюсь к прекрасному и сею разумное, доброе, (ну, слово "вечное" тут неприменимо)? Или, может, у меня извращенные представления об этом "прекрасном"? И у меня нет приступа острого NIH, я с радостью буду пользоваться НОВЫМ языком, если его разработает кто-то другой. Даже если он будет слегка отличаться от придуманного мной C# .NStar, например, слово Function будет писаться с маленькой буквы или вместо [TKey, TValue] будет <TKey, TValue>. Но нет, всем плевать. Вот я и спрашиваю - это всемирный заговор против программистов или это я один хочу не знать чего? А мне кажется, что ничего сверхъестественного я не прошу. Прошу ответить.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.06.2021, 12:39
Ответы с готовыми решениями:

Если с CMS все так просто, то почему сайты все еще делают в блокнотах?
Я вот примерно месяц уже занимаюсь изучением html, css и php, и узнал что еще можно создавать сайты с помощью wordpress и joomla, так вот,...

Почему в 2017 году всё ещё нет компилятора C# в нативный код?
Этому есть какие-нибудь объективные причины? В нём есть то, что машинными кодами реализовать невозможно? Или С# по спецификации обязан...

Почему в языках C# и Java методы статические, а в других - нет
Почему в языках C# и Java методы статические (например, в C# - Console.WriteLine()), а в других - не статические (например, в C++ -...

166
90 / 109 / 15
Регистрация: 26.01.2014
Сообщений: 710
05.06.2021, 12:57
Мне сдается, что в той парадигме программирования, для последовательных мащин фон Неймана и линейном алгоритме языки программирования, даже самые старые, вполне удобоваримы. Какая-то подвижка произошла с Объектно Ориентированным Программированием. Последовательное железо, двоичная логика, однозначность решения. Даже самые свежие языки привязаны к этому.
Где может быть прорыв? Возможно сети. Не обучать на примерах, а попробовать объяснить чего хочешь на каком-то языке программирования сети. Он должен сильно отличаться от нынешних. Возможно идеология квантовых компьютеров. Тут пока все скользко и в тумане.
Интересно как Вы видите прогресс импульсной (вычислительной) техники в Мире в будущем. Станет тогда понятным направления развития софта.
Всегда Ваш - Etien.
0
Эксперт .NET
 Аватар для Usaga
14092 / 9309 / 1349
Регистрация: 21.01.2016
Сообщений: 34,963
06.06.2021, 04:28
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
И не выйдет же какой-нибудь C++II
На самом деле вышел и уже давно. В лице D, Rust, Go.

Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
я с радостью буду пользоваться НОВЫМ языком
И тут мы снова возвращаемся к вопросу, который не раз вам задавали. А чем вас существующие языки не устраивают? Те же C++ и C#? На данный момент все ваши претензии происходят не из кривости языков, а из вашего неумения программировать. Как следствие, смена языка это неумение не исправит, а значит даже, если вам в руки дать C++V или C# 100.0, то вы попрежнему будете писать кривое говно и жаловаться на язык.

Старые языки столь популярны потому, что на них до сих пор можно продуктивно и качественно писать. Единственное требование - наличие головы на плечах и рук не из задницы.
0
282 / 485 / 12
Регистрация: 21.06.2019
Сообщений: 3,018
06.06.2021, 08:46
Во-первых, все массовое айти давно захвачено говнокодерами разных мастей. Потому и происходит то, что происходит - бесконечно изобретаются и переизобретаются фреймворки над фреймворками, каждый следующий - чтобы исправлять косяки предыдущего, при этом функционально не привнося абсолютно ничего нового. Только накручивая абстракции для создания мнимой сложности - чтобы можно было заказчикам рассказывать, что проект нужно в очередной раз переписать не потому что мы наговнокодили и не можем разгрести, а потому что "идем в ногу с айти". Естественно, по здравому размышлению становится очевидно, что все это - ни что иное, как топтание на месте. Один из ярчайших примеров лишних и вредных абстракций - столь любимые всеми говнокодерами ОРМы.

А во-вторых - сама по себе концепция "текстовых" языков программирования безнадежно устарела, так что тут в принципе ничего нового изобрести невозможно. Будущее - за интеллектуальными диалоговыми системами разработки ПО в массовом сегменте и за математическими системами в сегменте научных вычислений.
А ЯПы в массовом айти вымрут как вид, тут нет никаких сомнений.
0
Модератор
Эксперт функциональных языков программирования
3132 / 2279 / 469
Регистрация: 26.03.2015
Сообщений: 8,870
06.06.2021, 12:51
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
но с чем-то действительно НОВЫМ, что влияло бы на программирование СУЩЕСТВЕННО, а не как эти бесконечные C++11/14/17/20/..
Вообще-то, эти 11/14/17/20 существенно влияют на программирование.

Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
от придуманного мной C# .NStar,
А что "действительно новое" в Вашем языке программирования? (только, пожалуйста, ответьте без примеров кода)
0
Модератор
Эксперт функциональных языков программирования
3132 / 2279 / 469
Регистрация: 26.03.2015
Сообщений: 8,870
06.06.2021, 13:03
Цитата Сообщение от Катафалк Посмотреть сообщение
при этом функционально не привнося абсолютно ничего нового
Чтобы увидеть новое, нужно понимать, как работало старое и как работает новое.

Цитата Сообщение от Катафалк Посмотреть сообщение
Будущее - за интеллектуальными диалоговыми системами разработки ПО
Где можно приобрести такую систему? Или они пока проходят по разряду "фантазии"?
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
430 / 179 / 41
Регистрация: 13.07.2017
Сообщений: 4,563
Записей в блоге: 14
06.06.2021, 13:13  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
На самом деле вышел и уже давно. В лице D, Rust, Go.
Неужели вы всерьез думаете, что это говно стоит упоминания?
Цитата Сообщение от Usaga Посмотреть сообщение
А чем вас существующие языки не устраивают?
Я много раз писал, что хотел бы видеть в C# .NStar.
Цитата Сообщение от Usaga Посмотреть сообщение
На данный момент все ваши претензии происходят не из кривости языков, а из вашего неумения программировать.
Серьезно? Ну назовите хоть кратко термин, который я должен изучить, чтобы почувствовать, что C++ и C# - супер-языки, а C# .NStar - квадратное колесо.
Цитата Сообщение от Usaga Посмотреть сообщение
а значит даже, если вам в руки дать C++V или C# 100.0, то вы попрежнему будете писать кривое говно и жаловаться на язык.
Да, потому что текущее направление развития этих языков - тупиковое. Если мне в руки дать язык, похожий как минимум на 99% на C# .NStar, этого не будет.
Цитата Сообщение от Usaga Посмотреть сообщение
Старые языки столь популярны потому, что на них до сих пор можно продуктивно и качественно писать.
Ага, и на Windows XP тоже можно продуктивно и качественно работать. И некоторые это делают. Но почему-то большинство пользуется современными ОС. А плюсы и Жаба еще старше, чем Windows XP.
Цитата Сообщение от Катафалк Посмотреть сообщение
при этом функционально не привнося абсолютно ничего нового
Ну, например, McEliece - это было бы функционально новое.
Цитата Сообщение от Катафалк Посмотреть сообщение
А во-вторых - сама по себе концепция "текстовых" языков программирования безнадежно устарела, так что тут в принципе ничего нового изобрести невозможно. Будущее - за интеллектуальными диалоговыми системами разработки ПО в массовом сегменте и за математическими системами в сегменте научных вычислений.
Еще один верящий в светлое будущее искусственного интеллекта!
Ну ладно, я в очередной раз повторю, как я себе представляю НОВЫЙ язык. Хотя уже много раз писал это в темах про C# .NStar. Вот:
1. Рекурсия типов:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
typename Function F() {
    if (TextBox.Text == "A") {
        return int;
    }
    else if (TextBox.Text == "B") {
        return real;
    }
    else if (TextBox.Text == "C") {
        return string;
    }
    else {
        return null;
    }
}
typename T = F();
T var;
if (T != null) {
    list() T list;
}
T Function G(T p1) {}
2. Любой тип, в том числе число, строка, логический или рекурсивный тип, может иметь значение null. Также есть тип null, для которого null является единственным значением (вместо используемого в C++ и C# void).
3. Следующие числовые типы: short int (2 байта со знаком), int (4 байта со знаком), long int (8 байт со знаком), byte (1 байт без знака), unsigned short int (2 байта без знака), unsigned int (4 байта без знака), unsigned long int (8 байт без знака), real (8 байт с плавающей точкой), long real (10 байт с плавающей точкой) (причем этот тип должен вмещать число Грэма!), complex (комплексное, по 8 байт для действительной и мнимой части), long complex (комплексное, по 10 байт для действительной и мнимой части), short char (символ ANSI, 1 байт), char (символ Юникода, 2 байта), long char (символ UTF32, 4 байта). Тип, содержащий 4 байта с плавающей точкой, упразднен.
4. Возможность объявить переменную прямо в выражении:
Code
1
complex c = real r = int a = int b = 0;
5. Вместо массивов используются списки и кортежи:
Code
1
2
3
4
list() int list = (2, 4, 6, 8, 10);
list(list[1]) real list2 = ((3.14159, 2.71828), (0.101001, 365.2425), (1E+100, null));
(typename, string[3], complex) tuple = (unsigned long int, "AAA", "BBB", "CCC", 2 * I + 3);
string[3] tuple2 = (tuple[3], tuple[4], "DDD");
Причем string[3] - это не массив, а кортеж или часть кортежа!
6. Большинство типов (включая списки, кортежи и классы) являются типами значений, но присутствуют ссылки (как ref в C#) и управляемые ссылки (как ссылочные типы в C#). При этом управляемые ссылки должны сочетаться с другими категориями с легкостью, а не как в C++/CLI.
7. Следующие циклы:
Code
1
2
3
4
5
6
7
loop {}
repeat (n) {}
while (n <= 10) {}
for (var value in list) {}
loop {} while (n <= 10);
for (var value in list while value <= 10) {}
repeat (n while list.Length != 0) {}
8. В объявлении функции в явном виде присутствует слово Function.
9. Циклические побитовые сдвиги.
10. Тернарные операторы в стиле "если a равно / не равно / больше / меньше / ... b, вернуть a, иначе c".
11. Можно написать () T или (n) T, что равносильно list() T или list(n) T.
12. Escape-последовательность "\!" для обратного слэша и "\q" для кавычки.
13. Оператор is, проверяющий преобразование не только всей переменной к какому-либо типу, но и части этой переменной. Пример: s is "Function " + string name, number is 1 << int exp (проверяет, является ли number степенью 2), myString is string x + "o" + x.
14. Оператор / выражение switch с лямбда-выражением в заголовке:
Code
1
2
3
4
5
6
7
8
return x => task is x + string s switch
{
    "Class " => Action1(s);
    "Interface " => Action2(s);
    "Function " => Action3(s);
    "Extent " => Action4(s);
    ...
};
15. Оператор ![], позволяющий сменить внутренний тип коллекции без смены внешнего типа:
Code
1
2
3
4
() int oldList;
() real newList = oldList.TransformEach(x => 1r / x);
LinkedList[int] oldList2;
LinkedList[real] newList2 = oldList2.TransformEach(x => 1r / x);
Code
1
2
3
4
5
6
7
8
9
10
11
//Реализация TransformEach
Dictionary[(typename TSource, typename TCollection : IEnumerable[TSource], typename TDest), TCollection![TDest] Extent(TCollection source, Func[TDest, TSource] Transformator)] =
{
    TCollection![TDest] output = new TDest[source.Count()];
    int i = 0;
    for (TSource elem in source)
    {
        output[i++] = Transformator(elem);
    }
    return output;
}
16. Отказ от оператора goto с одновременным добавлением возможности выйти из вложенных циклов (как в Жабе).
17. Возможность наследовать перечисления не только от byte, short int, unsigned short int, int, unsigned int, long int и unsined long int, а от любого незапечатанного и неабстрактного типа, реализующего интерфейс IIntegerNumber (можно самому определять такие типы).
18. Возможность на уровне стандартной библиотеки (а не такой, которую нужно скачивать бог знает где) производить генерацию ключей, шифрование и расшифровку методом McEliece, причем с умножением не за https://www.cyberforum.ru/cgi-bin/latex.cgi?O\left(n^2\right), а как максимум за https://www.cyberforum.ru/cgi-bin/latex.cgi?O\left(n^{\log_2 3}\right) и с быстрым возведением в степень (это название алгоритма).
19. Индексы в списках, кортежах и других коллекциях должны начинаться с 1, а не с 0.
20. Возможность расширять язык настолько, насколько позволяет архитектура компьютера, или создавать любые новые языки, описывая это в виде LALR(1)-грамматики. Опять же, это должно быть функцией стандартной библиотеки.
21. А также все преимущества C#, такие как индексы с конца, диапазоны, определение членов в интерфейсе (и их не нужно переопределять во всех реализующих его классах), new() и прочие.
Назовите мне язык, в котором присутствуют как минимум 97% из этих возможностей (а это невероятно мало - под это определение будет попадать язык, где отсутствует целый не самый большой пункт из перечисленных, или серьезно исковерканы 3-5 пунктов) (строго обязателен только пункт 20) - и я прекращу засорять форум жалобами на язык. Это серьезно!
0
Эксперт .NET
 Аватар для Usaga
14092 / 9309 / 1349
Регистрация: 21.01.2016
Сообщений: 34,963
06.06.2021, 13:19
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Неужели вы всерьез думаете, что это говно стоит упоминания?
Rust и Go сильно отличаются от того, что вы называете "говном".

Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Я много раз писал, что хотел бы видеть в C# .NStar.
А я много раз писал о том, что всё это не нужно в языке и делается совершенно иначе.

Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Серьезно? Ну назовите хоть кратко термин, который я должен изучить, чтобы почувствовать, что C++ и C# - супер-языки, а C# .NStar - квадратное колесо.
Серьёзно. Посмотрите на весь ваш предыдущий кал. За что вы не брались, всё получалось через анус. При этом, у других, на этих же языках, получались проекты сильно сложнее. Выводы какие?

Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Ага, и на Windows XP тоже можно продуктивно и качественно работать. И некоторые это делают. Но почему-то большинство пользуется современными ОС. А плюсы и Жаба еще старше, чем Windows XP.
Вы это скажите после того, как попишете на C# 1.1 или C++x03, которые времён Windows XP. А потом мы посмотрим.
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
430 / 179 / 41
Регистрация: 13.07.2017
Сообщений: 4,563
Записей в блоге: 14
06.06.2021, 13:26  [ТС]
Usaga, правда, что таких языков, которые я описал как действительно новые, не существует?
0
282 / 485 / 12
Регистрация: 21.06.2019
Сообщений: 3,018
06.06.2021, 13:29
Цитата Сообщение от Shamil1 Посмотреть сообщение
Чтобы увидеть новое, нужно понимать, как работало старое и как работает новое.
Не всякое новое достойно того, чтобы его понимали. Некоторое новое пригодно только чтобы его выкинуть на помойку. Вот многие современные технологии из этого разряда.
Цитата Сообщение от Shamil1 Посмотреть сообщение
Где можно приобрести такую систему? Или они пока проходят по разряду "фантазии"?
Они проходят по разряду неизбежного направления развития it отрасли. Но готовой полнофункциональной такой системы еще разумеется нет, потому что если бы была, этой темы бы очевидно не было, как и этого вопроса.
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
430 / 179 / 41
Регистрация: 13.07.2017
Сообщений: 4,563
Записей в блоге: 14
06.06.2021, 13:37  [ТС]
Добавлю:
Цитата Сообщение от Usaga Посмотреть сообщение
Вы это скажите после того, как попишете на C# 1.1 или C++x03, которые времён Windows XP. А потом мы посмотрим.
Я как раз пользуюсь современными ОС. И очень хотел бы пользоваться современными языками.
0
282 / 485 / 12
Регистрация: 21.06.2019
Сообщений: 3,018
06.06.2021, 13:37
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Ага, и на Windows XP тоже можно продуктивно и качественно работать. И некоторые это делают. Но почему-то большинство пользуется современными ОС. А плюсы и Жаба еще старше, чем Windows XP.
У вас аналогия хромает. Сейчас никто (почти) не пользуется windows xp, но и на C++03 тоже никто не пишет. А пользуются новыми версиями и того и другого. Также и с другими языками.
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Да, потому что текущее направление развития этих языков - тупиковое. Если мне в руки дать язык, похожий как минимум на 99% на C# .NStar, этого не будет.
А вы не задумывались, почему это у других получается и на существующих языках нормально делать, а у вам для этого какой-то C# .NStar подавай? По-моему, дело тут вовсе не в языках.
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
430 / 179 / 41
Регистрация: 13.07.2017
Сообщений: 4,563
Записей в блоге: 14
06.06.2021, 13:52  [ТС]
Цитата Сообщение от Катафалк Посмотреть сообщение
А вы не задумывались, почему это у других получается и на существующих языках нормально делать, а у вам для этого какой-то C# .NStar подавай? По-моему, дело тут вовсе не в языках.
У меня тоже получается соизмеримо моим знаниям. Но C# .NStar - это оптимальное для меня сочетание функций того, что можно назвать "качественным языком программирования".
0
282 / 485 / 12
Регистрация: 21.06.2019
Сообщений: 3,018
06.06.2021, 13:57
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Назовите мне язык, в котором присутствуют как минимум 97% из этих возможностей (а это невероятно мало - под это определение будет попадать язык, где отсутствует целый не самый большой пункт из перечисленных, или серьезно исковерканы 3-5 пунктов) (строго обязателен только пункт 20) - и я прекращу засорять форум жалобами на язык. Это серьезно!
100% ваших хотелок - исключительно или ваши личные загоны, которые нафиг никому кроме вас не сдались, или решаются сторонними библиотеками в любом языке. Потому такого языка естественно и нет.
Вообще, у любого программиста найдется список его личных хотелок, который он бы хотел видеть в идеальном языке - проблема в том, что у всех они разные. Ну а у вашего списка есть еще одна проблема - вы еще ни одним из существующих языков пользоваться не научились, потому ваш список малость бессмысленен.
0
698 / 572 / 75
Регистрация: 20.09.2014
Сообщений: 3,700
06.06.2021, 21:34
Etyuhibosecyu, ваши требования какие-то мелковатые. Например, требование заменить массивы на списки и кортежи - не совсем оптимальное. Например, у Пайтона есть и массивы, и списки, и кортежи, и еще словари, а еще множества, а плюсом еще различные итеративные коллекции типа счетчиков, всякие там ordered/unordered-варианты. И у каждого типа свои фишки: что-то удобнее, что-то быстрее...
0
Модератор
Эксперт функциональных языков программирования
3132 / 2279 / 469
Регистрация: 26.03.2015
Сообщений: 8,870
07.06.2021, 02:46
Etyuhibosecyu,
Часть Ваших требований неразумны.
Например, "уберите массивы, я ими не пользуюсь". Если не нравится, не используйте. В чем проблема?

Часть Ваших требований странны.
Например, "должно быть в стандартной библиотеке". Сторонние библиотеки по сути ничем не отличаются от стандартных. Некоторые сторонние библиотеки де факто стали стандартом. Более того, лучше узкоспециализированные библиотеки пишут те, кто на этом специализируется. У них получится лучше, чем у Майкрософт.

Часть Ваших требований по сути ничего не меняют.
Например, от того, что индекс будет начинаться с 1, а не с 0, принципиально ничего не изменится. И прочие изменения синтаксиса, не влияющие на суть.

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


Остальные Ваши требования вызваны Вашим незнанием:
1. Современных языков (что в них уже есть)
2. Устройства компьютера и компилятора
3. Принципов программирования (теории)
0
Модератор
Эксперт функциональных языков программирования
3132 / 2279 / 469
Регистрация: 26.03.2015
Сообщений: 8,870
07.06.2021, 03:25
Цитата Сообщение от Катафалк Посмотреть сообщение
Не всякое новое достойно того, чтобы его понимали.
Чтобы решить, достойно или недостойно, нужно понимать (достоинства и недостатки).

Цитата Сообщение от Катафалк Посмотреть сообщение
Они проходят по разряду неизбежного направления развития it отрасли.
Давайте сдадим все автомобили в металлолом. Ведь в будущем мы будем летать на флаерах. Ну а пока их не запустили в массовое производство, будем ходить пешком.
0
Эксперт .NET
 Аватар для Usaga
14092 / 9309 / 1349
Регистрация: 21.01.2016
Сообщений: 34,963
07.06.2021, 07:05
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
правда, что таких языков, которые я описал как действительно новые, не существует?
Я не читал ваше видение нового языка. Я на 100% уверен, что там какая-то малоадекватная фигня, как уже было ранее.

Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Я как раз пользуюсь современными ОС. И очень хотел бы пользоваться современными языками.
Ну так пользуйтесь. C# и С++ последних версий более чем современны. Это ваши познаниях в разработки настолько куцы, что вы этого не можете оценить.

Правильное решение тут не в поиске нового волшебного языка, а в совершенствовании собственных знаний. Толпам людей возможностей C#, C++ и всех остальных языков хватает за глаза для реализации проектов любой сложности. И только вы один нормально ими пользоваться не можете. Повторюсь: проблема не в инструментах, проблема в вас.
0
фрилансер
 Аватар для Алексей1153
6444 / 5637 / 1128
Регистрация: 11.10.2019
Сообщений: 14,993
07.06.2021, 08:19
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
на древних языках
я считаю, что это все, которые старше C++11 *trollface*

по списку желалок из поста №7
1 - не совсем понял, что и зачем. Подозреваю, что это велосипед про std::variant
2 - std::optional
3 - #include <cstdint>
4 - такого, к счастью, нету. Нечитабельно
5 - есть и кортежи std::tuple, и списки инициализации, и массивы. Вопрос не понял
6 - ссылку можно сделать на всё (кроме битовых полей и функций), вопрос не понял
7 - цикл for заменяет все остальные. Но при этом есть всё же есть хвостики в виде do-while и while, которым пользоваться необязательно. Зачем зоопарк циклов?
8 - ненужный мусор
9 - тут согласен, не хватает, но нужно очень редко, можно навелосипедить
10 - даже ?: порой ухудшает чтение, зачем ещё длиннее городить? Пользуйся if/if else/else
11 - а тип контейнера как компилятор угадает? Мне, к примеру list не нужен, мне вектор подавай
12 - сырые строки
13 - слишком много вариантов в стандартный оператор-швейцарский нож надо тащить. Можно обойтись функцией или лямбдой
14 - такого нет, но можно заменить std::unordered_map
15 - std::variant . При "смене типа", правда, нужно пробежаться по контейнеру с лямбдой. Но такой может понадобиться раз за проект, наверное
16 - лично от goto отказался лет 20 назад, когда перестал VB6 играться . Выйти из супервложенного цикла - обернуть самый верхний цикл в [&]{тут цикл цикл return цикл цикл;}();
17 - не очень понятно, зачем. Но, теоретически, тот же std::map<любой тип,индекс для него>
18 - не знаю, о чем речь, ничего не подскажу. А вики говорит, что этот метод используется редко из-за недостатков
19 - с нуля они должны начинаться. Это правильно
20 - шаблоны, классы, лямбды, алиасы типов, макросы
21 - не понял, про что речь. Наверное, речь про итераторы, который, скорее всего нет в шарпе (не знаю, честно )
0
282 / 485 / 12
Регистрация: 21.06.2019
Сообщений: 3,018
07.06.2021, 09:33
Цитата Сообщение от Shamil1 Посмотреть сообщение
Чтобы решить, достойно или недостойно, нужно понимать (достоинства и недостатки).
Для того, чтобы оценить достоинства и недостатки содержимого выгребной ямы, не обязательно в ней копаться.
Цитата Сообщение от Shamil1 Посмотреть сообщение
Давайте сдадим все автомобили в металлолом. Ведь в будущем мы будем летать на флаерах. Ну а пока их не запустили в массовое производство, будем ходить пешком.
А я и не призывал отказываться полностью. Максимум к чему я призываю - это адекватным людям в первую очередь обращать внимание на современные перспективные направления вроде высоконагруженных научных вычислений. Но 1% к этому совету прислушаются, а оставшиеся 99% пойдут по пути наименьшего сопротивления в вебокодинг. Так что ходить пешком нам не грозит.
Конечно, когда вебокодинг загнется по указанным мной (а может и каким-то другим) причинам, эти 99% осознаю, что надо было в другом направлении идти. Но это уже их проблемы
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.06.2021, 09:33
Помогаю со студенческими работами здесь

Почему некоторые программы на языке Python работают медленнее своих аналогов написанных на языках C/C++?
Python

Загрузка с SATA-HDD в древних BIOS
дано: древний комп с древним BIOS, в котором варианты загрузки только: HDD / CD-Rom / Floppy на этом древнем компе, разумеется, только...

Установка древних браузеров под вин8
возникла необходимость установки древних браузеров(конкретнее ie7-8) под сея ось, для тестирования сайтов* виртуалка не рассматривается...

Подключить 2 древних стереоусилителя к одному выходу с материнской платы
Есть Вега и Пионер 80-годов, две пары колонок в разных помещениях и старый компьютер со встроенным звуком (Asus P4P800 ). Хочу впаяться в...

Требуется человек с опытом написания на этих языках, знающий все от и до
доброго времени! ищу онлайн учителя по PHP и JavaScript.Требуется человек с опытом написания на этих языках,знающий все от и до....Мои...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru