LINUX.ORG.RU

Вышла Scala 2.10

 


1

3

Объявлено о выходе новой версии языка программирования Scala 2.10.

Основные нововведения:

  • классы-значения (value classes) — новый механизм, позволяющий уменьшить расходы на выделение памяти;
  • неявные модификаторы (implicit classes) теперь относятся к определению классов и призваны упростить расширения для других типов;
  • интерполяция строк (string interpolation) — новый механизм создания строк;
  • Futures и Promises призваны упростить создание многопоточного кода;
  • библиотека Akka Actors теперь является частью языка;
  • наконец-то в состав языка добавлена поддержка макросов.

Текущая стабильная версия языка программирования Scala может быть получена на странице загрузки проекта; исходные коды распространяются на условиях лицензии BSD.

>>> Подробности

★★★★★

Проверено: maxcom ()
Последнее исправление: mono (всего исправлений: 2)
Ответ на: комментарий от vertexua

Точно привязки к базе нет?

Читайте внимательнее. Речь шла о технологии абстракции для работы с СУБД.

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

Ну если нагатить много SQL в приложении, то по факту можно потом с базы при всем JDBC не слезть. А так да, драйвер абстрагирован хорошо

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

Ну а кто-то в Barclays танчики клеит, кто-то тайком носит женское бельё, кто-то Джастина Бибера слушает. И?

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

Правильно понимаю что linq - это слой абстракции для работы c SQL, XML, и что он медленнее, и жручее чем просто использовать библиотеку для работы с XML например?

P.S. Подумал сейчас об ассемблерах, ЯВУ, СУБД... Это ж какой слой абстракции в случае с linq? Офигеть. И все ради того чтоб «еще быстрее разрабатывать»? мс подход)))

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

Мне вот даже интересно стало - и сколько же стоят эти несколько минут?

Согласно сайту PayScale часовая оплата Java Developer составляет от 40 до 107 долларов. Возьмем для определенности 80. Годовая сумма дохода проходит по максимальной ставки налога в 33%.

В предположении, что другие налоги ты не платишь, получается около $60 в час чистыми.

Предположим ты специалист высокой квалификации(иначе с чего бы тебе платить столько?) и в состоянии реализовать этот самый бинарный поиск за 5 минут. Итого получается $5.

Если же брать по нижней границе, то получим примерно $2,5 за 5 минут потраченных на реализацию бинарного поиска.

Ну а теперь мне интересно, где же я ошибся в своих оценках часовых рейтов и налогов?

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

что он медленнее, и жручее чем просто использовать библиотеку для работы с XML например?

Это не входит в его features, с чего вы взяли? Или правило «универсальнее-тормознее»? Ограниченее, возможно, так как есть особенности каждого источника, но тормозить не обязательно должно

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

Да как бы тебе сказать... Наверное да, таки ошибка в ДНК. Проект был на Spring+Hibernate+GWT. И мы понимали, что далеко не факт, что мы сможем просто перейти на другую базу данных.

А JDBC как средство абстракции от БД... Что то мне все больше кажется, что вы не только бинарный поиск не напишите, но и простенький сервлет с выборкой из БД и выводом в простой тупой таблице писать будете долго, упорно, и возможно даже безрезультатно.

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

Хотя бы без несколько лет как известного бага в JDK

чт там за баг, к своему стыду не знаю.

а вам слабо реализовать бинарный поиск?

нет.

Для числового массива размерностью MaxInt

а вот к сожалению это слабо. у меня массив рамерностью 2147483647 в память не влезает.

но как-то так:

    public static int binarySearch2(int[] arr, int key){
        int from = 0;
        int to = arr.length-1;

        while(to>=from){
            int midIndex = to - (to - from)/2;
            int midVal = arr[midIndex];
            if(midVal>key){
                  to=midIndex-1;
            }else if(midVal<key){
                  from=midIndex+1;
            }else{
                  return midIndex;
            }
        }

        return -1;
    }

на яве надо же было?

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

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

in midIndex = (to + from)/2;

Это приводило к переполнению знакового целого.

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

Это не входит в его features, с чего вы взяли?

предположил. А попробовать самому этот linq да замерить - нет вероятности.

Или правило «универсальнее-тормознее»?

