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)
Ответ на: комментарий от grim

for each item in collection:
do something to item

Если вы под «do something to item» подразумеваете ее изменение, то многие ЯП не позволяют этого.

Согласен. Я просто привел в качестве контрпримера конструкцию, которую невозможно сделать без макросов, а только с помощью фвп. Т.е. оппоненту нужно доказать на любом языке, который позволяет «do something to item», что все-таки можно.

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

Наверно и стартапов, и неновых компаний с интересными проектами много есть и создается.

Стартапы не готовы хорошо платить программистам. Только юристам и продавцам.

А хорошо оплачиваются это сколько? Где ты взял статистику?

Там-же на монстре есть зарплаты.
только их поискать нужно.

Хорошо - зависит от региона.

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

Стартапы не готовы хорошо платить программистам. Только юристам и продавцам.

Прохладно, чужие деньги тратить как раз горазды.

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

Ты так и не ответил. Так что там на счет слива?

Там уже не на что отвечать, я отвечу - ты задашь еще 10 тупых вопросов, времени на это у меня нет. Извини.

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

Время на бред было, а на признание себя некомпетентным - уже нету. Тут все понятно. Извини.

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

Прохладно, чужие деньги тратить как раз горазды.

В нормальном стартапе деньгами не разбрасываются, так как надеются вырасти и стать милионерами/милиардерами.

В случае просто кидалова инвесторов нужно показать улей жужжащий в поте лица.
А на зарплатах пчел можно и сэкономить.

В каждом стартапе есть 1-2 хорошо оплачиваемых разработчика, которые понимают что происходит и они были с конторой с самого первого дня.

на остальных экономят.

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

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

А родите-ка список полезных для общества задач, решенных Вами :-D Поржем дружно.

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

Никому в финансах этот F#, как и вся прочая говнофункциональщина, даром не впился.

Шарик, ты балбес! (Ц)

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

Наверно и стартапов, и неновых компаний с интересными проектами много есть и создается.

Стартапы не готовы хорошо платить программистам. Только юристам и продавцам.

А хорошо платить это сколько? Ведь для некоторых людей достаточно з.п., которой хватает на семью, дом, качественную еду/одежду, и пару отпусков в год.

А хорошо оплачиваются это сколько? Где ты взял статистику?

Там-же на монстре есть зарплаты.
только их поискать нужно.

Ну есть и другие ресурсы.

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

Всегда завершать разговор последним (желательно враньем и чушью) это какое по счету правило демагога, напомни?

Я привел пруфлинк - там дальше по ветке все, что я описал. А что привел ты, кроме бреда про фиксирование и теперь вот и высера про «вранье»? Никак не можешь успокоиться, что так обосрался прилюдно?

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

А хорошо платить это сколько?

У нас говорить о зарплатах считается признаком невоспитанности. Как козявок из носа таскать.

Могу сказать о диапазонах ЗП который почерпнул из доступных источников.

программист на ставке в хорошей не мелкой конторе получает $60-$80k в год. Максимум $120k но реально больше $115 только по личным знакомствам.

Налоги прогрессивные. Со 100к заберут много потом с возвратами процентов 35 налогов получится в Онтарио
http://lsminsurance.ca/calculators/canada/income-tax/taxes-2012

На контракте получают $55-$75 в час. Максимум наверное $80 для программиста(не SAP) но реально больше $75 только на прямых контрактах с клиентов а этио очень редко и проблематично.

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

Ну есть и другие ресурсы.

так поищите там и не смущайте меня нескромными вопросами.

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

А хорошо платить это сколько?

У нас говорить о зарплатах считается признаком невоспитанности. Как козявок из носа таскать.

Так я же не вашу зп спрашиваю, а по вакансиям. Вы, насколько я понял, статистику по рынку знаете.

Могу сказать о диапазонах ЗП который почерпнул из доступных источников.
программист на ставке в хорошей не мелкой конторе получает $60-$80k в год. Максимум $120k но реально больше $115 только по личным знакомствам.

Нормально. Я встречал з.п. в таком же диапазоне за должность разработчика на clojure в стартапах в европе.

Ну есть и другие ресурсы.

так поищите там и не смущайте меня нескромными вопросами.

