Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > 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 25.3.2012, 13:00 | ||||
Ну она короче в разы. Там нет
По крайней мере, можно написать
|
Автор: 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 же - ну уж очень Академический и Концептуально Богатый язык. |
Автор: Skynin 25.3.2012, 15:04 | ||||
А при чем тут плохо или хорошо? За все нужно платить, вот и все. И за краткость, и за многословность. Чтобы пользоваться кратким языком математики - очень много математических концепций нужно прекрасно знать. Питон же - динамически типизированный язык. Отсюда его - краткость. И уж во вторую очередь - концепции, подходы заложенное при его создании и развитии. Мне питон из известных ЯП с динамической типизацией тоже больше всех нравится. И за это тоже нужно чем-то платить. Не "а что хорошего?" и "а что плохого?", а: чем жертвуем? Что потеряем? Что приобретаем? Какие проблемы решаем? С какой целью?
Ясненько. Ну пробуйте тогда писать на Scala ![]() |
Автор: Karadul 25.3.2012, 17:20 | ||
И где разница? ![]() Мало кто его юзает, да и с IDE ситуевина пока хреновая, плагин для эклипса местами работает, местами нет, зато везде тормозит. |
Автор: Skynin 25.3.2012, 17:57 | ||||
Разница большая. Хорошо-плохо - это обобщенно-эмоциальная оценка. "Игрушка пляхая! Дядя хороший!" А мои вопросы - рациональны. Я вообще считаю что отказ от использования при размышлении слов "хорошо"/"плохо" - признак взрослого ума. В быту да, когда контекст сторонам отлично известен и прост - вполне применимы.
Потому и мало кто его юзает, и IDE тут никак не поможет. Знание русского языка и печатная машинка никак не делают автоматически человека Толстым или Пелевиным. Как-то встретил и согласен: Язык который требует прочтения в год нескольких computer science статей, не годится для массового промышленного программирования. |
Автор: Karadul 25.3.2012, 18:20 | ||||
Если терминология тебе так важна...
Язык который требует прочтения в год нескольких computer science статей, еще не годится для массового промышленного программирования. Так согласен. Когда заумные статьи сменятся понятными книгами, вырастет инфраструктура под язык - может быть что-то изменится. Макак, таскающих кнопки в редакторе, он врядли заменит, но даже в питоне есть то же функциональное программирование (map/filter/reduce), которое не так уж редко используется. Собсно, я со скалой знаком слабо (см. про IDE), но то, что я увидел - уже интересно, да и хочется надеяться, что семестр прошел не зря. |
Автор: Skynin 25.3.2012, 19:04 | ||||||||
Она показательна. А если слишком много бытовой речи - то она и не терминология.
По Scala книги навсегда останутся заумными. Как и по Haskell. Очень потому что семантически сложные языки. И сложность эта усугубляется нетривиальной системой вывода типов. P.S. вот как http://ru.wikipedia.org/wiki/Ыфкуиль если о человеческих языках.
И опять - ясненько. Амбиции - это правильно. ![]()
Не совсем так. Утрировано говоря в питоне нет ни функционального ни объектно-ориентированного. Там эти средства - прикручены сбоку. В виде хака. На границе синтаксиса языка и среды выполнения. "По Сишному", как я говорю. Или в виде синтаксического сахара, если более строго выразиться. |
Автор: Karadul 25.3.2012, 20:12 | ||
В терминологии главное - однозначность. Понятность и т.д. - дело второе. И если "бытовая" речь вполне однозначно выражает то, что надо - почему бы и нет? К чему бы это? Тебя смутила фраза про макак?
Не пох ли, как оно прикручено? Прикручено сбоку ООП в Lua. Вот там оно действительно прикручено. |
Автор: Skynin 25.3.2012, 20:39 | ||||||
В данном случае, как и в большинстве инженерных вопросов - не выражает. Потому что недостатки это продолжение достоинств, а достоинства - недостатков.
У меня нет потребности в таком термине по отношению к какого-либо вида людей работников. Он обычно применяется юными, которые пока никто, поэтому для поднятия своего социального статуса им требуется набор презрительных словечек в адрес других. Мат, плевки на тротуар и иные проявления антисоциального.
"Какая разница как пишется машина или машына, она ведь лошадью не станет". Кажется в учебнике для 5го класса такой неграмотный описан ![]() Понты эти оставьте одногруппникам. этими пох вы не сможете показать что и вы чего-то смыслите. Наоборот, они показывают что уровень пока вам не доступен. |
Автор: Karadul 25.3.2012, 20:58 | ||||||||
Мда, похоже и обсуждение Скалы придется оставить для других ресурсов.
Людей? Работников? Людей-работников?
Небыдло встало во весь рост?
Ну а серьезно, кого волнует, каким боком прикручено ООП и функциональное программирование в питоне, кроме небыдла, которое хочет повыделываться перед теми, "кто пока никто"? Похоже, перед определенным классом людей нельзя говорить, что ты студент - у них от этого растет ЧСВ и внутричерепное давление. |
Автор: Skynin 25.3.2012, 21:21 | ||
На английском - полно. Мнение о сложности Scala и ее причин не столько даже мое, сколько одного из разработчиков Lift'а. Высказанное им на одной из конференций по Scala. Из рунета же подобная вам писота изгоняет что-то знающих. Удачи. |
Автор: Karadul 25.3.2012, 21:59 |
Изгоняет? Подобная мне? И куда же? Делом заниматься, а не свое ЧСВ изливать? ![]() Или для того, чтобы они не "изгонялись", им надо красный ковер раскатать, ибо илита? Почему-то прогеров на других языках никто никуда не "изгоняет". |
Автор: k0rvin 26.3.2012, 08:30 | ||||
http://learnyouahaskell.com не?
Haskell как раз весьма прост семантически и вывод типов там весьма тривиальный. Но к Scal'е это не относится. |
Автор: Skynin 26.3.2012, 11:42 | ||||
Вы хотели сказать - синтаксически ![]() Вывод типов как раз и усложняет семантику. Мы не можем вот так сразу, понять смысл выражения, зная его синтаксис. Это как пример из проблем перевода: "Души прекрасные порывы" - "вывод типа" для "души" нужно понимать, знать. Иначе общий смысл выражения будет понят неверно. Программистом конечно, а не компилятором, у которого "в уме" все синтаксическое дерево. Если бы в Haskell не было вывода типов, то учитывая богатство его семантики - синтаксис бы получился весьма развесистым. Либо с большим набором ключевых слов и устойчивых конструкций, либо куда многословнее чем на Java. А за счет вывода типов - и упростили синтаксис, сохранив строгую типизацию (динамическая типизация так же позволяет упрощать синтаксис языка).
тривиальное, банальное - популярно. Потому что доступно для большинства. Раз Haskell большинством - отвергается, то вероятнее всего что-то в нем - нетривиально. Тоже и со Scala. В языках программирования это могут быть только 2 вещи - синтаксис или семантика. Иногда, как в Prolog'е или Coq - "непривычные" концепции из математики. P.S. А самый простой синтаксис у LISPа. Потому что программа на LISPе это фактически и есть запись синтаксического дерева. |
Автор: k0rvin 26.3.2012, 14:02 | ||||||||||||||||||||||
Нет.
Нет.
Этого вообще не понял.
Аналогия некорректна, хотелось бы более технического примера, в (псевдо)коде.
Не более развесистым чем в любом другом статическом языке без вывода типов.
Далеко не факт. Приведите код на Джаве, а я аналогичный на Хаскелле с декларациями типов.
Это не прямая зависимость.
Причины низкой популярности Хаскелла (и функциональщины вообще) далеко не в выводе типов и/или тривиальности.
Угу, синтаксис простой, семантика простая. Только популярности нет. Зато C++ с точностью наоборот. Не работает ваша логика. Добавлено через 3 минуты и 7 секунд
Попробуйте-ка реализовать алгоритм полного вывода типов для Хаскелла и для C++ например. Посмотрим какой будет проще. |
Автор: Skynin 26.3.2012, 15:59 | ||||||
У LISPа было много лет жизни ![]()
Конечно не прямая. Вы то что же, ожидаете от меня монографии на форуме? А остальные вопросы да, интересны, будет время - стоит попвсевдокодить. Правда, подозреваю его не будет. на беглое чтение адептов типа thesz даже не хватает. В вопросах навсегда маргинальных языков могу себе позволить ошибиться или быть неточным в аргументации ![]() И второй момент, не вижу как псевдокод ответит на вопрос о сложности восприятия языка. Речь же вел не о сложности компилятора ![]()
Чтобы программисту прочитать код на ЯП написанным другим, ему, утрировано, нужно в голове его прокрутить. Выполнить часть работы компилятора, или интерпретатора. И чем больше программисту нужно держать в голове информации, будь то контекст, или "игра смыслов" - тем сложнее язык. Или сам написание кода конечно. и на простом языке можно перегреть мозг другого программиста ![]() |
Автор: Karadul 26.3.2012, 16:47 |
Ну вот, похоже я холивор стартанул ![]() |
Автор: k0rvin 26.3.2012, 17:39 | ||
Поэтому ссылочно-прозрачные языки проще в понимании, меньше зависимостей от контекста. |