Как продать Python клиенту/начальнику/человеку [закрыто]
-
08-06-2019 - |
Вопрос
Когда вас просят создать систему XYZ и вы просите сделать это на Python вместо PHP или Ruby, какие основные функции вы можете упомянуть, когда от вас требуют объяснения?
Решение
Это один из тех случаев, которые действительно сводятся к личным предпочтениям или деталям ситуации.Если вам удобнее и у вас есть опыт работы с Python, так и скажите.Просят ли они вас оправдать это тем, что им более комфортно в одной из других сред?После того, как вы закончите, будет ли система передана кому-нибудь другому для долгосрочного обслуживания?
Если они попросят вас использовать технологию или язык, с которыми вы не так хорошо знакомы, убедитесь, что они заранее знают, что это займет у вас больше времени.
Другие советы
Лучше всего Python, который я когда-либо видел, продавал менеджер нашей группы, у которого была маленькая дочь.Он использовал цитату, приписываемую Эйнштейну:
Если ты не можешь объяснить что-то шестилетнему ребенку, ты действительно этого не понимаешь.
Следующие несколько слайдов его презентации продемонстрировали, как он смог научить свою маленькую дочь основам Python менее чем за 30 минут, с примерами написанного ею кода и объяснением того, что он делает.
Он завершил презентацию фотографией своей дочери и ее цитатой «Программирование — это весело!»
Я бы сосредоточил внимание на удобстве использования Python и богатстве библиотек и фреймворков.Существует также множество небольших библиотек, которые вы, возможно, не найдете на других языках и которые придется писать самостоятельно (т. Как разработчик C++ пишет Python).
Удачи!
Это один из предпочитаемых языков в Google. Он на несколько лет опережает Ruby с точки зрения «зрелости» (что бы это на самом деле ни значило, но менеджерам это нравится).Поскольку Google предпочитает его, вы также можете запустить его в Google App Engine.
Mircosoft также использует Python и вскоре выпустит версию IronPython 2.0.Они также работают над реализацией Ruby, но версия Python находится далеко впереди и фактически «готова к прайм-тайму».Это дает вам возможность простой интеграции с кодом .NET, а также возможность писать 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).
Я согласен с mreggen.Скажите им, что, работая на Python, вы сможете добиться результатов быстрее.Выполнение задач быстрее, возможно, означает экономию денег клиентом.По крайней мере, это означает, что вы работаете с языком, который вам более удобен, а это означает более быстрое время разработки, отладки и рефакторинга.Будет меньше времени потрачено на поиск документации о том, какую функцию использовать для определения длины строки и т. д.
Хотя Все три языка универсальны и используются программистами по всему миру., Python по-прежнему имеет некоторые преимущества перед двумя другими.Нравится Из моего личного опыта: -
- Непрограммистам он нравится (большинство из них выбирают Python в качестве своего первого языка программирования, посмотрите эту инфографику). PHP против Python против Ruby здесь)
- Несколько фреймворков (вы можете автоматизировать свои системные задачи, разрабатывать приложения для Интернета и ОС Windows/Mac/Android)
- Создание приложений OpenCV проще, чем MATLAB
- Легкое тестирование (вы можете использовать Selenium для всех видов веб-тестирования)
Концепции OOPS сейчас следуют большинству языков, так почему же Python может остаться позади!Наследование, абстракция и инкапсуляция также используются в Python.
На данный момент Python обычно разделен на две версии, которые мало чем отличаются с точки зрения производительности, но с точки зрения функций. Python2.x и Python 3.x оба имеют одинаковый синтаксис, за исключением некоторых утверждений, таких как: -
- Распечатать "..." в Python2.x и Распечатать() в Python3.x
- сырой ввод() в Python2.x и вход() в Python3.x (для получения пользовательского ввода)
В конце концов, клиент заботится только о деньгах, а Python помогает вам значительно сэкономить по сравнению с PHP и Ruby, потому что вместо того, чтобы нанимать опытных программистов, вы можете заставить новичка изучить и умело использовать Python.