Стоит учить язык программирования Python? Ведь нередко можно услышать, что этот язык умирает. Этот вопрос обсудили пользователи сайта Quora и поделились своим мнением.
Билл Карвн, SQL-разработчик, консультант, тренер и автор
Язык ассемблера дает тебе прекрасную возможность написать компактный, эффективный и оптимизированный для проекта код. В написанном на этом языке коде, занимающем всего несколько килобайт, можно творить удивительные вещи. Но тот уровень эффективности, который можно получить, используя язык ассемблера, не оправдывает дополнительную работу, лишнее время и те навыки, которых он требует.
Это правда, что языки как набирают популярность, так и теряют ее. Продуктивность – вот главная задача в программировании, поэтому время от времени создаются новые языки, которые увеличивают производительность, по крайней мере, для некоторых видов работ.
Большая часть программистов сегодня использует языки более высокого уровня – им необходимо быть боле производительными. Языки высшего уровня могут компилироваться в машинный код (C или C++), а могут быть скомпилированы в байткод с независимой архитектурой и запущены в виртуальной машине (Java) ил же быть обработаны (JavaScript, PHP, Ruby, Python, Perl и др.).
Ошибочное мнение, что необходимо учить язык ассемблера, потому что «он лучше Python». Это глупая точка зрения, построенная на устаревших данных.
Билл Поучер, исполнительный директор ICPC, программное обеспечение в сферах энергетики, синтетической генетики и др.
Изучи Python. Обеспечь себя опытом в программировании. В этом языке есть своя элегантность.
Изучи C как язык для Unix-машин. Понимание UNIX относительно несложно.
Изучи MIX, чтобы понимать Knuth.
Изучи Java, чтобы не испытывать трудности в работе с другими, а также овладеть объектно-ориентированным программированием.
Изучи C++, чтобы программировать в любом стиле, каком только захочешь. Его сила в том, что это основной язык программирования. Его слабость в том, что для программирования на нем необходимо понимать его стиль.
Изучи LISP, чтобы укрепить свое понимание рекурсии.
Разве я сказал, что не стоит учить хотя бы что-то? Нет. Потому что единственная вещь, которую следует сделать, это приучить себя к постоянному изучению чего-либо, особенно к изучению того, как можно решать возникающие проблемы.
Шива Шинде, на языке Python легко кодить, но его тяжело читать
Язык программирования Python не умирает, это один из наиболее быстро развивающихся языков.
2. Полный функционал
3. Серьезные библиотеки научных данных
Эрнан Сулаж, прагматичный программист
Этот язык достаточно популярен, его значимость растет в академических кругах. Правдив также тот факт, что полезность языка программирования зависит от того, что ты на нем хочешь делать.
Мне совершенно не нравится PHP, но я не настолько глуп, чтобы отрицать его универсальность и мощность, а также то, что этим языком достаточно просто овладеть.
Что касается изучения ассемблера, то этот язык напрямую зависит от того, с каким процессором вы работаете.
Если вы знаете, как работать с одним, то вы точно в течение некоторого времени сможете использовать его в семействе процессоров. Но со временем и они претерпевают некоторые изменения. В этом смысле это наименее долговечная семья языков.
Магнус Лычка, разработчик программного обеспечения и консультант в Гетеборге
Многим пользователям нравится Python. Для некоторых приложений он будет слишком медленным, и, к примеру, с языком ассемблера они будут работать быстрее, но также быстро эти приложения будут работать на языке С, при том, что код, написанный на языке С, будет рабочим для любых платформ.
Многие стартапы становились успешными с языком Python, после чего им приходилось переписывать некоторые программы в Java, C++ или C. А если бы эти стартапы начинали работать с языком ассемблера, то, скорее всего, у них бы финансирование закончилось задолго до того, как их очень быстрый, но сложный для чтения код был бы закончен.
Но, работая с языком ассемблера, вам придется столкнуться не только с различными архитектурами процессора, но и с техническими деталями, которые отличаются в разных операционных системах.
Наверное, много начинающих программистов не раз задавались вопросом: . Хочу по этому поводу поделится с вами своим опытом, а именно расскажу как я познакомился с Python , попал в ряды Web-разработчиков и стал разрабатывать дестопные приложения для любых систем.
О Python впервые я узнал в 2010 году. Кто понятия не имеет что это такое, может более детальную информацию о Python узнать на . Главное преимущество в Python это простота его изучения. Дело в том, что он максимально приближен к понятному (человечному) английскому языку. Вы наверное хотите мне задать вопрос: «Ведь если ты опытный разработчик РНР, то зачем тебе нужен Python?» . Дело в том, что при изучении Python, я параллельно запоминаю английские слова и одновременно их заучиваю . При этом, я занимаюсь НЕ только веб-разработкой, но работаю с дестопными приложениями для различных операционных систем, плюс к этому у меня есть возможность разрабатывать игры.
Могу сейчас с уверенностью сказать одно, что если бы была возможность вернуть время назад, то я бы в первую очередь начал изучать язык Python .
Мои уроки Python будут происходить по классическому стилю. Я научу вас всему от корки до корки. Вы узнаете все, что знаю я сам. Уже через несколько занятий попытаемся написать несложные программки, типа Hello World .
Python
print("Hello World")
print ("Hello World" ) |
После того как вы пройдете мои уроки « « , то узнаете все необходимое, чтобы в дальнейшем заниматься разработкой собственных сайтов на . Помимо этого, вы узнаете как писать дестопные приложения и консольные скрипты. После окончания обучения, все мои ученики будут иметь знания уровня Junior Python Developer .
В общем я постараюсь донести до вас максимум полезной и нужной информации в каждым моем уроке.
Если у кого-то появилось желание узнать о языке Python , после прочтения написанных выше строк, то каждый из вас прямо сейчас имеет возможность начать изучать и пополнить ряды Junior Python Developer .
Python является универсальным языком высокого уровня, который может быть расширен и встроен. Он, например, входит в комплект приложений как инструмент написания макросов. Это делает Python разумным выбором для многих задач программирования, больших и не очень, и не таким удачным для небольшого числа вычислительных задач.
Язык Python идеально подходит для проектов, требующих быстрой разработки. Он поддерживает несколько парадигм программирования, что хорошо для программ, требующих гибкости. А наличие множества пакетов и модулей обеспечивает универсальность и экономит время.
Гвидо ван Россум - создатель Python, ласково удостоенный сообществом звания «великодушный пожизненный диктатор». В конце 1980-х Гвидо нравились особенности некоторых языков программирования, но ни один из них не обладал всеми возможностями, которые бы ему хотелось иметь. В частности язык должен был обладать следующими характеристиками.
Сценарий представляет собой программу, которая управляет другими программами. Языки сценариев подходят для быстрой разработки и прототипирования, потому что они хорошо справляются с передачей данных от одного компонента к другому и избавляют программиста от таких хлопотных вещей, как управление памятью.
Сообщество пользователей предпочитает называть Python динамическим языком программирования.
Python определяет принадлежность выражений к одной группе с помощью отступов. Такая группа называется блоком кода. В других языках для этого используется другой синтаксис или знаки препинания. Например, в C символ символ { обозначает начало и } - конец последовательности команд. Наличие отступов считается хорошей практикой и в других языках, но одним из первых, в котором соблюдение отступов обеспечивается принудительно, был Python. Что это дает? Отступ делает код более удобным для чтения, а кодовые блоки требуют меньше обозначений их начала и конца и знаков препинания, которые можно случайно пропустить. Все это ведет к меньшему количеству ошибок.
Компьютеры хранят данные в единицах и нулях, но люди нуждаются в более сложных формах, таких как текст. О языке, поддерживающем сложные данные, говорят, что он поддерживает типы данных высокого уровня. Такими типами данных легко оперировать. Например, в Python строки можно разделять, объединять, переводить в верхний или нижний регистр, в них можно производить поиск и т. д. Высокоуровневые типы данных, такие как списки и словари, которые могут хранить и другие данные, обладают гораздо большими функциональными возможностями, чем другие языки.
Расширяемый язык программирования может быть дополнен. Такие языки являются очень мощными, потому что дополнения делают их пригодными для множества применений и операционных систем. Расширения могут добавлять или концепции, модули и плагины. Язык Python расширяется несколькими способами. Основная группа программистов работает над его изменением и улучшением, а сотни других пишут модули для конкретных целей.
Интерпретируемые языки выполняются непосредственно из исходного кода, написанного людьми, а программы, написанные на компилируемых языках, таких как C ++, должны быть переведены в более медленные, так как трансляция происходит на лету, но написание программ и их отладка происходит быстрее, так как отсутствует необходимость ожидать завершения работы компилятора. Они легче переносятся на разные платформы.
Можно спорить по поводу того, является ли Python интерпретируемым или компилируемым языком. Хотя во многих отношениях он работает как интерпретируемый, перед выполнением его код компилируется (как в Java), и многие его компоненты работают на полной скорости машины, так как написаны на C.
Гвидо начал писать Python во время рождественских каникул в 1989 г., и в течение следующего года он дорабатывал язык на основе отзывов своих коллег. Широкая публика увидела результат в феврале 1991 г., когда он был размещен в одной из новостных групп Usenet.
Для того чтобы начать писать программы на Python, нужно его установить. У версий Python 2.7 и Python 3.5 есть существенные различия, из-за которых программы, написанные на них, являются несовместимыми.
В компьютерах «Макинтош» данный язык предустановлен, и его версия зависит от возраста ОС. При работе в Windows придется самостоятельно установить Python. Файлы инсталляционного пакета можно выбрать на сайте python.org.
Одной из причин простоты, которой отличается программирование на Python, является то, что он поставляется с инструментами, которые помогут разрабатывать, писать и отлаживать программы.
В интерактивном режиме команды вводятся по одной строке за один раз, почти так же, как операционная система (оболочка) принимает команды из командной строки. Также можно создавать короткие многострочные программы или импортировать код из текстовых файлов или встроенных модулей Python. Для начинающих будет полезно знать, что интерактивный режим включает обширную справочную систему. Это удобный способ изучения возможностей языка программирования.
Среда разработки IDLE включает интерактивный режим и инструменты для написания и запуска программ, а также систему отслеживания имен. Среда написана на Python и демонстрирует обширные возможности языка.
Здесь можно делать практически все, что можно сделать в программе, даже писать многострочный код. Данный режим может служить:
Интерактивный режим можно использовать в качестве калькулятора, манипулировать текстом и присваивать значения переменным. Также можно импортировать модули, функции или части программ для их тестирования. Это помогает экспериментировать с объектами Python без написания длинных программ и отлаживать программы путем импортирования их частей по одной за раз.
После запуска Python в окне терминала отобразится информация о текущей версии программы, дате ее выпуска, несколько подсказок дальнейших действий и приглашение ввода >>>.
Для работы в интерактивном режиме следует ввести команду или выражение и нажать клавишу ввода.
Python интерпретирует ввод и отреагирует, если набранное требует ответа, или интерпретатор его не понимает.
Следующая команда напечатает строку. Поскольку место печати не указано, вывод происходит на экран.
Эта единственная строка является целой программой! В интерактивном режиме Python обрабатывает каждую строку введенного кода после нажатия клавиши ввода, и результат появляется ниже.
В интерактивном режиме есть два способа просмотра информации об объекте:
Результат зависит от объекта.
При использовании некоторых типов данных (целых и списков, например) эти два метода дают одинаковый результат:
Для строк результат набора команды «print имя» немного отличается от результата, полученного для ввода имени. В первом случае значение заключается в кавычки, а во втором - нет:
Когда имя относится к блоку кода (например, функции, модулю или экземпляру класса), ввод имени предоставит информацию о виде данных, имени и месте хранения.
В следующем примере создается класс с именем Message и выводится информация о
В Python строки являются последовательностями символов. Строковый литерал создается путем заключения символов в одинарные ("), двойные (") или тройные (""" или """) кавычки. В приведенном примере присваивается значение переменной x:
Строка Python имеет несколько встроенных возможностей. Одной из них является способность вернуть свою копию со всеми Эти возможности известны как методы. Чтобы вызвать метод объекта, следует использовать точечный синтаксис. То есть после ввода имени переменной, которая в данном случае является ссылкой на объект строки, нужно поставить оператор-точку (.), а затем название метода с последующим открытием и закрытием скобки:
Можно получить часть строки с помощью оператора индексирования s[i]. Индексация начинается с нуля, так что s возвращает первый символ в строке, s возвращает второй, и так далее:
Строковые методы работают как с обычными строками, так и с "Юникодом". Они производят следующие действия:
Если строки Python ограничены символами, то списки каких-либо ограничений не имеют. Они представляют собой упорядоченные последовательности произвольных объектов, включая другие списки. Кроме того, можно добавлять, удалять и заменять их элементы. Ряд объектов, разделенных запятыми внутри и есть Что это собой представляет, показано ниже - здесь приведены примеры данных и операций с ними:
В этом примере был создан список отдельных символов. Затем в конец был добавлен элемент, обращен порядок элементов, извлечены элементы по позиции их индекса, был удален элемент со значением "U" и произведена сортировка элементов. Удаление элемента из списка иллюстрирует ситуацию, когда методу remove() необходимо предоставить дополнительную информацию, а именно значение, которое следует удалить.
Помимо методов, подобных remove(), Python обладает еще одной сходной возможностью, называемой функцией. Единственное различие между функцией и методом является то, что первая не связана с конкретным объектом.
Функции выполняют действия над одним или несколькими значениями и возвращают результат. Большое их количество встроено в Python. Примеры встроенных функций:
Также есть возможность определить свои собственные функции.
Процесс создания собственной Python-функции такой. Первая строка начинается с ключевого слова def, за которым идет имя функции и аргументы (ожидаемые входные значения), заключенные в скобки, и заканчивается двоеточием. Последующие команды составляют тело функции и должны иметь отступ. Если комментарий находится вначале тела функции, он становится частью ее документации. Последняя строка функции возвращает результат:
В этом примере была создана функция под названием transcribe, которая ожидает строку, представляющую последовательность ДНК. Метод replace() возвращает копию исходной строки с заменой всех вхождений одного символа на другой. Три строки кода позволили транскрибировать ДНК в РНК. выглядит так:
Функция reverse принимает строку, создает список, основанный на ней, и изменяет его порядок. Теперь нужно сделать обратное преобразование. Объект имеет метод join (), который объединяет список, разделяя каждый его элемент значением строки. Так как разделитель не нужен, метод используется на пустой строке, представленной двумя кавычками ("" или "").
А словарь Python - что это? Он имеет те же преимущества, что и обычный бумажный словарь. Позволяет быстро найти нужное значение (определение), связанное с ключом (словом). Словари заключаются в фигурные скобки и содержат разделенную запятыми последовательность пар ключ-значение. Словари не упорядочены. Вместо этого словарные значения доступны через их ключ, а не их позицию.
Для того чтобы создавать свои собственные объекты, необходимо определить своего рода шаблон, называемый классом. В Python для этого служит оператор class, за которым следует имя и двоеточие. Тело определения класса содержит свойства и методы, которые будут доступны для всех экземпляров объектов, основанных на этом классе.
Большинство языков программирования предлагают удобные функции, но ни один из них не обладает такой комбинацией удобства и мощности, которую предлагает Python. Что это за преимущества? Вот некоторые из них:
3 ответов
Python - динамический, строго типизированный, объектно-ориентированный многоуровневый язык программирования, предназначенный для быстрого (изучения, использования и понимания) и обеспечения четкого и единообразного синтаксиса.
Python может использоваться для любой задачи программирования, от программирования GUI до веб-программирования со всем остальным между ними. Это довольно эффективно, так как большая часть его активности выполняется на уровне C. Python - это всего лишь слой поверх C. Есть библиотеки для всего, о чем вы можете думать: игровое программирование и OpenGL, интерфейсы GUI, веб-фреймворки, семантические сети, научные вычисления...
Python предлагает шаг в мир программирования. Несмотря на то, что язык программирования Python существует уже 25 лет, он все еще растет в популярности. Некоторые из самых больших преимуществ Python:
Как язык программирования общего назначения, Python может использоваться для нескольких вещей. Python можно легко использовать для небольших, крупных, онлайн и оффлайн проектов. Лучшие варианты использования Python - это веб-разработка, простой скриптинг и анализ данных. Ниже приведены несколько примеров того, что Python позволит вам сделать:
Веб-разработка:
Вы можете использовать Python для создания веб-приложений на многих уровнях сложности. Есть много отличных веб-фреймворков Python, включая Pyramid, Django и Flask, чтобы назвать несколько.
Анализ данных:
Python является ведущим языком выбора для многих ученых-исследователей. Python стал популярным в этой области благодаря своим превосходным библиотекам, в том числе; NumPy и Pandas и его великолепные библиотеки для визуализации данных, такие как Matplotlib и Seaborn.
Машинное обучение:
Что делать, если вы могли бы спрогнозировать удовлетворенность клиентов или проанализировать, какие факторы повлияют на цену домашних хозяйств или предсказать акции в течение следующих нескольких дней, исходя из данных предыдущих лет? Существует множество замечательных библиотек, реализующих алгоритмы машинного обучения, такие как Scikit-Learn, NLTK и TensorFlow.
Компьютерное зрение:
Вы можете делать много интересных вещей, таких как обнаружение лиц, определение цвета при использовании Opencv и Python.
Интернет о вещах с малиной Pi:
Малина Pi - очень маленький и доступный компьютер, который был разработан для обучения и приобрел огромную популярность среди любителей с самодельными аппаратными средствами и автоматизацией. Вы даже можете построить робота и автоматизировать весь свой дом. Малина Pi может использоваться в качестве мозга для вашего робота, чтобы выполнять различные действия и/или реагировать на окружающую среду. Кодирование на малине Pi может быть выполнено с использованием Python. Возможности бесконечны!
Разработка игр:
Создайте видеоигру с помощью модуля Pygame. В принципе, вы используете Python для написания логики игры. Приложения PyGame могут работать на устройствах Android.
Веб-скребок:
Если вам нужно захватить данные с веб-сайта, но на сайте нет API для публикации данных, используйте Python для очистки данных.
Написание скриптов:
Если вы делаете что-то вручную и хотите автоматизировать повторяющиеся вещи, такие как электронные письма, это не сложно автоматизировать, как только вы знаете основы этого языка.
Автоматизация браузера:
Выполните некоторые аккуратные вещи, такие как открытие браузера и публикация статуса Facebook, вы можете сделать это с помощью Selenium с Python.
Разработка графического интерфейса:
Создайте графическое приложение (настольное приложение), используя модули Python Tkinter, PyQt для поддержки.
Быстрое прототипирование:
У Python есть библиотеки практически для всех. Используйте его для быстрого создания (более низкого, часто менее мощного) прототипа. Python также отлично подходит для проверки идей или продуктов для известных компаний и начинающих.
Python может использоваться во множестве различных проектов. Если вы программист, ищущий новый язык, вы хотите, чтобы он стал популярным. Будучи новичком в программировании, Python - идеальный выбор для обучения быстро и легко.