LINUX.ORG.RU

Вышел Boo 0.9

 , ,


0

0

Вышла новая версия языка для платформ .Net и Mono. Воо - это Python-подобный язык, но в отличие от Python имеет следующие особенности:

  • строгую типизацию
  • атрибуты доступа (private, public, protected)
  • макросы
  • генерики
Нововведения коснулись работы с макросами, генериками, интерполяции строк. Добавлена поддержка SilverLight.

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

★★★★

Проверено: JB ()
Ответ на: комментарий от obraztsov

>по факту основан на скрешивании С++ с ObjectPascal с введением кучи ненужных никому фич, которые способствуют разве что ненужному усложнению и раздуванию языка.
Обратите внимание, что Sun перетянула в Java многое из "ненужных никому фич" C#

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

> Обратите внимание, что Sun перетянула в Java многое из "ненужных никому фич" C#

Одно дело иметь плавное развитие языка пусть и с помощью заимствования (C# не единственный, кто имел функционал который оказался в Java), а вот "воровать" платформу целиком это уже да...

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

>> А толку хэндлить несуществующие символы? Все равно мы во время написания исходника их не знаем, и употребить не можем.

> Можем - просто тип строится в рантайме.

Если знаем и можем - значит, тип построен не в рантайме, а заранее. По БД строятся его объекты

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

> Кто, извините, у кого воровал?

MS украла у Сана Яву, переклеила на ней ярлычки и теперь продает как .NET. Очевидно же.

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

>а вот "воровать" платформу целиком это уже да...

Хрен с ним. Сперли так используйте по человечески. Так нет C# бешеными темпами превращается в какой-то супер-пупер-мега язык, который вот непременно должен охватить, блин, все, и выполнять все задачи. MS иначе просто никак же не может. Хочет и рыбку съесть и...

Жаба-like язык? пожалуйста. мало? Вот тебе м VB-like. Указатели? пожалуйста. SQL? да вот вам.

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

Ох, не кончится это хорошо...

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

Ах!
А я думал, Сан наворовала в Жаву из других языков, а потом из C# и никак остановиться не может...

А оно-то вот оно как!

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

>Обратите внимание, что Sun перетянула в Java многое из "ненужных никому фич" C#

В C# нету ни одной фичи которая является новой - все было гдето раньше. К тому же генерики и аннотации одновременно появились.

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

>Если знаем и можем - значит, тип построен не в рантайме, а заранее. По БД строятся его объекты

Два аспекта - отложенность во времени: то есть тип по WSDL будет сконструирован в рантайме, а не в компайлтайме.

И второе - это не заниматься обезьяней работой. WSDL - полное описание структур данных - просто скомпилить его с жабой например нельзя (а в случае с базой данных - надо компилить вместе с DDL). То есть написал один класс - например WebService (работает подобно жабовскому Proxy) - и все - телемаркет. Опять же в случае предварительной генерации требуется 100% соотьветствие - иначе беда будет в момент инстанциирования. В случае динамики надо сответствие только символов к которым реально обращаются.

Если это не надо - динамические языки значит вообще не нужны.

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

>А оно-то вот оно как!

java generics JSR14 approved 11 May, 1999.

Проект С# (codename Cool) начался в том же году в январе. То есть пока С# только на белых досках рисовали - JSR на жабские генерики уже был принят.

ТАк что таки вот оно как.

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

LINQ ? Хотя не уверен.

Но в целом, я совершенно согласен. Языки программирования Java и C# не привнесли в программирование ничего нового.
Но комьюнити выросшее вокруг Java как фрэйворка, стимулировало развитие и воплощение многих интересных идей, и заслуга и Java и Sun в этом несомненны!

Так давайте-же посмотрим, во что выльется развитие .net/mono как платформы построенной на переосмыслении ошибок Sun в реализации Java и будем врещать, о том, кто у кого что "украл".

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

> Но комьюнити выросшее вокруг Java как фрэйворка, стимулировало развитие и воплощение многих интересных идей

Например?

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

> Если это не надо - динамические языки значит вообще не нужны.

Они и не нужны, в принципе (dynamic member lookup тоже не нужен). Но на практике сегодня они удобны.

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

а не в фокспро было не так. Помню в 99 году я в банке работал - там была системка Scrooge2 - так там в паскалеподобный язык был интегрирован SQL.

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

>Они и не нужны, в принципе (dynamic member lookup тоже не нужен). Но на практике сегодня они удобны.

По идее в области интеграции с другими системами они очень удобны и удобны будут всегда.

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

>> Они и не нужны, в принципе (dynamic member lookup тоже не нужен). Но на практике сегодня они удобны.

> По идее в области интеграции с другими системами они очень удобны и удобны будут всегда.

Необходимости в них не будет (да уже нет), а преимущество в удобстве будет уменьшаться.

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

Ну на Genera, CADR, etc "виртуальная" машина была в железе воплощена, кроме непосредственно Лиспа на ней были и другие языки. 20 лет назад. И это уже велосипедом было.

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

> JIT

Что нового?

> J2EE

Всего лишь фреймворк.

> Spring

Аналогично.

> Hibernate

Persistent objects за долго до этого появились.

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

Java фрэймворки это и есть новое. Они двинули WEB. (десктоп мне неинтересен).

Ну и может быть вы мне укажете на JIT реализованную до Java?

Java принесла всё это в программерские массы и сделал это доступным не проффесору на гранте а обычному кодеру.

Я, к примеру, жду выхода Parrot этой весной, так как это очердной шаг в интересном направлении.

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

> "виртуальная" машина была в железе воплощена

Ааааа ты адский огнеметчик!!111адынадын

> это уже велосипедом было.

Это и на VAX было, 30 лет назад.

Заслуга Явы не в том, что она что-то там изобрела (понятно, что все интересные компьютерные технологии были изобретены лисперами 50 лет назад), а в том, что она продвинула эти технологии в массы. Иногда это сомнительные технологии (managed язык на VM), иногда - вполне полезные (ORM). И да, "сборочное программирование" (== фреймворки) тоже стало реальностью благодаря Яве.

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

>> "виртуальная" машина была в железе воплощена
>Ааааа ты адский огнеметчик!!111адынадын

Да, это как-то минуло меня :)))

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

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

ты про примеси (mixin) в Ruby?

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

>Кстати, дурацкий вопрос - в каких языках (кроме Питона, в нём, насколько я знаю, это есть) можно в рантайме, при автозагрузке класса, дописать в этот класс дополнительные методы?

http://java.sun.com/j2se/1.5.0/docs/api/java/lang/instrument/package-summary....

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

> Нет. Миксы - это способ множественного наследования, по сути аналогичный интерфейсам в яве.

куясе o_O Причём тут интерфейсы и миксины ? разные же совершенно вещи.

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

> JIT

JIT был в разного рода LISPах. Откройте для себя SBCL и его предков (это из open source) и коммерческие реализации.

> J2EE

Да, мощная технология... Я когда-то помогал людям избавляться от этого убожества, что в свое время совали куда только можно на пару с XML.

> Spring

Свалка отбросов поверх убогого IoC контейнера, где даже смена порядка бинов в XMLнике может привести к завалу инициализации и где сделано все для того чтобы код был написал криво. Потому что если пишешь нормально (скажем, пользуешься final полями и конструкторами с параметрами), то Spring IoC начинает находить страшные циклические зависимости на ровном месте и не может их разрулить.

> Hibernate

Да уж лучше Stay Awake. ;-) Если серьезно - неплохая штука для Java. Но с одной стороны - не silver bullet, а с другой - тоже ничего нового. ORMов и раньше было полно. Только в других языках mapping зачастую не надо описывать вручную. См. Ruby, Java, Common LISP.

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

> JIT был в разного рода LISPах. Откройте для себя SBCL и его предков (это из open source) и коммерческие реализации.

А где в SBCL JIT? Он или сразу в маш.код компилирует, либо интерпретирует ICR - Implicit Continuation Representation, можно сказать, некоторый аналог байт-кода.

Тут товарищи уже уточнили, что Java нифига нового человечеству не дала, только сделала программирование более доступным широким массам.

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

> Кстати, дурацкий вопрос - в каких языках (кроме Питона, в нём, насколько я знаю, это есть) можно в рантайме, при автозагрузке класса, дописать в этот класс дополнительные методы?

clos, smalltalk, perl - короче в любом, где класс - это тот же объект.

anonymous
()

> в каких языках (кроме Питона, в нём, насколько я знаю, это есть) можно в рантайме, при автозагрузке класса, дописать в этот класс дополнительные методы?

в Ruby можно после определения класса можно изменить или дополнить его. Можно, например, изменить метод Object.new для создания объектов. Делается в любом месте.

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

>Заслуга Явы не в том, что она что-то там изобрела (понятно, что все интересные компьютерные технологии были изобретены лисперами 50 лет назад), а в том, что она продвинула эти технологии в массы.

Тогда MS надо ставить памятник. Открывает лохам доступ к старым технологиям

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

>> Заслуга Явы не в том, что она что-то там изобрела (понятно, что все интересные компьютерные технологии были изобретены лисперами 50 лет назад), а в том, что она продвинула эти технологии в массы.

> Тогда MS надо ставить памятник.

С MS ситуация немного другая - если Ява была новаторской средой (для середины 90-х), при этом неплохо реализованной (Джой, Стил и Гослинг - это не хрен собачий), то Windows 3.x и Windows 9x были дерьмом. Добавим к этому бизнес -практику MS, и получим, что ее заслуги (большие и несомненные) сильно нивелируются :)

> Открывает лохам доступ к старым технологиям

Дешевый элитизм детектед.

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

>JIT был в разного рода LISPах. Откройте для себя SBCL и его предков (это из open source) и коммерческие реализации.
Я уже просил подтвердить это
Попрошу и вас. Подтвердите, пожалуйста.

>Да, мощная технология... Я когда-то помогал людям избавляться от этого убожества, что в свое время совали куда только можно на пару с XML.

Ну, это можно сказать о любой технологии используесмой неправильно.

Мне, к примеру, нравится Scheme, но я не сую её в каждую дырку, так как после меня это придётся поддерживать а программистов умеющих писать на Lisp чрезвычайно мало.

Соответственно Lisp мёртвый язык с точки зрения применения в проектах, рассчитанных на длительную жксплуатацию.

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

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

> Подчёркиваю, умеющих писать, а не пиздеть на форумах о своей крутизне после прочтения первой главы руководства и написания фукции сложения от 1 до n.

Умеющие писать на Лиспе-то есть, но кто сказал, что им будет интересно тратить своё время на скучные вещи? Если человек осваивал вещи повышенной сложности, то он ожидает и соответственной области применения.

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

> Лисп - язык повышенной сложности?!?!?!

Сам язык - нет, но вспомни, сколько новых вещей нужно будет выучить типичному низкоквалифицированному явокодеру (continuations, closures, scopes, те же макросы, etc). Писать (+ 2 2) вместо 2 + 2 - это не значит, что лисп освоен. Пережить отсутствие привычной IDE тоже далеко не все могут. К тому же, изучать придётся по настоящим книгам на языке авторов, а не по всякому шлаку типа "Освой энтерпрайз программирование на J2EE за 21 день."

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

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

Тоненьких книжек по лиспу тоже хватает и его псевдоэлитарность - следствие лени или тупости, так-же как у некоторых местных крикунов, Java/Python - венец творения. Им просто лень или мозги не позволяют изучить другой язык, вот они и отстаивают его превосходство над другими языками.

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

Если вы о сложности - то Да. List не сложнее Java.
Если вы о качестве, то Нет. Так как это различные категории и парадигмы программирования.
Превосходит ли Бомбардировщик невидимка - атомную подводную лодку?
Превосходит ли МП3 плэер - горный велосипед?

Есть задачи подходящие для Lisp, есть для Java.

При этом из-за отсутствия разработчиков, Lisp не подходит для разработки долгоживущих проектов, так как сложно найти персонал, для поддежки и внесения изменений в процессе эксплуатации.

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

> Если вы о качестве, то Нет. Так как это различные категории и парадигмы программирования.

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

> При этом из-за отсутствия разработчиков, Lisp не подходит для разработки долгоживущих проектов, так как сложно найти персонал, для поддежки и внесения изменений в процессе эксплуатации.

Ещё раз, нормальные проекты недостатка в разработчиках не испытывают.

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

>Я как раз о качестве языка. Отличия в категориях и парадигмах, конечно, можно услышать?
Вам объяснить разницу между функциональным программированием и процедурным?
Или между интервпретатором байткода и JIT компилятором?
Или между наличием развитых средств моделования и библиотек для WEB и их отстствием?

>Ещё раз, нормальные проекты недостатка в разработчиках не испытывают.

Ну покажите мне нормальный долгоживущий проект пожалуйста.

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

> Вам объяснить разницу между функциональным программированием и процедурным?

Объясните. Может быть, пока будете объяснять, поймёте, что в CL и то, и другое есть.

> Или между интервпретатором байткода и JIT компилятором?

Да. И, за одно, как это относится к категориям и парадигмам языка.

> Или между наличием развитых средств моделования и библиотек для WEB и их отстствием?

Какой-то ужас, средства моделирования и библиотеки для веб путают с языком :-\ Вот я как раз про это и говорю, что основная масса явакодеров - недообразованна. Может быть, ещё и Eclipse как-нибудь сюда приплетёте?

> Ну покажите мне нормальный долгоживущий проект пожалуйста.

http://www.franz.com/success/

http://www.lispworks.com/success-stories/index.html

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

Ну посмотри по-внимательней. Разница в деталях разумеется есть ибо ява не руби и наоборот. Но по сути, единственная задача миксинов - множественное наследование.

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

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

Что-ж оставим теории, так как учить вас читать я не имею ни возможности на желания и перейдём к практике.

Предположим банк купил:
PEPITe S.A. develops a Data Mining solution to analyze complex processes by analyzing the data they generate.
и пострил на его основе пару десятков приложений и перевёл все датамэйнинг на эту систему.
Для сопровождения этих приложений нужно примерно 10 программистов на Lisp. Как вы думаете, много ли найдётся Lisp программистов, которые по вашему утверждению работают только над интересными проектами, для работы в оттделе технической поддержки? Соответственно PEPITe S.A. бедет доить это банк на суммы, в сотни раз превышающие стоимость нормальной поддержки.

В чём малораспространённые языки и ОС хороши, так это в создании Job Security. Ленивым программистам и админам это очень важно. После внедрения десятка проектов на какомнибудь Супер языке с исчезающе малым количеством носителей сакрального знания, эти "умники" могут быть уверены, их не уволят, так как кроме них никто не сможет что-то поправить в этой программе.
Намотрелся я на такое достаточно, чтобы понять, что этими людьми движет не желание сделать что-то лучше, а банальные жадность, лень и трусость. Денег хочется, но работать лень и при это страшно, что выгонят, вот и идут на такие ушщрения.

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

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

Да-да-да, "красноглазые фанатики с ЛОР" и т.п.

> Что-ж оставим теории, так как учить вас читать я не имею ни возможности на желания и перейдём к практике.

Значит, про новые парадигмы, добавляемые в язык библиотекой для веб, я так ничего и не узнаю? :( А всего лишь нужно осторожнее произносить в обществе слова, которые не можешь объяснить...

> Предположим банк купил: PEPITe S.A. develops a Data Mining solution to analyze complex processes by analyzing the data they generate. и пострил на его основе пару десятков приложений и перевёл все датамэйнинг на эту систему.

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

> Для сопровождения этих приложений нужно примерно 10 программистов на Lisp. Как вы думаете, много ли найдётся Lisp программистов, которые по вашему утверждению работают только над интересными проектами, для работы в оттделе технической поддержки?

Достаточно. Денег много, проблемы при таком зоопарке софта интересные и разнообразные возникают. Новых волн популярности языка всё равно не будет, т.к. в такие тёплые места кого попало не берут, уйти с такого места можно разве что в стартап, поэтому постоянной потребности в народе нет.

> Соответственно PEPITe S.A. бедет доить это банк на суммы, в сотни раз превышающие стоимость нормальной поддержки.

То ли дело Java: не понравилось аутсорсить Люксофту в Москве (дорого...), перекинули в Бангалор.

> В чём малораспространённые языки и ОС хороши ... вот и идут на такие ушщрения.

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

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

Ну раз про новые парадигмы в Java вы не можете сказать, то давайте я вам расскажу. Аспектно-и Контекстно-ориентированное программирование исследовалось группой учёных с одновременным соданием библиотек для ряда языков. Для Java называются AspectJ и ContextJ, для Коммон Лиспа, соответственно, AspectL и ContextL. Речь идёт как раз о новом подходе к разработке софта, а не каком-то сраном вебе.

Ещё я вам скажу, что подавляющая масса софта и библиотек, написанные на Java - весьма посредственного качества, потому что платформа крайне доступна для начинающих практически любого уровня, плюс вокруг Java создан некий ореол элитарности с соответствующей прибавкой к з/п.

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

> оответственно PEPITe S.A. бедет доить это банк на суммы, в сотни раз превышающие стоимость нормальной поддержки.

Да откуда взяться сотням раз? Обучение Лиспу - это пара-тройка месяцев (для опытного прогера), которые, подразумевается, будут окуплены крутизной системы на Лиспе. Или ты троллишь?

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