LINUX.ORG.RU

Выпущена Scala 2.8.0

 , , ,


1

1

После выпуска 7 релиз-кандидатов увидела свет финальная версия реализации гибридного языка программирования для платформ Java и .Net Scala 2.8.0.

Версия 2.8.0 по сравнению с предыдущими содержит следующие изменения:

  • Переработанная библиотека коллекций. Подробности
  • Новая реализация массивов. Подробности
  • Специализация типов. Подробности
  • Именованые аргументы и аргументы по умолчанию. Подробности
  • Объекты пакетов. Теперь пакеты могут содержать не только классы и объекты, но и функции, переменные и алиасы типов.
  • Дополнена библиотека Scala Swing, улучшена документация
  • Переработан REPL. Основным нововведением является автодополнение по Tab.
  • Изменения в алгоритме поиска неявных аргументов.
  • Новая библиотека комбинаторов парсеров. Теперь поддерживаются грамматики с левой рекурсией.
  • Улучшения в библиотеке обработки XML.
  • Улучшения в процедуре вывода типов.
  • Улучшения аннотаций. Подробности
  • Улучшения в реализации актёров.
  • Поддержка продолжений (continuations). Продолжения поддерживаются плагином компилятора.
  • Множество исправлений. Подробности

Также выпущены новые версии сопутствующих инструментов: scaladoc 2, sbaz 2, scalap, Scala-плагин для Eclipse.

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

★★★

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

Ну... Я могу тока за C#/VB.NET ответственно заявить :)
Чо я из минусов отметил:
- Корявый вывод типов (С# 2/3, С# 1 даже не рассматриваем)
- Высокоглубокоанальный способ задания анонимной ф-ции (VB.NET 8 или 9 - ужо забыл)
- Отсутствие кортежей (.NET 1,2,3).
- Ограничения на generic типы откровенно зачаточные (.NET 2,3...).
- .NET тормознее, чем Mono :)

Из плюсов:
- Кортежи (4.0) :)
- DLR искаропки (4.0, раньше - качай@собирай)

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

>Способность работать на убогих платформах VM не украшает

Точно. Как там ваша убогая венда поживает?

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

> Парадоксально. Уровень .NET девелоперов еще ниже чем уровень жабских

Это смотря какой язык под .NET брать. Если VB, на котором пишет половина дотнетчиков, то да, согласен. А вот у C# (особенно последних версий) порог вхождения много выше жабского. Собственно, всеми любимый Бейсик спасает C# от наплыва ламерья. И это важная фича дотнета. А вот Java несмотря на все потуги остаётся моноязычной платформой, где средний индусо-уровень удручает.

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

>> Как у него с работой под соляркой? AIX? Обосрался?

Способность работать на убогих платформах VM не украшает. Кроме того, моно там работает, жывотное.

Анонимус, похоже, думает, что винда не убога!

Ну так расскажи, как на винде решить такую задачу:

Есть 64000 виртуальных хостов vhost00001.example.com ... vhost64000.example.com

Есть веб-сервер, который обслуживает эти виртуальные хосты, причем типовое потребление *мутабельной* памяти после инициализации веб-сервера с неким язычком (пусть даже РНР, но можешь выбрать по вкусу .NET) составлеят не меньше 5МБ. На каждый из виртуальных хостов в сутки приходит (для простоты) ровно 20 запросов, равномерно распределенных по суткам и за 0.03 сек либо отдающих либо 1 файл с диска, либо че-то считающих; уместить это дело надо ориентировочно в 1ГБ оперативы и 1ГГц 1 ядра проца (если смешно — то машинка конечно мощнее, но не ней крутится не одна такая система)

Обязательно: для безопасности, каждый виртуальный хост (допустим, vhost12345) должен обслуживаться процессом, запущенным под юзером vhost12345 — т.е. реализация в виде нитей внутри одного процесса не годится. Чтобы было доходчиво: всем юзерам требуется unsafe код.

Не решение: запустить обратный прокси (nginx конечно на убогой винде не идет, но можно попробовать squid) и заранее стартовать 64000 процессов под разными юзерам. Так же не решение заранее стартовать 64000 xxx-cgi процессов под разными юзерам — в обоих случаях потребуется не меньше 320 ГБ свопа, который машинка будет лихорадочно (со скоростью 100 МБ/с) гонять в оперативу.

Юникс-решение: один процесс веб-сервера запускается под рутом, тратит время на инициализацию структур (тех самых 5МБ) и слушает 80-й порт. При приходе запроса на 80-й порт сервер:

1. форкуется

2. чуток читает запрос и определяет, на какой vhost (допустим, vhost22333) запрос пришел

3. меняет свой (эффективный) user id и group id на vhost22333

4. выполняет под ним дальнейший разбор запроса и unsafe код

5. умирает

итого: потребление мутабельной оперативки на уровне 10 МБ + сколько там еще понадобилось ОДНОМУ процессу, оставшаяся от 1ГБ память идет на кэш диска.

А каково решение под якобы не убогой виндой?

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

>А вот у C# (особенно последних версий) порог вхождения много выше жабского. Собственно, всеми любимый Бейсик спасает C# от наплыва ламерья

Во первых в каком месте он выше?

Во вторых - как на счет «видели всего одну ОС, работали всего в одной IDE, работали всего с одним SQL сервером» и тому подобной «ширине взглядов»?

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

>А каково решение под якобы не убогой виндой?

убогие задачи мегаразработчиков - которые имеют скилл скачивания с microsoft.com всего чего нужно - не волнуют. Если это нельзя скачасть с микрософт.ком - это не нужно.

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

> как на счет «видели всего одну ОС, работали всего в одной IDE, работали всего с одним SQL сервером» и тому подобной «ширине взглядов

Хочешь сказать, что жаба-кодеры что то знают об ОС, под которую пишут? Кстати, чаще всего это та же самая ОС, что и у дотнетчиков. Про SQL-сервер туда же, только название другое. Хотя с нынешней модой на ОРМы, которая пошла от жабы, и сам SQL то скоро все забудут. Разве что с IDE есть некоторое разнообразие. Но мне не кажется, что это добавляет ширины взглядам.

Проблемы жаба-кодеров и дотнет-кодеров конечно схожие - люди варятся в замкнутом мире, развиваться вширь нет времени и желания (нужно учить всё новые баззворды и фреймворки). Но мне как то повезло с дотнетчиками - дважды работал с С#-командами, и оба раза там были вменяемые кодеры и совсем недурные архитекты. А вот с жабой не повезло - на заре двухтысячных получил такую прививку индусокода и паттернов головного мозга, что на всю жизнь хватит. Может это слишком субъективно, но от жаба-кода (даже нормально написанного) просто тянет блевать. А нынешний C# хоть и не шедевр, но всё же позволяет излагать мысли более естественно. И CLR, кстати, очень приличная вещь, не знаю чего это вы так на неё ополчились. Анонимус в стиле Луговского вас так задел, что ли. С кросплатформенностью конечно засада, но оно и понятно, Микрософту это не нужно. Другое дело, что так ли это критично. Аудитория коммерческих продуктов почти исключительно виндовозна. Вообще, для меня как мелкого предпринимателя дотнет не вариант совсем не по техническим причинам. А как программист я готов с ним мириться. И уж точно предпочту C#, если выбор будет стоять между ним и жабой.

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

>А нынешний C# хоть и не шедевр, но всё же позволяет излагать мысли более естественно.

Он почти эквивалентен жабе. Выйдет 1.7 с лямбдами - вообще никаких различий практически.

И уж точно предпочту C#, если выбор будет стоять между ним и жабой.


Я его не предпочту ни в жизни по причине ОС от которой меня тянет блевать уже давно.

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

> И уж точно предпочту C#, если выбор будет стоять между ним и жабой.

Я в таком случае предпочту моно.

Впрочем, в этом случае еще возможно можно будет выбрать скалу :-)

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

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

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

IT Jobs Watch provides a unique perspective on today's information technology job market. Our aim is to present a concise and accurate map of the prevailing UK IT job market conditions.

Our goals include helping you:

Determine the level of demand for certain IT skills with a guide to the average salary and contractor rates offered Discover how various IT skills interrelate Determine the IT skills needed by certain Job Titles Determine which IT skills are popular within specific regions and locations.

Our process

