Ввод Scala в мою компанию - PullRequest
9 голосов
/ 31 мая 2010

Теперь я знаю, что это на самом деле не очень технический вопрос, но тот, который беспокоит меня в течение некоторого времени. На самом деле мы используем много C ++ и PHP в нашей компании, и некоторые из наших разработчиков действительно надеются, что появится новый и современный язык, который поможет нам стать более продуктивными. Я говорил о том, что может делать scala, и другие программисты, кажется, проявляют некоторый интерес к языку. Трудная задача состоит в том, как убедить своего босса рассматривать скалу как язык для компании. Я видел презентацию «Sneaking Scala в вашу компанию», но она касается ситуации, когда вы используете Java в вашей компании, а мы нет.

Как вы боретесь с обычными аргументами «это просто эзотерика» и «мы уже можем сделать это в $ LANGUAGE». Я планировал выступить с докладом о Scala, и, поскольку у меня не так много времени, мне нужны идеи, как заинтересовать людей языком, а не настройка реакций типа «карри», мы уже можем сделать что-то подобное с boost :: связывать».

Как вы, ребята, сделали это?

С уважением, raichoo

РЕДАКТИРОВАТЬ: дал мой разговор вчера, люди были очень взволнованы. Моя компания собирается попробовать! Спасибо за все ваши предложения.

Ответы [ 8 ]

11 голосов
/ 31 мая 2010

Если у вас еще нет аргументов убийцы, на чем вы основываете свое мнение о том, что Scala сделает вашу компанию более продуктивной?

Не любите что-то, а потом охотитесь по причинам, чтобы использовать это на работе. Пусть причины говорят сами за себя ..

"Молоток ищет гвозди"

8 голосов
/ 31 мая 2010

Использование его для выполнения каких-либо действий по сторонам, таких как миграция данных, тестирование и подобные вещи, обеспечит получение необходимого опыта и может дать ему некоторое представление.

ScalaTest действительно хорош, чтобы помочь с приемочным / интеграционным тестированием. (Да, я знаю, что это хорошо для модульного тестирования, но я не вижу, чтобы это немедленно происходило с целевым кодом C ++ / PHP, и это, вероятно, было бы неразумно).

Proof of Concept и другие прототипы хороши по двум причинам

1) Это демонстрирует возможности

2) Вы уверены, что они будут отброшены, если вам придется переопределить их в C ++ / PHP

Теперь плохое время для знакомства с Scala наступит, когда вам ДЕЙСТВИТЕЛЬНО это понадобится: надежды будут велики, они не будут работать сразу же, как задумано, надежды разбиты, и все будут обвинять Scala. В результате в организации он будет долго гореть.

Рано или поздно какой-то костюм подумает, что это была его идея представить Scala и использовать ее в формальном проекте. Если этот проект умеренно успешен, то он продан.

Подобные изменения являются сложными для людей проблемами, и чем сильнее вы толкаете, тем сильнее вы сталкиваетесь с откатом назад. С другой стороны, настойчивый ум может двигать горы.

8 голосов
/ 31 мая 2010

Переделайте часть своего кода, связанного с работой, в Scala и сравните KLOC, структуру кода и производительность, если он выглядит и работает лучше, покажите его своим коллегам и менеджерам.

Другими словами:

Обсуждение дешево. Покажи мне код. - Торвальдс, Линус (2000-08-25)

4 голосов
/ 31 мая 2010

В случае нашей компании (и я полагаю, что многие компании используют один и тот же сценарий), переход на Scala (с Java) был инициирован техническими специалистами, которые 1. хотели работать более продуктивно, написав код (живя в 21 веке использовать современные подходы), 2. иметь меньше проблем при создании параллельных приложений (концепция Actors, продвигаемая Scala, намного проще, чем параллелизм на основе потоков Java) 2.1 имеет более простой способ построения масштабируемых поэтапно управляемых событий.

В нашей компании переход на Scala был более или менее простым, поскольку Scala была продана деловым людям в виде библиотеки для Java :) -> из их POV мы по-прежнему используем ту же платформу (JVM), приложение серверы и т. д., но разработчики получают больше удовольствия от своей работы, и поэтому они более вдохновлены и работают более эффективно.

3 голосов
/ 31 мая 2010

Я еще не использовал Scala для какого-либо реального бизнес-кода, но я знаю людей, которые имеют.

Одна группа использовала его для написания инструмента для анализа файлов журнала. Поэтому они использовали его не для критически важного бизнес-кода, а для некритического инструмента поддержки проекта.

Другой человек, которого я знаю, - архитектор, и он просто пошел и написал немного кода Scala самостоятельно для некоторого производственного кода, не сказав своему менеджеру. После успешного развертывания кода он сказал об этом. Одна из вещей, которые он упомянул, заключается в том, что поскольку Scala работает на JVM, люди, которые поддерживают приложение, даже не замечают - для них Scala - это просто еще одна библиотека, которая включена в приложение (они уже использовались для JVM). Конечно, такой подход является рискованным, и не все будут в таком положении или захотят это сделать.

Вы можете начать с малого - используйте его в качестве личного предпочтительного языка сценариев для мелких вещей, которые вам нужны сами. Расскажите об этом вашим коллегам-разработчикам и сделайте их энтузиастами. Если они также начнут использовать его, вы можете увеличить его, чтобы создать дополнительный код для вашего проекта (например, такой как инструмент анализа журналов).

3 голосов
/ 31 мая 2010

Может быть, вы могли бы представить Scala, демонстрируя набор инструментов, который используется для разработки? Например, если вы еще не используете Eclipse в своей компании, покажите своим руководителям демонстрацию того, что может сделать современная IDE для вашей производительности.

Существует книга под названием «Бесстрашные перемены» («Линда Ризинг»), в которой описывается язык шаблонов для «бессильных лидеров» (Я ЛЮБЛЮ это название роли!). У SE-radio было действительно мотивирующее интервью с автором: http://www.se -radio.net / podcast / 2009-06 / episode-139-fearless-change-linda -ising . Послушайте это интервью, чтобы собрать несколько нетехнических стратегий, которые могут помочь вам в этой борьбе!

2 голосов
/ 31 мая 2010

Дэвид Коупленд (David Copeland) на Scala Days 2010 очень хорошо поговорил:

Проникновение Scala в вашу организацию

Краткое содержание: Тестирование. Вы можете использовать Scala для тестирования, не затрагивая код выпуска.

2 голосов
/ 31 мая 2010

Это не очень простая задача. Я бы сосредоточился на том факте, что вы сможете создавать код и, следовательно, продукты быстрее и с более высоким качеством. Это всегда две причины, бизнес хочет услышать от вас и выслушает.

Может быть, вы можете показать пример 1-2 очень маленьких проектов, которые вы делали в своей компании на C ++ / PHP, и сравнить усилия, качество и т. Д. С аналогичной / той же реализацией в Scala? Это было бы очень впечатляюще и должно убедить людей, которые не занимаются программированием.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...