Когда вас попросят создать систему XYZ, и вы попросите сделать это в Python через PHP или Ruby, какие основные функции вы можете упомянуть, когда они потребуют от вас объяснения?
Как продать Python клиенту/боссу/человеку
Ответ 1
Это один из тех случаев, которые действительно сводятся к личным предпочтениям или ситуационным деталям. Если вы более комфортно и опытны с Python, скажите так. Они просят вас оправдать это, потому что они более удобны с одной из других сред? После того, как вы закончите, система будет передана кому-то еще для долгосрочного обслуживания?
Если они попросят вас использовать технологию или язык, с которыми вы не знакомы, тогда убедитесь, что они знают, что это займет у вас больше времени.
Ответ 2
Лучшая продажа Python, которую я когда-либо видел, была у менеджера в нашей группе, у которого была молодая дочь. Он использовал цитату, приписываемую Эйнштейну:
Если вы не можете объяснить что-то шестилетнему ребенку, вы действительно не понимаете его сами.
Следующие несколько слайдов его презентации продемонстрировали, как он смог учить свою маленькую дочь некоторым базовым Python менее чем за 30 минут, с примерами кода, который она написала, и объяснением того, что он сделал.
Он закончил презентацию картиной своей дочери и ее цитатой "Программирование - это весело!"
Я бы сосредоточил внимание на удобстве использования Python и богатстве библиотек и фреймворков. Существует также множество небольших библиотек, которые вы не можете получить на других языках, и вам придется писать сами (т.е. Как разработчик С++ пишет Python).
Удачи!
Ответ 3
Это один из предпочтительных языков в Google. Он на несколько лет опережает Ruby с точки зрения "зрелости" (что на самом деле означает, но таких менеджеров). Так как он предпочитает Google, вы также можете запустить его в Google App Engine.
Mircosoft также охватывает Python и вскоре выпустит v2.0 IronPython. Они также работают над реализацией Ruby, но версия Python продвигается вперед и на самом деле "готова к прайм-тайм". Это дает вам возможность легко интегрироваться с .NET-кодом, а также возможность писать RIA на стороне клиента в Python при отправке Silverlight 2.
Ответ 4
Сосредоточьтесь на более коротком времени, необходимом для разработки/прототипа и, возможно, упрощенного обслуживания (ни одно из этого не может применяться против Ruby).
Ответ 5
Я бы подумал, что использование python в новом проекте полностью зависит от того, какую проблему вы пытаетесь решить с помощью python. Если вы хотите, чтобы кто-то согласился с вами, что вы должны использовать python, а затем покажите им, как функции python относятся конкретно к этой проблеме.
В случае веб-разработки с помощью python, поговорите о WSGI и других веб-библиотеках и фреймворках, которые вы могли бы использовать, это упростит вашу жизнь. Одна нота для python заключается в том, что большинство фреймворков для веб-разработки python можно подключить прямо к любому текущему проекту. С рубинами на рельсах вы практически работаете в DSL, и каждый, кто использует ваш проект, должен будет учиться. Если они знают python, тогда они могут выяснить, что вы делаете с django и т.д. В течение дня.
Я говорю только о веб-разработке, потому что кажется, что вы собираетесь работать над тем, чтобы увидеть рубины, python и PHP в том же списке. Реальное сообщение, которое важно применять к тому, что вам нравится в python, непосредственно к какой-либо проблеме, которую вы пытаетесь решить.
Ответ 6
Дайте им фрагмент кода в каждом (не более страницы), который выполняет какую-нибудь классную функцию, которая им понравится. (например, показывать выбросы в наборе данных).
Покажите им каждую страницу. Один в PHP, Ruby и Python.
Спросите у них, что им легче всего понять/прочитать.
Скажите им, почему вы хотите использовать Python. Легче читать, если вы его не написали, более управляемым, менее сложным и быстрым для создания функций, потому что это самый элегантный (pythonic)
Ответ 7
Я согласен с mreggen. Скажите им, работая на Python, вы можете быстрее сделать все. Быть быстрее, возможно, означает деньги, сэкономленные клиентом. По крайней мере, это означает, что вы работаете с более удобным языком, что означает более быструю разработку, отладку и время рефакторинга. Будет потрачено меньше времени на поиск документации о том, какую функцию использовать для поиска длины строки и т.д.
Ответ 8
Хотя все 3 языка универсальны и используются во всем мире программистами, Python все еще имеет некоторые преимущества по сравнению с двумя другими. Как по моему личному опыту: -
- Непрограммисты любят это (большинство из них выбирают Python в качестве своего первого компьютерного языка, здесь проверяют этот инфографический php vs python vs ruby )
- Несколько фреймворков (вы можете автоматизировать свои системные задачи, разрабатывать приложения для веб-приложений и ОС Windows/Mac/Android).
- Создание приложений OpenCV легко, чем MATLAB
- Тестирование сделано легко (вы можете работать на Selenium для всех видов веб-тестирования).
Концепции OOPS теперь следуют большинству языков, так как Python может остаться! Наследование, абстракция и инкапсуляция сопровождаются также Python.
На данный момент Python поделен на две версии, которые не отличаются друг от друга по производительности, но по функциям. Python2.x и Python 3.x имеют одинаковый синтаксис, за исключением некоторых операторов вроде: -
- напечатать "..." в Python2.x и print() в Python3.x
- raw_input() в Python2.x и input() в Python3.x(для получения пользовательского ввода)
В конце концов, клиент только заботится о деньгах, и Python помогает вам экономить много по сравнению с PHP и Ruby, потому что вместо найма опытных программистов вы можете сделать новичку учиться и использовать Python профессионально.