Почему новичкам следует изучать Python

Из некоторых других моих сообщений вы, вероятно, заметили, что я большой поклонник Node.js. Хотя это правда и я уже давно использую язык, я не всегда рекомендую его всем. Только начать заниматься программированием и информатикой может быть немного сложно. Какой язык выбрать? Какую среду IDE следует использовать? И что еще более важно, почему? На мой взгляд, самое важное, что вы должны сделать при программировании, - это выбрать правильный инструмент для работы. Вторая по важности вещь я

Из некоторых других моих сообщений вы, вероятно, заметили, что я большой поклонник Node.js. Хотя это правда и я уже давно использую язык, я не всегда рекомендую его всем.

Только начать заниматься программированием и информатикой может быть немного сложно. Какой язык выбрать? Какую среду IDE следует использовать? И что еще более важно, почему ?

На мой взгляд, самое важное, что вы должны сделать при программировании,

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

Python же решает многие из этих проблем за вас. Он работает намного медленнее, чем C ++, но его гораздо проще писать. И как новичку вам, вероятно, все равно, насколько это быстро, вы просто хотите сделать что-то крутое и изучить базовые концепции.

Итак, первое, что вам нужно сделать, это выбрать язык, который вы хотите выучить. Зачем новичкам изучать Python из сотен существующих языков? Что ж, есть несколько причин ...

Простой синтаксис

Часть основной философии языка (как обобщено в PEP 20 , «Дзен Python») включает следующее:

  • Красивое лучше уродливого
  • Лучше простое, чем сложное
  • Читаемость имеет значение

Итак, как видите, Python с самого начала разрабатывался с учетом простоты. Это было глотком свежего воздуха во время его создания, поскольку некоторые из наиболее доминирующих языков в то время были C и C ++, которые не очень удобны для пользователя.

Давайте сравним синтаксис Python и C ++ на простом примере Hello, World:

C ++:

 #include stdout 
 
 int main() { 
 std::cout << "Hello, world!\n"; 
 } 

Python:

 print('Hello, world!') 

Здесь довольно большая разница, и все, что мы сделали, это вывели строку на консоль. Для удобства проведем еще одно сравнение синтаксиса, но на этот раз с PHP:

Python:

 x=1 
 while x <=5: 
 print 'x is less than 5:' + str(x) 
 x += 1 

PHP:

 <?php 
 $x=1; 
 while($x<=5) { 
 echo "x is less than 5: $x"; 
 x++; 
 } 
 ?> 

Python действительно пытается избавиться от «беспорядка» и требует только того, что действительно необходимо, и это большая причина, по которой он был разработан для использования без фигурных скобок и точек с запятой в конце строки. Взгляните на разницу (последнее сравнение синтаксиса, обещаю):

Python

 def foo(x): 
 if x == 0: 
 bar() 
 baz() 
 else: 
 qux(x) 
 foo(x - 1) 

C:

 void foo(int x) 
 { 
 if (x == 0) { 
 bar(); 
 baz(); 
 } else { 
 qux(x); 
 foo(x - 1); 
 } 
 } 

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

С такими ключевыми словами, как is , not и with , хорошо написанный скрипт Python можно почти читать как обычный английский. Это особенно верно для if , которые может быть трудно читать, если они становятся достаточно большими:

 a = None 
 b = None 
 
 if a is not None and b is not None: 
 print 'Foo!' 
 else: 
 print 'Bar!' 

Условный оператор выше намного чище, чем типичный if ((a != null) && (b != null)) .

Легко настроить и запустить

Многие новички, пытающиеся выучить язык, терпят поражение еще до того, как напишут хоть одну строчку кода. С некоторыми языками, такими как Java, вам нужно установить и настроить сложные каталоги проектов, а затем скомпилировать свой код.

С Python все, что вам нужно сделать для начала, - это загрузить и запустить установщик , а также запустить python <your-script>.py . Нет сложной структуры каталогов для создания или компиляции.

Несмотря на то, что становится все более и более редким в современных языках, компиляция коды может быть гораздо сложнее , чем вы думаете (хотя, это необходимое зло). Просто взгляните на этот небольшой make-файл для C:

 CC = gcc 
 CFLAGS = -g -Wall 
 
 TARGET = myprog 
 
 all: $(TARGET) 
 
 $(TARGET): $(TARGET).c 
 $(CC) $(CFLAGS) -o $(TARGET) $(TARGET).c 
 
 clean: 
 $(RM) $(TARGET) 

И я считаю, что это простой make-файл. Я бы предпочел Python в любой момент.

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

Огромная стандартная библиотека

Одна из самых разрекламированных сильных сторон Python - это его стандартная библиотека, и не зря. Он поставляется с более чем 300 модулями (в версии 3.5), начиная от минимального HTTP-сервера ( BaseHTTPServer ) и заканчивая базами данных ( sqlite3 ) и библиотеками сжатия ( gzip ).

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

Время от времени мне придется напоминать себе, что нужно просмотреть модули и посмотреть, что все доступно, чтобы не переписывать код сам.

Поэтому, прежде чем начинать и пытаться написать библиотеку синтаксического анализа URL-адресов , сначала проверьте, существует ли она уже!

Одна из лучших особенностей того, что вам не нужно писать весь этот код самостоятельно, - это знать, что он тщательно протестирован и не содержит ошибок. Большая часть этого кода существует уже некоторое время и используется в ведущих компаниях (о чем мы поговорим позже), так что вы знаете, что он прошел через звонок.

Сообщество

Большое активное сообщество означает две вещи:

  • Множество сторонних библиотек
  • Много людей, которые помогут вам

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

Python неизменно занимает высокие места в рейтинге лучших языков программирования по разным источникам, таким как Redmonk (# 4) и Tiobe (# 5).

Требование работодателей даже более важно, чем популярность языка. Из приведенного ниже графика (от Indeed ) видно, что Python является вторым по популярности языком со стороны работодателей, а это означает, что у вас больше шансов использовать свои навыки программирования в качестве карьеры.

Спрос на языковуюработу{.ezlazyload}

Легко отлаживать

Для новичка одним из самых сложных навыков является отладка. Здесь вы действительно познакомитесь с языком и его внутренним устройством. Иногда у вас будут простые ошибки, которые являются просто синтаксическими ошибками, а в других случаях у вас будут действительно труднообнаруживаемые ошибки, которые обнаруживаются только в 1 из 100 раз, когда вы запускаете свою программу.

Здесь вы действительно узнаете свой отладчик и общие ошибки языка.

К счастью для вас, в Python очень хорошая обработка ошибок и составление отчетов, в то время как во многих других языках этого нет.

Например, в C ++, если что-то пойдет не так (например, снятие защиты с недопустимого указателя, доступ к элементу массива за пределами границ и т. Д.), Вам повезет, если программа выйдет из строя. Таким образом, вы узнаете, что где-то в вашей программе есть проблема, но, скорее всего, не будете знать, где (а отладчики не всегда просты для новичка). Если вам не повезло, программа не выйдет из строя (или просто выйдет из строя в случайное время), а вместо этого выдаст вам неясные ошибки, которые не очень очевидны.

К чему отстой Python

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

Как я уже упоминал несколько раз, Python работает медленно. Очень медленный по сравнению с компилируемыми языками, такими как C / C ++ или Go. Это связано с тем, что у него есть несколько функций, которые замедляют его, например, динамическая типизация и сборка мусора.

Для вас это означает, что вы не должны использовать чистый Python для обработки большого количества данных, а вместо этого вам придется добавить хуки C ++ (о которых мы поговорим в другой день).

А благодаря сборке мусора Python вы не можете использовать его для систем реального времени. Это связано с тем, что сборка мусора заставляет код работать за недетерминированный промежуток времени, поэтому вы не узнаете, займет ли выполнение вашей функции 1 мс или 100 мс. Слишком много неизвестного. Вместо этого для этих программ реального времени вам обычно придется использовать язык с ручным управлением памятью, такой как C или C ++.

В том же духе, поскольку Python полагается на очень много системных ресурсов и имеет интерпретатор, вы обычно можете (я говорю `` обычно '', потому что есть другие варианты ) запускать код Python только поверх системы с операционной системой (что означает отсутствие микроконтроллеров. или другие встроенные системы).

Заключение

Это лишь некоторые из причин, по которым Python отлично подходит для начинающих. В наши дни существует так много ресурсов для начала, что начать программировать на Python потребует небольших затрат времени.

Какой язык вы выучили первым и почему? Дайте нам знать об этом в комментариях!

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus