Как Я познал... C

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

Увлекательное путешествие в программировании начиналось по умолчанию с C/C++, бессонными ночами с malloc/free и указателями. Не увидев профессиональной необходимости, да и особого желания в разработке на этом языке, я решил двинуть в «увлекательнейший» и надутый разного рода экосистемными пузырями, формирующий уже «религиозные» взгляды, JavaScript. Тем не менее, первоначальное изучение C дало невероятный фундамент: оно формирует ясное понимание взаимодействия компонентов и контроля над каждым шагом. Каждый байт памяти, каждая операция - это ответственность, и это дисциплинирует. Именно этот опыт научил меня мыслить строго о том, что я пишу, предугадывать последствия кода и понимать, почему что-то работает или не работает.

После JS мой путь привёл к полюбившемуся Microsoft TypeScript. TypeScript классный для проектов, но когда начинаешь писать документацию не только для пользователей, но и для коллег, проще использовать JSdocs без fancy элементов - пропуская лишние шаги вроде компиляции в dist. По мере необходимости, с уходом в отрасль AI, в жизнь пришёл Python (терпеть его не могу). Мой опыт явно не тянет на синьора, но есть что сказать. Поддерживать код на Python - ещё тот квест, особенно когда сталкиваешься с библиотеками для работы с БД и ORM. Ознакомившись с парой из них и документацией, понял: проще писать raw SQL, чем разбираться с этим.

За приветливой маской Python скрывается множество подводных камней, на которые новичок или даже «небольшой профи» может наткнуться. Вспоминая C/C++, я точно понимал, что делаю на каждом шаге и почему что-то не работает или относительно работает. Ошибки случались, но их природу можно было отследить. В Python же даже полное округление на всех этапах перерасчёта иногда выдаёт числа с 10–11 знаками после точки, хотя инструкция на каждой строке кода явно возвращает, например, 1892.02.

Как Я познал... C | Сетка — социальная сеть от hh.ru