Практически всё что попадало мне в руки оптимизировать сопровождалось относительным отключением библиотек и использованием велосипедов и возможностей языка. Если xml - уже абстракция, то библиотека использующая xml - большая абстракция чем вручную работа с xml. И средства языка для универсальности работы как с xml, так и с разного рода БД - еще большая абстракция. Влияющая на скорость, разумеется, и ресурсы.

но тормозить не обязательно должно

по крайней мере априори медленнее чем напрямую.

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

Не, бывает на самом деле. Я в свое время так же написал в своей реализации бинарного поиска, а уж потом наткнулся на статью на Хабре, где был этот баг описан.

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

А попробовать самому этот linq да замерить - нет вероятности.

Я тоже не мерял по настоящему. Просто мне понравилась фраза одного годного дядьки с Oracle. «В спецификации Java EE не написано что он должен тормозить». Так же и тут, может тормозить, но это не обязательно из-за того что он так сделан

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

Ну-ну, и конечно о баге не слышали никогда ;)

на первом курсе на нас кричали

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

Мы же высмеиваем идолопоклонников, [..] и каргокультистов.

Так это не по адресу. Таковых надо искать среди явовщиков и дотнетчиков. Там каждый второй этим страдает.

з.ы. Сектанство им в некотором роде тоже свойственно, но я его удалил из цитаты, потому что без его упоминания идет 100% попадание на мейнстримные технологии. Мейнстрим как-то сложно назвать сектанством, хотя им тоже является с определенной точки зрения ;)

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

Изза тормознутости ОРМ брокеров

Не боитесь, что индусы Вас просто «забангалорят»?

$ man «Improving performance» хибернейта.

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

Это приводило к переполнению знакового целого.

я чудом вспомнил препода с курсов по алгоритмам, когда думал где же здесь можно ошибиться. Вообще, к моему ужасу, еще пара лет и я не смогу это написать нормально. Надо раз в недельку писать что-то простое из алгоритмов, чтоли

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

Так это не по адресу. Таковых надо искать среди явовщиков и дотнетчиков. Там каждый второй этим страдает

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

В Джаве в ДС джуниор == 60 тыр, программер == 80 тыр, старшой == 100 тыр, ведущий == 120 тыр. Архитектор ещё больше.

Выше, чем в Джава, окладов нет. Легко проверяется по рекрутерским сайтам.

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

Почему не ORM?

ORM нужен для ООогороженных языков. Там выхода нет.
SQL DSL позволяет использовать запросы в самом языке, позволяя при конструировании выражений использовать всю мощь хостового языка.
Результатом такого запроса будут родные коллекции языка, а не объекты, что дает возможность с ним работать с помощью map,filter,reduce,etc.

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

Если не ошибаюсь это был конкретно Джошуа Блох...

Да и не факт, что это у него было на первом курсе. У меня вот не было.

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

ООогороженных языков

Ну все понятно с тобой, можно дальше не читать. Но я прочитал. Дальше по коду кортежи или списки гонять будешь?

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

Пруф можно?

А то столько гениальнейших кульхацкеров, нахватавшихся поверхностных знаний в общении с себе подобными на ЛОРе, а реально найти чела на грамотный кодинг - куча кадровых агенств усиленно трудится.

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

Не могу скинуть внутренние документы своей компании. Тем более что их у меня нет, а у моей подруги из HR. Хаскелльщиков там ловили по всей стране плюс релокейтили с России, очень хорошие деньги дали. Работу найти тяжело Scala/Haskell разработчикам, но когда открывается проект, то HR отдел панично бегает и заваливает золотом

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 2)
Ответ на: комментарий от anonymous

Каким-нибудь SQL DSL-ом. Например, http://sqlkorma.com . А что?

Но ведь это просто транслятор из S-выражений в SQL. SQLKorma не является ORM и не реализует и доли ORM.

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

И это не говоря уже о маргинальности самого хостового языка (недолисп Clojure).

Он так же маргинален, как конструктор ракетных двигателей маргинален по отношению к чернорабочим на стройках и мусорщикам.

Ritmik
()

http://docs.scala-lang.org/index.html

Language Specification [Just an Idea]

It would be nice to have an HTML version of the language specification, right? This is just an idea for now…

У Scala даже спецификации нет?!

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

jta, jms, hazelcast, coherance, jboss.

Проблемы везде такие же как и у любого bloatware: не выдающаяся производительность, непредсказуемость, перегруженность функциями.

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

