Как стать автором
Обновить
17
0
Simon Zolin @simonzolin

Developer

Отправить сообщение

> В качестве учебника-сравнения того, как разные штуки работают в разных ОС -- отличная вещь.

спасибо!

Насчёт Раст - до тех пор пока крупные хай-пеформанс проекты (nginx, postgre, etc.) не будут переписаны на нём, не приходится говорить о какой-либо замене старого доброго Си в обозримом будущем. Поддерживать старые сишные кросс-платформенные проекты всё равно придётся ещё долго, и материал данной статьи рассчитан именно на это.

Вы в целом правы, возможно я не совсем точно сумел придумать название. Мне жаль, что оно ввело вас в заблуждение. Однако по первому абзацу ведь сразу ясно о чём именно этот материал.

Если бы в стандартной библиотеке Си было всё что нужно и кросс-платформенно, то не было бы тех же libev, libuv и прочих кросс-платфомернных сишных библиотек. Насчёт fopen() - в этих функциях нет всего необходимого функцонала, например асинхронного I/O.

Вы наверное неправильно поняли цель данной статьи. Я ведь не призываю людей не пользоваться сторонними либами, в т.ч. boost или Qt - я лишь объясняю основу, на чём строится *любая* кросс-платформенная библиотека. А эти знания уже помогут более эффективно пользоваться тем же boost или Qt.

> Но что вот так делать в общем случаи не надо, хорошо бы написать красными буквами.

Опять же, не согласен с вами. Как делать, а как нет - это всё таки пусть решает каждый человек самостоятельно.

У функций fopen() и компании есть недостатки, например, с помощью fread() нельзя читать из файла асинхронно (без отдельного потока).

Трэды - довольно таки сложная вещь для начального уровня, поэтому здесь я про них не рассказываю.

Да, обучаться чему-то самому - всегда тяжелее, чем просто взять что-то уже приготовленное другими. Я не согласен с выводами типа "зачем учиться готовить борщ или плов, когда можно просто заказать еду в ближайшем кафе". Для того чтобы качественно программировать под ОС, необходимо хотя бы в общих чертах понимать как юзерский код взаимодействует с ядром. И чем глубже это понимание, тем лучше. Цель данного учебного материала - помочь читателю лучше в этом разобраться, узнать и научиться чему-то новому и интересному.

Имея эти фундаментальные знания, понимая суть, программист затем сам сможет выбрать любую понравившуюся ему библиотеку. И эти знания как раз помогут ему сделать наиболее правильный выбор.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность