С Наступающим!
Вышел финальный стандарт языка Си. На нём я думаю подучиться, но у меня есть учебники по предыдущим стандартам, поэтому я в растерянности по поводу того, за что же браться в первую очередь и по какой системе учиться? Спрашиваю на этом сайте, поскольку мне показалось, что у вас богатый опыт, полный мудрости. Подскажите, пожалуйста, на какие части лучше разбить процесс самообучения и как добиться знания Си на экспертном уровне без погружения в ассемблер - интересен опыт каждого!
-- 31.12.2024, 21:52 --На данный момент я работаю с C# и буду продолжать, а хобби - Си. Я писал здесь ранее, но утратил доступ к аккаунту.
Мои накопившиеся замечания к языку Си я выразил в своей статье в журнале Самиздат:
Цитата:
1. Его невозможно полностью изучить;
2. Он не работает напрямую так, как написано в коде;
3. Многие его средства неудобны, громоздки, не нужны в большинстве случаев;
4. Некоторые его средства лучше вообще никогда не использовать, потому что они либо устарели, либо ведут к ошибкам;
5. У него нет подробного детального описания того, как всё устроено и работает;
6. В нём постоянно внедряется новый синтаксический сахар, который по сути бесполезен, но маркетинг призывает всех переписывать каждый раз старый сахар на новый;
7. Он не оптимален ни по памяти, ни по быстродействию;
8. Программы на нём тяжело отлаживать и тестировать, потому что используют в массе своей ООП;
9. Чтобы программировать на нём, нужно постоянно покупать новые книги и читать их;
10. Его фреймворки регулярно выкидывают на помойку, что опять ведёт к переписыванию всего и вся;
11. Большинство программистов на нём и слышать не желают про оптимизацию программ и культуру безопасного кодирования, как и про алгоритмы - обычно знания заканчиваются там, где заканчиваются руководства;
12. Его сложность и обилие классов заставляют задумываться над выбором средств реализации чаще, чем сосредотачиваться на алгоритме решения;
13. Для него мало бесплатных дополнений, большинство качественных сопутствующих средств - платны;
14. При постоянно растущей энтропии синтаксиса языка качественный код превращается в кашу;
15. Программисты, привыкшие к упрощениям, начинают бояться сложностей;
16. Обилие обёрток сводит на нет программирование на бумаге.
17. Абстрагированный от железа язык можно развивать до бесконечности.
18. И ещё эта Visual Studio - один сплошной баг с регулярным обновлением.
А ситуация с Си радует - вышли новые iso, misra, POSIX.