The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Представлен первый промежуточный релиз языка Dart, развиваемого компанией Google

17.10.2012 11:52

Компания Google отпраздновала год с момента открытия языка программирования Dart публикацией первого релиза проекта. Dart позиционируется как язык структурированного программирования для Web, который в долгосрочной перспективе может стать прогрессивной заменой JavaScript, решающей имеющиеся в настоящее время проблемы с расширяемостью, производительностью и поддержкой разработки сложных приложений. Язык обладает похожим на Java синтаксисом, не требует явного определения типов и может использоваться для создания серверных и клиентских приложений.

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

Для упрощения разработки с использованием Dart новый выпуск оформлен в виде SDK, включающего в себя компилятор dart2js, виртуальную машину Dart VM, пакетный менеджер pub и набор библиотек. Для выполнения и отладки приложений на языке Dart, без компиляции в JavaScript, распространяется Dartium - сборка браузера Chromium с интегрированной виртуальной машиной Dart VM. Дополнительно доступен расширенный пакет Dart Editor, в который помимо SDK и Dartium включена специализированная среда разработки на языке Dart.

Среди новшеств, представленных в первом выпуске Dart SDK:

  • Высокопроизводительная виртуальная машина Dart VM, в некоторых тестах Octane опережающая JavaScript-движок V8. При запуске Dart-приложений внутри виртуальной машины планируется обеспечить производительность выполнения близкую к компилируемым в машинный код языкам;
  • Новый компилятор для трансляции кода с языка Dart в представление на языке JavaScript, способное работать во всех современных браузерах; Новый компилятор отличается генерацией быстрого и компактного JavaScript-кода;
  • Универсальная библиотека для обработки и генерации HTML-контента, работающая во всех браузерах;
  • Библиотека для обеспечения взаимодействия с кодом на языке JavaScript;
  • Редактор кода, обладающий возможностями современных IDE;
  • Новый пакетный менеджер Pub, позволяющий работать с репозиториями модулей и библиотек на языке Dart;
  • Dartium - сборка Chromium со встроенной поддержкой Dart;
  • Серверная библиотека для организации ввода/вывода;
  • Документация и спецификации с описанием семантики и возможностей языка.

Особенности языка Dart:

  • Привычный и простой для изучения синтаксис, естественный для программистов на JavaScript, Си и Java.
  • Обеспечение быстрого запуска и высокой производительности для всех современных web-браузеров и различных типов окружений, от портативных устройств до мощных серверов;
  • Возможность определения классов и интерфейсов, позволяющих использовать инкапсуляцию и повторно использовать существующие методы и данные;
  • Необязательное указание типов, использовать или нет статические типы решает разработчик. Указание типов позволяет упростить отладку и выявление ошибок, делает код более ясным и читаемым, упрощает его доработку и анализ сторонними разработчиками.
  • Среди поддерживаемых типов: различные виды хэшей, массивов и списков, очереди, числовые и строковые типы, типы для определения даты и времени, регулярные выражения (RegExp). Возможно создание своих типов;
  • Для организации параллельного выполнения предлагается использовать классы с атрибутом isolate, код которых выполняется полностью в изолированном пространстве в отдельной области памяти, взаимодействуя с основным процессом через отправку сообщений;
  • Поддержка использования библиотек, упрощающих поддержку и отладку больших web-проектов. Сторонние реализации функций могут подключаться в виде разделяемых библиотек. Приложения можно разбить на части и поручить разработку каждой из частей отдельной команде программистов;
  • Набор готовых инструментов для поддержки разработки на языке Dart, включая реализацию средств динамической разработки и отладки с исправлением кода на лету ("edit-and-continue");
  • Возможность создавать однородные системы, охватывающие как клиентскую, так и серверную часть. Использование одного языка и инструментария для клиентских и серверных компонентов упрощает процесс кодирования и избавляет от постоянной смены контекста.


  1. Главная ссылка к новости (http://news.dartlang.org/2012/...)
  2. OpenNews: Компания Microsoft представила TypeScript, новую открытую альтернативу JavaScript
  3. OpenNews: Экспериментальный выпуск браузера Chromium с поддержкой языка Dart
  4. OpenNews: Наглядное руководство по языку Dart для разработчиков, знакомых с JavaScript
  5. OpenNews: Компания Google представила новый язык web-программирования Dart
  6. OpenNews: В долгосрочной перспективе Google рассматривает язык Dart как замену JavaScript
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/35102-dart
Ключевые слова: dart, sdk, google, lang
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (134) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 12:51, 17/10/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Потыкал его. Довольно вкусная штука. Хотя как по мне был сыроват малясь. Например регулярки работали только в построчном режиме и игнорировали параметр multiLine: true. Посмотрим что будет в релизе.
     
     
  • 2.4, The Doctor (ok), 13:11, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну дык, все впереди.
     

  • 1.3, Аноным (ok), 13:09, 17/10/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Как же Гугл обожает Яву)
     
     
  • 2.14, piteri (ok), 13:44, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Как же Гугл обожает Яву)

    И это хорошо

     
     
  • 3.31, Майкрософт (?), 14:13, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    И именно гуугл мы должны благодарить за то что в java до сих пор нет ни замыканий ни инференции типов.

     
     
  • 4.43, piteri (ok), 15:46, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > И именно гуугл мы должны благодарить за то что в java до
    > сих пор нет ни замыканий

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

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

     
     
  • 5.46, Майкрософт (?), 16:05, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >что замыкания в жаве таки есть.

    Нет. или вы про кривенький рерайт который делает javac под названием "анонимный класс"?
    Я вас прошу.
    Реализуйте ка это



    //scala
    var sum:Int = 0
    val array:Array[int] = Array(1,2,3,42)
    array.foreach((x)=>sum+=x)
    assert(sum == 48)

    //javascript
    var array = [1,2,3,42]
    var sum = 0
    array.map(function(x){sum+=x})
    console.log(sum) //48



     
     
  • 6.70, piteri (ok), 18:53, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >>что замыкания в жаве таки есть.
    > Нет. или вы про кривенький рерайт который делает javac под названием "анонимный
    > класс"?

    Есть, остальное вопрос реализации.

    > Я вас прошу.
    > Реализуйте ка это

    ...
    > //javascript
    > var array = [1,2,3,42]
    > var sum = 0
    > array.map(function(x){sum+=x})
    > console.log(sum) //48
    >

    int[] array = new int[]{1,2,3,42};
    int sum = 0;
    for (int x : array){sum+=x;}
    assert sum == 48;

    И?

     
     
  • 7.106, Аноним (-), 20:03, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > int[] array = new int[]{1,2,3,42};
    > int sum = 0;
    > for (int x : array){sum+=x;}
    > assert sum == 48;

    И где вы тут, конкретно, видите замыкание?
    Замыкания
    http://en.wikipedia.org/wiki/Closure_(computer_science)


     
     
  • 8.112, piteri (ok), 20:39, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Где вы видите необходимость в замыканиях в этом куске кода ... текст свёрнут, показать
     
     
  • 9.122, Аноним (-), 21:34, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Совершенно нигде Но и нет никакой необходимости в который раз приветствовать ми... текст свёрнут, показать
     
     
  • 10.129, VoDA (ok), 23:05, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Собственно сумматор в лоб заменяется на Интерфейс анонимная реализация И рабо... текст свёрнут, показать
     
     
  • 11.131, Аноним (-), 23:33, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вот только не надо код пересказывать своим словами, я вас умоляю Продемонстрир... текст свёрнут, показать
     
  • 10.138, piteri (ok), 01:11, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    class Summator int sum void add Iterable Integer list for int ... текст свёрнут, показать
     
     
  • 11.145, Аноним (-), 08:06, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Все еще не вижу замыканий И да, ваш код не эквивалентен моему У меня аккумуля... текст свёрнут, показать
     
     
  • 12.151, piteri (ok), 10:15, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Всё ещё считаете что тут _необходимы_ замыкания Я давно прошу привести пример,... текст свёрнут, показать
     
     
  • 13.154, Майкрософт (?), 10:38, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    А я вас который раз прошу привести доказательства что в java замыкания вообще ес... текст свёрнут, показать
     
     
  • 14.161, piteri (ok), 12:44, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    наличие анонимных классов в жаве вы сами упомянули, какие ещё доказательства вам... текст свёрнут, показать
     
     
  • 15.165, Майкрософт (?), 13:27, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Анонимные классы не замыкания Замыкания не анонимные классы Я выше привел зад... текст свёрнут, показать
     
     
  • 16.171, piteri (ok), 15:36, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Согласен, замыкание это функция внутри анонимного класса Выше вы привели задачу ... текст свёрнут, показать
     
  • 5.47, Майкрософт (?), 16:10, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Однажды сетовал на это пока не понял, что пытаюсь почесать левое ухо
    > правой ногой. Возможно есть случаи когда это критично, но я таких
    > не придумал.

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


     
     
  • 6.71, piteri (ok), 18:55, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Это совершенно не критично. Это намного хуже, это неудобно.

    Что именно неудобно?

     
     
  • 7.94, Аноним (-), 19:33, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Много писанины, которая что характерно совершенно бессмысленна



    import java.util.ArrayList;

    public class App{
       public static void main(String[] args){
         ArrayList<Integer> list =new ArrayList<Integer>();
         wtf(list);
         Integer wtf = list.get(0); // ошибка времени исполнения
       }
      
       private static void wtf(ArrayList a){ //популярнейшая ошибка, от которой должна защищать система типов... но
         a.add("Wtf"); // компилируется на ура
       }
    }



    И на хрена я ТРИ раза писал Integer ? У javac память как у мартышки?


     
     
  • 8.111, aaa (??), 20:30, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    private static void wtf ArrayList a здесь a add Wtf и сдесь ком... текст свёрнут, показать
     
     
  • 9.115, Аноним (-), 20:54, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    То есть все что смог выдавить из себя компилятор после того как я ТРИ раза напис... текст свёрнут, показать
     
  • 8.113, piteri (ok), 20:48, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    ракалицо Но я понял, что вам даёт жаваскрипт и особенно отсутствие типизации - ... текст свёрнут, показать
     
     
  • 9.118, Аноним (-), 21:04, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Я вам рекомендую Scala - статически в отличие от java типизированный язык В ст... текст свёрнут, показать
     
     
  • 10.121, piteri (ok), 21:34, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Приведённый кусок никаким боком не пересекается с тем что на пару постов выше иб... текст свёрнут, показать
     
     
  • 11.123, Аноним (-), 21:36, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    А приведенный кусок изобразить на скале не получится, ввиду статической типизаци... текст свёрнут, показать
     
  • 11.125, Аноним (-), 21:46, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Да ладно вы просто не умеете готовить кофе code ArrayList Integer foo ne... текст свёрнут, показать
     
     
  • 12.140, piteri (ok), 01:19, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    двойной рукалицо ещё можно написать throw new RuntimrException только ответа ... текст свёрнут, показать
     
     
  • 13.146, Аноним (-), 08:09, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    можно но когда так пишут то они явно хотят выкинуть RuntimeException А когда п... текст свёрнут, показать
     
     
  • 14.152, piteri (ok), 10:20, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    А когда пишут явно нерабочий код чего хотят Петросян в треде ... текст свёрнут, показать
     
     
  • 15.156, Майкрософт (?), 10:44, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    А код code ArrayList bar foo code не рабочий Он работает прекрасно П... текст свёрнут, показать
     
     
  • 16.168, piteri (ok), 15:29, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Так же как и c a b ... текст свёрнут, показать
     
  • 4.44, Michael Shigorin (ok), 15:49, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > И именно гуугл мы должны благодарить за то что в java до
    > сих пор нет ни замыканий ни инференции типов.

    Как если бы их грокали в MS.

     
     
  • 5.52, Майкрософт (?), 16:26, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    require("traslator")
    А у МС в этом плане все хорошо. Можно не любить платформу, но с точки зрения языка c# намного приятней java. Java малость устарела.


     
     
  • 6.62, Michael Shigorin (ok), 17:28, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    code From Jargon File 4 3 1, 29 Jun 2001 jargon grok grok , var grok ... большой текст свёрнут, показать
     
  • 6.69, piteri (ok), 18:40, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Возможно с точки зрения идеи, не знаю что было в головах авторов при создании. Но вот реализация - кошмар.
     
  • 2.32, jedie (?), 14:29, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    конечно, первые версии их паука были написаны как раз на Java
     
     
  • 3.33, Майкрософт (?), 14:33, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    К сожалению сейчас они перешли в отношении к java в режим "Хватать и не отпускать". И медленно, но верно, превращают java в новый COBOL.
     
     
  • 4.175, Аноним (-), 19:05, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Java с самого начала была "новым коболом". И там, и там ориентировка на загадочный "энтерпрайз"; и там, и там отсутствие любого намёка на краткость. Разница только в том, что Java — C-like, а COBOL — нет.
     
  • 2.34, анон (?), 14:35, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И тем не менее на скриншоте мы видим что-то похожее на православную сишечку.
     
     
  • 3.35, Майкрософт (?), 14:41, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > на скриншоте мы видим

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

     
     
  • 4.37, Аноним (-), 14:55, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Тормозят не ЯП и не IT-системы. А лишь мозги программёров и сисадминов.
     
     
  • 5.39, Майкрософт (?), 15:02, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +4 +/
    К эклипсу это не относится.
     
  • 4.98, kurokaze (ok), 19:49, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >богопротивный эклипс

    Отличная среда в которой можно разрабатывать под android к примеру на любой платформе - под линем и маком отлично работает. А что вантуз кросплатформенного может предложить?


    > который ухитряется тормозить на всем, что только смог изобрести человеческий разум.

    Отлично, буду знать что core-i7 3770k изобрели пришельцы. Как и core2-duo

     
     
  • 5.110, Аноним (-), 20:22, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >Отлично, буду знать что core-i7 3770k изобрели пришельцы

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

     
     
  • 6.114, piteri (ok), 20:53, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >>Отлично, буду знать что core-i7 3770k изобрели пришельцы
    > Ну слава богу, процессор всего за 500$ долларов равный по мощности всем
    > вычислительным системам в США в 1980 году может тянуть без торможений,
    > этот, по сути, текстовый редактор.
    > Срочно пошел копить.

    Удивительно но факт http://www.opennet.me/opennews/art.shtml?num=34779. И я уже наблюдал горемыку который не читал новостей

     
     
  • 7.124, Аноним (-), 21:38, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Удивительно но факт http://www.opennet.me/opennews/art.shtml?num=34779. И я уже наблюдал
    > горемыку который не читал новостей

    То есть для 4.2 этого уже мало? Кстати, версией 4 2 они видимо намекают на ту машину которая на лучшем доступном человечетву оборудовании считала ответ на вопрос несколько миллионов лет?

     

     ....большая нить свёрнута, показать (47)

  • 1.5, Аноним (-), 13:18, 17/10/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –8 +/
    Не вижу в чем dart _существенно_ лучше, чем javascript.
    Быдлокодеры просто прототипное ООП осилить не могут.
    CoffeeScript, Dart, TypeScript...
     
     
  • 2.9, Аноним (-), 13:34, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Быдлокодеры просто прототипное ООП осилить не могут.

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

     
     
  • 3.17, Аноним (-), 13:47, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Мне многое не нравится в реализация JavaScript.
    Но изобретать dart/*script проблему не решит.
    С таким же успехом можно пробовать HTML заменить. XHTML 2.0 тому доказательство.
     
     
  • 4.21, Майкрософт (?), 13:50, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    С JS все в порядке. Node.js это явно доказал. А если "use strict" то вообще все отлично.
    DOM другое дело.


     
     
  • 5.42, piteri (ok), 15:28, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    node.js доказал только то что желание передавать функции в качестве аргументов других функций ни к чему хорошему не приводит.
     
     
  • 6.48, Майкрософт (?), 16:12, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Каким же образом он это доказал?


     
     
  • 7.91, piteri (ok), 19:24, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Каким же образом он это доказал?

    Ну если посмотреть на проекты, которые на нём сделаны то станет понятно что 20% можно было сделать на чём либо более подходящем, но ведь только жаваскрипт позволяет написать foo(new function(){...}, new function(){...})
    А остальные 80% просто потому что жаваскрипт позволяет написать foo(new function(){...}, new function(){...})

     
     
  • 8.97, Аноним (-), 19:41, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Да многие проекты на нем пишут из за того что на js можно писать foo new functi... текст свёрнут, показать
     
     
  • 9.116, piteri (ok), 21:01, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Проблема в том, что почитатели ноджс чситают это единственно возможным способом ... текст свёрнут, показать
     
     
  • 10.119, Аноним (-), 21:15, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Когда кто то говорит что это дизайн языка заставил его писать плохой код он мало... большой текст свёрнут, показать
     
     
  • 11.183, arisu (ok), 22:44, 20/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    8230 как человек активно не хочет упрощать себе жизнь, ваяя на чистых сях то, ... текст свёрнут, показать
     
  • 4.27, тоже Аноним (ok), 14:00, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ваше заявление позволяет с уверенностью предположить, что на вашей рабочей системе (Windows XP) установлен официальный ICQ-клиент.
     
  • 2.10, Z (??), 13:38, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Он проще, понятнее и позволяет решать чуть большее количество задач. А когда для решения задачи есть более простой способ, то использовать будут его. Зачем осиливать прототипное ООП, функциональное программирование и другие сложности, если задачу можно решить проще (а значит дешевле и надежнее)? Поэтому сложные технологии - удел маргиналов, которые гордятся своей непохожестью на других, дискредитируют плебеев, неосиливших ТЕХНОЛОГИЮ и для решения простых задач используют мегасложные вещи, потому что это круто.
     
     
  • 3.15, Майкрософт (?), 13:46, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >Он проще, понятнее

    Кто? Это "классы" то проще?
    >Зачем осиливать прототипное ООП

    Зачем осиливать компьютер когда лопата проще. Ну действительно, не мучайте себя.
    >функциональное программирование и другие сложности

    Функциональное программирование - сложно? А азбука для вас не сложна?
    Оно значительно проще ООП, которое в jave выродилось в КПП(Классо Ориентированное).

     
     
  • 4.24, Анончик (?), 13:54, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >Зачем осиливать компьютер когда лопата проще.

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

     
     
  • 5.29, Майкрософт (?), 14:08, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Проблему зарабатывания денег можно решить и лопатой.


     
     
  • 6.150, Аноним (-), 09:40, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Проблему зарабатывания денег можно решить и лопатой.

    Нда? Это как - заработать миллионы, копая траншеи? Или лопатой баблище грести? :)))))

     
  • 4.59, Crazy Alex (ok), 17:13, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Да. Классы проще. На больших проектах - особенно. Потому что они при очень небольших усилиях держат архитектуру проекта обозримой. Они дают некую самодокументируемость - если я передаю функции объект класса Circle это отнюдь не то же самое, что сунуть ей нечто, в чем есть члены x, y и r. Функциональщина в этом смысле ещё хуже - там сущности какие-то совсем нечеловеческие получаются.
     
     
  • 5.103, Аноним (-), 19:56, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Только потому как большинство и не знает альтернатив DSL-s кстати еще проще Хр... большой текст свёрнут, показать
     
     
  • 6.144, Crazy Alex (ok), 03:55, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    А классы - это, осбственно, и есть такой DSL - определяем объекты и клеим их сре... большой текст свёрнут, показать
     
     
  • 7.147, Майкрософт (?), 09:07, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    У вас класический батхерт программиста на Блаб -е Просто в рамочку и на стену в... большой текст свёрнут, показать
     
     
  • 8.172, Crazy Alex (ok), 15:46, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Цитатка забавная, но не обо мне Я и на ассемблере пишу, и на D, который весьма ... большой текст свёрнут, показать
     
     
  • 9.177, Michael Shigorin (ok), 23:55, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Надо будет adept рассказать -- он к нам подумывал, но решил, что ninja team хас... текст свёрнут, показать
     
     
  • 10.178, Crazy Alex (ok), 13:07, 19/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Не знаю, может где-то что-то живое на функциональщине пишут, но я не видел Макс... большой текст свёрнут, показать
     
     
  • 11.179, Michael Shigorin (ok), 13:24, 19/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Если циклами, то неудивительно Странно, а мне как раз даёт BTW порой даже ... большой текст свёрнут, показать
     
  • 8.180, anonymous (??), 15:21, 19/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    А в ответ приводишь классический баттхёрт функциональщика - Я один пишу на само... текст свёрнут, показать
     
  • 2.11, Майкрософт (?), 13:39, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Первое место в десятке js багов.



    function Constructor(name, val){
    this.hello = name;
    this.bugs = val
    }
    var obj = Constructor()



    Это не к тому, что прототипное наследование это плохо.
    Плохо то как оно сделано в js.
     
  • 2.13, piteri (ok), 13:43, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Проблемы со зрением?
     
  • 2.143, Crazy Alex (ok), 03:30, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так можно сказать "быдлокодеры brainfuck освоить не могут". Профита с этих прототипов как основного механизма? Код замусоривать там где можно написать class Foo{} ? То же что и крики "на лиспе можно любую объектную систему сделать и вообще что хотите". Ну можно, и что? На кой мне любая? Мне нужна конкретная, да так чтобы нужные конструкции легко писались, легко читались (то есть из коды выхватывались одним взглядом) и чтобы инструментя их понимали. И с JS то же самое - если чтобы сделать приватный член класса мне надо как-то извращаться - на кой оно надо, если в нормальном языке я просто пишу private и потом с одногов згляда вижу, что это?
     
     
  • 3.148, Майкрософт (?), 09:19, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Анекдотические претензии вида "Испанский язык отстой, потому что я его не знаю!"
     
     
  • 4.170, Crazy Alex (ok), 15:36, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да жизнь рассудила уже Когда ООП показало свои преимущества над чисто процедурн... большой текст свёрнут, показать
     
     
  • 5.184, arisu (ok), 22:56, 20/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > А что нужно в реальной жизни показывает продакшн.

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

    впрочем, с усложнением проектов в них начинают проникать вещи, о которых раньше рассуждали «высоколобые». и в итоге всё как обычно: сначала «в продакшене это не надо», потом «в продакшене это иногда полезно», а потом — «как же можно вообще делать продакшэн без этого?!»

     

     ....большая нить свёрнута, показать (31)

  • 1.7, Bashist (ok), 13:21, 17/10/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А что стало с языком "Go"?
     
     
  • 2.12, hummermania (ok), 13:41, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А что с ним? Цветет и пахнет себе. Он какбэ немного из другой области.
     
     
  • 3.18, Майкрософт (?), 13:48, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Пахнет, да. Правда не цветет.
    "Давайте все перепишем еще раз. На этот раз на GO!" - нет спасибо.


     
     
  • 4.23, cijic (ok), 13:53, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Кто-то кого-то заставляет переписывать что-то на Go?
    Сам Google переписал уже почти полностью (а может уже таки полностью) YouTube с Python. Теперь им требуется в несколько раз меньше вычислительных серверов для выполнения тех же задач.
     
  • 2.20, cijic (ok), 13:50, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Go очень даже хорошо развивается. Людям очень нравится. Стоит только посмотреть на количество и качество (последнее - субъективно) библиотек для него, которые делает народ.
     
     
  • 3.28, Майкрософт (?), 14:07, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >Go очень даже хорошо развивается.

    Если под развитием понимается написание не совместимых версия, то да.
    >Стоит только посмотреть на количество и качество (последнее - субъективно) библиотек для него, которые делает народ.

    Новый язык + бедная библиотека + NIH = "нужна библиотека - напиши сам"
    "А для записи в Oracle мы будем использовать написанную Василием xXx4axoRxXx Пупкиным библиотеку с гитхабика. В твиторе сказали что она - отвал башки!"

     
     
  • 4.36, Аноним (-), 14:50, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Вы так говорите, как будто это плохо :)
     
     
  • 5.54, Майкрософт (?), 16:32, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А потом выяснится что Василий, начитавшись книги Hacker's delight, все действия с числами в своей библиотеке производит с помощью побитовых операций и сдвигов, но к сожалении еще не дочитал до главы "Числа со знаком". И поэтому все ваши должники магическим образом стали миллионерами.
    Васи с гитхаба они такие.


     
  • 4.49, cijic (ok), 16:13, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >>Go очень даже хорошо развивается.
    > Если под развитием понимается написание не совместимых версия, то да.
    >>Стоит только посмотреть на количество и качество (последнее - субъективно) библиотек для него, которые делает народ.
    > Новый язык + бедная библиотека + NIH = "нужна библиотека - напиши
    > сам"
    > "А для записи в Oracle мы будем использовать написанную Василием xXx4axoRxXx Пупкиным
    > библиотеку с гитхабика. В твиторе сказали что она - отвал башки!"

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

     
     
  • 5.51, Майкрософт (?), 16:22, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    На эту?
    http://golang.org/pkg/
    Очень куцая.
    Анекдот - для языка который позиционируется и как язык для серверного web-а нет поддержки xpath.
     
     
  • 6.53, cijic (ok), 16:30, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Гораздо больше, чем стандартные для С/С++ даже последних стандартов. А с учётом того, что ему несколько лет, то это очень много. Из это СТАНДАРТНАЯ библиотека.
    Моё мнение такого. Ваше я также понял, но советую подумать всё ли так плохо, как Вы считаете.
     
     
  • 7.55, Майкрософт (?), 16:41, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сказать что ваша стандартная библиотека больше чем у С, это все равно что сказать что у вас мозгов больше чем у таракана.
    Что по поводу с++, так размер стандартной библиотеки называется одним из главных недостатков языка, см выступление секретаря коммитета iSO по стандартизации с++ Саттера http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/C-11-VC-11-and-B момента 1:16:00 +
    То есть ваш подопечный уже обогнал безногого и одноногого спортсменов. Но если сравнивать с java EE и .NET то он сам тянет только на хромого.



     
     
  • 8.56, Майкрософт (?), 16:42, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    err Day 2 Keynote - Herb Sutter C 11 and Beyond http channel9 msdn com Eve... текст свёрнут, показать
     
  • 8.57, cijic (ok), 16:54, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Java - 1995 C - 2000 Посмотрим на библиотеку Go через 10 лет Хотя бы Off to... большой текст свёрнут, показать
     
     
  • 9.58, Майкрософт (?), 17:09, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Используйте ГО потому что через десять лет у него будет шикарная библиотека А у... текст свёрнут, показать
     
     
  • 10.61, тоже Аноним (ok), 17:21, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не использовать STL в работе с С можно в двух случаях 1 Используется библиот... текст свёрнут, показать
     
     
  • 11.108, Аноним (-), 20:16, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    И третий случай когда не стоит использовать STL - при наличии головного мозга ... текст свёрнут, показать
     
     
  • 12.158, Аноним (-), 11:06, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Скорее, при его отсутствии Ну или по религиозным соображениям, что, видимо, ваш... текст свёрнут, показать
     
  • 10.63, Michael Shigorin (ok), 17:31, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Поясните всё же, чем не устроили CL и перл Или доводы малость односторонние ... текст свёрнут, показать
     
     
  • 11.107, Аноним (-), 20:08, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Больше интересуют языки практического программирования Извините ... текст свёрнут, показать
     
  • 10.64, cijic (ok), 18:00, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Я Вас правильно понял - Вы против появления новых языков программирования Стран... текст свёрнут, показать
     
     
  • 11.149, Майкрософт (?), 09:28, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Если они несут хоть одну новую идею - нет А если это 100 NIH как с Golang ... текст свёрнут, показать
     
     
  • 12.159, cijic (ok), 12:05, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Доброе утро Я не знаком с тем, что означает NIH В случае Go идея была в улуч... текст свёрнут, показать
     
  • 10.102, kurokaze (ok), 19:54, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Лол, вьюноша, осиль уже make -j9... текст свёрнут, показать
     
     
  • 11.104, Аноним (-), 19:58, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    И как я не догадался Спасибо ... текст свёрнут, показать
     
  • 4.100, kurokaze (ok), 19:52, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > В твиторе сказали что она - отвал башки!"

    Дай угодаю, ты завсегдатай тупичка?


     
  • 4.157, Аноним (-), 10:58, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно, только вот почему мне на MSDN в C# (.NET, Mono) советуют пользоваться каким-то Jayrock [http://jayrock.berlios.de] для роботы с JSON? А в Java для JSON приходиться искать что-то в роде Jackson [http://jackson.codehaus.org]? Где логика?

    >А для записи в Oracle мы будем использовать ...

    Одину из оберток (которую написать то и особого труда не составит самому, хотя да, можно и из GitHub стащить) к Oracle Call Interface [http://www.oracle.com/technetwork/database/features/oci/index.htm] через доступ библиотекам на голом С.

     

     ....большая нить свёрнута, показать (26)

  • 1.19, Гость (?), 13:49, 17/10/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Когда же уже кто-нибудь написшет язык для написания языков !
     
     
  • 2.22, cijic (ok), 13:50, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Уже написан. Английский называется)
     
  • 2.26, Анончик (?), 13:57, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Я принёс вам добрую весть https ru wikipedia org wiki ANTLR Более 20 лет как ... большой текст свёрнут, показать
     
     
  • 3.45, Аноним (-), 16:03, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Вот и выросло поколение, не знающее про Lex и Yacc.
     
     
  • 4.50, Майкрософт (?), 16:16, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Вот и выросло поколение, не знающее про Lex и Yacc.

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


     
  • 2.74, Cobold (??), 19:00, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B5
     

  • 1.25, Аноним (-), 13:56, 17/10/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    http://haxe.org/
     
  • 1.60, Crazy Alex (ok), 17:18, 17/10/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    После появления TypeScript лично для меня перспективы дарта стали совсем сомнительными. Тайпскрипт в отличие от дарта изучается за 20 минут и идеально транслируется в JS, причем очень прозрачная трансляция получается. То есть порог освоения почти нулевой. А в сравнении с тайпскриптом дарт уже совсем не так выигрышно смотрится - основные проблемы джаваскрипта тайпскрипт решает.

    Опять же - MS явно быстрее научит IE тайпскрипту, чем гугл впихнет дарт в хромиум...

     
     
  • 2.65, cijic (ok), 18:06, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну как сказать... И TypeScript, и Dart транслируются в JS. Работая на одном из них нет смысла смотреть на код на JS вообще, а как раз наоборот - вам важно чтобы оно работало именно так, как Вы задумывали и при этом во всех браузерах. Т.о. и TypeScript'овцы (какое окончание некрасивое), и Dart'овцы в одинаковых позициях.
    А вот на счёт порога вхождения - это покажет время и наличие библиотек для обоих языков.
     
     
  • 3.135, Crazy Alex (ok), 00:25, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Видите ли, отладка-то идёт уже транслированного кода. И то, что генерирует TypeScript, весьма приигодно для отладки и точка в генерированном JS отлично сопоставляется с исходником на TypeScript. А вот у Dart с этим так же плохо, как у CoffeeScript.

    А вот с бибилиотеками интереснее. Typescript поддерживает JS-код из коробки, являясь его надмножеством, а чтобы получить проверку типов для сторонних библиотек нужны относительно несложные декларации. А вот в Dart работа с JS-кодом сделана, скажем вежливо, не ахти (прокси какие-то), и проверка типов там уже, судя по всему,не получается. Вот, можете полюбоваться: http://www.dartlang.org/articles/js-dart-interop/?ModPagespeed=noscript

     
     
  • 4.160, cijic (ok), 12:24, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Настолько я не разбирался ни с одним из языков, но чувствуется, что Вы тут лучше... большой текст свёрнут, показать
     
     
  • 5.167, Crazy Alex (ok), 15:21, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Только если отладку в исходных языках поддержат в основных браузерах. Что, в принципе, ничего экстраординарного не требует - хватит какого-нибудь формата аннотаций в генерированном JS вроде как в генерированном C есть #line
     
  • 2.101, gegMOPO4 (ok), 19:54, 17/10/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Для Гугля это пройденный несколько лет назад этап (см. ECMAScript Harmony). Всё же решили, что в долговременной перспективе горбатого полностью не исправить, лучше сделать сразу правильно. Но Harmony тоже поддерживают. Так что здесь MS выступает в роли велосипедоизобретателя (им это не впервой).
     
     
  • 3.142, Crazy Alex (ok), 02:46, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Не припомню чтобы между революционным решением и эволюцией индустрия выбирала ре... большой текст свёрнут, показать
     
     
  • 4.153, Cobold (??), 10:38, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    знаете, почему-то столько раз, когда индустрии требовались новые решения, MS всегда умудрялась подсунуть дерьмо в красивом фантике. Не то что бы у них хороших разработчиков не было - вполне даже встречаются, да и свежих на стороне регулярно прикупают. Но вот что из этого обычно выходит, лучше бы уж совсем не брались.
     
     
  • 5.169, Crazy Alex (ok), 15:29, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да как сказать... В области языков программирования у них всегда дела неплохи были. Тот же VB  в своё время был вполне себе революцией (и при правильном применении был весьма неплох), c# - как язык просто хорош. Есть некие конфликты рантаймов, но сам язык очень достойный и выразительный.  Другое дело, что регулярно получалось, что "упрощенные" инструменты пытались использовать для чего-то большого и закономерно натыкались на грабли - с VB и особенно VBA это очень заметно было. А здесь у MS и автор языка с репутацией (как и C#), и к браузеру своему они всё это не прибили, на удивление, и транслятор под приемлемой лицензией... В общем, ждать подвоха вроде и неоткуда.
     
     
  • 6.173, тоже Аноним (ok), 16:06, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > ... MS ... ждать подвоха вроде и неоткуда.

    Как правило, это означает просто, что мы чего-то не знаем.

     
     
  • 7.174, Crazy Alex (ok), 16:28, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вон с Mono уже ждут подвоха сколько лет - а его всё не видно.
     
     
  • 8.176, Michael Shigorin (ok), 23:35, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Он просто с другой стороны пришёл -- всем спасибо, все свободны ... текст свёрнут, показать
     

  • 1.128, evgeny_t (ok), 22:59, 17/10/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    java не купили вовремя, теперь жрут кактус
     
     
  • 2.163, Аноним (-), 13:07, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > java не купили вовремя, теперь жрут кактус

    (равнодушно) В отличие от тебя, неспособного ни купить JRE, ни написать что-то подобное в одно лицо, они хотя бы оказались способны ко второму.

     

  • 1.155, Аноним (-), 10:39, 18/10/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Не называйте транслятор компилятором.
     
     
  • 2.164, Аноним (-), 13:07, 18/10/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Не называйте транслятор компилятором.

    Границы уже давно размыты. Вылазь из криокамеры.

     
  • 2.186, arisu (ok), 23:03, 20/10/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Не называйте транслятор компилятором.

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

     

  • 1.185, Егор (??), 22:58, 20/10/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    То что действительно сейчас нужно, так это компилятор который будет делать следующее

    int function a() implements b {
    bool x;
    string y;


    return 1;
    }

    var z = function () {};

    ....

    var function a() {
    var x;
    var y;

    }
    var z = function () {};

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру