metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2013-01-08 07:33 pm
Entry tags:

Знаете ли вы, что

Scala - это Haskell в жабьей шкуре?

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

Язык знатно безумный, я почти Programming in Scala дочитал. И кое-какие вещи там сильно похожи на решение некоторых проблем с наследованием и зависимостями типов друг от друга, которых мне не хватало в дельфи и дотнетах :)

[identity profile] eleon.livejournal.com 2013-01-08 04:58 pm (UTC)(link)
Наивно предполагать, что менеджеры настолько умны, что будут смотреть на языковые конструкции. Скорее погуглят или спросят знакомых :)

[identity profile] metaclass.livejournal.com 2013-01-08 05:02 pm (UTC)(link)
Ну ты спросишь у меня или айседа. Мы скажем, что все ок. "Приехали".
Кроме того, к тому времени как ты спросишь - у тебя уже будет немалый code-base написанный на диком языке и от разработчика, который фанатик и авторитет в команде, и успел заразить других :)

[identity profile] 4da.livejournal.com 2013-01-08 05:05 pm (UTC)(link)
хитрый план - делать синтаксис похожим на общепринятый

[identity profile] eleon.livejournal.com 2013-01-08 05:09 pm (UTC)(link)
Это если я приду в новый проект. А если он будет стартовать с нуля, то я погуглю, наткнусь на твой постег, скажу "Ах Хаскель? нет пути" и не пушшу скалу.
Будем все писать артурегами на жабе :)

[identity profile] evil-invader.livejournal.com 2013-01-08 05:11 pm (UTC)(link)
вот я тоже с энтузиазмом начал изучать, потому что по началу очень напоминала улучшенную Java. Но как погрузился, понял, что не всё так просто и надо приложить много усилий, чтобы нормально писать на этом языке. Надо найти манагера, который будет мне платить за то, что я использую этот язык. Забесплатно его изучать пока нету времени =)

[identity profile] metaclass.livejournal.com 2013-01-08 05:22 pm (UTC)(link)
Да язык не сильно сложный. Там то можно хаскелятину навернуть, но не нужно, ибо есть мутабельность и нечисть в плане IO.

Меня больше беспокоит инфраструктура. Вот я хочу создать с нуля заготовку проекта на скале. Я то могу это с нуля сделать, но хотелось бы как в кложуре - lein init и понеслась. А создание с нуля изучить попозже.

[identity profile] evil-invader.livejournal.com 2013-01-08 06:04 pm (UTC)(link)
Может не сильно сложный, но нюансов очень много. И нужно километры кода написать, прежде чем всё запомнишь.

А по поводу инфраструктуры - берёшь джавовскую инфраструктуру и вперёд. Можно даже встраивать просто в проект на джаве.

(Anonymous) 2013-01-08 06:18 pm (UTC)(link)
mvn archetype:generate?

[identity profile] metaclass.livejournal.com 2013-01-08 06:27 pm (UTC)(link)
Да, придется мавен.

[identity profile] veter-r-r.livejournal.com 2013-01-08 07:21 pm (UTC)(link)
В приличных командах за слово xslt сразу бьют в морду!

[identity profile] golikov konstantine (from livejournal.com) 2013-01-08 07:26 pm (UTC)(link)
https:// github. com/softprops/np

np name:my-project org:com.mypackage version:0.1.0-SNAPSHOT
и поехали

[identity profile] w00dy.livejournal.com 2013-01-08 07:36 pm (UTC)(link)
Вы просто его готовить не умеете.

[identity profile] xeno-by.livejournal.com 2013-01-08 08:15 pm (UTC)(link)
Кто-то, я слышал, юзает https://github.com/n8han/giter8.

[identity profile] golikov konstantine (from livejournal.com) 2013-01-08 09:36 pm (UTC)(link)
ну он не совсем ведь new project -- он ведь по заранее написанным шаблонам (аля архетипы в мавене) делает

[identity profile] migmit.livejournal.com 2013-01-08 09:52 pm (UTC)(link)
Скорее, это C++ в Хаскельной шкуре. Маскируется от зоркого ока разработчиков, чтобы к тому времени, когда до них дойдёт, во что они вляпались, было уже поздно.

[identity profile] juan-gandhi.livejournal.com 2013-01-09 01:29 am (UTC)(link)
Тсс...

[identity profile] thedeemon.livejournal.com 2013-01-09 05:08 am (UTC)(link)
Вот только попытки использовать ее как хаскель упираются в кучу ограничений, получается недо-хаскель с остатками жабьего синтаксиса.

[identity profile] evil-invader.livejournal.com 2013-01-09 06:41 am (UTC)(link)
По личным ощущениям - небольшой набор маргинальных компаний (я конечно могу ошибаться). Да и вообще я не очень верю в то, что Scala заменит Java, поэтому пока что для себя не вижу веских причин ей (скалой) серьёзно заниматься.

[identity profile] juan-gandhi.livejournal.com 2013-01-09 07:03 am (UTC)(link)
:) "Я не верю." Ну не верьте, кто ж заставляет-то.

Помню, как надо мной в 97-м смеялись, когда я говорил. что джава в массовом порядке заменит этот дурацкий си++.

[identity profile] nivanych.livejournal.com 2013-01-09 07:09 am (UTC)(link)
Мне он показался заметно сложнее хаскеля.

[identity profile] isorecursive.livejournal.com 2013-01-09 07:18 am (UTC)(link)
По сравнению с хаскелем ограничения есть в выводе типов и унификации конструкторов типов, но в остальном-то система типов гораздо интереснее, гибче, богаче и фундаментальнее, не говоря уже о всех остальных прелестях языка.

@ попытки использовать ее как хаскель
Кстати, попытки использовать хаскель как скалу:
http://okmij.org/ftp/Haskell/ScalaCake.hs
попытки использовать хаскель как джаву:
http://wadler.blogspot.com/2008/02/data-types-la-carte.html

[identity profile] thedeemon.livejournal.com 2013-01-09 07:42 am (UTC)(link)
Чем именно скаловская система типов фундаментальнее?

И каким боком последняя ссылка - "использовать хаскель как джаву"?

[identity profile] evil-invader.livejournal.com 2013-01-09 07:44 am (UTC)(link)
Либо вы реально хорошо разбираетесь и можете предсказать, как пойдут дела в мире ит, либо вы экстрасенс, либо вам повезло угадать. Я к сожалению такими навыками не обладаю. Так что для меня это игра в рулетку. Несколько лет назад вот выбирал куда перейти с делфи- на Java или на .Net. Выбрал Java и до сих пор не знаю угадал я или нет. А может вообще на питон надо было идти. Чёрт его знает.

Может поделитесь своими прогнозами?

[identity profile] isorecursive.livejournal.com 2013-01-09 08:12 am (UTC)(link)
Осознанием отношений порядка на типах, и, как следствие, присутствием сабтайпинга (как номинативного, так и структурного) и bounded-полиморфизма; первоклассностью модулей, и, как следствие, присутствием концепций, возникающих из косвенности типов относительно содержащих их модульных контекстов - type-members (как в некоторых ml) и path-dependent типов.

@ каким боком последняя ссылка - "использовать хаскель как джаву"?
Ну здесь я, пожалуй, слегка погорячился. Просто Вадлер как-то раз озвучил проблему, сразу же решил её на Java F-bounded полиморфизмом и паттерном Visitor, но с тех пор регулярно пишутся пейперы с какими-то мозговыносящими трюками на тайпклассах, кодированием в них частных случаев сабтайпингов и так далее.
Edited 2013-01-09 08:19 (UTC)

Page 1 of 4