Уже. Просматриваю иногда, чтобы быть в курсе. Не смущайтесь вы так по вопросам не про вашу зп.

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

Ладно, раз никто, включая автора alienclaster-а этого высказывания

практически любой макрос (если не любой) можно написать используя только фвп, это обсуждалось даже здесь на лоре уже неоднократно.

не смог привести на фвп реализацию foreach в виде

foreach x in collection
   ... do something with x ...

открою секрет, этого нельзя сделать чисто на фвп из-за этой самой переменной x, которая используется в теле конструкции.

А с макросами запросто, вот пример варианта реализации на clojure (на коммон лиспе аналогично):

(defmacro foreach [bnd & body]
  `(loop [col# ~(second bnd)]
     (when-not (empty? col#)
       ((fn [~(first bnd)] ~@body) (first col#))
       (recur (rest col#)))))

или если совсем лень

(defmacro foreach [bnd & body]
  `(dorun (map (fn [~(first bnd)]
                 ~@body)
               ~(second bnd))))

Пример вызова:

(foreach [a (list 1 2 3)]
    (print "a = " a)
    (println ", a^2 = " (* a a)))

Результат

a =  1, a^2 =  1
a =  2, a^2 =  4
a =  3, a^2 =  9
Ritmik
()
Ответ на: комментарий от Ritmik

Теперь тебе осталось ответит на вопрос «Нахрена это надо в других местах именно в таком виде?».

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

А мне бы хотелось знать, чем именно такая форма лучше, чем map или each с лямбдой или замыканием. Тем более, что раскрытое представление почти не отличается.

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

Я надеюсь ты понимаешь что деньги на рекламу нужны на порядок больше чем стоит разработка даже если не экономить?

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

У нас говорить о зарплатах считается признаком невоспитанности. Как козявок из носа таскать.

И тем не менее, все говорят (не зная цен Вы себя выгодно продать не сможете). А зарплаты маленькие очень, впрочем вполне стандартные для программеров в Америке и Европе.

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

Я надеюсь ты понимаешь что деньги на рекламу нужны на порядок больше чем стоит разработка даже если не экономить?

Нет.
Я этого не понимаю.

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

И тем не менее, все говорят

Никто не говорит.
Делятся только с близкими друзьями и то возможно только изза того что я своих уже не один десяток лет знаю.

А зарплаты маленькие очень, впрочем вполне стандартные для программеров в Америке и Европе.

Поэтому те кто хочет больше денег идут на контракты.

В Европе $115к imho невозможная зарплата у меня такую друзья получают кто не хочет с контрактами связываться.

Учитывая что налоги в Европе гораздо выше а цены в 2-3 раза выше на все от жилья до бензина(кроме выпивки и табака) то странно что еще не все сюда перебрались :)

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

Куда тогда уходят вторые и последующие раунды которые на порядок больше предыдущих? На яхточки?

zz ★★★★
()
Ответ на: комментарий от border-radius

качество станд.библиотек Питона явно хромает по сравнению с Java. Просто добавляли первые попавшиеся в нете либы - отсюда разброд и шатание в названиях, структуре, и в шаблонах проектирования. Инсталлятор JRE7 весит всего 30М, при то что там есть все - вплоть до сети, 3D графики и звука.

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

В Европе $115к imho невозможная зарплата у меня такую друзья получают кто не хочет с контрактами связываться.

Это £71k по-нашенски. Маловато будет. Имхо, что может скрасить такую зарплату у вас, так это налоги. Налог с такой зарплаты в UK около 40%. Хотя у вас вроде бы 35%?

Учитывая что налоги в Европе гораздо выше а цены в 2-3 раза выше на все от жилья до бензина(кроме выпивки и табака) то странно что еще не все сюда перебрались :)

Европа разная, Вы, наверное, сравниваете с налогом в Швеции, с жильем в Лондоне где-нибудь на Слоан Стрит, еду со Швейцарией, а что-то еще с чем-то в какой-то стране :) Я жильем в Канаде не сильно интересовался, поэтому просто ради интереса глянул 3 бедрума дом в Ванкувере. Цифры от 1300 до 3500 в месяц (а как оно на самом деле обстоит? В принципе интересно). В Лондоне не в центре в хорошем районе можно снять 3 бедрума дом за £1300 (т.е. 2083 CAD). Как бы совсем не 2-3 раза даже в самом лучшем случае. Так что с учетом близости Европы ко всему остальному, перебираться особо смысла нет, пока есть работа :)

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

