Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Scala здесь кому-то интересна?


Автор: Karadul 24.3.2012, 17:52
Где можно задавать вопросы про нее? И стоит ли вообще?

Автор: Karadul 24.3.2012, 21:06
Похоже, что нет.

Автор: Stolzen 24.3.2012, 21:07
Интересна. Только на работе не дают на ней писать

Автор: Karadul 24.3.2012, 21:50
Мое знакомство с ней началось и закончилось на том, что я в эклипсе не смог скомпилировать проги препода. Алсо чтобы IDE на гектаре пользоваться - нужен почти предел терпения.

Она потянет на "статический питон" или не совсем? Она явно сложнее, правда.

Автор: Stolzen 25.3.2012, 12:32
Цитата(Karadul @  24.3.2012,  22:50 Найти цитируемый пост)
Она потянет на "статический питон" или не совсем? 

Скорее на "функциональную джаву".

Автор: Karadul 25.3.2012, 13:00
Ну она короче в разы. Там нет 
Код

Lock lock = Lock.getLock();
lock.lock();
..
lock.unlock();

По крайней мере, можно написать
Код

var lock = Lock.getLock();


Автор: Skynin 25.3.2012, 13:32
Цитата

Только на работе не дают на ней писать

Scala - это такой Haskell в Java мире. Ну или современный С++ сплавленный с Boost'ом.

Поэтому полностью одобряю что на работе не дают на ней писать.

А так - весьма интересна. 

Цитата
Ну она короче в разы.

Да, иероглифы тоже компактней, чем фонетическая запись.
Язык математики - тоже краток.

Многословие Java да, иногда утомляет.
Но вообще говоря:
"пора говорить о Java не как об объектно-ориентированном языке, а как о инфраструктурно-ориентированном."
http://www.ibm.com/developerworks/ru/library/j-eaed1/index.html

Для промышленного программирования не важно какими средствами достигаются цели, средствами языка или инфраструктуры.
Scala - опоздала что-ли...

Вот чего конечно хочется, это вкусностей из C#. Хотя бы на уровне версии 3.0.
Scala же - ну уж очень Академический и Концептуально Богатый язык.

Автор: Karadul 25.3.2012, 14:47
Цитата(Skynin @  25.3.2012,  13:32 Найти цитируемый пост)
Scala - это такой Haskell в Java мире. Ну или современный С++ сплавленный с Boost'ом.

Если б я еще знал, что это.


Цитата(Skynin @  25.3.2012,  13:32 Найти цитируемый пост)
Язык математики - тоже краток.

А что в нем плохого? Краткость питона меня вполне устраивает.
С другой стороны, Scala - это не "ява, вид сбоку", на нее надо перестраиваться.

Автор: Skynin 25.3.2012, 15:04
Цитата

S: Язык математики - тоже краток.
А что в нем плохого? Краткость питона меня вполне устраивает.

А при чем тут плохо или хорошо?

За все нужно платить, вот и все.
И за краткость, и за многословность.

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

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

И за это тоже нужно чем-то платить. Не "а что хорошего?" и "а что плохого?", а:
чем жертвуем? Что потеряем? Что приобретаем? Какие проблемы решаем?
С какой целью?

Цитата(Karadul)

Если б я еще знал, что это.

Ясненько.
Ну пробуйте тогда писать на Scala smile

Автор: Karadul 25.3.2012, 17:20
Цитата(Skynin @  25.3.2012,  15:04 Найти цитируемый пост)
"а что хорошего?" и "а что плохого?", а:
чем жертвуем? Что потеряем? Что приобретаем? Какие проблемы решаем?

И где разница? smile


Цитата(Skynin @  25.3.2012,  15:04 Найти цитируемый пост)
Ну пробуйте тогда писать на Scala smile

Мало кто его юзает, да и с IDE ситуевина пока хреновая, плагин для эклипса местами работает, местами нет, зато везде тормозит.

Автор: Skynin 25.3.2012, 17:57
Цитата

И где разница?

Разница большая. Хорошо-плохо - это обобщенно-эмоциальная оценка. "Игрушка пляхая! Дядя хороший!"

А мои вопросы - рациональны.

Я вообще считаю что отказ от использования при размышлении слов "хорошо"/"плохо" - признак взрослого ума.
В быту да, когда контекст сторонам отлично известен и прост - вполне применимы.
 
Цитата

Мало кто его юзает, да и с IDE ситуевина пока хреновая

Потому и мало кто его юзает, и IDE тут никак не поможет.

Знание русского языка и печатная машинка никак не делают автоматически человека Толстым или Пелевиным.

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

Автор: Karadul 25.3.2012, 18:20
Цитата(Skynin @  25.3.2012,  17:57 Найти цитируемый пост)
Разница большая. Хорошо-плохо - это обобщенно-эмоциальная оценка. "Игрушка пляхая! Дядя хороший!"

А мои вопросы - рациональны.

Я вообще считаю что отказ от использования при размышлении слов "хорошо"/"плохо" - признак взрослого ума.
В быту да, когда контекст сторонам отлично известен и прост - вполне применимы.

Если терминология тебе так важна...


Цитата(Skynin @  25.3.2012,  17:57 Найти цитируемый пост)

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

Язык который требует прочтения в год нескольких computer science статей, еще не годится для массового промышленного программирования. Так согласен. Когда заумные статьи сменятся понятными книгами, вырастет инфраструктура под язык - может быть что-то изменится. Макак, таскающих кнопки в редакторе, он врядли заменит, но даже в питоне есть то же функциональное программирование (map/filter/reduce), которое не так уж редко используется.
Собсно, я со скалой знаком слабо (см. про IDE), но то, что я увидел - уже интересно, да и хочется надеяться, что семестр прошел не зря.

Автор: Skynin 25.3.2012, 19:04
Цитата
Если терминология тебе так важна...

Она показательна.

А если слишком много бытовой речи - то она и не терминология.

Цитата

Когда заумные статьи сменятся понятными книгами, вырастет инфраструктура под язык - может быть что-то изменится.

По Scala книги навсегда останутся заумными. Как и по Haskell.

Очень потому что семантически сложные языки. И сложность эта усугубляется нетривиальной системой вывода типов.
P.S. вот как http://ru.wikipedia.org/wiki/Ыфкуиль если о человеческих языках.

Цитата

Макак, таскающих кнопки в редакторе
...
семестр прошел не зря.

И опять - ясненько.
Амбиции - это правильно. smile

Цитата

но даже в питоне есть то же функциональное программирование 

Не совсем так.
Утрировано говоря в питоне нет ни функционального ни объектно-ориентированного.
Там эти средства - прикручены сбоку. В виде хака. На границе синтаксиса языка и среды выполнения. "По Сишному", как я говорю. Или в виде синтаксического сахара, если более строго выразиться.

Автор: Karadul 25.3.2012, 20:12
Цитата(Skynin @  25.3.2012,  19:04 Найти цитируемый пост)
А если слишком много бытовой речи - то она и не терминология.

В терминологии главное - однозначность. Понятность и т.д. - дело второе. И если "бытовая" речь вполне однозначно выражает то, что надо - почему бы и нет?

Цитата(Skynin @  25.3.2012,  19:04 Найти цитируемый пост)
И опять - ясненько.
Амбиции - это правильно.

К чему бы это?
Тебя смутила фраза про макак?

Цитата(Skynin @  25.3.2012,  19:04 Найти цитируемый пост)
Не совсем так.
Утрировано говоря в питоне нет ни функционального ни объектно-ориентированного.
Там эти средства - прикручены сбоку. В виде хака. На границе синтаксиса языка и среды выполнения. "По Сишному", как я говорю. Или в виде синтаксического сахара, если более строго выразиться.

Не пох ли, как оно прикручено? Прикручено сбоку ООП в Lua. Вот там оно действительно прикручено.

Автор: Skynin 25.3.2012, 20:39
Цитата

И если "бытовая" речь вполне однозначно выражает то, что надо

В данном случае, как и в большинстве инженерных вопросов - не выражает.
Потому что недостатки это продолжение достоинств, а достоинства - недостатков.

Цитата
Тебя смутила фраза про макак?

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

Цитата
Не пох ли, как оно прикручено? 

"Какая разница как пишется машина или машына, она ведь лошадью не станет".
Кажется в учебнике для 5го класса такой неграмотный описан smile

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


Автор: Karadul 25.3.2012, 20:58
Цитата(Skynin @  25.3.2012,  20:39 Найти цитируемый пост)
Понты эти оставьте одногруппникам. этими пох вы не сможете показать что и вы чего-то смыслите.

Мда, похоже и обсуждение Скалы придется оставить для других ресурсов.

Цитата(Skynin @  25.3.2012,  20:39 Найти цитируемый пост)
У меня нет потребности в таком термине по отношению к какого-либо вида людей работников.

Людей? Работников? Людей-работников?

Цитата(Skynin @  25.3.2012,  20:39 Найти цитируемый пост)
Он обычно применяется юными, которые пока никто, поэтому для поднятия своего социального статуса им требуется набор презрительных словечек в адрес других. Мат, плевки на тротуар и иные проявления антисоциального.

Небыдло встало во весь рост?

Цитата(Skynin @  25.3.2012,  20:39 Найти цитируемый пост)
"Какая разница как пишется машина или машына, она ведь лошадью не станет".
Кажется в учебнике для 5го класса такой неграмотный описан smile

Ну а серьезно, кого волнует, каким боком прикручено ООП и функциональное программирование в питоне, кроме небыдла, которое хочет повыделываться перед теми, "кто пока никто"?

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

Автор: Skynin 25.3.2012, 21:21
Цитата

Мда, похоже и обсуждение Скалы придется оставить для других ресурсов.

На английском - полно.
Мнение о сложности Scala и ее причин не столько даже мое, сколько одного из разработчиков Lift'а.
Высказанное им на одной из конференций по Scala.

Из рунета же подобная вам писота изгоняет что-то знающих. 
Удачи.

Автор: Karadul 25.3.2012, 21:59
Цитата(Skynin @  25.3.2012,  21:21 Найти цитируемый пост)
Из рунета же подобная вам писота изгоняет что-то знающих. 

Изгоняет? Подобная мне? И куда же? Делом заниматься, а не свое ЧСВ изливать? smile

Или для того, чтобы они не "изгонялись", им надо красный ковер раскатать, ибо илита?

Почему-то прогеров на других языках никто никуда не "изгоняет".

Автор: k0rvin 26.3.2012, 08:30
Цитата(Skynin @ 25.3.2012,  19:04)
По Scala книги навсегда останутся заумными. Как и по Haskell.

http://learnyouahaskell.com не?


Цитата(Skynin @ 25.3.2012,  19:04)
Очень потому что семантически сложные языки. И сложность эта усугубляется нетривиальной системой вывода типов.

Haskell как раз весьма прост семантически и вывод типов там весьма тривиальный. Но к Scal'е это не относится.

Автор: Skynin 26.3.2012, 11:42
Цитата

Haskell как раз весьма прост семантически

Вы хотели сказать - синтаксически smile

Вывод типов как раз и усложняет семантику. Мы не можем вот так сразу, понять смысл выражения, зная его синтаксис.
Это как пример из проблем перевода:
"Души прекрасные порывы" - "вывод типа" для "души" нужно понимать, знать. Иначе общий смысл выражения будет понят неверно. Программистом конечно, а не компилятором, у которого "в уме" все синтаксическое дерево.

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

Цитата
и вывод типов там весьма тривиальный.

тривиальное, банальное - популярно. Потому что доступно для большинства.
Раз Haskell большинством - отвергается, то вероятнее всего что-то в нем - нетривиально.
Тоже и со Scala.

В языках программирования это могут быть только 2 вещи - синтаксис или семантика.
Иногда, как в Prolog'е или Coq - "непривычные" концепции из математики.

P.S.
А самый простой синтаксис у LISPа. Потому что программа на LISPе это фактически и есть запись синтаксического дерева.

Автор: k0rvin 26.3.2012, 14:02
Цитата(Skynin @ 26.3.2012,  11:42)
Вы хотели сказать - синтаксически smile

Нет.

Цитата(Skynin @ 26.3.2012,  11:42)
Вывод типов как раз и усложняет семантику.

Нет.

Цитата(Skynin @ 26.3.2012,  11:42)
Мы не можем вот так сразу, понять смысл выражения, зная его синтаксис.

