Ads
Comments 9
Вот бы ещё Windows Mobile вернули к жизни. Помню те чудесные времена, когда можно было написать программу на C# и запускать её как на Windows XP так и на Windows Mobile 5..6.5. Хорошая было ОС, да конечно не без недостатков, но всё же.
Можно и так, но это уже не то. Это как запускать игры для ZX Spectrum на кассете, сейчас можно и из файла для эмулятора, но это уже не то.
Nullable references — это довольно тупая попытка контролировать «индусячий код». Потому что в нормальной программе далеко не всегда объявленная ссылка сразу получает значение. Значит какое-то время она будет нулевая, хотя далее по алгоритму она должна быть чем-то инициализирована. Получаем двойственное свойство одной и той же переменной, которое никак не разруливается единой установкой окружения.
С функциями и того хуже! Пишет очередной студент очередную сортировку. И чтоб не заморачиваться, тупо обязывает в Sort(array), чтобы array был всегда не пустой. С одной стороны, как бы очевидно: нельзя же отсортировать массив, которого нет! С другой стороны, а кто сказал, что всегда нужны элементы? Если массива нет, можно просто ничего не делать и вернуть всё тот же null! Ничего не было — ничего и не сортировали. Но студенту на всё это наплевать, потому что «ему так проще» — запретил null, а вы как хотите — так и живите!
В результате, вместо казалось бы строгого «не нулевого» кода, мы получим тонны спагетти из проверок на «не нуль».

Любая крайность суть ущербна. Диктатура вроде «все обязаны форматировать код как я» (Питон) или «вы обязаны прыгать вокруг каждой вашей ссылки» (c# nullable ref) приводит к раздражению языком. ИМЕННО ПОЭТОМУ такая, казалось бы, «хорошая фича» осторожно внедрена как «opt in», а не сброшена на голову как снег в июле. Потому что она ущербна по сути и не решает проблемы «нулевых ссылок», а коверкает код программы под очередную идеологию.

Хотите хороший, качественный код — нанимайте профессионалов. А коверкать язык, чтоб на нём могла писать любая мартышка — извините, непрофессионально. Дайте мартышкам «язык черепашки» и пусть развлекаются, а C# оставьте в покое!
иногда мартышка превращается в профессионала, который может поспособствовать развитию языки и его популяризации.
оставлять ЯП чтоб с ним работали только профессионалы тоже неправильно, с++ тому пример
Речь не про «иногда» и не про «популяризацию», а глобально о языке: C# уже достаточно развит и удобен для профи. Заниматься «защитой от мартышек» в таком языке очень рискованно — есть околостопроцентная вероятность, что язык попросту изуродуют и превратят в Бейсик-2. К слову, именно для мартышек БЕЙСИК подходит как нельзя лучше — потренировался десяток лет на кошках — добро пожаловать во взрослый мир C#!

C++, строго говоря, вообще не язык. Он НЕ ПРОЕКТИРОВАЛСЯ как «ООП язык», а был лишь «концептом» «как к обычному Си прикрутить классы». Собственно, он поначалу даже так и назывался: «Си с классами»! Поэтому даже профи не являются прямой аудиторией С++ — здесь скорее должен работать узкий круг академических специалистов по языкам. Поэтому С++ не место в индустрии и нет даже смысла спорить, насколько он не подходит под промышленную разработку.
Поэтому С++ не место в индустрии и нет даже смысла спорить, насколько он не подходит под промышленную разработку.
Значит надо, используя накопленный опыт, сделать новый язык, лучше старого. И как бы его назвать?..
  1. 'C'++ == 'D', упс
  2. C+++ => C#, упс
  3. C++ 2.0 -> 2020, упс

Да что же это такое!
Only those users with full accounts are able to leave comments. Log in, please.