The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Представлен первый релиз языка Dart, развиваемого компанией ..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Представлен первый релиз языка Dart, развиваемого компанией ..."  +/
Сообщение от opennews (??) on 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

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +5 +/
Сообщение от Аноним (??) on 17-Окт-12, 12:51 
Потыкал его. Довольно вкусная штука. Хотя как по мне был сыроват малясь. Например регулярки работали только в построчном режиме и игнорировали параметр multiLine: true. Посмотрим что будет в релизе.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +1 +/
Сообщение от The Doctor (ok) on 17-Окт-12, 13:11 
Ну дык, все впереди.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +1 +/
Сообщение от Аноным (ok) on 17-Окт-12, 13:09 
Как же Гугл обожает Яву)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

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

И это хорошо

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

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

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

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

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

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

Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

46. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +/
Сообщение от Майкрософт on 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


Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

70. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +2 +/
Сообщение от piteri (ok) on 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;

И?

Ответить | Правка | ^ к родителю #46 | Наверх | Cообщить модератору

106. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +/
Сообщение от Аноним (??) on 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)


Ответить | Правка | ^ к родителю #70 | Наверх | Cообщить модератору

112. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +1 +/
Сообщение от piteri (ok) on 17-Окт-12, 20:39 
Где вы видите необходимость в замыканиях в этом куске кода?
Ответить | Правка | ^ к родителю #106 | Наверх | Cообщить модератору

122. "Представлен первый релиз языка Dart, развиваемого компанией ..."  –1 +/
Сообщение от Аноним (??) on 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 раз.


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

Ответить | Правка | ^ к родителю #112 | Наверх | Cообщить модератору

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

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

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

Ответить | Правка | ^ к родителю #122 | Наверх | Cообщить модератору

131. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +1 +/
Сообщение от Аноним (??) on 17-Окт-12, 23:33 
Вот только не надо код пересказывать своим словами, я вас умоляю.
Продемонстрируйте.
Ответить | Правка | ^ к родителю #129 | Наверх | Cообщить модератору

138. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +/
Сообщение от piteri (ok) on 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;
}

Ответить | Правка | ^ к родителю #122 | Наверх | Cообщить модератору

145. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +/
Сообщение от Аноним (??) on 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

Ответить | Правка | ^ к родителю #138 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #145 | Наверх | Cообщить модератору

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

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

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

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

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

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

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

Ответить | Правка | ^ к родителю #154 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #161 | Наверх | Cообщить модератору

171. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +/
Сообщение от piteri (ok) on 18-Окт-12, 15:36 
>Анонимные классы не замыкания. Замыкания не анонимные классы.

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

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

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

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

Ответить | Правка | ^ к родителю #165 | Наверх | Cообщить модератору

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

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


Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

94. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +/
Сообщение от Аноним (??) on 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 память как у мартышки?


Ответить | Правка | ^ к родителю #71 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #94 | Наверх | Cообщить модератору

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

Ответить | Правка | ^ к родителю #111 | Наверх | Cообщить модератору

113. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +/
Сообщение от piteri (ok) on 17-Окт-12, 20:48 
ракалицо.

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

Ответить | Правка | ^ к родителю #94 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #113 | Наверх | Cообщить модератору

121. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +/
Сообщение от piteri (ok) on 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");
тоже ни разу не компилируется

Ответить | Правка | ^ к родителю #118 | Наверх | Cообщить модератору

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


Ответить | Правка | ^ к родителю #121 | Наверх | Cообщить модератору

125. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +/
Сообщение от Аноним (??) on 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
и пусть весь мир подождет.


Ответить | Правка | ^ к родителю #121 | Наверх | Cообщить модератору

140. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +/
Сообщение от piteri (ok) on 18-Окт-12, 01:19 
двойной рукалицо

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

Ответить | Правка | ^ к родителю #125 | Наверх | Cообщить модератору

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

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

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

Ответить | Правка | ^ к родителю #140 | Наверх | Cообщить модератору

152. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +/
Сообщение от piteri (ok) on 18-Окт-12, 10:20 
> когда пишут тип хотят что?

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

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

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

Ответить | Правка | ^ к родителю #146 | Наверх | Cообщить модератору

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

А код


ArrayList bar = foo()

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

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

Ответить | Правка | ^ к родителю #152 | Наверх | Cообщить модератору

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

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

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

Ответить | Правка | ^ к родителю #156 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

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


Ответить | Правка | ^ к родителю #44 | Наверх | Cообщить модератору

62. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +/
Сообщение от Michael Shigorin email(ok) on 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]

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

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

Ответить | Правка | ^ к родителю #52 | Наверх | Cообщить модератору

69. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +/
Сообщение от piteri (ok) on 17-Окт-12, 18:40 
Возможно с точки зрения идеи, не знаю что было в головах авторов при создании. Но вот реализация - кошмар.
Ответить | Правка | ^ к родителю #52 | Наверх | Cообщить модератору

32. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +/
Сообщение от jedie on 17-Окт-12, 14:29 
конечно, первые версии их паука были написаны как раз на Java
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

33. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +/
Сообщение от Майкрософт on 17-Окт-12, 14:33 
К сожалению сейчас они перешли в отношении к java в режим "Хватать и не отпускать". И медленно, но верно, превращают java в новый COBOL.
Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

175. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +1 +/
Сообщение от Аноним (??) on 18-Окт-12, 19:05 
Java с самого начала была "новым коболом". И там, и там ориентировка на загадочный "энтерпрайз"; и там, и там отсутствие любого намёка на краткость. Разница только в том, что Java — C-like, а COBOL — нет.
Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

34. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +1 +/
Сообщение от анон on 17-Окт-12, 14:35 
И тем не менее на скриншоте мы видим что-то похожее на православную сишечку.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

37. "Представлен первый релиз языка Dart, развиваемого компанией ..."  –5 +/
Сообщение от Аноним (??) on 17-Окт-12, 14:55 
Тормозят не ЯП и не IT-системы. А лишь мозги программёров и сисадминов.
Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

39. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +4 +/
Сообщение от Майкрософт on 17-Окт-12, 15:02 
К эклипсу это не относится.
Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

98. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +/
Сообщение от kurokaze (ok) on 17-Окт-12, 19:49 
>богопротивный эклипс

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


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

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

Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #98 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #110 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #114 | Наверх | Cообщить модератору

5. "Представлен первый релиз языка Dart, развиваемого компанией ..."  –8 +/
Сообщение от Аноним (??) on 17-Окт-12, 13:18 
Не вижу в чем dart _существенно_ лучше, чем javascript.
Быдлокодеры просто прототипное ООП осилить не могут.
CoffeeScript, Dart, TypeScript...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +4 +/
Сообщение от Аноним (??) on 17-Окт-12, 13:34 
> Быдлокодеры просто прототипное ООП осилить не могут.

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

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

