Подтвердить что ты не робот

Какие приложения создаются с использованием Python?

Я хотел знать

Python подходит для каких приложений?

Я новичок в мире Python, но я знаю, что это язык сценариев, такой как Perl, но я не был уверен в том, какие приложения будут разрабатываться с использованием Python и, безусловно, оценят, может ли кто-нибудь предоставить некоторую полезную информацию.

4b9b3361

Ответ 1

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

В приложениях "жесткого реального времени" все динамическое распределение памяти и ее освобождение, и особенно сбор мусора, вполне понятны; это исключает почти все современные языки (включая Python, но также Java, С# и т.д. и т.д.), поскольку почти все они полагаются на динамическую обработку памяти и сборку мусора того или иного типа.

Если вы программируете "встроенное устройство", которое вы ожидаете получить и продаете в огромных количествах, каждый бит ПЗУ может значительно подходить к общим затратам, поэтому вы хотите, чтобы язык сфокусировался на сжатии приложения до последний возможный бит - любой язык, который опирается на богатую поддержку среды выполнения или операционной системы (включая Python, и, опять же, Java, С# и т.д. и т.д.), несомненно, заставит вас потратить дополнительные средства на многие другие биты ROM (рассмотрите языки с интерпретацией резьбы, такие как старый добрый Форт: они могут сделать существенный код приложения более компактным, чем простой машинный код!).

Там много других ниш, которые имеют сходные ограничения (в основном сосредоточены на MEMORY: сосредоточиться на использовании как можно большего количества бит и/или строго ограничивать выполнение в пределах определенных предопределенных пределов - не динамизм, не распределение, сбор мусора и т.д. и т.д.), и в основном случай снова будет склоняться подобным образом (например, есть серверные приложения, предназначенные для запуска на мириадах серверов, которые могут сэкономить много мегабайт на сервер, если они закодированы на С++ [особенно если без "предположительно-умных" "указатели;-)], а не Java, Python, С# и т.д.).

Конечно, есть отличные причины, по которым большинство современных языков (Python, Java, С# и т.д.) предпочитают делать динамическое распределение памяти, сбор мусора и т.д., несмотря на важность прикладных ниш, где эти методы являются негативным аспектом: по существу, если вы можете позволить себе такую ​​хорошую работу с памятью, писать приложения становятся МНОГО, МНОГО проще, и целый класс проблем и ошибок, связанных с необходимостью тщательного управления памятью, если вам не хватает такой поддержки, может уйти - производительность программистов действительно растет... IF сбор мусора и тому подобное могут быть предоставлены вообще, то есть. Например, если приложение будет работать на нескольких сотнях или тысячах серверов, я, вероятно, не стал бы его кодировать на С++ с ручным управлением памятью, чтобы сохранить память; он только на десятках и сотнях тысяч серверов, что экономика всех этих дополнительных мегабайт действительно вступает в игру.

Обратите внимание, что, несмотря на распространенное заблуждение, что "интерпретируемые языки" (те, у которых есть богатая базовая среда выполнения или виртуальная машина, например Java, С#, Python и т.д.) "медленны", на самом деле для большинства приложений с интенсивным использованием процессора (например, научный расчет), Python отлично подходит, если учитывать "богатую поддерживающую среду выполнения" (например, numpy). Таким образом, это не действительно фактор - хотя потребление памяти и сбор мусора МОЖЕТ быть в некоторых ниши.

Ответ 2

Recap:

  • Веб-приложения (Django, Pylons)
  • Игры (Eve Online - MMORPG)
  • Разработка программного обеспечения (Trac для управления проектами)
  • Базы данных объектов (ZODB/Durus)
  • Сетевое программирование (Bittorent)
  • Мобильные приложения

И многое другое...

Ответ 3

Вы говорите:

Я новичок в мире Python, но я знаю, что это язык сценариев.

Я думаю, что различие между "скриптовыми языками" и "языками программирования" является довольно произвольным. Почти каждый язык, созданный за последние 10-20 лет, имеет некоторую поддержку во время выполнения, обычно в виде интерпретатора байт-кода или виртуальной машины. Python ничем не отличается: он компилируется в байт-код, а байт-код выполняется во время выполнения Python. Дело в том, что я бы сказал, что в Java, С#, Ruby и т.д. Очень мало вещей, которые вы не могли делать на Python.

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

Ответ 4

Я знаю его немного поздно, но если это помогает.

Civilization IV
OpenStack
Bazaar
Mercurial
Blender 3D
TwistedMatrix 
Trac
Allura (source project for SourceForge.net)
BitTorrent(<5.3)
Gwibber
Ubuntu Software Center
YUM
OpenERP
journyx

Обратите внимание, что я избегал всей расы веб-фреймов, IDE (Eric Python IDE, Ninja-ide, PIDA -ide, Wing IDE, Stani Python Editor и инструменты (Pygame, PyGTK, wxPython, mod python, IPython) и веб-сервисы (youtube.com, reddit.com, quora.com, dropbox.com)

Ответ 5

Ну, короткий ответ, так как вы упомянули Perl, все, что вы могли бы построить на Perl, вы могли бы создать в Python. Вы можете создавать что угодно на любом языке, и если язык имеет простые привязки C, вы можете даже эффективно его выполнять.

Теперь, когда это так, вопрос становится несколько философским. У Python есть ключевой принцип: "Должен быть только один способ сделать это". Perl - это прямо противоположное. Ключевым принципом Perl является "Есть больше, чем один способ сделать это" (TIMTOWTDI) или (Тим Тоэди, его френды;)) Как вам нравится делать что-то? Один ясный и блестящий путь, который согласован большинством? Или, может быть, вы цените почти бесконечное количество путей решения, которое имеет любая задача в Perl?

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

Ответ 6

В настоящее время большинство 3D-пакетов, таких как Maya, SoftImage, Houdini, RealFlow, Blender и т.д., используют Python в качестве встроенного языка сценариев и плагинов.

Ответ 7

Это компьютерный язык программирования, и как таковая любая компьютерная программа теоретически могла бы быть построена с ним. См. здесь для примера

Ответ 8

Bittorrent был создан на Python.

Ответ 9

http://en.wikipedia.org/wiki/List_of_Python_software перейдите по ссылке, и вы увидите много чего. На самом деле я также хочу изучить Python, поэтому я искал такие ответы, как вы, и я получил эту ссылку. Удачи.