Самые большие расхождения теоретических оценок времени работы алгоритма с реальностью возникают из-за того, что в random-access machine модели вся оперативная память одинакова. А в реальности непопадание в кэш очень и очень дорого. Так что на практике то, как алгоритм работает с кэшем зачастую важнее O(f(n)) для сферического коня в вакууме RAM-модели.

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

кстати говоря, может ещё не сказали, но вроде как squeryl is a linq for the scala. по крайней мере на сколкьо я могу судить они очень схожи.

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

Но LINQ нужен, это микрософты придумали неплохо.

разве squeryl чем то плох?

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

А инструменты, доступные сертифицированным специалистам, и так достаточно мощные. Порой даже запредельно мощные, лучше б были попроще. Ничего более мощного, чем Java с ее невообразомо гигантской экосистемой на практике никогда не понадобится.

Не смеши. Половина этой экосистемы глючит, тормозит и воняет. При том, что всё завёрнуто в красивые фантики. Поэтому среди джавистов особо ценны разработчики, перепробовавшие максимальное количество говна на вкус, и знающие, от каких ковтяжек стоит держаться подальше. Что тебе тут и пытаются объяснить более опытные товарищи.

А развивающийся специалист, если он не дебил и не задрот, должен стремиться получать хорошие сертификаты и приобретать реальный опыт промышленной разработки, чтобы в будущем вырасти в архитектора.

Чтобы получить сертификат, особого ума не надо. Достаточно прилежности и усидчивости. А получение сертификатов исключительно для того, чтобы показывать их работодателям — вообще верх задротства.

Самые лучшие мои знакомые разработчики сертификатами не заморачивались. Их и так работодатели на руках носили. А вот посредственностям нужна была бумажка для повышения ЧСВ.

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

Но LINQ нужен, это микрософты придумали неплохо.

Микрософты вообще неплохо придумали взять разработчиков Haskell к себе на работу. Вот оттуда монады перекочевали в .NET в виде LINQ.

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

В JPA нет языка запросов, там есть named query с запросами в виде string-ов. Запишем, в лиспе язык запросов есть, в джава - нет.

Но ведь это ложь. JPQL — язык запросов со своим синтаксисом, грамматикой и семантикой. Его спецификация в BNF занимает шесть страниц (см. Java Persistence Specification, 4.14). Named query — один из механизмов выполнения запроса на языке JPQL, при этом запрос привязывается к конкретному классу. Но также произвольный запрос может быть сформулирован в виде текста или сконструирован при помощи Criteria API в любом месте программы.

Наверное, ты хотел сказать, что JPQL не является подмножеством host-языка? Так это и не утверждалось. Впредь формулируй свои претензии точнее, чтобы они не выглядели бредом наподобие «JPQL — не язык запросов». Это только лисперы тащат любую срань в язык, засирая его. Подход промышленных систем другой: используются различные языки, самостоятельные, но интегрированные друг с другом. Как в случае с JPQL.

Зачем внутри sql dsl-а кэш?

А ты не догадываешься? Впрочем, неудивительно, ведь к production-системам ты не имеешь отношения, как мы выяснили. Кстати, и SQLKorma ты тоже не знаешь. Ведь это не только SQL DSL, но и рантайм (транслятор, исполнитель запросов и data mapper). Так вот, рантайм мог бы кешировать результаты SELECT'ов и инвалидировать их при соответствующих UPDATE/DELETE'ах. В Java ORM подобный кэш есть. А тебе в лучшем случае придётся е*аться с memcached. И да, как язык SQL DSL должен был бы содержать конструкции для настройки политики кеша.

Это такой ынтырпрайз подход делать валить все в одну кучу?

Но ведь внутри твоего SQL DSL'а есть connection pooling, например. Что же так, свалили в одну кучу?

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

Нет, это ложь. При соответствующей настройке кеша можно работать с данными как через JPA/JDO, так и напрямую через JDBC.

Вообще, если нужен кэш, то он легко реализуется в слое работы с БД.

Так покажи, как ты реализуешь его.

Ага, кэш 2-го уровня без ORM-а никак не может существовать. Вот это промывка мозгов.

Но ведь это ложь, и, более того, я не утверждал этого. Приписать оппоненту то, чего он не говорил, — это какое у нас по счёту правило демагога?

А что это за em.begin() и em.commit()? Точно автоматически? Лукавишь.

Ты не понял. «Автоматически» относилось к отслеживанию изменившихся сущностей. С SQLKorma тебе придётся фиксировать, какие сущности изменились после вызова бизнес-метода, и апдейтить их вручную. Java ORM делает это само..

А где описано, что будет при исключении?

В спецификации Java Persistence, глава 7.

Если все пройдет хорошо, то при выходе за скоп «with-db» все изменения закоммитятся, если произойдет исключение, то будет rollback. Без всяких ручных em.begin() и em.commit() во всех точках выхода. Тут опять твой ORM-монстр сливает.

Но ведь в Java 7 появился try-with-resources, который является прямым аналогом «скопа with-db» в данном случае.

Ну-ка, глянем туториал по JDO. Ой, что это

Ключевое слово — «туториал». В образовательных целях был приведён упрощённый пример. В продакшене такой метод не рекомендуется; для продакшена JPA/JDO поддерживают 1) позиционные параметры (напр., «WHERE foo = :1»), 2) именованные параметры («WHERE foo = :foo»), 3) criteria API.

Таким образом, твои претензии низвергнуты. Java ORM реализует всё то, что реализует SQLKorma, и гораздо больше. За исключением единственного момента — язык запросов не вкрячивается в хостовый язык.

Но это скорее достоинство, чем недостаток.

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

Отношения это задача СУБД, для этого реляционные базы и создавались. Зачем какая-то ограниченная имитация, если можно использовать оригинальные возможности, описанные стандартом SQL, при этом не привязываясь к конкретной реализации?

Затем, что ООП предлагает гораздо более богатый набор отношений, чем реляционная модель.

Ты опять ничего не понял. Таблицы и отношения в РСУБД — это как раз и есть имитация, или модель, реального мира. Причём довольно тупая. А ООП значительно лучше справляется с моделированием окружающего мира. В первую очередь, потому что комбинирует состояние и поведение. А ещё за счёт более богатого набора отношений между сущностями. Это и ассоциация/агрегация/композиция, и many-to-many без промежуточной таблицы, и association entity.

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

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

Куда авторам этой поделки до такого профессианала как ты.

Разумеется. Куда инженерам RedHat, Oracle и IBM до «гениального» студента, автора SQL-поделки для недолиспа.

Да-да-да, только с этими технологиями можно создавать настоящие Ынтырпрайзные приложения.

Это ложь, и я не утверждал этого. Ты приписал мне ложное утверждение, а теперь пытаешься его опровергнуть.

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

A SQLKorma — либо обеспечивает при помощи костылей, либо не обеспечивает вообще.

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

Тогда твои суждения не имеют веса, и смысла их читать нету.

http://ru.wikipedia.org/wiki/Argumentum_ad_hominem

Ad hominem, или argumentum ad hominem (лат. «аргумент к человеку») — ответ на аргумент, основанный[уточнить] не на его сути, объективных фактах и логических рассуждениях, а на личности конкретного человека, выдвинувшего этот аргумент.

Аргументация ad hominem относится к так называемым логическим уловкам — психологически действенным, но логически некорректным способам обоснования тезиса.

Логическая некорректность данной аргументации очевидна: тот факт, что лицо, выдвинувшее аргумент, характеризуется по каким-то признакам отрицательно, никак не влияет на истинность или ложность его аргументации.

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

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

ФВП позволяют писать короткий высокоуровневый код с большим КПД повторного использования

Докажи это.

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

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

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

Зайди на http://www.indeed.com поищи по clojure/scheme/lisp/haskell.

Там почти все вакансии в духе «знакомство с LISP и Haskell приветствуется» (а Haskell — это ещё и город в Техасе, лол).

Если отмести шелуху — останется десяток вакансий на континент. Точно так же, как и в других местах.

Тебе блаб-парадокс (http://www.nestor.minsk.by/sr/2003/07/30710.html) не даст понять, что значит более мощный язык. Так что бесполезно объяснять.

Т.е. объяснить ты не можешь? Слив засчитан.

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

Когда в твоем ORM появятся преимущества, которые я описал...

Где там преимущества?

Запрос является обычной функцией (select).

Но ведь executeQuery() и find() в EntityManager тоже являются обычными методами.

Позволяет в выражении использовать коллекции языка (client-ids - может быть вектором или списком).

Но ведь JPQL/JDOQL позволяют байндить массивы и Java-коллекции в качестве параметров клаузы IN, например.

Контроль над структурой запроса (строки в named query в джаве это просто ппц)

Что значит — «контроль над структурой запроса»? Ты хочешь сказать, что JPQL/JDOQL как язык плохо понятен тебе, и строковое выражение запроса вызывает у тебя банальные оли? Но ведь есть Criteria API, при помощи которого достигается полностью контролируемое программное конструирование запроса. Ты просто не знаком со спецификациями Java Persistence и Java Data Objects. Зачем тогда ты вступаешь в дискуссию на темы, в которых некомпетенен?

Автодополнение имен таблиц и полей (table-client, client-id, client-phone, client-email) и проверка их на этапе компиляции, что удобно, предотвращает очепятки и является защитой от расхождения с именами в БД.

Что значит — «автодополнение имен»? В редакторе кода? Но ведь NetBeans позволяет это, равно как валидацию маппинга относительно схемы БД.

Таким образом, всё вышеперечисленное реализовано в Java ORM. Следовательно, тебе засчитывается слив.

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

Полудурок, БД это и есть реальный мир

Но ведь это чушь. Реальный мир — это самолёты, корабли, поезда, грузы, счета, транзакции и так далее.

БД — это ограниченная модель одного лишь состояния реального мира.
ФП — моделирует только поведение (т.к. состояния для ФП нерелевантны).
ООП — модель, комбинирующая состояние и поведение. Поэтому она значительно лучше справляется с задачей моделирования реальности, чем две вышеперечисленные парадигмы.

Почитай, как люди спрашивали и что им отвечали

StackOverflow? Лол, ты бы ещё на RSDN ссылку дал. Или на Луркморе — там хоть поржать можно, а от первых двух одни слёзы.

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

Бред.

Какой замечательный, достойный ответ на аргументированное опровержение твоих тезисов! Да вы просто мастер риторики. Браво!

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

Ну да, «задроты», пока ты пьешь пиво, корпят, изучают, не останавливаясь на достигнутом. Тяжело и упорно расширяют границы своих знаний. Каждому свое.

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

В то время как задрот сидит в своей норе и задрачивает анаморфизмы, катаморфизмы, эндоморфизмы и параморфизмы.

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

Я ПМ, начальник отдела.

А я — Наполеон Бонапарт. Очень приятно.

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

А с макросами запросто, вот пример варианта реализации на clojure (на коммон лиспе аналогично):

Поздравляю, ты дёрнул себе анус левой ногой через пищевод.

Но зачем?

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

А хорошо платить это сколько? Ведь для некоторых людей достаточно з.п., которой хватает на семью, дом, качественную еду/одежду, и пару отпусков в год.

Эти «некоторые люди» называются «быдлом», «хомяками» или «задротами».

Высококлассный IT-специалист не является зацикленным на чём-то одном (лисп, хаскель etc.) Как правило, он живёт полной жизнью, круг интересов имеет разносторонний, кругозор — широкий (в том числе научный и культурный). Поэтому ему требуются средства на реализацию в других областях, отличных от IT. Это могут быть спорт, творчество, путешествия, интересные частные научные исследования и так далее. Всё это требует хорошего финансового обеспечения.

В отличие от лисп-задротов, которым с лихвой хватает описанного тобой прожиточного минимума.

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

Теперь тебе осталось ответит на вопрос «Нахрена это надо в других местах именно в таком виде?».

1. Почти во всех языках есть аналог этой конструкции. Нахрена это было в них сделано?

2. Пример был как контраргумент на конкретный высер alienclaster. Нахрена он это сморозил?

3. Показывается возможность, которая может быть использована для таких паттернов как

with-open-_ресурс_ _имя переменной_ (данные для конструктора ресурса)
  ... тело, где используется ресурс ...
  ... после выхода за скоп тела ресурс закрывается..

Или еще каких-нибудь, где требуется вводить переменные для какого-либо скопа с какими-нибудь правилами. Только с фвп этого не сделаешь.

Теперь вопрос: нахрена тебе постить вопросы, если ты нихрена не в теме?

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

А родите-ка список полезных для общества задач, решенных Вами :-D Поржем дружно.

Доработки MIT Kerberos, BIND, Samba, Fedora Directory Server, FreeRADIUS, Asterisk.

Можете начинать смеяться.

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

Кстати, R - это весьма популярный в финансах(не бухгалтериях а финансах) диалект Scheme который в свою очередь диалект Lisp

Но ведь это ложь.

library(caTools)         # external package providing write.gif function
jet.colors <- colorRampPalette(c("#00007F", "blue", "#007FFF", "cyan", "#7FFF7F", 
                                 "yellow", "#FF7F00", "red", "#7F0000")) 
m <- 1200                # define size
C <- complex( real=rep(seq(-1.8,0.6, length.out=m), each=m ), 
              imag=rep(seq(-1.2,1.2, length.out=m), m ) ) 
C <- matrix(C,m,m)       # reshape as square matrix of complex numbers
Z <- 0                   # initialize Z to zero
X <- array(0, c(m,m,20)) # initialize output 3D array
for (k in 1:20) {        # loop with 20 iterations
  Z <- Z^2+C             # the central difference equation  
  X[,,k] <- exp(-abs(Z)) # capture results
} 
write.gif(X, "Mandelbrot.gif", col=jet.colors, delay=100)

Здесь нет ничего от лиспа. Ни 1st class lists, ни S-выражений, ни code-as-data, ни квазицитирования, ни макросов. Максимум можно сказать, что «R has been influenced by LISP». Но не более того.

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

Домашнее задание на понимание сути ORM.

Допустим, ты открыл скоп (with-db ...), при помощи (select ...) выбрал 1000 сущностей, и они загрузились в структуры/коллекции Clojure. После этого ты вызываешь бизнес-метод (или функцию, если термин «бизнес-метод» вызывает непонятный зуд в области чуть ниже спины). Бизнес-метод модифицирует, скажем, 100 из 1000 структур. Теперь тебе надо скинуть изменения в базу.

Внимание, вопрос: каким образом ты узнаешь, какие именно сущности надо апдейтить?

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

Это £71k по-нашенски. Маловато будет.

Хм.
То что я видел, это €30k-€35k для программиста и за это давятся в Германии.
£71k - это где о таком можно прочитать?

Европа разная, Вы, наверное, сравниваете с налогом в Швеции, с жильем в Лондоне где-нибудь на Слоан Стрит, еду со Швейцарией,

Я недавно был в Шотландии и здесь несколько знакомых, перехавших из Британии.
Сравнивал цены в Tesco который как я понял - недорогая сеть с Highland Farms - любимым продовольственным магазином. Летом цены примерно в 2 раза дороже наших кроме выпивки. Сигареты мне тоже показались дешевле у вас, но я не курю поэтому не присматривался.

Цифры от 1300 до 3500 в месяц

Смотрите в Торонто или Монреале.
В Ванкувере огромный наплым китайцев, цены взвинчены.
Я если честно не очень осведомлен об аренде, это выказывания британцев о стоимости жилья. Как одна из причен для перезда кроме высокой зарплаты.

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

А получение сертификатов исключительно для того, чтобы показывать их работодателям — вообще верх задротства.

Сертификат — признание авторами технологии твоей компетентности в технологии. Они нужны для того, чтобы сэкономить время тебе и потенциальным работодателям. Ведь в отсутствии сертификата пришлось бы тщательно проверять твою квалификацию, а это — время.

Только и всего. Всё остальное — твои болезненные фантазии. Кстати, что служит причиной боли?

Чтобы получить сертификат, особого ума не надо.
А вот посредственностям нужна была бумажка для повышения ЧСВ.

А-а-а, кажется, я догадываюсь. Ты просто завалил сертификацию. И от этого у тебя БОМБАНУЛО.

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

Микрософты вообще неплохо придумали взять разработчиков Haskell к себе на работу. Вот оттуда монады перекочевали в .NET в виде LINQ.
монады
LINQ
монады
LINQ

Ох лол. Сам-то понял, что сказал, «спицыолизд»?

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