Как Я познал... 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.
· 07.01
Вообще учить язык ради языка смысла нет. Ну и сами по себе языки в принципе одинаковые. Но языки тесно связаны со своими экосистемами. А вот их надо выбирать под задачу. Как и любой инструмент.
ответить
коммент удалён
· 07.01
При выполнении задачи сталкиваешься с особенностями работы языка, зависимостями. Как Вы и описали язык помогает вам решать задачу, не зная что под копотом, как вы поймете что язык нужно применять для решения конкретно этой задачи.
ответить
ответ удалён
· 07.01
Погуглю, книжку почитаю. Посмотрю как подобные задачи решают.
ответить
ответ удалён
· 07.01
Вопрос: почему сформировалось мнение, что в посте говорится об изучении языка ради языка?
ответить
ответ удалён
· 07.01
Интересно, какая у вас была задача, что вы начали программировать с си?
ответить
ответ удалён
· 07.01
Работал системным администратором, начал разбирать с linux и пробовать, что-то делать на чистемнос уровне, также писать декстопы.
ответить
ответ удалён