Как продать Python клиенту/начальнику/сотруднику [закрыто]
Когда вас просят создать system XYZ, и вы просите сделать это на Python, а не на PHP или Ruby, какие основные функции вы можете упомянуть, когда они требуют, чтобы вы это объяснили?
8 answers
Это один из тех случаев, которые действительно сводятся к личным предпочтениям или ситуационным деталям. Если вам удобнее и опытнее работать с Python, так и скажите. Они просят вас оправдать это, потому что им удобнее в одной из других сред? После того, как вы закончите, будет ли система передана кому-то другому для долгосрочного обслуживания?
Если они попросят вас использовать технологию или язык, с которыми вы не так хорошо знакомы, убедитесь, что они заранее знают что это займет у тебя больше времени.
Лучшая продажа Python, которую я когда-либо видел, была сделана менеджером нашей группы, у которого была маленькая дочь. Он использовал цитату, приписываемую Эйнштейну:
Если вы не можете что-то объяснить шестилетнему ребенку, вы действительно сами этого не понимаете.
Следующие несколько слайдов его презентации продемонстрировали, как он смог научить свою маленькую дочь основам Python менее чем за 30 минут, с примерами кода, который она написала, и объяснением того, что это сделал.
Он закончил презентацию фотографией своей дочери и ее цитатой "Программирование - это весело!"
Я бы сосредоточился на удобстве использования Python и богатстве библиотек и фреймворков. Существует также множество небольших библиотек, которые вы, возможно, не получите на других языках, и вам придется писать самостоятельно (т.Е. Как разработчик C++ пишет Python).
Удачи!
Это один из предпочтительных языков в Google - он на несколько лет опережает Ruby с точки зрения "зрелости" (что бы это ни значило на самом деле - но менеджерам это нравится). Поскольку Google предпочитает его, вы также можете запустить его в движке приложений Google.
Mircosoft также использует Python, и в ближайшее время выйдет версия 2.0 IronPython. Они также работают над реализацией Ruby, но версия Python намного опережает и фактически "готова к прайм-тайму". Это дает вам возможность легкой интеграции с.ЧИСТЫЙ код, а также возможность писать RIA на стороне клиента на Python при отправке Silverlight 2.
Сосредоточьтесь на более коротком времени, необходимом для разработки/прототипа, и, возможно, более простом обслуживании (ничто из этого не может применяться к Ruby).
Я бы счел, что использование python в новом проекте полностью зависит от того, какую проблему вы пытаетесь решить с помощью python. Если вы хотите, чтобы кто-то согласился с вами в том, что вы должны использовать python, покажите им, как функции python применяются конкретно к этой проблеме.
В случае веб-разработки на python, расскажите о WSGI и других веб-библиотеках и фреймворках, которые вы могли бы использовать, чтобы облегчить себе жизнь. Одно замечание для python заключается в том, что большинство фреймворков для веб-разработка на python может быть подключена прямо к любому текущему проекту. С ruby on rails вы практически работаете в DSL, который должен изучить любой, кто использует ваш проект. Если они знают python, то они могут понять, что вы делаете с django и т. Д. За один день.
Я говорю только о веб-разработке, потому что, похоже, именно над этим вы будете работать, видя ruby, python и PHP в одном списке. Реальное послание, которое важно, относится к чему бы то ни было вам нравится в python напрямую к какой-то проблеме, которую вы пытаетесь решить.
Дайте им фрагмент кода в каждом (не более страницы), который выполняет какую-нибудь интересную функцию, которая им понравится. (например, показать выбросы в наборе данных).
Покажите им каждую страницу. Один на PHP, Ruby и Python.
Спросите их, что им легче всего понять/прочитать.
Скажите им, что именно поэтому вы хотите использовать Python. Его легче читать, если вы его не написали, он более управляемый, менее глючный и быстрее создает функции, потому что он самый элегантный (pythonic)
Я согласен с мреггеном. Скажите им, что, работая на Python, вы можете сделать все быстрее. Выполнение задач быстрее, возможно, означает экономию денег клиентом. По крайней мере, это означает, что вы работаете с языком, на котором вам удобнее, что означает более быстрое время разработки, отладки и рефакторинга. Будет меньше времени, потраченного на поиск документации о том, какую функцию использовать для определения длины строки и т.д.
Хотя Все 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 и выведите() в Python3.x
- raw_input() в Python2.x и ввод() в Python3.x ( для получения пользовательского ввода)
В конце концов, клиент заботится только о деньгах, и Python помогает вам значительно сэкономить по сравнению с PHP и Ruby, потому что вместо того, чтобы нанимать опытных программистов, вы можете заставить новичка учиться и умело использовать Python.