|
Чтобы выбрать: Scala vs Android
|
|||
---|---|---|---|
#18+
авторЯ однозначно отвергаю аргумент “отлично, тогда мы найдем более профессиональных разработчиков”. Нам стоит решать проблему “Scala is hard”, работая над улучшением компетентности разработчиков вцелом (одни, кто сможет читать сигнатуры типов, другие — выражать свои программы используя математические подходы и т.д.), но мы отдаляемся от сути. А суть в том, что Scala не так хорошо подходит для начала революции в обучении , образовании или найме, как подходит для повышения профессионализма среднего разработчика, с целью перестать быть для него сложной. +1. не понимаю как можно начинать обучение скалы с обучения скалы )) нужно начать с хаскеля, а лишь потом использовать скалу в качестве более практичного инструмента. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2011, 03:51 |
|
Чтобы выбрать: Scala vs Android
|
|||
---|---|---|---|
#18+
Clojure vs Scala - anecdote авторВ связи с моим предстоящим выступлением на встрече разработчиков Scala решил накинуть говна на вентилятор перевести появившийся недавно Clojure use case. Оригинал появился сегодня рано утром и взят отсюда. "Хотелось бы немного поделиться нашим опытом из World Singles... В ноябре 2009-го мы начали разрабатывать на Scala. Нам нужен был очень длительный процесс, который публиковал бы большие тома изменений из нашей БД пользователей в виде XML-пакетов, опубликованных в кастомном поисковом движке. Отобразить пол дюжины таблиц из БД на XML было довольно сложно, и компания уже перепробовала несколько решений с разным успехом. Я предложил Scala, основываясь на производительности, конкурентности, типобезопасности и краткости (особенно учитывая, что XML -- родная структура данных в Scala). Мы использовали публикующие демоны на Scala в продакшене больше двух лет. В основном, они работали неплохо, однако при высокой нагрузке часто выкидывали исключения Out of Memory. После длительного ковыряния в коде, мы пришли к выводу, что это происходило благодаря (по крайней мере, частично) дефолтной реализации акторов в Scala. Scala должна скоро объединиться с Akka, и, так или иначе, мы раздумывали о миграции на Akka... Но после того, как мы начали использовать Clojure в этом году (после экспериментов с Clojure с мая этого года) выяснилось, что довольно просто реализовать Clojure-версию нашего Scala-кода. Чтобы по-новой создать публикующего демона, потребовалось около 15-ти часов работы, после которых стали проходить все наши функциональные тесты. Теперь мы запускаем полный тест, публикующий более 300 000 профайлов за раз. Scala-код вылетает с OoM-исключением уже на 50 000 профайлов (иногда даже меньше). А Clojure-код вышел сухим из воды и спокойно работает на таких нагрузках. Теперь мы собираемся заменить наш Scala-код на Clojure-код в следующем продакшен-билде. Другая интересная особенность заключается в том, что Scala-код занял около 1000 строк (примерно 31k символов). Аналог на Clojure занял всего 260 строк и 11.5к символов. Ни тот, ни другой исходник не содержит большого числа комментариев (кгмм... я не горжусь этим, конечно, а просто показываю, что ни в одном из исходников нету лишнего текста, мещающего сравнивать их по объему). В сравнении также не учитывается код юнит-тестов, так что мы сравниваем чистый продакшен-код. Clojure-код написан по тем же принципам, что и Scala-код, в основном с теми же самыми функциями (Scala-код был написан в функциональном стиле), с небольшим рефакторингом для извлечения helper-функций и повышения модульности и упрощения поддержки. В результате, понятное дело, мы берем в продакшен Clojure-код и полностью отказываемся от Scala. Слава Ричу Хикки и Сlojure/core-команде за разработку такого великолепного языка общего назначения, решающего большие задачи! Спасибо вам!" мне кстати кложурка очень нравится. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2011, 18:54 |
|
Чтобы выбрать: Scala vs Android
|
|||
---|---|---|---|
#18+
ZyK_BotaN, не уверен, поняли вы или нет из перевода, но автор оригинала статьи просто стебется. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2011, 03:03 |
|
Чтобы выбрать: Scala vs Android
|
|||
---|---|---|---|
#18+
mikkriZyK_BotaN, не уверен, поняли вы или нет из перевода, но автор оригинала статьи просто стебется. в каждой шутке есть доля шутки, а остальное правда. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2011, 03:28 |
|
Чтобы выбрать: Scala vs Android
|
|||
---|---|---|---|
#18+
ZyK_BotaNmikkriZyK_BotaN, не уверен, поняли вы или нет из перевода, но автор оригинала статьи просто стебется. в каждой шутке есть доля шутки, а остальное правда. я выше выделил абзац с которым полностью согласен: 11238249 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2011, 03:29 |
|
Чтобы выбрать: Scala vs Android
|
|||
---|---|---|---|
#18+
mikkriZyK_BotaN, не уверен, поняли вы или нет из перевода, но автор оригинала статьи просто стебется. Вы про какую ссылку пишите? Просто я этого не понял, хочу понять, к какой не нужно серьезно относится. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2011, 07:45 |
|
Чтобы выбрать: Scala vs Android
|
|||
---|---|---|---|
#18+
ZyK_BotaNвот перевод статьи на хабре запостили: ... Конечно, у вас могут быть свои мысли на это счет. Но я, определенно, согласен с утверждением, что Scala для средней команды сложна. И не только сложна, но еще может и не принести ни в ближайшем, ни в дальнейшем будущем каких-либо преимуществ. ... я выделил основную мысль =) Scala наверное подходит для того, чтобы развиваться самому и поднимать уровень тех, кто хочет. В большинстве софтверных компаний рядовые разработчики - это середнячки, кто-то сильнее, кто-то слабее. И именно они создают тонны кода на каждый чих заказчика, а на следующий чих переписывают их почти с нуля. Можно ли заменить середнячков на профи - можно, но заказчик не пойдет на увеличение стоимости проекта в 2-3 раза. Да и профи далеко не на каждый проект можно нанять - нужно чтобы кроме бабла, которое они и так будут получать, проект был интересным и позволял развиваться. Какое развитие может принести допиливание учетной системы или привинчивание очередного костыля к сонму уже приделанных? И появляется целый класс задач на которых профи исчезающе мало и новых не придет, а середнячков против воли вытянуть на что-то сложное типа scala не реально ;) Итого: для само развития отдельных личностей Scala подходит, а вот для постоянной разработки на ней в больших софт-компаниях - нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2011, 09:18 |
|
Чтобы выбрать: Scala vs Android
|
|||
---|---|---|---|
#18+
VoDA, я бы развил ещё дальше. Программировать на ФП не рационально. Футурологи говорят, к 2050 году на носитель будет перезаписан интеллект с нейронов. Так что мы перескочим через ФП на какой-нить КП. ______________________________________________ "Сложнее всего в мире достигнуть простоты — это крайняя граница опыта и последнее усилие гения". © George Sand. AutoPOI.ru — ГИС-технологии для Oracle ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2011, 09:28 |
|
Чтобы выбрать: Scala vs Android
|
|||
---|---|---|---|
#18+
LeonidvmikkriZyK_BotaN, не уверен, поняли вы или нет из перевода, но автор оригинала статьи просто стебется. Вы про какую ссылку пишите? Просто я этого не понял, хочу понять, к какой не нужно серьезно относится. к той где говорится, что скала - сложна. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2011, 10:46 |
|
Чтобы выбрать: Scala vs Android
|
|||
---|---|---|---|
#18+
Petro123VoDA, я бы развил ещё дальше. Программировать на ФП не рационально. Футурологи говорят, к 2050 году на носитель будет перезаписан интеллект с нейронов. Так что мы перескочим через ФП на какой-нить КП. ______________________________________________ "Сложнее всего в мире достигнуть простоты — это крайняя граница опыта и последнее усилие гения". © George Sand. AutoPOI.ru — ГИС-технологии для Oracle ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2011, 10:48 |
|
Чтобы выбрать: Scala vs Android
|
|||
---|---|---|---|
#18+
Petro123Так что мы перескочим через ФП на какой-нить КП. Что за КП ? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2011, 10:53 |
|
Чтобы выбрать: Scala vs Android
|
|||
---|---|---|---|
#18+
NixicPetro123Так что мы перескочим через ФП на какой-нить КП. Что за КП ? квантовое, не? ходя для квантовых вычислений хорошо подойдет уже существующая парадигма логического программирования. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2011, 10:55 |
|
Чтобы выбрать: Scala vs Android
|
|||
---|---|---|---|
#18+
ZyK_BotaN Система типов в Scala является чрезвычайно мощной, но, с Вашей точки зрения, возможно, даже чересчур. В ScalaDocs некоторые сигнатуры могут выглядеть очень устрашающе. Гляньте на flatMap [B, That] (f: (A) ⇒ Traversable[B])(implicit bf: CanBuildFrom[List[A], B, That]) : That и теперь попробуйте мне сказать, что это не взорвало Ваш мозг. Этот метод новички используют каждый день, а, возможно раз 20 за день. Документация Scala нуждается в библиотеке, которая бы скрывала всю эту сложность. Сложность, делающую метод flatMap невероятно мощным. Для системы типов и сопутствующей документации необходим более простой и понятный пользователю режим отображения.такая надуманная феерическая мура. новичек будет втыкать с примеры и екзамплы и бэст практики взятые с интернета и разберется за месяц-полгода и ему пофиг какая на самом деле сигнатура у метода flatMap, будет копи-пастить примеры и перекраивать под себя как делают и джависты и сишарпщики. Никто код "из головы" вслепую не пишет И потом, кто не разберется в таких сигнатурах, займут место кобольщиков, отойдут в историю программирования. в конце концов есть инженеры разрабатывающие станки с чпу, а есть те у кого хватает ума только подносить в эти станки болванки и нажимать кнопку, запуская программу обработки болванки. И те и другие люди нужны и если вторые не могут асилить чертежи станка с ЧПУ то это не значит что инженерам нужно срочно побросать свои CADы и CAMы и стать на место подносчиков болванок. "ниасилил- метлу в руки и дворником работай". А то эти стоны "Нам нужен вижуал бэйсик. Но чтобы сцуко мощный! Но сцуко при этом простой такой как HTML и эффективный как C++" уже подзадостали ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2011, 14:20 |
|
Чтобы выбрать: Scala vs Android
|
|||
---|---|---|---|
#18+
Kenny FartmanZyK_BotaN Система типов в Scala является чрезвычайно мощной, но, с Вашей точки зрения, возможно, даже чересчур. В ScalaDocs некоторые сигнатуры могут выглядеть очень устрашающе. Гляньте на flatMap [B, That] (f: (A) ⇒ Traversable[B])(implicit bf: CanBuildFrom[List[A], B, That]) : That и теперь попробуйте мне сказать, что это не взорвало Ваш мозг. Этот метод новички используют каждый день, а, возможно раз 20 за день. Документация Scala нуждается в библиотеке, которая бы скрывала всю эту сложность. Сложность, делающую метод flatMap невероятно мощным. Для системы типов и сопутствующей документации необходим более простой и понятный пользователю режим отображения.такая надуманная феерическая мура. новичек будет втыкать с примеры и екзамплы и бэст практики взятые с интернета и разберется за месяц-полгода и ему пофиг какая на самом деле сигнатура у метода flatMap, будет копи-пастить примеры и перекраивать под себя как делают и джависты и сишарпщики. Никто код "из головы" вслепую не пишет И потом, кто не разберется в таких сигнатурах, займут место кобольщиков, отойдут в историю программирования. в конце концов есть инженеры разрабатывающие станки с чпу, а есть те у кого хватает ума только подносить в эти станки болванки и нажимать кнопку, запуская программу обработки болванки. И те и другие люди нужны и если вторые не могут асилить чертежи станка с ЧПУ то это не значит что инженерам нужно срочно побросать свои CADы и CAMы и стать на место подносчиков болванок. "ниасилил- метлу в руки и дворником работай". А то эти стоны "Нам нужен вижуал бэйсик. Но чтобы сцуко мощный! Но сцуко при этом простой такой как HTML и эффективный как C++" уже подзадостали вот здесь я с тобой соглашусь полностью. дурной пример с типами он привел. нефиг разрабов за придурков держать. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2011, 23:18 |
|
Чтобы выбрать: Scala vs Android
|
|||
---|---|---|---|
#18+
LeonidvmikkriZyK_BotaN, не уверен, поняли вы или нет из перевода, но автор оригинала статьи просто стебется. Вы про какую ссылку пишите? Просто я этого не понял, хочу понять, к какой не нужно серьезно относится. Scala is hard ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2011, 10:24 |
|
Чтобы выбрать: Scala vs Android
|
|||
---|---|---|---|
#18+
дискуссия интересная, но ушла куда-то совершенно не туда те, кто не врубается в ФП, пытается доказать тем, кто врубается, что ФП не нужно, т.к. на него нет спроса это всё равно что в 1997 году обсуждать, нужны ли многоплатформенные виртуальные машины и какая вообще от них польза "нет же спроса"... ну _пока_ нет, но надо следить за мейнстримом, это же айти, тут всё меняется за 10 лет всё весьма и весьма существенно мне кажется, лет через 10 Scala будет *повсеместно* используемым языком для разработки бизнес-приложений, таким же, как сейчас Java почему - потому что Одерский же не просто так назвал её "SCAlable LAnguage" потому что в Scala в рамках _одного_ языка можно писать сложные умозаворотные фреймворки, и даже DSLи - но использовать эти фреймворки и DSLи может и зелёный новичок, и даже бизнес-аналитик вот это как мне кажется её самый главный selling point - разделение труда между теми, кто реализует архитектурные рамки приложения, и теми, кто их наполняет конкретной бизнес-логикой ФП в Scala в этом смысле не самоцель, но инструмент для достижения этой цели всё остальное - то, что она работает на JVM, использует существующую тучу Java-библиотек - чисто прагматические моменты, которые облегчают её индустриальное использование так как очень просто встроить модуль на Scala в существующее Java приложение для того, чтобы с минимумом рисков оценить её применимость - очень просто убедить в этом команду разработчиков и начальство сам такое видел уже не раз так что не желающие изучать новые парадигмы (ФП и синтаксис Scala) - через 10 лет вам придётся конкурировать с огромными толпами пишущих на Java индусов ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2011, 12:02 |
|
Чтобы выбрать: Scala vs Android
|
|||
---|---|---|---|
#18+
Добрый день, zeehond! > мне кажется, лет через 10 Scala будет *повсеместно* используемым языком > для разработки бизнес-приложений, таким же, как сейчас Java В любом случае, исключая споры офтопы, все так и отвечают- scalal надо учить для развития, а деньги сейчас зарабатывать на андроиде. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2011, 12:17 |
|
Чтобы выбрать: Scala vs Android
|
|||
---|---|---|---|
#18+
zeehondмне кажется, лет через 10 Scala будет *повсеместно* используемым языком для разработки бизнес-приложений, таким же, как сейчас Java а почему именно скала? че не хаскель например? или если рассматривать жавовскую платформу, то почему не кложур? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2011, 12:44 |
|
Чтобы выбрать: Scala vs Android
|
|||
---|---|---|---|
#18+
zeehond так что не желающие изучать новые парадигмы (ФП и синтаксис Scala) - через 10 лет вам придётся конкурировать с огромными толпами пишущих на Java индусов вот сегодня скала никому не уперлась, дак почему изучать фп парадигму на примере скалы? не будет ли проще изучать фп на примере хацкеля, а "лет через 10 Scala будет *повсеместно* используемым языком для разработки бизнес-приложений, таким же, как сейчас Java"(с) изучить скалу и использовать себе ее во благо? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2011, 12:46 |
|
Чтобы выбрать: Scala vs Android
|
|||
---|---|---|---|
#18+
ZyK_BotaN"лет через 10 Scala будет *повсеместно* используемым языком для разработки бизнес-приложений, таким же, как сейчас Java"(с) Зачем на глупость ещё и копирайт ставить? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2011, 12:55 |
|
Чтобы выбрать: Scala vs Android
|
|||
---|---|---|---|
#18+
zeehondэто всё равно что в 1997 году обсуждать, нужны ли многоплатформенные виртуальные машины и какая вообще от них пользавиртуальные машины упрощают разработку и некоторые фичи типа управляемой памяти. польза - сплошь упрощение. zeehond"нет же спроса"... ну _пока_ нет, но надо следить за мейнстримом, это же айти, тут всё меняется за 10 лет всё весьма и весьма существенноза 10 лет все может поменяться кардинально, но вот что будет мэйнстримом - ХЗ zeehondтак что не желающие изучать новые парадигмы (ФП и синтаксис Scala) - через 10 лет вам придётся конкурировать с огромными толпами пишущих на Java индусовя вас наверное удивлю, но в Северной столице основные конкуренты компаний пишущих софт на java это индусы. И эта конкуренция идет уже лет 8. Пока все живы ;) zeehondмне кажется, лет через 10 Scala будет *повсеместно* используемым языком для разработки бизнес-приложений, таким же, как сейчас Javaмногие бизнес-приложения уже сейчас пишутся на готовых платформах типа 1C или Dynamics AX и язык там совсем не java. ИМО мэйнстримные языки это простые языки для решения тех или иных задач. На языке 1С проще решать бухгалтерские и учетные задачи, на Х++ (язык Dynamics AX) проще решать задачи свойственные ERP системам, на java довольно просто пишутся и поддерживаются приложения с жизненным циклом 5-10 лет. Scala, как и perl, хорошо решают какую то задачу для которой и были созданы. Но насколько удобны они в других областях - большой вопрос. ИМО высокая гибкость языка это плюс для малых команд и жирный минус для больших, плюс для проектов на 1-3 месяца и минус для проектов по 3-5 лет. За 3-5 лет меняется (всегда!) команда начиная с архитектора и заканчивая разработчиками. Разработчики могут поменяться полностью несколько раз. Вопрос насколько легко и быстро команда с нуля изучит сделанный предыдущей командой DSL. Не ортогональность языка (возможность сделать одно и то же разными способами) еще одна медвежья услуга ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2011, 12:56 |
|
Чтобы выбрать: Scala vs Android
|
|||
---|---|---|---|
#18+
BlazkowiczZyK_BotaN"лет через 10 Scala будет *повсеместно* используемым языком для разработки бизнес-приложений, таким же, как сейчас Java"(с) Зачем на глупость ещё и копирайт ставить? что-бы не подумали что я сам такое мог ляпнуть. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2011, 12:57 |
|
Чтобы выбрать: Scala vs Android
|
|||
---|---|---|---|
#18+
Добрый день, ZyK_BotaN! > вот сегодня скала никому не уперлась, дак почему изучать фп парадигму на > примере скалы? В классических ФП языках очень бедный синтаксис. Особенно в хаскеле- одно и то же выражение, встретившееся в разных местах, означает разное. Это что мне не понравилось (спасибо, кстати, за статьи- почитал). Всё же scala имеет простой синтаксис в том смысле, что для синтаксического разбора не нужен семантический анализ. Соответственно читать проще. Кроме того, многие бизнес-приложения очень завязаны на состояния- БД с объектами. И половина бизнес-логики вне терминов этих состояний не описывается. Так что в чистых ФП с этим будут проблемы. А scala позволяет совмещать и то и то. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2011, 13:00 |
|
Чтобы выбрать: Scala vs Android
|
|||
---|---|---|---|
#18+
Добрый день, zeehond! > это всё равно что в 1997 году обсуждать, нужны ли многоплатформенные > виртуальные машины и какая вообще от них польза А почему в 97м, если они появились на четверть века раньше? ;) Просто машинки были слабоваты тогда... -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2011, 13:00 |
|
Чтобы выбрать: Scala vs Android
|
|||
---|---|---|---|
#18+
VoDAИМО высокая гибкость языка это плюс для малых команд и жирный минус для больших, согласен. надо фп - бери хаскель, там есть единые подходы решения проблем и единый стиль. а в скале намешана куча парадигм, а что с ними делать - хз. каждый пишет по своему. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2011, 13:01 |
|
|
start [/forum/topic.php?fid=13&msg=37432365&tid=1331834]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
28ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
others: | 249ms |
total: | 388ms |
0 / 0 |