Какое то время я искреннее считал себя программистом, и даже хорошим
программистом. Это осталось в прошлом - у меня нет специального
программисткого образования, и хотя мне приходилось писать коммерческие
проекты, для профессионального программиста я знаю слишком мало.
Программирование (кроме любимого хобби) для меня инструмент решения
сугубо практических задач, в основном связанных с численным
моделированием. Этот цикл статей появились как обощение опыта,
накопленного за последние десять лет при решении таких вот сугубо
практических задач (отсюда и название).
Для кого же предназначены эти статьи? Сразу можно сказать для кого эти статьи
не
предназначены - для людей, считающих себя "профессиональными
программистами" (точнее "Настоящими Профессиональными Программистами",
в зависимости от уровня профессионализма число заглавных букв может
меняться как в ту, так и в другую сторону). К сожалению мне нечего им
рассказать о программировании, все что я об этом знаю они знают
гораздо лучше и могут сформулировать гораздо правильнее, и я заранее
смиренно согласен со всей критикой, звучащей с их стороны. Настоящие
профессинальные программисты действительно великолепно знают
как правильно писать программы, но им довольно сложно объяснить
что именно нужно написать, крайне сложно объяснить
зачем это нужно написать, и совершенно невозможно объяснить
почему
нужно написать именно это, а не что то иное. Поэтому дилетанты (вроде
автора), умеющие чуть чуть программировать и знакомые с предметной
областью, все еще востребованны;-).
Эти статьи предназначена для таких же дилетантов как и я, которые уже знают
Python,
и которым приходится в силу своих скромных дилетантских возможностей
решать какие то свои сугубо практические задачи. Как дилетант я
искренне убежден, что плохой (но работающий) код гораздо лучше хорошей
(но неработающей) концепции кода, хотя и хуже хорошего работающего
кода, поскольку любой работающий код приносит ощутимую пользу, а
концепция способна доставить лишь эстетическое наслаждение. В этих
статьях описано создание работающего кода (мне он кажется хорошим, но
профессиональные программисты могут и не согласится), причем описано по
возможности подробно, с большим количеством примеров - часть статей
писались как учебные материалы по кафедральному спецкурсу "Соврменные
технологии численного моделирования", читаемому на Факультете
прикладной математики Московского физико--технического Института.
Я глубоко благодарен своим коллегам и сообществу сайта
www.linux.org.ru за обсуждение и многочисленные полезные замечания.
- Импорт С++ кода в Python при помощи пакета SWIG [PDF] 420К.
- Разбор аргументов командной строки на Python [PDF] 366K. Модуль bindopt.py входит в библиотеку aivlib, но может использоваться самостоятельно, документация по модулю входит в документацию по библиотеке aivlib.
- Модуль myTkinter - упрощенное создание оконных интерфейсов [PDF] 209К. Модуль myTkinter.py входит в библиотеку aivlib, но может использоваться самостоятельно, документация по модулю входит в документацию по библиотеке aivlib.
- Клиент/серверные приложения на Python - записки дилетанта (часть I) [PDF] 273K. Пакет mysocket (файлы __init__.py, client.py, mixt.py, server.py и transport.py) входит в библиотеку aivlib,
но может использоваться самостоятельно, документация по пакету входит в
документацию по библиотеке aivlib (во всяком случае мы над этим
работаем).
Файлы с примерами к статьям находятся
тут.