Грэдл это пипец на марше. Во-первых время запуска, на прокте из 6 модулей в сумме секунд 40. Мавен xthtp 'nj время уже зипует архивы, если проект на джаве. Во-вторых мания авторов делать из всего DSL и рассказывать в документации про этот DSL, а не про стоящую за ним модель. Как результат простейшее действие для своего выполнения требует залезания в исходники самого грэдла или вопроса в рассылку (благодаря чему по потоку сообщений она ещё зимой делала scala-user).
Достижимо что угодно и где угодно, вопрос в сложности и стабильности этих достижений.
Ну вот пара первых приходящих в голову особенностей Scala в сравнении в Java:
1. Удобство создания неизменяемых структур данных и их обилие в стандартных библиотеках.
2. Удобство создания чистых функций.
3. Удобство создания маленьких и простых классов и функций.
4. Возможность ухода от использования null и исключений (Option и Either).
5. Более простое делегирование операций благодаря наличию замыканий.
6. Поддержка множественного наследования не только интерфейса но и поведения (trait).
7. Возможность более точной спецификации сигнатур функций благодаря развитой системе типов.
Ладно, немного эмоционально получилось, добавлю конструктива:
1. Не надо переводить идиомы дословно. Лучше выкинуть кусок, чем оставлять заведомо непонятный никому оборот.
2. Не надо переводить слова по словарю не поискав их в гугле и не проверив что такая семантика и контекст имеют место хотя бы в нескольких других документах.
3. Ну давайте тексты на вычитку другим людям. Ну если уже совсем никак и друзей владеющих техническим языком нет, то хотя бы паре авторов из этого блога можно написать с просьбой сделать ревью — хоть один да согласиться.
Полак человек неоднозначный. С одной стороны он кажется один из наиболее продуктивных разработчиков в мире. С другой стороны его взгляды и, хм… стиль программирования скажем так спорны.
Не стоит все отзывы на его работы принимать за абсолютную истину. Но и его идеи стоит примерять на себя с осторожностью.
А если не столкнусь то, 6 семестров (два спишем как необходимые для восприятия ТО) будут потрачены зря… Ой, а меня ведь совершенно не привлекают вычмат и численные алгоритмы. Кажется они уже потрачены зря :(
Хм… 80% приложений даже в теории никогда не должны вырасти за пределы возможностей одной машины. Кроме того никто не отменял вертикального масштабирования.
Не понял. В выражении callCC $ \k -> k (чёнибудь) k имеет тип (a -> Cont r b), то есть возвращает продолжение со входом отличным от чёнибудь. При этом возвращаемое замыканием значение имеет тип Cont r a. То есть тип чёнибудь. Получается что типы построенного с помощью k продолжения и продолжения, которое будет возвращено (пипец, мне бы хоть окурочек от того косяка, что это породил) отличаются. Как такое может получиться?
Именно математический анализ очень мало востребован в современной информатике. В отличии например от дискретной математики и алгебры. К сожалению наши программы основываются на традиции 30х годов больше, чем на здравом смысле. Программистам читают бесконечные курсы мат. анализа, дифф. уравнений, ТОЭ, теории управления, непрофильной статистики, унаследованные от строительных и машиностроительных инженерных специальностей.
Я честно учился на первых курсах, но как посчитать интеграл не помню. Помню, что потратил на это пару месяцев в общей сложности, но как считать не помню. Почему? Потому что уже 4 года это было абсолютно не нужно. А операции над множествами вполне живы в голове ибо всплывают постоянно :)
Извините, накипело.
Ну вот пара первых приходящих в голову особенностей Scala в сравнении в Java:
1. Удобство создания неизменяемых структур данных и их обилие в стандартных библиотеках.
2. Удобство создания чистых функций.
3. Удобство создания маленьких и простых классов и функций.
4. Возможность ухода от использования null и исключений (Option и Either).
5. Более простое делегирование операций благодаря наличию замыканий.
6. Поддержка множественного наследования не только интерфейса но и поведения (trait).
7. Возможность более точной спецификации сигнатур функций благодаря развитой системе типов.
1. Не надо переводить идиомы дословно. Лучше выкинуть кусок, чем оставлять заведомо непонятный никому оборот.
2. Не надо переводить слова по словарю не поискав их в гугле и не проверив что такая семантика и контекст имеют место хотя бы в нескольких других документах.
3. Ну давайте тексты на вычитку другим людям. Ну если уже совсем никак и друзей владеющих техническим языком нет, то хотя бы паре авторов из этого блога можно написать с просьбой сделать ревью — хоть один да согласиться.
Не стоит все отзывы на его работы принимать за абсолютную истину. Но и его идеи стоит примерять на себя с осторожностью.
Я честно учился на первых курсах, но как посчитать интеграл не помню. Помню, что потратил на это пару месяцев в общей сложности, но как считать не помню. Почему? Потому что уже 4 года это было абсолютно не нужно. А операции над множествами вполне живы в голове ибо всплывают постоянно :)