Эта презентация расскажет простым языком о том, что за технология Python, какие у нее сильные и слабые стороны, кто ее использует и для каких проектов она подходит.
3. Кто будет рассказывать
Алексей Накоренко
Заместитель руководителя SD2 по развитию
E-mail: a.nakorenko@itransition.com
Skype: live:a.nakorenko
Моб. +375 25 9928961
«Ты будешь отвечать за то, чтобы в SD2 как можно больше
людей были заняты Python разработкой, юный подаван.»
(с)Вадим Нарейко
4. Что вы получите за эти 45 минут
Максимально полное описание технологии Python
человеческим языком.
Готовые к использованию ответы на основные возражения.
Хорошее настроение.
5. Что за Python?
Python— высокоуровневый язык
программирования общего назначения, ориентированный
на повышение производительности разработчика и
читаемости кода.
6. Высокоуровневый язык
Высокоуровневые языки созданы, в отличие от машинных,
скорее, для удобства разработчика. Если раньше писать
программы для ЭВМ могли только специалисты,
потратившие годы на детальное изучение технологий и
основ использования машинных кодов, то с появлением
таких возможностей этот процесс занимает намного
меньше времени.
Примеры: C++, C#, Java, JavaScript, Python, PHP, Ruby, Perl, Пас
каль, Delphi и т.д.
7. Низкоуровневый язык
Низкоуровневый язык программирования- язык
программирования близкий к машинным кодам,
то есть к системе команд конкретной
вычислительной машины. Отличается от
высокоуровневого языка большой сложностью
изучения, узкой специализацией и большими
объемами кода.
Примеры: Ассемблер, Forth
8. Интересные факты о Python
Возраст:
Язык программирования Год его появления
Perl 1987
Python 1991
Java 1995
PHP 1995
Ruby 1995
JavaScript 1995
C# 2000
9. Статистика по популярности Python
Популярность языков программирования
на июль 2013 года:
В среднем в мире около 43 000 000 программистов
По разным подсчетам от 4% до 10% из них позиционируют себя как Python
разработчики, еще часть имеют Python в стеке технологий.
Количество скачиваний Python с
официального сайта за 2014-й год:
Январь: 2,584,754
Февраль: 2,539,177
Март: 3,182,946
Апрель: 3,199,012
Май: 2,855,033
10. GitHub
GitHub — самый крупный веб-сервис для хостинга IT-проектов и их
совместной разработки. Основан на системе контроля версий Git и
разработан на Ruby on Rails и Erlang компанией GitHub, Inc (ранее Logical
Awesome).
Сервис абсолютно бесплатен для проектов с открытым исходным кодом и
предоставляет им все возможности (включая SSL), а для частных проектов
предлагаются различные платные тарифные планы.
Слоган сервиса — «Social Coding» — на русский можно перевести как
«Пишем код вместе».
На 2012-й год в обычный день на GitHub-е происходило следующее:
регистрировались 10k новых пользователей и создавали свой первый
репозиторий.
11. StackOverFlow.com
Stack Overflow — популярная система вопросов и
ответов о программировании, разработанная Джоэлем
Спольски и Джеффом Этвудом в 2008 году.
По данным на ноябрь 2013 года, сайт занимает 55 место по
посещаемости во всём мире по рейтингу Alexa Internet, а
количество уникальных посетителей составило в декабре
2010 года 18 миллионов человек.
12. Количество вопросов на
stackoverflow.com
800000
700000
600000
500000
400000
300000
200000
100000
0
Сравнение количества вопросов
Python
PHP
Java
C++
C#
Ruby
objective-C
13. С целью определились, теперь
задачи?
Задача: предложить заказчику такой вариант, который
позволит добиться ситуации win-win-win:
• Заказчик заплатил приемлемую для его бюджета сумму и его
устраивают сроки;
• Мы смогли быстро показать результаты при должном качестве;
• Вы легко продали;
Решение: Python !
15. Возражения:
Основные: Дорого, Долго, Нормальное ли качество?
Возможные:
• А что уже сделано на Python, есть ли сообщество, поддержка?
• Ограничен ли я лицензией на коммерческую разработку?
• А Python «подружится» с моей системой/базой данных/сторонним сервисом?
• Насколько дорогое(мощное) оборудование мне понадобится?
• А тормозить не будет?
• Моя система будет расти, накладно ли будет добавлять новые сервера и новый
функционал?
• Сложно ли обслуживать и поддерживать?
• Etc.
16. 1.Долго и дорого?
1. Возможность быстро сделать работающий прототип или
Proof of Concept (стартапы, возможность показать что-то на
этапе пресейла или при подготовке RFX). Это может
незначительно увеличить общую стоимость проекта, но при
этом за небольшие деньги заказчик получит первую
версию, которую можно «потрогать».
17. 1.Долго и дорого?
Не всегда с нуля:
Есть решения, которые можно адаптировать для: CRM, ERP,
Social Network, BI, e-commerce, документооборота,
сложнейших математических вычислений: (Высокая
популярность в научной среде как бесплатная и более
производительная замена Matlab, Scilab, Octave, FreeMat, ) .
18. 2. Нормальное ли качество?
Ошибки можно допустить везде, но в
данном случае структура языка такова,
что практически любой код, написанный
на Python можно без проблем прочитать,
понять что имелось ввиду, легко найти
ошибку, если таковая имеется.
19. 2. Нормальное ли качество?
def fib(n):
a, b = 0, 1
while a < n:
print(a, end=' ')
a, b = b, a+b
print()
fib(1000)
>>> 0 1 1 2 3 5 8 13
21 34 55 89 144 233
377 610
Примеры программ на Python:
list = [2, 4, 6, 8]
sum = 0
for num in list:
sum = sum + num
print("The sum is:", sum)
>>> The sum is: 20
fruits = ['Banana', 'Apple', 'Lime']
loud_fruits = [fruit.upper() for fruit
in fruits]
print(loud_fruits)
>>> ['BANANA', 'APPLE', 'LIME']
Числа фибоначи Сумма чисел в списке
Делает из списка слов,
написанных маленькими
буквами список слов,
написанный большими
буквами
20. А что уже сделано на Python, есть ли сообщество,
поддержка?
21.
22. Ограничен ли я лицензией на коммерческую разработку?
Python и подавляющее большинство
библиотек к нему бесплатны и поставляются
в исходных кодах.
Более того, в отличие от многих открытых
систем, лицензионная политика на Python
никак не ограничивает его использование в
коммерческих системах и не налагает
никаких обязательств. Пруфлинк
Иными словами, Python можно
использовать в коммерческих проектах!
23. А Python «подружится» с моей системой/базой данных/сторонним
сервисом?
Python легко интегрируется с
a)Языками программирования- Python, C/C++, Java,
.Net и др.
b)СУБД: Oracle, MySQL, PostgreSQL,
Sybase, Firebird (Interbase), Informix,
Microsoft SQL Server и SQLite, PostgreSql, MongoDB.
24. А Python «подружится» с моей системой/базой данных/сторонним
сервисом?
c)Для Python есть API или готовое решение
у любой уважающей себя системы или сервиса:
Крупные многоцелевые сервисы и поисковые системы:
Социальные сети:
Платежные системы:
25. А Python «подружится» с моей системой/базой данных/сторонним
сервисом?
Облачные хранилища:
Торговые площадки:
Системы рассылки:
Видео и аудио хостинги:
Энциклопедии:
26. Насколько дорогое (мощное) оборудование мне
понадобится?
Естественно все зависит от требований к разрабатываемому проекту,
но в целом Python можно запустить даже на обычном виртуальном
хостинге.
30. 6. Масштабируемость:
Горизонтальное масштабирование:
Возможность разделить систему на
более мелкие элементы и разнести их
по разным серверам.
Вертикальное масштабирование:
Возможность нарастить мощности
сервера.
Мы говорим, что сайт масштабируем, когда он может
выдерживать увеличение нагрузки без необходимости
внесения изменений в программное обеспечение.
31. 7.Support и поддержка
Проекты на Python легко поддерживать и добавлять в них
новые функции потому, что:
1. В мире более 3 000 000 Python разработчиков.
2. «Порог вхождения» в Python очень низок, что
позволяет программистам легко переходить на него с
других технологий.
3. Код, написанный на Python отличается краткостью,
лаконичностью, понятностью.
4. Любая другая компания, работающая с Python легко
сможет поддерживать и развивать проект т.к. код легко
передать.