Как я не стал учить JavaScript и выучил Си1
Сижу, короче, анон, решил C выучить, потому что это для элиты, для тех, кто шарит, а не для ваших соевых кодеров с их пыхами и джавой для мамкиных стартаперов. Скачал Кернигана с Ритчи, сижу, вникаю, pointers эти тупые, malloc-free, сегфолты через каждый чих, но думаю — я не лох какой-то, разрабы ядра линукса на этом пашут, и я осилю. Hello world еле запилил, сижу, горжусь собой, думаю, ща ядро своё накатаю, Линусу скину, он такой "о, анон, да ты бог, забирай мой стул".
А тут прилетает этот клоун, братан мой, и начинает гнать: "Ты чё, дебил, с этой древней хренью возишься? 2025 на дворе, на Си только бородатые динозавры пишут, которые до сих пор ассемблер в зубах таскают". И пихает мне JS, типа "вот, за вечер разберёшься, будешь сайтики клепать, бабло грести, а не в своих указателях ковыряться". Я ему: "Ты серьёзно? Это ж для фронтенд-вырожденцев, я мужик серьёзный, мне ближе к железу". А он мне Node.js, React какой-то суёт, говорит: "Попробуй, тормоз, сам втянешься".
Думаю, ладно, проверю, чё этот лузер мне впаривает. Открываю JS, пишу console.log("привет, двач"), запускаю — и оно, прикинь, работает сразу, без этого идиотского "undefined behavior" и прочей чуши. Потом цикл-другой наклепал, стрелочные функции подтянул, async/await, и тут до меня доходит — а это, мать его, удобно. Через неделю уже пилю говносайт для шашлычной на районе, за три косаря деревянных, и думаю: "А на кой мне вообще сдался этот Си с его дебильными заморочками?".
Теперь сижу на дваче, листаю треды, а там эти задроты всё ещё грызутся, какой язык для труЪ пацанов, а какой для соевых куколдов. А я с пивком в руке, на JS штампую код, бабки капают, и плевать, что где-то в глубине души я всё ещё хочу освоить pointer-to-pointer и почувствовать себя настоящим. Но это уже не моя война, анон. Не будь как я, учи сразу JS, а то будешь сидеть с K&R на полке, как трофейный экспонат, и ныть, что жизнь не удалась.
Язык Си я учил по брошюрам еще в 1997-98 годах, я тогда был в выпускном классе. Мой слабенький компьютер турбо-си++ вместе с ide не тянул, интернета у меня тогда не было, книг по более или менее современной разработке на си у меня не было. Так что на компьютере я программировал на турбо-паскале и ку-бейсике, а си учил теоретически, по брошюрам десятилетней давности.
Не нужно думать, что такое изучение было полным фуфлом. Фортран я и вовсе учил по чьим-то студенческим конспектам 1980-х годов. Брошюр по Си хватило, чтобы через год пройти алгоритмическое интервью в крупную софтверную фирму. Смешно было: на собеседовании поверили, что я достаточно знаком с Си++ (к тому моменту я пару раз видел, как люди программировали на борланд-си++-билдере), так как я справился с алгоритмическими задачками на листочке. Потом дают мне диски с дистрибутивами: устанавливай. Вижу VC (MS Visual C++) и говорю: "О, это волков-коммандер?"
В основном я, конечно, программировал на Си++. Но и Си освоил неплохо. Мне он даже чем-то нравился. На фоне мешанины, приключившейся с Си++ после 2011 года, на фоне дикой шаблонной магии (я увлекался Александреску, но смотреть в хедеры стандартной библиотеки до сих пор без слез не могу), богомерзких пимплов и тому подобного Си мне казался заповедным уголком простого, чистого низкоуровневого программирования.
Поэтому когда недавно на новой работе мне сказали, что есть задачи на сях, а есть на питоне, я радостно сказал: "Конечно Си, я в них спец, вернусь к истокам!"
Черт побери, насколько же это неудобно: в 2025 году возвращаться к истокам. Ничего сложного, но очень неудобно.
Никому не советую. Плюсы, возьмите меня обратно.