Разработка программного обеспечения - сложная задача. Люди всегда ищут чудесные способы исправления ошибок, волшебную палочку, которая помогла бы им создать великолепную программу без затрат времени и усилий. Многие согласны с существованием "кризиса программирования". Функциональность большинства проектов оказывается низкой, к тому же плохого качества. Фредерик Брукс был первым, кто отметил это в своей знаменитой книге "Мифический человеко-месяц". Самое печальное то, что не существует простых решений для многих проблем, которые мешают разработке программ.
Просто нет однозначного метода, который десятикратно увеличил бы вашу продуктивность или гарантировал бы, что вы создадите софт без единой ошибки. Однако, вполне возможно, что если вы будете использовать лучшие из возможных инструментов и методов, то ваша продуктивность возрастет по сравнению с той, которую вы бы имели, используя обычные методы или неподходящие инструменты.
Многие среды программной разработки не обеспечивают достаточной продуктивности разработчика. В Python, напротив, главными идеями являются скорость разработки, удобство эксплуатации и переносимость кода. Python предлагает все, что вам нужно для осуществления лучших идей на практике: объектно-ориентированное, функциональное, структурное программирование.
Вы также можете использовать модули расширения, написанные на C/C++. Он идеален как для быстрой разработки прототипа, так и для разработки мощного приложения большой командой программистов.
Python код не может не быть читаем. Этот язык обладает чётким и последовательным синтаксисом, продуманной модульностью и масштабируемостью. Правильные и аккуратные отступы - это не только хорошая привычка: здесь это также необходимо для разделения блоков кода. Как говорят, Pyhon - это "выполняемый псевдокод".
Итак, Python - современный язык программирования, с хорошей реализацией объектно-ориентированной модели программирования, с большим набором библиотек. Наиболее важные особенности данного языка это:
- Высокий уровень структур данных: списки, кортежи и словари;
- Динамичность: вы можете даже добавлять новые классы данных в существующие объекты в режиме реального времени;
- Портативность: одни и те же байт-коды могут быть запущены на Unix, Windows, MacOS, Amiga, Palm OS и многих других;
- Возможность расширения модулями, написанными на С или С++;
- Объектно-ориентированное программирование, поддержка функционального программирования и структурного программирования;
- Огромная стандартная библиотека, помимо которой существует множество других;
- Использование отступов вместо различных элементов для ограничения блоков кода;
- Компилирование в байт-код, интерпретируемый виртуальной машиной.
Трансляция в байт-код происходит единожды. Однако интерпретируемые языки, даже интерпретируемые в байт-код, считаются медленными. С другой стороны, современные компьютеры имеют излишнюю производительную мощность. Из этого следует вывод, что программа, написанная на интерпретируемом языке будет работать достаточно быстро в большинстве случаев.
Легкость, с которой Python использует библиотеки - одна из его сильных сторон. Благодаря этой возможности вы можете написать алгоритм приложения на Python и, затем, переписать узкие места на C или С++. Но даже без этого, никогда не приходилось сталкиваться с какими-либо проблемами связанными с быстродействием приложений, написанных на Python!