Найти тему
IT для гуманитариев

Почему недостаточно знать Python, чтобы стать программистом




Python - с одной стороны, неплохой вариант для старта и для дальнейшего трудоустройства - он несложный, востребован на рынке, используется много где.

Но я старовер. И пусть в меня кто-то кинет тапками, но, по-моему, начинать программировать лучше с языка C. Почему?

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

«А если я хочу всегда ездить на автомате?» - А, скорее всего, не выйдет. Работодателю будет всё равно, какие языки программирования ты (не)знаешь - и обязательно окажется, что в проекте есть 10% кода на каком-нибудь java и человек, который это писал - год назад как эмигрировал в Штаты. И угадай, кого попросят внести изменения в этот код? Правильно, программиста. То есть тебя.

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

А Си поможет взглянуть на чуть более низкоуровневый мир - на работу с памятью, арифметику указателей и многое другое. Сам Python (точнее, самая распространенная реализация интерпретатора - CPython) тоже написан на C.

После Си будет легче подступиться к C++ или java (а также десятку других языков с си-подобным синтаксисом). А к питону - и подавно, потому что после Си Питон покажется феерически простым языком.

Моя первая любовь и главный фаворит в мире IT-курсов - это гарвардский CS50's Introduction to Computer Science (можно найти на платформе edx.org). Это с одной стороны курс для начинающих, он не требует никакой исходной подготовки. Но при этом, там копают достаточно глубоко и материал разумной сложности. Там есть записи трансляций с настоящих лекций в Гарварде, есть семинары с ассистенами преподавателей, много разных дополнительных видео, задачки на самостоятельную разработку. И там как раз всё начинается с Си. И да - времени на него придётся выделить прилично, это не про 1 час раз в неделю. Зато это отличный старт для дальнейшего погружения в мир IT, он даст некоторый бэкграунд сразу в разных направлениях.

Кстати о Computer Science. Знать один Python и почти ничего не представлять о том, что «под капотом» - могут только дата-саентисты, и я до сих пор удивляюсь, как у них это получается (ну, по крайней мере, я таких часто встречаю). Так что если вы не про data science и не налегаете на матан - значит нужно копать не только в ЯП, но и в то, «как оно всё устроено» - хотя бы на уровне ликбеза - про операционные системы, сетевые протоколы, базы данных ит.п. Так как сталкиваться на работе придется именно с этими вещами, а не просто с питоном в вакууме (в текстовом редакторе).

Подписывайтесь на мой
телеграм-канал Программирование для гуманитариев.