We source data from IT recruitment websites. Our survey is continuous to ensure the information presented is constantly up to date. Average IT contractor rates are calculated directly from the figures quoted. We do not derive average hourly rates from daily rates quoted or vice versa.

А так же многое другое по ссылке about.

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

И? У убогих недоумков религиозное неприятие определенных ОС? Ну так на то и недоумки.

Мозги заплыли виндоусом максимальной? Иди читай Get The Facts и ононируй

Вот скажи мне, презренное ничтожество, какого вообще хрена ты сравниваешь платформу (то есть, в первую очередь VM), и убогонький фреймворк для такой убогой частной задачи, как уеб-программирование?

facepalm.png, веб-программирование... Ты таки точно даже жо википедии не дорос. В нем для веба только Spring MVC наверное. И VM я не сравниваю, странно как-то ты тему навязываешь. Вот в CLR есть оптимизация хвостовой рекурсии и настоящие generics. Вполне похвально. Но .NET нет на нормальных системах (Linix, Solaris, MacOSX и даже FreeBSD) - все сравнение окончено, .NET проиграл. А Spring тебе лучше посмотреть, ну и Java EE для того, чтобы ты понял как в Java принято проектировать. Хотя ничего ты не поймешь. Причем есть отстающая версия для .NET.

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

>И да, про наглядность таких бенчмарков там всё, что надо сказано в комментах.

да, собственно, в самой статье тоже кое-что написано - 2 неочевидных костыля и scala-код прилично ускоряется, но остаётся всё равно втрое медленнее groovy++

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

Мне кажется, что если использовать любую конструкцию грувей++ не по назначению, она тоже будет работать впятеро медленней специально предназначенной скала-конструкции. Впрочем, может мне просто кажется.

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

По курсу перевел? Ну ну. Вычти 40% налога, учти, что цены намного выше, учти цены на жилье - и получится, что $4000 в москве это больше чем £80000 в UK.

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

Цены на жильё выше? Ты таки там что-то курил, да?

По данным рекрутинговой фирмы Мерсер жизнь в Москве на 12% дороже чем в Лондоне и на 25% - чем в Нью-Йорке.

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

там scala вполне себе по назначению использовалась, если что (в отличие от тех же shootout, где часто языковые фичи совсем не используют)
да и потом, про трёхкратный слив даже на «правильных» конструкциях вы типа забыли уже?

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

Не надо меня расстраивать что я трачу время на общение со совсем бегмозглым созданием. Чем лучше жалкое убогое отсталое недоподелие по имени Mono лучше чем софт от компании создателя технологии.

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

>Mono, идиот. Намного лучше оригинального дотнета.

только если рыночная стоимость разработки равна нулю.

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

> Как VM, .NET уделывает JVM по всем статьям.

аргументы?

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

Миллион акторов, которые ничего не делают кроме перекидывания сообщений — это, мягко говоря, немного не юз кейс для такой высокоуровневой абстракции как акторы.

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

>По данным рекрутинговой фирмы Мерсер жизнь в Москве на 12% дороже чем в Лондоне и на 25% - чем в Нью-Йорке.

Очень рад за англичан и, особенно, за нью-еркцев. Оказывается, там можно прожить на 20 тыс. руб. в месяц.

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

это очень даже хороший тест самой архитектуры акторов в плане скорости/оверхеда/масштабируемости/итд

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

Акторы в скале предназначены для выполнения продолжительных параллельных вычислений. Если нужны акторы, нацеленные на быстрый обмен сообщениями, используют акторы из лифта (их писали специально для работы с comet запросами). О юз кейсах скаловских и лифтовских акторов доступно писал Полак. Ещё раз: под конкретную ситуацию нужен конкретный инструмент. А проверять микроскоп на то, как он забивает гвозди.. Ну я не знаю, это действительно юз кейс для микроскопа?

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

> Очень рад за англичан и, особенно, за нью-еркцев. Оказывается, там можно прожить на 20 тыс. руб. в месяц.

20К рублей это 425 фунтов. Комната в среднем (не в центре Лондона и не на окраине) стоит 600 фунтов в месяц. Можно, конечно, спать в парке на скамейке, тогда на 425 можно жить.

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

ты учитывай сколько налогов платится в европе, а сколько в россии... К тому же, рекрутерские фирмы сравнивают непонятные квартиры

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

>>Ладно, ни у вас, ни у меня достоверных источников нет, так что лучше сравнивать технически.

Nant, NHibernate, Lucene.NET, Spring.NET, NUnit, Saxon.NET....


«Кто все эти люди??» (ц)

Напоминает какое-то туповатое жонглирование нипоймичем. «Ты ещё КПСС Б-12 скажи!» (к)амедиклаб :)

Технически - значит не бравировать странноватого вида именами библиотек, а конкретно показать - вот, мол, .НЕТ хуже жабы тем-то и тем-то. Хотя откровенно, мне на это так наср.... У нас проект на .НЕТе(WPF,ADO.NET+3rd party libs), пишем на Цэшарп, юзаем VS2010 и странно, никаких проблем не испытываем! :) Были б проблемы, давно бы перешли на любые другие рельсы.

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

>Вычти 40% налога, учти, что цены намного выше,

Ага - да сейчас. Москва - самый дорогой город в европе.

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

>Оказывается, там можно прожить на 20 тыс. руб. в месяц.

Там так мало е зарабатывают даже дворники. В англии - это 950f.

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

>Комната в среднем (не в центре Лондона и не на окраине) стоит 600 фунтов в месяц.

Куда ты в москве пойдешь за комнатой не на окраине со своими 425 фунтов? И ты не прав на счет стоимости жилья. Мойдруг снимает на двоих 3bedroom за 800. Не на окраине.

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

>юзаем VS2010 и странно, никаких проблем не испытываем!

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

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

> Куда ты в москве пойдешь за комнатой не на окраине со своими 425 фунтов? Мойдруг снимает на двоих 3bedroom за 800

Уважаемый r, во первых строках письма спешу сообщить, что у Вас с простейшей логикой проблемы. Где я что-то говорил о Москве? Я лишь сказал, что 20К рублей на даже скромное проживание в Лондоне не хватит. Только и всего. Друг может снимать и за 5К фунтов 3 бедрума. Легко. Но 600 фунтов в месяц это и есть средняя цена _дешевой_ комнаты. Я в курсе, какие тут цены.

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

> Были б проблемы, давно бы перешли на любые другие рельсы.

на любые другие

Мде. Офигенной сложности проект, стопудово.

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

> Цены на жильё выше? Ты таки там что-то курил, да?

Снимать в приличном районе (то есть, где мало council houses и их жителей) - от £1200 в месяц. Моргидж за аналогичное по качество жилье будет от £1500. Плюс вода, свет, council tax, газ - еще £500 в месяц. Москва рядом не лежала.

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

> Комната в среднем (не в центре Лондона и не на окраине) стоит 600 фунтов в месяц.

За 600 в месяц - это в грязном бомжарнике в криминальном районе.

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

Интересно, сколько из тех, кто тут высказался по поводу лондонских цен, проживает в Лондоне? 1?

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

>Я лишь сказал, что 20К рублей на даже скромное проживание в Лондоне не хватит.

В Лондоне «скромные 20к рублей» - не зарабатывают даже дворники. Давайте еще китайскую повинцию сравним.

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

> http://support.microsoft.com/kb/306158

Ну так это всего лишь про impersonation, но не форк.

You can use the following code to determine what user the thread is executing as: System.Security.Principal.WindowsIdentity.GetCurrent().Name

thread

а если в этой нити есть злонамеренный unsafe code (unsafe есть в условиях задачи) и он полезет в данные других нитей?

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

> В Лондоне «скромные 20к рублей» - не зарабатывают даже дворники.

Речь была о можно на них прожить или нет. А не о зарабатывают ли столько или больше. Прожить на них нельзя. Против этого утверждения будут какие-то возражения? :-D

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

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

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

> Интересно, сколько из тех, кто тут высказался по поводу лондонских цен, проживает в Лондоне? 1?

Как минимум один.

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

> У меня например там жуткий когнитивный диссонанс до зубной боли

А вы говорили об этом врачу?

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

>Речь была о можно на них прожить или нет. А не о зарабатывают ли столько или больше. Прожить на них нельзя.

Без своей жилплощади в москве на них тоже прожить нельзя. Будут возражения?

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