Почему язык программирования «вышла»?

эт проблемы чисто великорусского нашего языка.

наверняка аглоговорящиеновостные новостные издания не забивают себе головы подобной ерудной :)

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

предоставляющей абстракции для работы с СУБД

Абстракции-то имеются, тока писец какие тормозные и неэффективные.
А OR/M полегче Hibernate-like решений сразу завязываются на конкретную СУБД, и абстракции становятся не такими уж абстрактными, зато в разы или на порядки быстрее работа с данными происходит.

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

Песец, какие онаны тормозные пошли. Или просто неграмотные...

1) Сравнить скорость обработки данных с использованием ORM и на чистом JDBC. Удаивиться;

Они начинают тормозить на больших объймаъ данных изза кривых архитектурных решений, которые и требуют затем мемкэша на кластере.

2) Написать пример, в котором использование кеша будет давать существенный прирост производительности даже на небольшом объеме данных.

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

Хотя для вас это возможно иоткрытие...

Короче.
Садись, два.

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

Да, списочек таки заслуживает критики ) Хотя JBoss становится лучше. А JMS вообще вопрос реализации, хотя да, с него бегут

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

Спасибо. Просто, я сейчас QA автоматзатор и учу f#, ибо на Haskell пока меня не хватило, но мне нравится, а вакансии хаскелистов у вас в компании я уже давно видел, даже с возможностью переучивания с другого функционального языка.

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

А JDBC как средство абстракции от БД... Что то мне все больше кажется <поток какашек поскипан>

Точно ошибка в ДНК. Ты вообще в курсе, что твой Hibernate работает через JDBC?

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

Моё высказывание не совсем корректно.

Проблема на самом деле не в самих брокерах а том как их применяют, ожидая что он заменят все, в том числе и мозги нужные для написания и оптимизции процедур на сервере БД.

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

ps
Не отрицаю полезность мемкэша но большинство случаев его применения которые я видел - от криворукости и безмогости.

pps
Я контрактор(фриланс по вашему) и таких как я как правило приграшают если все плохо.
Т.е. средняя статистика возможно лучше.

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

Согласно сайту PayScale часовая оплата Java Developer составляет...
Ну а теперь мне интересно, где же я ошибся в своих оценках часовых рейтов и налогов?

Ошибся там, где решил, что я Java Developer.

Девелопером я был 10 лет назад, когда ты ещё в штанишки ссался.

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

Там только сразу скажу, надо хаскеллисты 80-го левела, хотя вроде говорят «мозги и все, мы сами научим». Я не ходил, но знаю что забраковали тонну людей

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

Ну хочешь думать так - думай :)

Только мои выводы основываются на многолетних наблюдениях. А твои возражения не основывются ни на чём, и ничем не подтверждаются.

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

Функциональщикам платят больше. Но если они найдут работу, это тяжело

Без пруфов смахивает на байку. Случай с твоим банком единичен, и погоды не делает (да и пруфов тоже нет, sorry).

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

SQL DSL позволяет использовать запросы в самом языке, позволяя при конструировании выражений использовать всю мощь хостового языка.

Результатом такого запроса будут родные коллекции языка, а не объекты, что дает возможность с ним работать с помощью map,filter,reduce,etc.

Ага, а когда твой map/filter/reduce промодифицирует половину объектов (простите, «коллекций»), то ты потом будешь руками выискивать их и коммитить. Я уже не говорю о том, что транзакции и распределённый кэш идут лесом. Enjoy your DSL!

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

ООогороженных языков

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

Как чотко сказал.

Дальше по коду кортежи или списки гонять будешь?

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

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

Так это не по адресу. Таковых надо искать среди явовщиков и дотнетчиков. Там каждый второй этим страдает.

Чем страдает?

Верой в то, что их инструмент даёт прирост в производительности? Так это не вера, а подтверждаемый факт. (В случае маргинальщиков — ложь.) Верой в распространённость и industry acceptance инструментов? Но ведь это тоже подтверждённый факт. (В случае маргинальщиков — ложь.) Верой в востребованность и высокие зарплаты? Но ведь это действительно так. (В случае маргинальщиков — ложь.)

Отрицанием очевидных фактов? Но ведь мы не отрицаем их. В отличие от маргинальщиков.

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