Как продать Python клиенту/боссу/человеку

Когда вас попросят создать систему XYZ, и вы попросите сделать это в Python через PHP или Ruby, какие основные функции вы можете упомянуть, когда они потребуют от вас объяснения?

Ответ 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 профессионально.