ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
29 марта
883722 Топик полностью
Связанные сообщения
Csharp
Вчера выучил указатели -- ReadonlySpan называется. Вот так. Вначале заявляют "у нас нет указателей", a потом сами делают указате...2018-11-20
fk0, легенда (19.11.2018 13:33, просмотров: 219) ответил lloyd на >Шаблонов нет
Рантайм рефлексия не способна *сгенерировать* код, да ещё разный в зависимости от входных данных. Тупой сишный макрос -- способен. Он, по недавним сведениям, вообще (почти) тьюринг-полный. Почему нужны хидеры, в основном для самого программиста. Если ему нужна краткая справка, что в функцию передавать, из чего состоит класс, и т.п., то он берёт и смотрит в хидер. В любом, самом тупейшем и простейшем редакторе. А как без хидеров? Нужен специальный редактор, который специально предназначен для C#. И как правило как редактор это полное дермище, это комбайн для обучения бабуинов. Под средствами метапрограммирования в C и C++ я подразумеваю C-препроцессор и C++-шаблоны. Другого там нет. В языках подвышенного уровня, Tcl, Perl, Python, есть всегда функция eval(), поэтому скрипт может запросто сгенерировать другой тип. А в C# ничего нет получается. Язык специально упрощён, чтоб сложные концепции не сломали мозг бабуина. Monodevelop? Небось такой же комбайн в котором нужно работать с "проектом", а не редактировать один файлик. А мне хотелось лишь по одной кнопочке уметь подглядеть хидер (в split screen, как vim умеет), а по другой подсмотреть ман на функцию. Больше ничего не нужно, достаточно тупого грепа и ctags для проектов любой возможной сложности (где любая IDE 10 раз сдохнет). Но у микрософта нет ни хидеров (а чего ж она по Shift-F11, вроде, показывает в vs-code, их самых! я понимаю, что через ildasm вроде как самому так нагенерить можно). И нет ман страниц. Низкое качество документации? Вот пример: https://docs.micro …ryadd?view=netcore-2.1 -- это ПОЛНОЕ ГОВНИЩЕ. Явно нагенерено чем-то наподобии doxygen. И это ТИПОВАЯ ФУНКЦИЯ ТИПОВОГО, НАИБОЛЕЕ ВОСТРЕБОВАННОГО КОНТЕЙНЕРА. Это всё, это пиздец, осталось только выкрасить и выбросить. В юникс-ман страницах (которые сильно далеки от идеала, поэтому часто хочется подглядеть в single unix specification) такого нет и никогда не было. Стандартные библиотеки C и C++ по сравнению с этим документированы идеально. Что толку от такой безопасности? Это как борьба с goto, или с динамической памятью (в MISRA). Создание видимости, buzzword. По факту от указателей при разработке ПО никуда не деться. Ну будет индекс в массиве вместо указателя. Что это, запретит ошибки что ли? Как бы новых не добавило. Куда бы не двигался C++, всегда есть база в виде C++11, которой хватит как бы не до конца жизни. А C# через 5 лет может постигнуть судьба VB. Кто за него заплатит зарплату? PHP видел первый и последний раз чуть ли не в 2001 году, когда он только появился. Посмотрел на этот "перл недоделанный", поплевался и больше не смотрел. Я думаю там не хуже, или не лучше, чем в perl. Но в последнем "хаков" от микрософта на уровне синтаксиса или грамматики нет, там в общем всё понятно и логично, если разобраться.
[ZX]