LINUX.ORG.RU

Scala

 


1

4

Стоит ли изучать? (в принципе фп мне нравится) Широко ли применяется? Можно ли найти работу джуниором в ДС и/или с relocation в загнивающий запад?

Перемещено mono из talks

★★★★
Ответ на: комментарий от pashazz

Да, геймдев - это мечта, но для этого мне еще учиться и учиться. Курс второй, делал много разных штук для себя, использовал в основном qt. Из функциональщины трогал standard ml и racket, понравилось, применения не нашел.

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

pashazz ★★★★
() автор топика
Ответ на: комментарий от lazy_aleks

Я лично собираюсь изучать opengl, sdl, и писать всякие тетрисы и шахматы. Но тут это дело тонкое, не знаю как оно пойдет, а вот энтерпрайз - почему бы и нет?

pashazz ★★★★
() автор топика

фп мне нравится

Можно ли найти работу

На ноль поделил. ФП = мамкин борщ. Если хочешь работать, забудь про ФП.

anonymous
()
Ответ на: комментарий от ymn

Низкая распространенность не всегда означает ненужность.

Любимая мантра маргиналов-борщехлебов.

anonymous
()
Ответ на: комментарий от pashazz

Так если ты хочешь в геймдэв, то зачем тебе функциональщина? Учи плюсы и в бой. Тем более в каком-никаком виде в плюсах есть элементы функциональщины. Я лучше бы начал с алгоритмов, потому что это действительно полезная вещь. Пригодится в любом случае, особенно в геймдэве.

lazy_aleks
()
Ответ на: комментарий от anonymous

Это при том, что весь мейнстрим тянет фп в свои язычки?

lazy_aleks
()
Ответ на: комментарий от pashazz

Да вам пора в кружок объединяться, у вас тут уже есть один лучший на курсе, еще оценками по зно хвастался.

ЕМНИП, он потом писал код типа

x = 1;
list.add(x);
list.get(list.size() - 1).setY()

замутите общину и будете овладевать планеткой.

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

anonymous
()

1. Стоит.

2. Стартаперами - довольно широко. В сформировавшихся компаниях не очень, особенно у нас, но потихоньку прокладывает дорогу. На скале делают многие интересные вещи, которым нет применения в консервативном энтерпрайзе, но в стартапах - просто конфетка (akka streams например).

3. Думаю, да. Но конечно не так легко, как на яве/шарпе.

ovk48 ★★★
()
Последнее исправление: ovk48 (всего исправлений: 1)
Ответ на: комментарий от pashazz

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

umren ★★★★★
()
Ответ на: комментарий от pashazz

никто в реальном продакшене сейчас этим не занимается, если только в паре тройке компаний или непосредственно разработчик движка, но какова вероятность тебе туда попасть? в остальном есть движки и они работают хорошо.

umren ★★★★★
()
Ответ на: комментарий от next_time

Вот так. Взяли джаву, обвешали со всех сторон рюшками и «красивостями», в результате можно писать короткий код, для чего собственно её и используют, но если использовать возможности scala на 100%, то получается нечитабельная неподдерживаемая и неэффективная лапша.

Reset ★★★★★
()
Ответ на: комментарий от Reset

если пытаться использовать возможности scala на 100% и не иметь мозга, то получается нечитабельная неподдерживаемая и неэффективная лапша.

Fixed во славу Одерского.

ovk48 ★★★
()
Ответ на: комментарий от ovk48

Вот именно. Но во славу одерского уже пора пиарить dotty, потому что

class A { def f: A }
class B { def f: B }
val x: A | B = if (test) new A else new B
val y = x.f
anonymous
()
Ответ на: комментарий от anonymous

Это зависимый тип, балбес!

Это не зависимый тип, это называется как-то по другому. В цейлоне есть такая штука. Непонятно правда, зачем оно надо.

ovk48 ★★★
()
Ответ на: комментарий от ovk48

Это зависимый тип, балбес! [2]

Недостаточно высокоразвитые приматы могут воспринимать его как юнион в конкретном случае. Погугли dependent object types (это как раз вайтпейпер одерски и ко)

anonymous
()
Ответ на: комментарий от ovk48

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

anonymous
()
Ответ на: комментарий от anonymous

Это тип-объединение. С юнионами он ничего общего не имеет. Почитай определение зависимого типа и не неси больше хуйни.

anonymous
()
Ответ на: комментарий от anonymous

прочитал http://www.cs.uwm.edu/~boyland/fool2012/papers/fool2012_submission_3.pdf

С зависимымии типами это не связано совершенно никак (взята урезанная система типов Typed Racket с добавлением некоторых скалаицизмов). dependent в названии, видимо, из path-dependent types, что к обычным зависимым типам не относится.

anonymous
()
Ответ на: комментарий от anonymous

В контексте ООП, внезапно, зависимые типы приобретают характерный трупный оттенок. А ты можешь привести пример труъ использования труъ-депендент типа? Когда я читал в интернетах куски кода из статеек про агду и кок, там были примеры про типы, зависящие от величины числа и длины списка (вроде бы), при представлении чисел в подходящем виде, думается, можно и тут такое запилить. Но да, из path-dependent.

anonymous
()
Ответ на: комментарий от anonymous

при представлении

Дело не в представлении. Смысл зависимого типа не в том, что он параметризуется, например, числом или чем-то подобным (это легко эмулируется при помощи операторов над типами, лямбда-омега), а в том, что он параметризуется рантайм-значением. То есть до тех пор пока значение-параметр типа можно вычислить в рантайме - ни о каких зависимых типах речи нет. Фактически, зависимые типы стирают разницу между типами и значениями, рантаймом и компайлтаймом. Именно по-этому любой динамический язык (с формально-математической точки зрения, конечно) является примером исчисления с зависимыми типами, а любая система типа агды или петушка - динамическим языком.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.