17. "Представлен первый релиз языка Dart, развиваемого компанией ..."  –1 +/
Сообщение от Аноним (??) on 17-Окт-12, 13:47 
Мне многое не нравится в реализация JavaScript.
Но изобретать dart/*script проблему не решит.
С таким же успехом можно пробовать HTML заменить. XHTML 2.0 тому доказательство.
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

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


Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

42. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +/
Сообщение от piteri (ok) on 17-Окт-12, 15:28 
node.js доказал только то что желание передавать функции в качестве аргументов других функций ни к чему хорошему не приводит.
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

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


Ответить | Правка | ^ к родителю #42 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

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

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

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

Ответить | Правка | ^ к родителю #97 | Наверх | Cообщить модератору

119. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +/
Сообщение от Аноним (??) on 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...
Ответить | Правка | ^ к родителю #116 | Наверх | Cообщить модератору

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

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

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

Ответить | Правка | ^ к родителю #119 | Наверх | Cообщить модератору

27. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +1 +/
Сообщение от тоже Аноним (ok) on 17-Окт-12, 14:00 
Ваше заявление позволяет с уверенностью предположить, что на вашей рабочей системе (Windows XP) установлен официальный ICQ-клиент.
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

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

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

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

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

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

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

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


Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

150. "Лопата"  +2 +/
Сообщение от Аноним (??) on 18-Окт-12, 09:40 
> Проблему зарабатывания денег можно решить и лопатой.

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

Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

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

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

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

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

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

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

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

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

Ответить | Правка | ^ к родителю #59 | Наверх | Cообщить модератору

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

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

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

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

Ответить | Правка | ^ к родителю #103 | Наверх | Cообщить модератору

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



Ответить | Правка | ^ к родителю #144 | Наверх | Cообщить модератору

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

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

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

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

Ответить | Правка | ^ к родителю #147 | Наверх | Cообщить модератору

177. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +/
Сообщение от Michael Shigorin email(ok) on 18-Окт-12, 23:55 
> Но писать продакшн на этом - увольте.

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

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

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

Ответить | Правка | ^ к родителю #172 | Наверх | Cообщить модератору

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

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

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

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

Ответить | Правка | ^ к родителю #177 | Наверх | Cообщить модератору

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

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

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

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

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

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

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

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

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

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

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

Ответить | Правка | ^ к родителю #178 | Наверх | Cообщить модератору

180. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +/
Сообщение от anonymous (??) on 19-Окт-12, 15:21 
А в ответ приводишь классический баттхёрт функциональщика - "Я один пишу на самом лучшем языке, любой кто пишет на другом ущербен по определению". Понимаю что цитата, но хоть бы немного оригинальности.
Ответить | Правка | ^ к родителю #147 | Наверх | Cообщить модератору

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

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

Это не к тому, что прототипное наследование это плохо.
Плохо то как оно сделано в js.
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

13. "Представлен первый релиз языка Dart, развиваемого компанией ..."  –1 +/
Сообщение от piteri (ok) on 17-Окт-12, 13:43 
Проблемы со зрением?
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

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

148. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +/
Сообщение от Майкрософт on 18-Окт-12, 09:19 
Анекдотические претензии вида "Испанский язык отстой, потому что я его не знаю!"
Ответить | Правка | ^ к родителю #143 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #148 | Наверх | Cообщить модератору

184. "Представлен первый релиз языка Dart, развиваемого..."  +/
Сообщение от arisu (ok) on 20-Окт-12, 22:56 
> А что нужно в реальной жизни показывает продакшн.

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

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

Ответить | Правка | ^ к родителю #170 | Наверх | Cообщить модератору

7. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +/
Сообщение от Bashist (ok) on 17-Окт-12, 13:21 
А что стало с языком "Go"?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +1 +/
Сообщение от hummermania (ok) on 17-Окт-12, 13:41 
А что с ним? Цветет и пахнет себе. Он какбэ немного из другой области.
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

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


Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

23. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +2 +/
Сообщение от cijic (ok) on 17-Окт-12, 13:53 
Кто-то кого-то заставляет переписывать что-то на Go?
Сам Google переписал уже почти полностью (а может уже таки полностью) YouTube с Python. Теперь им требуется в несколько раз меньше вычислительных серверов для выполнения тех же задач.
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

20. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +1 +/
Сообщение от cijic (ok) on 17-Окт-12, 13:50 
Go очень даже хорошо развивается. Людям очень нравится. Стоит только посмотреть на количество и качество (последнее - субъективно) библиотек для него, которые делает народ.
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

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

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

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

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

36. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +/
Сообщение от Аноним (??) on 17-Окт-12, 14:50 
Вы так говорите, как будто это плохо :)
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

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


Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

51. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +/
Сообщение от Майкрософт on 17-Окт-12, 16:22 
На эту?
http://golang.org/pkg/
Очень куцая.
Анекдот - для языка который позиционируется и как язык для серверного web-а нет поддержки xpath.
Ответить | Правка | ^ к родителю #49 | Наверх | Cообщить модератору

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

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



Ответить | Правка | ^ к родителю #53 | Наверх | Cообщить модератору

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

Ответить | Правка | ^ к родителю #55 | Наверх | Cообщить модератору

57. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +1 +/
Сообщение от cijic (ok) on 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# и С/С++ совсем разные точки зрения. Пример тому то, что в стандарт когда не хотел включать то, что сейчас называется стандартной библиотекой шаблонов.

Ответить | Правка | ^ к родителю #55 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #57 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #58 | Наверх | Cообщить модератору

108. "Представлен первый релиз языка Dart, развиваемого компанией ..."  –1 +/
Сообщение от Аноним (??) on 17-Окт-12, 20:16 
И третий случай когда не стоит использовать STL - при наличии головного мозга.

Ответить | Правка | ^ к родителю #61 | Наверх | Cообщить модератору

158. "Представлен первый релиз языка Dart, развиваемого компанией ..."  –1 +/
Сообщение от Аноним (??) on 18-Окт-12, 11:06 
> И третий случай когда не стоит использовать STL - при наличии головного
> мозга.

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

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

Ответить | Правка | ^ к родителю #108 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #58 | Наверх | Cообщить модератору

107. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +/
Сообщение от Аноним (??) on 17-Окт-12, 20:08 
Больше интересуют языки практического программирования. Извините.
Ответить | Правка | ^ к родителю #63 | Наверх | Cообщить модератору

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

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

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

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

Ответить | Правка | ^ к родителю #58 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #64 | Наверх | Cообщить модератору

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

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

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

Ответить | Правка | ^ к родителю #149 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #58 | Наверх | Cообщить модератору

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

Ответить | Правка | ^ к родителю #102 | Наверх | Cообщить модератору

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

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


Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

157. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +/
Сообщение от Аноним (??) on 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... через доступ библиотекам на голом С.

Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

19. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +/
Сообщение от Гость on 17-Окт-12, 13:49 
Когда же уже кто-нибудь написшет язык для написания языков !
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

22. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +3 +/
Сообщение от cijic (ok) on 17-Окт-12, 13:50 
Уже написан. Английский называется)
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

26. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +/
Сообщение от Анончик on 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 лет как всё есть уже.

Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

45. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +/
Сообщение от Аноним (??) on 17-Окт-12, 16:03 
Вот и выросло поколение, не знающее про Lex и Yacc.
Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

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

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


Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

74. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +/
Сообщение от Cobold (??) on 17-Окт-12, 19:00 
http://ru.wikipedia.org/wiki/%D0%9F%D1%8...
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

25. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +/
Сообщение от Аноним (??) on 17-Окт-12, 13:56 
http://haxe.org/
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

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

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

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

Ответить | Правка | ^ к родителю #65 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #135 | Наверх | Cообщить модератору

167. "Представлен первый промежуточный релиз языка Dart, развиваем..."  +/
Сообщение от Crazy Alex (ok) on 18-Окт-12, 15:21 
Только если отладку в исходных языках поддержат в основных браузерах. Что, в принципе, ничего экстраординарного не требует - хватит какого-нибудь формата аннотаций в генерированном JS вроде как в генерированном C есть #line
Ответить | Правка | ^ к родителю #160 | Наверх | Cообщить модератору

101. "Представлен первый промежуточный релиз языка Dart, развиваем..."  +1 +/
Сообщение от gegMOPO4 (ok) on 17-Окт-12, 19:54 
Для Гугля это пройденный несколько лет назад этап (см. ECMAScript Harmony). Всё же решили, что в долговременной перспективе горбатого полностью не исправить, лучше сделать сразу правильно. Но Harmony тоже поддерживают. Так что здесь MS выступает в роли велосипедоизобретателя (им это не впервой).
Ответить | Правка | ^ к родителю #60 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #101 | Наверх | Cообщить модератору

153. "Представлен первый промежуточный релиз языка Dart, развиваем..."  +2 +/
Сообщение от Cobold (??) on 18-Окт-12, 10:38 
знаете, почему-то столько раз, когда индустрии требовались новые решения, MS всегда умудрялась подсунуть дерьмо в красивом фантике. Не то что бы у них хороших разработчиков не было - вполне даже встречаются, да и свежих на стороне регулярно прикупают. Но вот что из этого обычно выходит, лучше бы уж совсем не брались.
Ответить | Правка | ^ к родителю #142 | Наверх | Cообщить модератору

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

173. "Представлен первый промежуточный релиз языка Dart, развиваем..."  +2 +/
Сообщение от тоже Аноним (ok) on 18-Окт-12, 16:06 
> ... MS ... ждать подвоха вроде и неоткуда.

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

Ответить | Правка | ^ к родителю #169 | Наверх | Cообщить модератору

174. "Представлен первый промежуточный релиз языка Dart, развиваем..."  +/
Сообщение от Crazy Alex (ok) on 18-Окт-12, 16:28 
Ну вон с Mono уже ждут подвоха сколько лет - а его всё не видно.
Ответить | Правка | ^ к родителю #173 | Наверх | Cообщить модератору

176. "Представлен первый промежуточный релиз языка Dart, развиваем..."  +/
Сообщение от Michael Shigorin email(ok) on 18-Окт-12, 23:35 
> Ну вон с Mono уже ждут подвоха сколько лет - а его всё не видно.

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

Ответить | Правка | ^ к родителю #174 | Наверх | Cообщить модератору

128. "Представлен первый промежуточный релиз языка Dart, развиваем..."  –2 +/
Сообщение от evgeny_t (ok) on 17-Окт-12, 22:59 
java не купили вовремя, теперь жрут кактус
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

163. "Представлен первый промежуточный релиз языка Dart, развиваем..."  +/
Сообщение от Аноним (??) on 18-Окт-12, 13:07 
> java не купили вовремя, теперь жрут кактус

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

Ответить | Правка | ^ к родителю #128 | Наверх | Cообщить модератору

155. "Представлен первый промежуточный релиз языка Dart, развиваем..."  +1 +/
Сообщение от Аноним (??) on 18-Окт-12, 10:39 
Не называйте транслятор компилятором.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

164. "Представлен первый промежуточный релиз языка Dart, развиваем..."  –1 +/
Сообщение от Аноним (??) on 18-Окт-12, 13:07 
> Не называйте транслятор компилятором.

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

Ответить | Правка | ^ к родителю #155 | Наверх | Cообщить модератору

186. "Представлен первый промежуточный релиз языка Dart,..."  +/
Сообщение от arisu (ok) on 20-Окт-12, 23:03 
> Не называйте транслятор компилятором.

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

Ответить | Правка | ^ к родителю #155 | Наверх | Cообщить модератору

185. "Представлен первый промежуточный релиз языка Dart, развиваем..."  +/
Сообщение от Егор email(??) on 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 () {};

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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