Этого вообще не понял.

Цитата(Skynin @ 26.3.2012,  11:42)
Это как пример из проблем перевода:
"Души прекрасные порывы" - "вывод типа" для "души" нужно понимать, знать. Иначе общий смысл выражения будет понят неверно. Программистом конечно, а не компилятором, у которого "в уме" все синтаксическое дерево.

Аналогия некорректна, хотелось бы более технического примера, в (псевдо)коде.

Цитата(Skynin @ 26.3.2012,  11:42)
Если бы в Haskell не было вывода типов, то учитывая богатство его семантики - синтаксис бы получился весьма развесистым.

Не более развесистым чем в любом другом статическом языке без вывода типов.

Цитата(Skynin @ 26.3.2012,  11:42)
Либо с большим набором ключевых слов и устойчивых конструкций, либо куда многословнее чем на Java.

Далеко не факт. Приведите код на Джаве, а я аналогичный на Хаскелле с декларациями типов.

Цитата(Skynin @ 26.3.2012,  11:42)
тривиальное, банальное - популярно. Потому что доступно для большинства.

Это не прямая зависимость.

Цитата(Skynin @ 26.3.2012,  11:42)
Раз Haskell большинством - отвергается, то вероятнее всего что-то в нем - нетривиально.
Тоже и со Scala.

Причины низкой популярности Хаскелла (и функциональщины вообще) далеко не в выводе типов и/или тривиальности.

Цитата(Skynin @ 26.3.2012,  11:42)
А самый простой синтаксис у LISPа. Потому что программа на LISPе это фактически и есть запись синтаксического дерева.

Угу, синтаксис простой, семантика простая. Только популярности нет. Зато C++ с точностью наоборот. Не работает ваша логика.

Добавлено через 3 минуты и 7 секунд
Цитата(Skynin @ 26.3.2012,  11:42)
Цитата
и вывод типов там весьма тривиальный.

тривиальное, банальное - популярно. Потому что доступно для большинства.
Раз Haskell большинством - отвергается, то вероятнее всего что-то в нем - нетривиально.
Тоже и со Scala.

Попробуйте-ка реализовать алгоритм полного вывода типов для Хаскелла и для C++ например. Посмотрим какой будет проще.

Автор: Skynin 26.3.2012, 15:59
Цитата

Угу, синтаксис простой, семантика простая. Только популярности нет. Зато C++ с точностью наоборот. Не работает ваша логика.

У LISPа было много лет жизни smile

Цитата

тривиальное, банальное - популярно. Потому что доступно для большинства.

Это не прямая зависимость.

Конечно не прямая. Вы то что же, ожидаете от меня монографии на форуме?

А остальные вопросы да, интересны, будет время - стоит попвсевдокодить. Правда, подозреваю его не будет. на беглое чтение адептов типа thesz даже не хватает. В вопросах навсегда маргинальных языков могу себе позволить ошибиться или быть неточным в аргументации smile
И второй момент, не вижу как псевдокод ответит на вопрос о сложности восприятия языка. Речь же вел не о сложности компилятора smile

Цитата

Мы не можем вот так сразу, понять смысл выражения, зная его синтаксис.
Этого вообще не понял.

Чтобы программисту прочитать код на ЯП написанным другим, ему, утрировано, нужно в голове его прокрутить.
Выполнить часть работы компилятора, или интерпретатора.
И чем больше программисту нужно держать в голове информации, будь то контекст, или "игра смыслов" - тем сложнее язык. 
Или сам написание кода конечно. и на простом языке можно перегреть мозг другого программиста smile

Автор: Karadul 26.3.2012, 16:47
Ну вот, похоже я холивор стартанул smile

Автор: k0rvin 26.3.2012, 17:39
Цитата(Skynin @ 26.3.2012,  15:59)
Чтобы программисту прочитать код на ЯП написанным другим, ему, утрировано, нужно в голове его прокрутить.
Выполнить часть работы компилятора, или интерпретатора.
И чем больше программисту нужно держать в голове информации, будь то контекст, или "игра смыслов" - тем сложнее язык.

Поэтому ссылочно-прозрачные языки проще в понимании, меньше зависимостей от контекста.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)