The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Фреймворк для написания защищённых драйверов для ядра Linux ..."
Отправлено n80, 01-Сен-19 15:54 
> На этот вопрос есть ответ и он давно дан в написанном ПО.
> Выбор для написания системного ПО всегда стоял и стоит между непереносимыми
> ассемблерами или переносимыми языками. Си был условно низкоуровневым _переносимым_ языком.
> Выбор был очевиден для всех тогда и таковым остаётся доныне. Legacy
> тут совершенно ни при чём. Си даёт квалифицированному программисту возможности, которых
> не дают, например, Паскаль или Фортран при написании системного ПО. Удивительно,
> что приходится объяснять столь банальные и общеизвестные вещи на как бы айтишном форуме.

А тут кто-то спорил с тем, что он даёт возможности? Я лишь говорю про возможности, которых в C очень не хватает.

> Так от какой такой «не от хорошей жизни»? С конкретикой, пожалуйста.

Сам же выше и перечислил. Асм не переносим (не говоря уж про то что код получается либо читабельным, либо оптимизированным, либо крайне тяжёлым в поддержке, если не подходить по принципу "время студентов ничего не стоит, пусть и в машкоды руками транслируют"), фортран (при всех его плюсах, одни лишь модули вместо пары из заголовочных файлов и объектников/исходников мне греют душу невыразимо, что бы там фанаты разделения объявления и реализации не говорили) не подходит, ибо лишён многих нужных фич (ну не предполагалось его использовать для этого вообще), у паскаля были хуже компиляторы и тоже фич не хватает (а Модула-2 опоздала, да и не сказать, что сильно лучше Си), остальные языки или уже отмерли (и были такие, что не жалко), или ещё не появились (в смысле наличия библиотек и хорошего оптимизирующего компилятора, а не только ранних спецификаций).

> У Си, впрочем, есть очень серьёзный недостаток: Си требует развитых мозгов и
> поэтому совершенно не подходит обезьянам.

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

> Автор просто в курсе, что большинство жалобщиков не смогут объяснить даже себе
> различий между стандартами, ибо тех стандартов никогда не читали, но плачут
> о недостатке прогресса развития инноваций. Жалобщикам постоянно чего-то не хватает: то
> прямых рук, то мозгов, то денег. И постоянно что-то мешает: то
> ноги, то legacy, то «морально устаревшие» языки программирования, то другие люди.

Разницу между стандартами я знаю в достаточной мере, чтобы заниматься дополнительным ручным трудом только в случае, когда это действительно необходимо (т.е. когда под целевую платформу компилятора нормального нет и не будет), а не тупо везде по принципу «ну ничего страшного же». И как по мне, предлагать что-то старше С99 могут либо бедолашные (кто по каким-то причинам очень ограничен в выборе компилятора), либо откровенно лютые ретрограды, которые отрицают stdint.h (а мне потом за ними чистить код, написанный в предположениях вида sizeof(int) == 2 и тому подобных) и считают необходимым заводить переменные строго в начале функции, а не минимизировать их область видимости (хотя это и холиварный тезис, но чем меньше контекст, тем проще код анализировать мозгами, и это нужно, не потому что мозги маленькие, а потому что если где-то можно накосячить, то рано или поздно накосячено будет и нужно минимизировать такие возможности by-design, а заодно не добавлять лишних сложностей для поиска косяков) и заводить разные переменные для разных нужд (которые компилятор всё равно сольёт в одну область памяти, если так можно), а не делать эту работу за компилятор (добавляя нелепые ошибки при этом, конечно же). Уже ради этих двух вещей нужен C99 (ими дело не ограничивается, но я про достаточный критерий). А если нужны атомарные операции, потоки (системное программирование ядром не ограничивается), static_assert и прочие мелкие радости — уже C11 нужен. Только вот мой тезис в том, что останавливаться на этом не нужно. Понятно, что можно закат Солнца вручную организовывать, только вот зачем, разве что ради сомнительного самоутверждения (путь школоты, которая не по возрасту, а по строению души) и job security.

> А мне показалось, что ты как раз чуть ли не за деньги
> тут рекламируешь обезьянохруст, противопоставляя его сишечке. Почему не С++, почему не
> Objective-C, почему не D наконец? А, анон? Чем тебе так приглянулся
> недоязык с уродливым дегенеративным синтаксисом, созданный в берлоге браузерных макак
> и продвигаемый, как ни странно, обос**вшимся по уши производителем процессоров?

Что-что? Где это я такой тезис толкал? Наоборот, про синтаксис (и вообще читабельность) один из моих первых постов в этой теме был. Как и в случае не к ночи помянутого systemd, я вижу определённый смысл в том направлении (в самом направлении, подчёркиваю), в котором они работают, но конкретная реализация меня очень не устраивает. Но работать-то нужно. Рано Сишечке останавливаться на достигнутом.

>> косящему под олда
> Вот так одной фразой и палится школота.

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

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

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру