URL: https://ssl.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 86895
[ Назад ]

Исходное сообщение
"Представлен первый релиз языка Dart, развиваемого компанией ..."

Отправлено opennews , 17-Окт-12 12:51 
Компания Google отпраздновала год с момента открытия (https://www.opennet.ru/opennews/art.shtml?num=31991) языка программирования Dart публикацией (http://news.dartlang.org/2012/10/dart-m1-release.html) первого релиза проекта. Dart (http://www.dartlang.org/) позиционируется как язык структурированного программирования для Web, который в долгосрочной перспективе может стать прогрессивной заменой JavaScript, решающей имеющиеся в настоящее время проблемы с расширяемостью, производительностью и поддержкой разработки сложных приложений. Язык обладает похожим на Java синтаксисом, не требует явного определения типов и может использоваться для создания серверных и клиентских приложений.


Отмечается, что за год существования открытого проекта было исправлено большое количество ошибок и недоработок, что позволило  сформировать первый стабильный и функциональный выпуск, готовый для повсеместного использования. По сравнению с первоначальным вариантом языка в представленном выпуске Dart отмечается (http://www.dartlang.org/articles/m1-language-changes/) большое число улучшений и изменений, подготовленных на основе отзывов и анализа эффективности. В будущем улучшение языка будет продолжено, но на уровне оттачивания и оптимизаций, не нарушающих обратную совместимость. Из главных планов также отмечается продолжение развития SDK, проведение работы по увеличению надёжности и производительности.


Для упрощения разработки с использованием Dart новый выпуск оформлен в виде SDK (http://www.dartlang.org/docs/sdk/), включающего в себя компилятор dart2js (http://www.dartlang.org/docs/dart2js/), виртуальную машину Dart VM (http://www.dartlang.org/docs/standalone-dart-vm/), пакетный менеджер pub (http://pub.dartlang.org/) и набор библиотек. Для выполнения и отладки приложений на языке Dart, без компиляции в JavaScript, распространяется Dartium - сборка браузера Chromium с интегрированной виртуальной машиной Dart VM. Дополнительно доступен (http://www.dartlang.org/downloads.html) расширенный пакет Dart Editor (http://www.dartlang.org/docs/editor/), в который помимо SDK и Dartium включена специализированная среда разработки на языке Dart.
<center><a href="http://1-ps.googleusercontent.com/x/s.dart-lang.appspot.com/... src="https://www.opennet.ru/opennews/pics_base/0_1350459412.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;" title="" border=0></a></center>

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

-  Высокопроизводительная виртуальная машина  Dart VM, в некоторых тестах Octane (https://developers.google.com/octane/) опережающая JavaScript-движок V8. При запуске Dart-приложений внутри виртуальной машины планируется обеспечить производительность выполнения близкую к компилируемым в машинный код языкам;


-  Новый компилятор для трансляции кода с языка Dart в представление на языке  JavaScript, способное работать во всех современных браузерах; Новый компилятор отличается генерацией быстрого и компактного JavaScript-кода;
-  Универсальная библиотека (http://api.dartlang.org/docs/continuous/dart_html.html) для обработки и генерации HTML-контента, работающая во всех браузерах;
-  Библиотека (https://github.com/dart-lang/js-interop) для обеспечения взаимодействия с кодом на языке JavaScript;
-  Редактор кода (http://www.dartlang.org/docs/editor/getting-started/), обладающий возможностями современных IDE;
-  Новый пакетный менеджер Pub (http://pub.dartlang.org/), позволяющий работать с репозиториями модулей и библиотек на языке Dart;
-  Dartium (http://www.dartlang.org/dartium/) - сборка Chromium со встроенной поддержкой Dart;
-  Серверная библиотека (http://api.dartlang.org/docs/continuous/dart_io.html) для организации воода/вывода;  
-  Документация и спецификации (http://www.dartlang.org/docs/spec/) с описанием семантики и возможностей языка.

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

-  Привычный и простой для изучения синтаксис, естественный для программистов на JavaScript, Си и Java.
-  Обеспечение быстрого запуска и высокой производительности для всех современных web-браузеров и различных типов окружений, от портативных устройств до мощных серверов;
-  Возможность определения классов и интерфейсов, позволяющих использовать инкапсуляцию и повторно использовать существующие методы и данные;

-  Необязательное указание типов, использовать или нет статические типы решает разработчик. Указание типов позволяет упростить отладку и выявление ошибок, делает код более ясным и читаемым, упрощает его доработку и анализ сторонними разработчиками.
-  Среди поддерживаемых типов: различные виды хэшей, массивов и списков, очереди, числовые и строковые типы, типы для определения даты и времени, регулярные выражения (RegExp). Возможно создание своих (http://www.dartlang.org/articles/optional-types/) типов;

-  Для организации параллельного выполнения предлагается использовать классы с атрибутом isolate, код которых выполняется полностью в изолированном пространстве в отдельной области памяти, взаимодействуя с основным процессом через отправку сообщений;


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

-  Набор готовых инструментов для поддержки разработки на языке Dart, включая реализацию средств динамической разработки и отладки с исправлением кода на лету ("edit-and-continue");

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


URL: http://news.dartlang.org/2012/10/dart-m1-release.html
Новость: https://www.opennet.ru/opennews/art.shtml?num=35102


Содержание

Сообщения в этом обсуждении
"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Аноним , 17-Окт-12 12:51 
Потыкал его. Довольно вкусная штука. Хотя как по мне был сыроват малясь. Например регулярки работали только в построчном режиме и игнорировали параметр multiLine: true. Посмотрим что будет в релизе.

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено The Doctor , 17-Окт-12 13:11 
Ну дык, все впереди.

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Аноным , 17-Окт-12 13:09 
Как же Гугл обожает Яву)

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено piteri , 17-Окт-12 13:44 
> Как же Гугл обожает Яву)

И это хорошо


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Майкрософт , 17-Окт-12 14:13 
И именно гуугл мы должны благодарить за то что в java до сих пор нет ни замыканий ни инференции типов.


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено piteri , 17-Окт-12 15:46 
> И именно гуугл мы должны благодарить за то что в java до
> сих пор нет ни замыканий

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

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


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Майкрософт , 17-Окт-12 16:05 
>что замыкания в жаве таки есть.

Нет. или вы про кривенький рерайт который делает 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



"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено piteri , 17-Окт-12 18:53 
>>что замыкания в жаве таки есть.
> Нет. или вы про кривенький рерайт который делает 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;

И?


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Аноним , 17-Окт-12 20:03 
> 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)



"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено piteri , 17-Окт-12 20:39 
Где вы видите необходимость в замыканиях в этом куске кода?

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Аноним , 17-Окт-12 21:34 
Совершенно нигде.
Но и нет никакой необходимости в который раз приветствовать мир так?

int sum = 0
val sumattor = (x:Int)=>sum+=x

val list1 = List(1,2,3)
val list2 = List(4,5,6)
val Set1 = Set(2,3,9)
//... добрая сотня разных листов сетов последовательностей которые надо просумировать

list1.foreach(sumattor)
...
list999.foreach(summator)
Set1.foreach(summator)
// а вы будете писать сотню циклов? Удачи не ошибится, и не написать sum=x вместо sum+=x в 75 раз.


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


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено VoDA , 17-Окт-12 23:05 
> И больше мы можем вернуть этот сумматор из функции и продолжать накапливать
> значения из разных модулей библиотек и процедур.

Собственно сумматор в лоб заменяется на Интерфейс + анонимная реализация. И работает и " больше мы можем вернуть этот сумматор из функции и продолжать накапливать значения из разных модулей библиотек и процедур"

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


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Аноним , 17-Окт-12 23:33 
Вот только не надо код пересказывать своим словами, я вас умоляю.
Продемонстрируйте.

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено piteri , 18-Окт-12 01:11 
class Summator{
   int sum;
  
   void add(Iterable<Integer> list){
      for (int i : list){
         sum += i;
      }
   }
}

хотя куда проще

static int function(Iterable<Integer> list){
    int sum = 0;
    for (int i : list){
        sum += i;
    }
    return sum;
}


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Аноним , 18-Окт-12 08:06 
Все еще не вижу замыканий.
И да, ваш код не эквивалентен моему. У меня аккумулятор внешний и не доступен вызывающей стороне.У вас вообще нет инкапсуляции sum.
То есть надо минимально

public class Summator{
   private int sum;
   public int getSum(){
      return sum;
   }

   public void add(Iterable<Integer> list){
      for (int i : list){
         sum += i;
      }
   }
}


Вы все еще не видите преимущества замыканий? Напомню

val f = (x:Int)=>sum+=x


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено piteri , 18-Окт-12 10:15 
Всё ещё считаете что тут _необходимы_ замыкания?

Я давно прошу привести пример, где:
1. Без замыкания не обойтись, либо код с замыканием на порядок проще и понятнее чем альтернативный путь
2. Анонимный класс проблему либо не решает либо код слишком сложен и непонятен.
Вместо этого мне предлагают просуммировать массив. Вас что, на замыканиях замкнуло? Кофе по утрам тоже через замыкания пьёте?


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Майкрософт , 18-Окт-12 10:38 
А я вас который раз прошу привести доказательства что в java замыкания вообще есть. Хотя бы на суммировании массива.
1. Без замыкания не обойтись
Так как брейнфак тоже полон по Тьюрингу следует что можно обойтись без любый "фишек" языка. Достаточно сложения вычитания и получения и установки значения.
Вы сверху видели что задача решающаяся одной строкой через замыкания решается у вас 12 строками. Причем ваше решение неверно.

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено piteri , 18-Окт-12 12:44 
>А я вас который раз прошу привести доказательства что в java замыкания вообще есть

наличие анонимных классов в жаве вы сами упомянули, какие ещё доказательства вам нужны?

>1. Без замыкания не обойтись

У меня было
>1. Без замыкания не обойтись, либо код с замыканием на порядок проще и понятнее чем альтернативный путь

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

Если все ваши аргументы сводятся к тому что на жаве нельзя написать val f = (x:Int)=>sum+=x, то я не могу возражать, синтакис этого действительно не позволяет. И что вы мне пытаетесть доказать в этом случае?


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Майкрософт , 18-Окт-12 13:27 
Анонимные классы не замыкания. Замыкания не анонимные классы.
Я выше привел задачу которую можно решить замыканиями но нельзя решить с помощью анонимных классов.
>Использование класса для сложения элементов массива - это вообще подход за гранью добра и зла. Тем более что задача надуманна.

Вы либо можете решить задачу заданными средствами или нет. Вы ратовали за существование полноценных замыканий в java вот и докажите это решив вышеприведенную задачу. А то подход на уровне пятого класса -"Я теорему Пифагора доказывать не буду - задача надуманная!"


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено piteri , 18-Окт-12 15:36 
>Анонимные классы не замыкания. Замыкания не анонимные классы.

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

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

>Вы ратовали за существование полноценных замыканий в java вот и докажите это решив вышеприведенную задачу

Можете считать замыкания в жаве неполноценными, ибо нельзя написать val f = (x:Int)=>sum+=x.


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Майкрософт , 17-Окт-12 16:10 
> Однажды сетовал на это пока не понял, что пытаюсь почесать левое ухо
> правой ногой. Возможно есть случаи когда это критично, но я таких
> не придумал.

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



"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено piteri , 17-Окт-12 18:55 
> Это совершенно не критично. Это намного хуже, это неудобно.

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


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Аноним , 17-Окт-12 19:33 
Много писанины, которая что характерно совершенно бессмысленна

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 память как у мартышки?



"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено aaa , 17-Окт-12 20:30 
> И на хрена я ТРИ раза писал Integer ?

private static void wtf(ArrayList a) { // здесь
    a.add("Wtf"); // и сдесь компилятор выдает ворнинги
    System.out.println("нахрена ты их не читаешь?");
}


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Аноним , 17-Окт-12 20:54 
То есть все что смог выдавить из себя компилятор после того как я ТРИ раза написал тип - это не фатальный "ворнинг"? Я кстати открою страшный секрет - эти "ворнинги" никто не читает, в доказательство погуглите "eclipse" "class cast exception" или замените эклипс на ваш любимый продут на java.


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено piteri , 17-Окт-12 20:48 
ракалицо.

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


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Аноним , 17-Окт-12 21:04 
Я вам рекомендую Scala - статически(в отличие от java) типизированный язык. В статически типизированном языке писать типы совершенно не обязательно. Они никуда не денутся, никто не сотрет.
import scala.collection.mutable._

val list = MutableList(1,2,3)
list += 4   // ок
list += "f" // никогда, ни под каким видом не компилируется.


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено piteri , 17-Окт-12 21:34 
> Я вам рекомендую Scala - статически(в отличие от java) типизированный язык. В
> статически типизированном языке писать типы совершенно не обязательно. Они никуда не
> денутся, никто не сотрет.
> import scala.collection.mutable._
>
 
> val list = MutableList(1,2,3)
> list += 4   // ок
> list += "f" // никогда, ни под каким видом не компилируется.
>

Приведённый кусок никаким боком не пересекается с тем что на пару постов выше ибо
        ArrayList<Integer> foo = new ArrayList<Integer>();
        foo.add("bar");
тоже ни разу не компилируется


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Аноним , 17-Окт-12 21:36 
А приведенный кусок изобразить на скале не получится, ввиду статической типизации.



"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Аноним , 17-Окт-12 21:46 
> Приведённый кусок никаким боком не пересекается с тем что на пару постов
> выше ибо
>         ArrayList<Integer> foo = new
> ArrayList<Integer>();
>         foo.add("bar");
> тоже ни разу не компилируется

Да ладно вы просто не умеете готовить кофе.


  ArrayList<Integer> foo = new ArrayList<Integer>();
  ArrayList bar = foo;
  bar.add("wtf")

и потом
$maven compile && maven deploy
и пусть весь мир подождет.



"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено piteri , 18-Окт-12 01:19 
двойной рукалицо

ещё можно написать throw new RuntimrException();
только ответа на вопрос я так и не получил
>Что именно неудобно?


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Аноним , 18-Окт-12 08:09 
> ещё можно написать throw new RuntimrException();

можно. но когда так пишут то они явно хотят выкинуть RuntimeException. А когда пишут тип хотят что?
>Что именно неудобно?

Заходит джавист в столовую и говорит “Паблик статик файнал Борщ борщ нью Борщ, пожалуйста”.


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено piteri , 18-Окт-12 10:20 
> когда пишут тип хотят что?

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

>Заходит джавист в столовую и говорит “Паблик статик файнал Борщ борщ нью Борщ, пожалуйста”.

Петросян в треде?


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Майкрософт , 18-Окт-12 10:44 
> А когда пишут явно нерабочий код чего хотят?

А код


ArrayList bar = foo()

не рабочий? Он работает прекрасно. Пока...
>Петросян в треде?

А вы не из его аудитории? Тогда к чему вы употребляете "мемы"?


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено piteri , 18-Окт-12 15:29 
> А код
>
 
> ArrayList bar = foo()
>

> не рабочий? Он работает прекрасно. Пока...

Так же как и c = a / b;


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Michael Shigorin , 17-Окт-12 15:49 
> И именно гуугл мы должны благодарить за то что в java до
> сих пор нет ни замыканий ни инференции типов.

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


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Майкрософт , 17-Окт-12 16:26 
require("traslator")
А у МС в этом плане все хорошо. Можно не любить платформу, но с точки зрения языка c# намного приятней java. Java малость устарела.



"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Michael Shigorin , 17-Окт-12 17:28 
> require("traslator")

From Jargon File (4.3.1, 29 Jun 2001) [jargon]:

  grok /grok/, var. /grok/ vt. [common; from the novel "Stranger in a
     Strange Land", by Robert A. Heinlein, where it is a Martian word meaning
     literally `to drink' and metaphorically `to be one with'] The emphatic
     form is `grok in fullness'. 1. To understand. Connotes intimate and
     exhaustive knowledge. When you claim to `grok' some knowledge or
     technique, you are asserting that you have not merely learned it in a
     detached instrumental way but that it has become part of you, part of
     your identity. For example, to say that you "know" {LISP} is simply to
     assert that you can code in it if necessary - but to say you "grok" LISP
     is to claim that you have deeply entered the world-view and spirit of
     the language, with the implication that it has transformed your view of
     programming. Contrast {zen}, which is similar supernal understanding
     experienced as a single brief flash. See also {glark}. 2. Used of
     programs, may connote merely sufficient understanding. "Almost all C
     compilers grok the `void' type these days."[/grok]

> А у МС в этом плане все хорошо.

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


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено piteri , 17-Окт-12 18:40 
Возможно с точки зрения идеи, не знаю что было в головах авторов при создании. Но вот реализация - кошмар.

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено jedie , 17-Окт-12 14:29 
конечно, первые версии их паука были написаны как раз на Java

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Майкрософт , 17-Окт-12 14:33 
К сожалению сейчас они перешли в отношении к java в режим "Хватать и не отпускать". И медленно, но верно, превращают java в новый COBOL.

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Аноним , 18-Окт-12 19:05 
Java с самого начала была "новым коболом". И там, и там ориентировка на загадочный "энтерпрайз"; и там, и там отсутствие любого намёка на краткость. Разница только в том, что Java — C-like, а COBOL — нет.

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено анон , 17-Окт-12 14:35 
И тем не менее на скриншоте мы видим что-то похожее на православную сишечку.

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Майкрософт , 17-Окт-12 14:41 
> на скриншоте мы видим

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


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Аноним , 17-Окт-12 14:55 
Тормозят не ЯП и не IT-системы. А лишь мозги программёров и сисадминов.

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Майкрософт , 17-Окт-12 15:02 
К эклипсу это не относится.

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено kurokaze , 17-Окт-12 19:49 
>богопротивный эклипс

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


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

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


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Аноним , 17-Окт-12 20:22 
>Отлично, буду знать что core-i7 3770k изобрели пришельцы

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


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено piteri , 17-Окт-12 20:53 
>>Отлично, буду знать что core-i7 3770k изобрели пришельцы
> Ну слава богу, процессор всего за 500$ долларов равный по мощности всем
> вычислительным системам в США в 1980 году может тянуть без торможений,
> этот, по сути, текстовый редактор.
> Срочно пошел копить.

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


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Аноним , 17-Окт-12 21:38 
> Удивительно но факт https://www.opennet.ru/opennews/art.shtml?num=34779. И я уже наблюдал
> горемыку который не читал новостей

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


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Аноним , 17-Окт-12 13:18 
Не вижу в чем dart _существенно_ лучше, чем javascript.
Быдлокодеры просто прототипное ООП осилить не могут.
CoffeeScript, Dart, TypeScript...

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Аноним , 17-Окт-12 13:34 
> Быдлокодеры просто прототипное ООП осилить не могут.

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


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Аноним , 17-Окт-12 13:47 
Мне многое не нравится в реализация JavaScript.
Но изобретать dart/*script проблему не решит.
С таким же успехом можно пробовать HTML заменить. XHTML 2.0 тому доказательство.

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Майкрософт , 17-Окт-12 13:50 
С JS все в порядке. Node.js это явно доказал. А если "use strict" то вообще все отлично.
DOM другое дело.



"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено piteri , 17-Окт-12 15:28 
node.js доказал только то что желание передавать функции в качестве аргументов других функций ни к чему хорошему не приводит.

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Майкрософт , 17-Окт-12 16:12 
Каким же образом он это доказал?



"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено piteri , 17-Окт-12 19:24 
> Каким же образом он это доказал?

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


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Аноним , 17-Окт-12 19:41 
Да многие проекты на нем пишут из за того? что на js можно писать foo(new function()...).
Это, кстати, называется continuation passing и являлось предметов зависти программистов на других языках к Common Lisp на протяжении многих лет. Реализация на js не самая идеальная, но лучше чем например рубиновый callcc.

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено piteri , 17-Окт-12 21:01 
> Да многие проекты на нем пишут из за того? что на js
> можно писать foo(new function()...).
> Это, кстати, называется continuation passing и являлось предметов зависти программистов
> на других языках к Common Lisp на протяжении многих лет. Реализация
> на js не самая идеальная, но лучше чем например рубиновый callcc.

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


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Аноним , 17-Окт-12 21:15 
Когда кто то говорит что это дизайн языка заставил его писать плохой код он малость лукавит. Да и не намного вложенные функции хуже вложенных if или switch
Полюбуйтесь

Foo_state do_foo(Bar bar,Foo_state foo)
    {
    switch(foo)
        {
        case foo_none: //start
        switch(bar)
            {
            case bar_stuff:
                //do stuff
                return foo_none;
            case bar_other:
                //do other stuff
                return foo_again;
                case foo_again: //!! this doesn't work
                    /* edit: this is supposed to be a case of
                     *     switch(foo), not switch(bar)
                     */
                //do more other stuff
                return foo_none;
            default:
                //stuff
                return foo_none;
            }
        default:
            //fail
            return foo_error;
        }
    }

http://stackoverflow.com/questions/1978202/c-nested-switches...

"Представлен первый релиз языка Dart, развиваемого..."
Отправлено arisu , 20-Окт-12 22:44 
> Полюбуйтесь

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

полюбовался. некоторых людей лучше не подпускать к сложной технике.


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено тоже Аноним , 17-Окт-12 14:00 
Ваше заявление позволяет с уверенностью предположить, что на вашей рабочей системе (Windows XP) установлен официальный ICQ-клиент.

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Z , 17-Окт-12 13:38 
Он проще, понятнее и позволяет решать чуть большее количество задач. А когда для решения задачи есть более простой способ, то использовать будут его. Зачем осиливать прототипное ООП, функциональное программирование и другие сложности, если задачу можно решить проще (а значит дешевле и надежнее)? Поэтому сложные технологии - удел маргиналов, которые гордятся своей непохожестью на других, дискредитируют плебеев, неосиливших ТЕХНОЛОГИЮ и для решения простых задач используют мегасложные вещи, потому что это круто.

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Майкрософт , 17-Окт-12 13:46 
>Он проще, понятнее

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

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

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


"Лопата"
Отправлено Анончик , 17-Окт-12 13:54 
>Зачем осиливать компьютер когда лопата проще.

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


"Лопата"
Отправлено Майкрософт , 17-Окт-12 14:08 
Проблему зарабатывания денег можно решить и лопатой.



"Лопата"
Отправлено Аноним , 18-Окт-12 09:40 
> Проблему зарабатывания денег можно решить и лопатой.

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


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Crazy Alex , 17-Окт-12 17:13 
Да. Классы проще. На больших проектах - особенно. Потому что они при очень небольших усилиях держат архитектуру проекта обозримой. Они дают некую самодокументируемость - если я передаю функции объект класса Circle это отнюдь не то же самое, что сунуть ей нечто, в чем есть члены x, y и r. Функциональщина в этом смысле ещё хуже - там сущности какие-то совсем нечеловеческие получаются.

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Аноним , 17-Окт-12 19:56 
> Да. Классы проще.

Только потому как большинство и не знает альтернатив.
DSL-s кстати еще проще.

> На больших проектах - особенно.

Хреново они себя показывают на больших проектах. Когда у тебя 400 классов до глубины в 9 уровней наследования понять как работает хоть что то - не реально.

Противоположность еще хуже. Класс User на 3500 loc который:
- формирует html личной страницы пользователя
- создает sql и записывает себя в базу
- включает все возможные и невозможные свойства пользователя, включая лог всех его посещений
- реализует 19 интерфейсов
- и много всего другого ...
И это реальность. Знаете как забавно играть в игру - "Угадай, что сломается если изменить формат .toString()"
>Потому что они при очень небольших усилиях держат архитектуру проекта обозримой. Они дают некую самодокументируемость  если я передаю функции объект класса Circle это отнюдь не
> то же самое, что сунуть ей нечто, в чем есть члены

Вы путаете ООП c типизацией. Они никак не связаны.
> Функциональщина в этом смысле ещё хуже - там сущности какие-то совсем нечеловеческие получаются.

Признайтесь, "Функциональщина" вы упомянули ради красного словца.  


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Crazy Alex , 18-Окт-12 03:55 
А классы - это, осбственно, и есть такой DSL - определяем объекты и клеим их средствами языка. Тьюринг-полного, навороченного, с кучей возможностей, в отличие от большинства

И если кто-то ваяет гору уровней наследования - то это либо с гловой плохо либо бедный язык вроде Джавы, на котором иначе не сделать. Собственно, наследование - штука вообще довольно редко нужная, а уж 9 уровней - это дикость. Впрочем, класс-помойка еще хуже.  Как раз потому что эти 9 уровней - оно жуть, конечно, но оно логично, можно понять, что мы за сущность в данный момент обрабатываем, и сделать над собой что-то недопустимое эта сущность не даст.

А ООП и типизацию я не путаю. Ну да, можно ввести в JS просто структуры - но тогда получим только половину плюшек - поля у нас будут, а что с полями делается - не документировано ни разу. Продолжая мой пример - есть разница между arg.x = 1; arg.y = 2 и circle.moveTo(1,2)

Что касается ФП - оно хорошо внутри императивного языка, какая-нибудь односточная обработка с map или чем-то подобным. И то foreach часто читается получше. А если на хаскеле каком большую софтину писать - то я это читабельным никак не назову. Онять же - последовательность операций для человеческих мозгов привычна и понятна, можно каждый кусок по отдельности читать, и пишутся они по отдельности. А вот формулу приходится самостоятельно мысленно рвать на какие-то части, разбираться, какой конкретный смысл имеет в данном случае общая конструкция и т.п.


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Майкрософт , 18-Окт-12 09:07 
У вас класический батхерт программиста на Блаб -е. Просто в рамочку и на стену вешай.
"Представим себе Блаб - средненький язычок, расположенный посрединке линейки языков. Не самый мощный, но уж помощнее чем машинный код и 1с.
Наш, гипотетический, программист на Блабе уж конечно не будет писать на машкоде, для этого ведь придумали компиляторы, так? Что до 1с, то он не знает как на 1с можно написать хоть что то, ведь там нет X(объектов, классов, полиморфизма - вставьте "фичу" Блаба на свой выбор)
И вот болтаясь в середине вселенной языков, наш программист смотря вниз прекрасно понимает что он смотрит вниз. Языки ниже явно слабее чем Блаб, ведь они не имеют возможностей к которым он привык. Но когда гипотетический Блаббер смотрит в обратном направлении он не понимает что он смотрит вверх. То что он видит это весьма странные языки. Он считает их по мощности равным Блабу, но но с добавлением неведомой фигни. Блаб -а ему достаточно, так как он мыслит категориями Блаба.
Но когда(если) он переключается на язык более мощный, он с удивлением обнаруживает что
смотрит на Блаб сверху вниз. И как на Блабе можно сделать хоть что нибудь, ведь там нет (Pattern matching, pure function, Монад... )?
Вот поэтому и нельзя доверять мнению программистов о языках. Ведь для них все языки кроме своего делятся на 1)Слабые 2)Странные.
http://en.wikipedia.org/wiki/Paul_Graham_(computer_programmer)#Blub




"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Crazy Alex , 18-Окт-12 15:46 
Цитатка забавная, но не обо мне. Я и на ассемблере пишу, и на D, который весьма странен и богат, и на перле, на котором можно накрутить почище JS. Но надо понимать, для какой области что имеет смысл использовать.

Если у нас прошивка контроллера - то даже если пишем на сях в ассемблерный листинг глянуть придётся.

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

А "более мощные языки" - это обычно полигон для обкатки новых возможностей, которые потом приходят в мейнстрим, как было с делегатами, лямбдами, итераторами, классами и многим другим. Но писать продакшн на этом - увольте. Второе применение таких языков - развитие программиста. Но тут, кстати, выгодно брать, грубо говоря, не Haskell, а Scala или D - больше разных концепций, можно посмотреть, как они взаимодействуют и как стыкуются с уже существующими мейнстримными возможностями.


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Michael Shigorin , 18-Окт-12 23:55 
> Но писать продакшн на этом - увольте.

Надо будет adept@ рассказать -- он к нам подумывал, но решил, что ninja team хаскелятников интересней, чем скучный продакшен на эрланге ;-)  А другой коллега участвовал в лисповой части orbitz.com.

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

Отчасти на том основана и шпилька в адрес некрософта была.


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Crazy Alex , 19-Окт-12 13:07 
Не знаю, может где-то что-то живое на функциональщине пишут, но я не видел. Максимум - эрланг, который хорош, в общем-то, как клей для нативных модулей в распределённой среде либо на софт вида "решил откуда взять и куда положить, а дальше работаешь трубой". Какие-либо обработки на нём делать себе дороже - тормозной. Ну и синтаксис у него с чудесами - одни records чего стоят. Я на нём пишу чуток, если что;-)

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

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

И насчет "заплаток" вы зря, объединяется оно хорошо,самое очевидное - closures, делегаты, лямбды, map/reduce (по факту - то же паттерн Visitor)  - всё это отлично улеглось в императив и стало абсолютной нормой для любого современного языка. Собственно, именно в императиве, когда у нас есть состояние, те же делегаты куда интереснее, чем в ФП функции как параметры. Кое-где также спокойно живут nullable типы, immutable variables...


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Michael Shigorin , 19-Окт-12 13:24 
> [erlang] Какие-либо обработки на нём делать себе дороже - тормозной. [...]
> Я на нём пишу чуток, если что;-)

Если циклами, то неудивительно. :)

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

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

> А лисп - это отдельная песня. Может, он только для меня совершенно
> нечитабелен, но, IMHO, лучше иметь специализированные конструкции из коробки,
> чем лисповскую общность

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

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

Да, это типичная индустриальная точка зрения. :)  Вот только обиндусиваться не хочется.

> И насчет "заплаток" вы зря, объединяется оно хорошо, самое очевидное -
> closures, делегаты, лямбды, map/reduce (по факту - то же паттерн Visitor)  -
> всё это отлично улеглось в императив и стало абсолютной нормой для
> любого современного языка.

Есть люди, которые задачки в школе решали в символьном виде, а потом подставляли значения; а есть те, которые всё сразу решали в числах и функциями пользовались примерно как калькулятором.  Так вот последние функций не понимают (зато конкретную задачку, если не ошибутся по дороге, могут решить порой и быстрей -- но вот на следующей аналогичной обычно начинают отставать).

Это не наезд ни в коей мере, а скорее напоминалка о том, что мы, по счастью, бываем разные :)


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено anonymous , 19-Окт-12 15:21 
А в ответ приводишь классический баттхёрт функциональщика - "Я один пишу на самом лучшем языке, любой кто пишет на другом ущербен по определению". Понимаю что цитата, но хоть бы немного оригинальности.

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Майкрософт , 17-Окт-12 13:39 
Первое место в десятке js багов.

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

Это не к тому, что прототипное наследование это плохо.
Плохо то как оно сделано в js.

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено piteri , 17-Окт-12 13:43 
Проблемы со зрением?

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Crazy Alex , 18-Окт-12 03:30 
Так можно сказать "быдлокодеры brainfuck освоить не могут". Профита с этих прототипов как основного механизма? Код замусоривать там где можно написать class Foo{} ? То же что и крики "на лиспе можно любую объектную систему сделать и вообще что хотите". Ну можно, и что? На кой мне любая? Мне нужна конкретная, да так чтобы нужные конструкции легко писались, легко читались (то есть из коды выхватывались одним взглядом) и чтобы инструментя их понимали. И с JS то же самое - если чтобы сделать приватный член класса мне надо как-то извращаться - на кой оно надо, если в нормальном языке я просто пишу private и потом с одногов згляда вижу, что это?

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Майкрософт , 18-Окт-12 09:19 
Анекдотические претензии вида "Испанский язык отстой, потому что я его не знаю!"

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Crazy Alex , 18-Окт-12 15:36 
Да жизнь рассудила уже. Когда ООП показало свои преимущества над чисто процедурным программированием - оно за считанные годы захватило свои позиции. А потом их слегка потеряло, что правильно. А функциональщики флагами уже лет сорок машут.

Понимаете, "чистое" FP, как и любой другой "чистый" подход - это сектантство. А что нужно в реальной жизни показывает продакшн. И это смесь парадигм почти всегда - вон классы, вон шаблоны (которые могут быть функциональными, а могут и не быть), вон лямбда, вон класс-функтор, сохраняющий своё состояние, вон shared data, вон actor... вот тогда жить удобно. А когда правоверные начинают писать - то всегда выходит чудовище, будь это иерархия в 9 уровней, попытки избавиться от состояния и императивного кода любой ценой или писанина на C, где в результате получается эмуляция ООП.


"Представлен первый релиз языка Dart, развиваемого..."
Отправлено arisu , 20-Окт-12 22:56 
> А что нужно в реальной жизни показывает продакшн.

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

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


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Bashist , 17-Окт-12 13:21 
А что стало с языком "Go"?

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено hummermania , 17-Окт-12 13:41 
А что с ним? Цветет и пахнет себе. Он какбэ немного из другой области.

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Майкрософт , 17-Окт-12 13:48 
Пахнет, да. Правда не цветет.
"Давайте все перепишем еще раз. На этот раз на GO!" - нет спасибо.



"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено cijic , 17-Окт-12 13:53 
Кто-то кого-то заставляет переписывать что-то на Go?
Сам Google переписал уже почти полностью (а может уже таки полностью) YouTube с Python. Теперь им требуется в несколько раз меньше вычислительных серверов для выполнения тех же задач.

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено cijic , 17-Окт-12 13:50 
Go очень даже хорошо развивается. Людям очень нравится. Стоит только посмотреть на количество и качество (последнее - субъективно) библиотек для него, которые делает народ.

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Майкрософт , 17-Окт-12 14:07 
>Go очень даже хорошо развивается.

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

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


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Аноним , 17-Окт-12 14:50 
Вы так говорите, как будто это плохо :)

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Майкрософт , 17-Окт-12 16:32 
А потом выяснится что Василий, начитавшись книги Hacker's delight, все действия с числами в своей библиотеке производит с помощью побитовых операций и сдвигов, но к сожалении еще не дочитал до главы "Числа со знаком". И поэтому все ваши должники магическим образом стали миллионерами.
Васи с гитхаба они такие.



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

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


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Майкрософт , 17-Окт-12 16:22 
На эту?
http://golang.org/pkg/
Очень куцая.
Анекдот - для языка который позиционируется и как язык для серверного web-а нет поддержки xpath.

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено cijic , 17-Окт-12 16:30 
Гораздо больше, чем стандартные для С/С++ даже последних стандартов. А с учётом того, что ему несколько лет, то это очень много. Из это СТАНДАРТНАЯ библиотека.
Моё мнение такого. Ваше я также понял, но советую подумать всё ли так плохо, как Вы считаете.

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Майкрософт , 17-Окт-12 16:41 
Сказать что ваша стандартная библиотека больше чем у С, это все равно что сказать что у вас мозгов больше чем у таракана.
Что по поводу с++, так размер стандартной библиотеки называется одним из главных недостатков языка, см выступление секретаря коммитета iSO по стандартизации с++ Саттера http://channel9.msdn.com/Events/GoingNative/GoingNative-2012... момента 1:16:00 +
То есть ваш подопечный уже обогнал безногого и одноногого спортсменов. Но если сравнивать с java EE и .NET то он сам тянет только на хромого.




"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Майкрософт , 17-Окт-12 16:42 
*err
Day 2 Keynote - Herb Sutter: C++11 and Beyond
http://channel9.msdn.com/Events/GoingNative/GoingNative-2012...


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено cijic , 17-Окт-12 16:54 
> Сказать что ваша стандартная библиотека больше чем у С, это все равно
> что сказать что у вас мозгов больше чем у таракана.
> Что по поводу с++, так размер стандартной библиотеки называется одним из главных
> недостатков языка, см выступление секретаря коммитета iSO по стандартизации с++ Саттера
> http://channel9.msdn.com/Events/GoingNative/GoingNative-2012...
>  c момента 1:16:00 +
> То есть ваш подопечный уже обогнал безногого и одноногого спортсменов. Но если
> сравнивать с java EE и .NET то он сам тянет только
> на хромого.

Java - 1995
C#   - 2000
Посмотрим на библиотеку Go через 10 лет. Хотя бы.

Off top: У Java/C# и С/С++ совсем разные точки зрения. Пример тому то, что в стандарт когда не хотел включать то, что сейчас называется стандартной библиотекой шаблонов.


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Майкрософт , 17-Окт-12 17:09 
Используйте ГО потому что через десять лет у него будет шикарная библиотека!
А у Java С# и Python, у которого, кстати, тоже библиотека больше, за 10 лет ничего не прибавится?

Что до STL я знаю компании в которых использование STL программистами запрещено.
И их можно понять - ведь STL это не только мозговзрывной дизайн, но и +50% времени компиляции и +100% WTF?! в сообщениях об ошибках.


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено тоже Аноним , 17-Окт-12 17:21 
Не использовать STL в работе с С++ можно в двух случаях.
1. Используется библиотека более высокого уровня, использующая STL в реализации, но в "завернутом" виде - для тех, кто не умеет пользоваться STL сам. Некоторое время все может казаться идеальным, потом зависимость от этой библиотеки начинает выходить боком.
2. Пишутся свои низкоуровневые велосипеды на замену STL - а заодно и компиляторы, которые их оптимизируют лучше, чем нынешние популярные компиляторы оптимизируют STL. Вряд ли это ваш случай - людям, которые работают на таком уровне, практически невозможно указывать, как именно работать.

Если вы действительно знаете альтернативу - расскажите подробнее.


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Аноним , 17-Окт-12 20:16 
И третий случай когда не стоит использовать STL - при наличии головного мозга.


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Аноним , 18-Окт-12 11:06 
> И третий случай когда не стоит использовать STL - при наличии головного
> мозга.

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

Ничего мозголомного в STL нет. Лезть в его реализацию вас никто не заставляет, а пользоваться - куда уж проще?


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Michael Shigorin , 17-Окт-12 17:31 
> Используйте ГО потому что через десять лет у него будет шикарная библиотека!

Поясните всё же, чем не устроили CL и перл?  Или доводы малость односторонние?..


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Аноним , 17-Окт-12 20:08 
Больше интересуют языки практического программирования. Извините.

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено cijic , 17-Окт-12 18:00 
> Используйте ГО потому что через десять лет у него будет шикарная библиотека!
> А у Java С# и Python, у которого, кстати, тоже библиотека больше,
> за 10 лет ничего не прибавится?

Я Вас правильно понял - Вы против появления новых языков программирования?

> Что до STL я знаю компании в которых использование STL программистами запрещено.
> И их можно понять - ведь STL это не только мозговзрывной дизайн,
> но и +50% времени компиляции и +100% WTF?! в сообщениях об
> ошибках.

Странные компиляторы используются, если +100% времени - это сообщения об ошибках.


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Майкрософт , 18-Окт-12 09:28 
>Я Вас правильно понял - Вы против появления новых языков программирования?

Если они несут хоть одну новую идею - нет. А если это 100% NIH как с Golang?


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено cijic , 18-Окт-12 12:05 
>>Я Вас правильно понял - Вы против появления новых языков программирования?
> Если они несут хоть одну новую идею - нет. А если это
> 100% NIH как с Golang?

Доброе утро.
Я не знаком с тем, что означает "NIH".

В случае Go идея была в улучшении и облегчении создания многопоточных программ, возможность использовать один язык как для web, так и для компьютера, и чтобы это был компилируемый, полностью кроссплатформенный язык, но при этом с возможностью как ручного, так и автоматического управления памятью.
Как по мне - собрать воедино то, что требует реалии - очень хорошо. И это я говорю несмотря на то, что некоторые моменты (в основном, связанные с синтаксисом Go) мне очень неприятны.


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено kurokaze , 17-Окт-12 19:54 
> но и +50% времени компиляции

Лол, вьюноша, осиль уже make -j9


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Аноним , 17-Окт-12 19:58 
И как я не догадался. Спасибо!


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено kurokaze , 17-Окт-12 19:52 
> В твиторе сказали что она - отвал башки!"

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



"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Аноним , 18-Окт-12 10:58 
Конечно, только вот почему мне на 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/inde... через доступ библиотекам на голом С.


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Гость , 17-Окт-12 13:49 
Когда же уже кто-нибудь написшет язык для написания языков !

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено cijic , 17-Окт-12 13:50 
Уже написан. Английский называется)

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Анончик , 17-Окт-12 13:57 
> Когда же уже кто-нибудь написшет язык для написания языков !

Я принёс вам добрую весть: https://ru.wikipedia.org/wiki/ANTLR
>ANTLR (от англ. ANother Tool for Language Recognition — «ещё одно средство распознавания языков») — генератор парсеров, позволяющий автоматически создавать программу-парсер (как и лексический анализатор) на одном из целевых языков программирования (C++, Java, C#, Python, Ruby)[1] по описанию LL(*)-грамматики на языке, близком к РБНФ. Позволяет конструировать компиляторы, интерпретаторы, трансляторы с различных формальных языков. Предоставляет удобные средства для восстановления после ошибок и сообщения о них. ANTLR — продолжение PCCTS (Purdue Compiler Construction Tool Set), который был разработан в 1989 г.

Более 20 лет как всё есть уже.


"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Аноним , 17-Окт-12 16:03 
Вот и выросло поколение, не знающее про Lex и Yacc.

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Майкрософт , 17-Окт-12 16:16 
> Вот и выросло поколение, не знающее про Lex и Yacc.

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



"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Cobold , 17-Окт-12 19:00 
http://ru.wikipedia.org/wiki/%D0%9F%D1%8...

"Представлен первый релиз языка Dart, развиваемого компанией ..."
Отправлено Аноним , 17-Окт-12 13:56 
http://haxe.org/

"Представлен первый промежуточный релиз языка Dart, развиваем..."
Отправлено Crazy Alex , 17-Окт-12 17:18 
После появления TypeScript лично для меня перспективы дарта стали совсем сомнительными. Тайпскрипт в отличие от дарта изучается за 20 минут и идеально транслируется в JS, причем очень прозрачная трансляция получается. То есть порог освоения почти нулевой. А в сравнении с тайпскриптом дарт уже совсем не так выигрышно смотрится - основные проблемы джаваскрипта тайпскрипт решает.

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


"Представлен первый промежуточный релиз языка Dart, развиваем..."
Отправлено cijic , 17-Окт-12 18:06 
Ну как сказать... И TypeScript, и Dart транслируются в JS. Работая на одном из них нет смысла смотреть на код на JS вообще, а как раз наоборот - вам важно чтобы оно работало именно так, как Вы задумывали и при этом во всех браузерах. Т.о. и TypeScript'овцы (какое окончание некрасивое), и Dart'овцы в одинаковых позициях.
А вот на счёт порога вхождения - это покажет время и наличие библиотек для обоих языков.

"Представлен первый промежуточный релиз языка Dart, развиваем..."
Отправлено Crazy Alex , 18-Окт-12 00:25 
Видите ли, отладка-то идёт уже транслированного кода. И то, что генерирует TypeScript, весьма приигодно для отладки и точка в генерированном JS отлично сопоставляется с исходником на TypeScript. А вот у Dart с этим так же плохо, как у CoffeeScript.

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


"Представлен первый промежуточный релиз языка Dart, развиваем..."
Отправлено cijic , 18-Окт-12 12:24 
> Видите ли, отладка-то идёт уже транслированного кода. И то, что генерирует TypeScript,
> весьма приигодно для отладки и точка в генерированном JS отлично сопоставляется
> с исходником на TypeScript. А вот у Dart с этим так
> же плохо, как у CoffeeScript.
> А вот с бибилиотеками интереснее. Typescript поддерживает JS-код из коробки, являясь его
> надмножеством, а чтобы получить проверку типов для сторонних библиотек нужны относительно
> несложные декларации. А вот в Dart работа с JS-кодом сделана, скажем
> вежливо, не ахти (прокси какие-то), и проверка типов там уже, судя
> по всему,не получается. Вот, можете полюбоваться: http://www.dartlang.org/articles/js-dart-interop/?ModPagespe...

Настолько я не разбирался ни с одним из языков, но чувствуется, что Вы тут лучше разбираетесь. Ну и выше я написал, что в итоге всё должно вылиться в то, что про JS вообще никто думать не будет, как, к примеру, пишут на Java, хотя всё переводится в код на С (ну или нативный для устройства).


"Представлен первый промежуточный релиз языка Dart, развиваем..."
Отправлено Crazy Alex , 18-Окт-12 15:21 
Только если отладку в исходных языках поддержат в основных браузерах. Что, в принципе, ничего экстраординарного не требует - хватит какого-нибудь формата аннотаций в генерированном JS вроде как в генерированном C есть #line

"Представлен первый промежуточный релиз языка Dart, развиваем..."
Отправлено gegMOPO4 , 17-Окт-12 19:54 
Для Гугля это пройденный несколько лет назад этап (см. ECMAScript Harmony). Всё же решили, что в долговременной перспективе горбатого полностью не исправить, лучше сделать сразу правильно. Но Harmony тоже поддерживают. Так что здесь MS выступает в роли велосипедоизобретателя (им это не впервой).

"Представлен первый промежуточный релиз языка Dart, развиваем..."
Отправлено Crazy Alex , 18-Окт-12 02:46 
Не припомню чтобы между революционным решением и эволюцией индустрия выбирала революцию. А здесь MS очень плавный переход предлагает - полная обратная совместимость плюс при желании - новые плюшки. IMHO - у такого подхода много больше шансов победить. Да и язык довольно аккуратно продуман, тут не отнять. Сами спецификацию почитайте - оцените.

Собственно, полностью горбатого исправлять и не обязательно - хотелось бы, конечно, выкинуть автоматическое преобразование типов, чушь с необязательными точками с запятой и прочее, но для реальной работы предложения MS вполне достаточно - есть проверка типов, есть закрытые именованные структуры, которые можно пихать вместо невнятных {...}, есть удобные классы без синтаксического мусора, есть модули. Для того чтобы делать веб-приложения этих добавок вполне хватит.


"Представлен первый промежуточный релиз языка Dart, развиваем..."
Отправлено Cobold , 18-Окт-12 10:38 
знаете, почему-то столько раз, когда индустрии требовались новые решения, MS всегда умудрялась подсунуть дерьмо в красивом фантике. Не то что бы у них хороших разработчиков не было - вполне даже встречаются, да и свежих на стороне регулярно прикупают. Но вот что из этого обычно выходит, лучше бы уж совсем не брались.

"Представлен первый промежуточный релиз языка Dart, развиваем..."
Отправлено Crazy Alex , 18-Окт-12 15:29 
Да как сказать... В области языков программирования у них всегда дела неплохи были. Тот же VB  в своё время был вполне себе революцией (и при правильном применении был весьма неплох), c# - как язык просто хорош. Есть некие конфликты рантаймов, но сам язык очень достойный и выразительный.  Другое дело, что регулярно получалось, что "упрощенные" инструменты пытались использовать для чего-то большого и закономерно натыкались на грабли - с VB и особенно VBA это очень заметно было. А здесь у MS и автор языка с репутацией (как и C#), и к браузеру своему они всё это не прибили, на удивление, и транслятор под приемлемой лицензией... В общем, ждать подвоха вроде и неоткуда.

"Представлен первый промежуточный релиз языка Dart, развиваем..."
Отправлено тоже Аноним , 18-Окт-12 16:06 
> ... MS ... ждать подвоха вроде и неоткуда.

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


"Представлен первый промежуточный релиз языка Dart, развиваем..."
Отправлено Crazy Alex , 18-Окт-12 16:28 
Ну вон с Mono уже ждут подвоха сколько лет - а его всё не видно.

"Представлен первый промежуточный релиз языка Dart, развиваем..."
Отправлено Michael Shigorin , 18-Окт-12 23:35 
> Ну вон с Mono уже ждут подвоха сколько лет - а его всё не видно.

Он просто с другой стороны пришёл -- "всем спасибо, все свободны".


"Представлен первый промежуточный релиз языка Dart, развиваем..."
Отправлено evgeny_t , 17-Окт-12 22:59 
java не купили вовремя, теперь жрут кактус

"Представлен первый промежуточный релиз языка Dart, развиваем..."
Отправлено Аноним , 18-Окт-12 13:07 
> java не купили вовремя, теперь жрут кактус

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


"Представлен первый промежуточный релиз языка Dart, развиваем..."
Отправлено Аноним , 18-Окт-12 10:39 
Не называйте транслятор компилятором.

"Представлен первый промежуточный релиз языка Dart, развиваем..."
Отправлено Аноним , 18-Окт-12 13:07 
> Не называйте транслятор компилятором.

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


"Представлен первый промежуточный релиз языка Dart,..."
Отправлено arisu , 20-Окт-12 23:03 
> Не называйте транслятор компилятором.

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


"Представлен первый промежуточный релиз языка Dart, развиваем..."
Отправлено Егор , 20-Окт-12 22:58 
То что действительно сейчас нужно, так это компилятор который будет делать следующее

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


return 1;
}

var z = function () {};

....

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

}
var z = function () {};