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

Что такое питон?

Согласно Википедии, Python — интерпретируемый высокоуровневый многопарадигмальный язык общего назначения с динамической типизацией и сборкой мусора, разработанный Гвидо ван Россумом. Имеет репутацию лучшего первого языка для начинающих. Поскольку его синтаксис проще, чем у других языков, и он похож на английский, он также обеспечивает простоту, и люди говорят, что после изучения Python вы можете делать все, что захотите.

Расскажите мне о зарплатах

Как вы можете догадаться, ваша потенциальная зарплата зависит от вашего опыта и вашей компании, даже от вашей страны, но, согласно данным Glassdoor, разработчики Python зарабатывают от 54 000 до 170 000 долларов в год. . Невозможно сказать, что вы будете зарабатывать X долларов в год, если будете разработчиком Python, но я могу сказать, что Python — один из самых требовательных языков (на самом деле самый известный — Python) и определенно имеет свои варианты использования.

Мне кажется, все в порядке, в чем твоя проблема?

Что ж, я не отрицаю, что Python — один из самых известных и требовательных языков, и я согласен с тем, что он полезен во многих случаях, таких как наука о данных, искусственный интеллект, машинное обучение, веб-разработка и т. д.… Но, эти вещи сделать Python лучшим первым языком? Не думаю.

Почему?

У Python простая философия. Простота. В программировании простота означает абстракцию, что означает сокрытие некоторых низкоуровневых (подробных) вещей от разработчиков и обработка этих вещей в фоновом режиме, чтобы облегчить жизнь разработчикам. Но полезно это или вредно для начинающих? На мой взгляд, это не полезно. Есть несколько вещей, которые вы не можете и не должны оставлять позади, даже если вы новичок. Им нравятся неотделимые части программирования. Если вы оставили их позади, вас могут привести к неправильной практике, а когда придет время переходить на другой язык, вы можете быть перегружены. Я не могу предсказать вашу точную реакцию, когда вы столкнетесь с этими вещами в первый раз после того, как вы изучите программирование с милыми абстракциями Python, но я могу определенно сказать по своему опыту, что усвоить эти основы будет непросто. Программирование требует обновления. Изучать что-то новое в первый раз может быть сложно, но отбросить что-то, что вы уже знаете/привычки, и заменить новой информацией/привычкой еще сложнее.

ПРИВЕСТИ МНЕ НЕСКОЛЬКО ПРИМЕРОВ, КАКАЯ ВАША ТОЧКА?

Прежде всего, в Python у вас нет прямого доступа к памяти или процессору. Такие языки, как C/C++/C#/Java, имеют функцию указатель, которая дает вам некоторый контроль над памятью. Вы даже можете напрямую указывать ЦП, что делать, и напрямую управлять регистрами ЦП в Assembly. Python делает это сам в фоновом режиме.

Во-вторых, в Python есть функция под названием Динамическая типизация. Вы не объявляете типы ваших переменных в Python. Python автоматически определяет типы переменных и даже манипулирует их типом. Например;

Переменная my_lucky_number была инициализирована как целое число, а затем преобразована в строку. Это допустимо в Python, но недопустимо в некоторых других языках, таких как C.

Вам это может показаться проще и полезнее, но для меня это не очень хорошая функция. Я даже называю это рискованным.

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

Однако я думаю, что фигурные скобки облегчают новичкам понимание идеи «все, что находится внутри этих скобок, является частью оператора if». Кроме того, внешний синтаксис может легко привести к ошибкам отступа.

Заключение

Я рассказал о трех примерах, которые, как мне кажется, не подходят для начинающих и беспокоили меня, когда я переключался на другие языки. Дело в том, что они не являются ужасными функциями. У них есть своя цель. Но они скрывают основы того, как работает компьютер, как программа обрабатывает память, как процессор выполняет свои задачи. Также Python предоставляет синтаксис, отличный от большинства популярных языков. Все это в конечном итоге затруднит переход на другие языки. Если вы лучше понимаете, как на самом деле работают абстрактные вещи, вы косвенно улучшите свой код и качество решения проблем. Есть разработчики Python, которые работают в этом секторе десятилетиями, но держу пари, что нет ни одного разработчика, который не знал бы, как за кулисами работают детали низкого уровня. Они используют Python и создают удивительные вещи. Но то, что они используют его и делают мир немного лучше, не означает, что вы должны начать с Python.

Финал

Мой совет — начните с C. У вас будет прочная основа о том, как работает компьютер, и позже вам будет намного проще переключиться на другие языки. Опять же, я не гуру программирования, и это были просто мои мысли, основанные на моем опыте. Я также начал с Python, затем переключился на другие языки. Если бы я снова начал программировать, я бы не начал с Python. Я просто хотел это сказать :)

В основном я пишу на JavaScript, но всякий раз, когда я решаю алгоритмическую задачу, я решаю ее с помощью C, потому что всякий раз, когда я пишу на C, мне кажется, что я разговариваю со своим компьютером.

Это все для этого блога. Особая благодарность всем, кто читал этот блог до этого момента. Увидимся в следующий раз :)