У кого какие мнения?
Спустя 6 минут, 59 секунд (11.10.2011 - 14:33) alex12060 написал(а):
m4a1fox
Ну не плохо. Пока в действии не юзал его, но читаю сейчас доку, и вижу, что он схож с C++.
Строготипизирован, это хорошо.
Хорошая ООП, уже не плохо, но, наверное, немного излишне.
Есть четкое разграничение доступа к объектам, хороший ход в убийство ЖС.
Но пока он замудрен сильно, не знаю, может позже вытащат из него ненужное. А то, с такой основой бедные браузеры.
Ну не плохо. Пока в действии не юзал его, но читаю сейчас доку, и вижу, что он схож с C++.
Строготипизирован, это хорошо.
Хорошая ООП, уже не плохо, но, наверное, немного излишне.
Есть четкое разграничение доступа к объектам, хороший ход в убийство ЖС.
Но пока он замудрен сильно, не знаю, может позже вытащат из него ненужное. А то, с такой основой бедные браузеры.
Спустя 6 минут, 4 секунды (11.10.2011 - 14:39) m4a1fox написал(а):
C++? Хм. Я тоже доки сейчас читаю, но по мне так вылитый JS? Еще так и не понял в чем разница?! Вот нет что бы в доках точно эьто указать. Мол, раньше на JS вы делали (что-то) так, сложно, а вот наш DART с этим справляется за меньшее время и с меньшим кодом. Вот отличие, вот преимущество! Вот так было бы понятнее.

Спустя 15 минут, 37 секунд (11.10.2011 - 14:55) m4a1fox написал(а):
class Point {
var x, y;
Point(this.x, this.y);
scale(factor) => new Point(x*factor, y*factor);
distance() => Math.sqrt(x*x + y*y);
}
Это получается, что класс используется сам в себе?
И вот это интересно!
scale(factor) => new Point(x*factor, y*factor);
Насколько я понял это функция, с паарметром factor внутри, но как-то она ссылается хитро на объект, кот. кажется, уже инициализирован???!!! :)
Спустя 5 минут, 16 секунд (11.10.2011 - 15:00) alex12060 написал(а):
m4a1fox
Ну для начала, первой выполняется функция main(), и, насколько я понял, только она.
В С такая же шарада.
final переменные и функции. Строгая типизация.
Это все С, и последующий С++
Ну для начала, первой выполняется функция main(), и, насколько я понял, только она.
В С такая же шарада.
final переменные и функции. Строгая типизация.
Это все С, и последующий С++
Спустя 8 минут (11.10.2011 - 15:08) m4a1fox написал(а):
alex12060
Цитата |
Ну для начала, первой выполняется функция main(), и, насколько я понял, только она. В С такая же шарада. final переменные и функции. Строгая типизация. Это все С, и последующий С++ |
Спорить не буду, ибо не в курсе как там у С и С++. Скорее вы правы. Но мне интересна последовательность действий. Это что же получается, что вот такой код
class Point {
var x, y;
Point(this.x, this.y);
scale(factor) => new Point(x*factor, y*factor);
distance() => Math.sqrt(x*x + y*y);
}
main() {
var a = new Point(2,3).scale(10);
print(a.distance());
}
Как я понимаю, должен был вернуть число - 130. Но возвращает, как оказалось - 36.05551275463989. Интересно, как это у него получилось? Даже если разбирать код, попробую. Итак
class Point {
var x, y;
Point(this.x(2), this.y(3));
scale(factor(10)) => new Point(x(2)*factor(10), y(3)*factor(10)); // получается что теперь в scale => new Point(x = 20, y = 30)
distance() => Math.sqrt(x(20)*x(2) + y(3)*y(30)); // итого в сумме должно вернуться 130.
}
main() {
var a = new Point(2,3).scale(10);
print(a.distance());
}
P.S. Хотя нужно еще посмотреть, что делает API sqrt?! Правильно? Это называется API? Когда используется функция кот. встроена в стандартный набор языка?
Спустя 36 минут, 34 секунды (11.10.2011 - 15:44) alex12060 написал(а):
Вот на пыхе сделал то же самое.
Там рассказывается о том, что можно делать вызов класса внутри класса.. Ты не правильно понял смысл, там мы вызываем экземпляр класса внутри него же, и далее идут рассчеты с новыми значениями.
Если по твоему коду, то вот так будет:
class Point {
public $x = null;
public $y = null;
public function Point($x, $y) {
$this->x = (int)$x;
$this->y = (int)$y;
}
public function scale($factor) {
return new Point($this->x*(int)$factor, $this->y*(int)$factor);
}
public function distance() {
return (float)sqrt($this->x*$this->x + $this->y*$this->y);
}
}
$t = new Point(2, 3);
$t = $t->scale(10);
echo $t->distance();
Там рассказывается о том, что можно делать вызов класса внутри класса.. Ты не правильно понял смысл, там мы вызываем экземпляр класса внутри него же, и далее идут рассчеты с новыми значениями.
Если по твоему коду, то вот так будет:
class Point {
var x, y;
Point(this.x(2), this.y(3)); // Конструктор. Мы х = 2, а у = 3
scale(factor(10)) => new Point(x(2)*factor(10), y(3)*factor(10)); // Вызываем объект еще раз, и перемножаем старые значения на 10, получаем новые.
distance() => Math.sqrt(x(20)*x(20) + y(30)*y(30)); // А тут фишка. По идее, должны быть старые значения, но мы перезапустили наш класс и влепили туда новые значения.
}
main() {
var a = new Point(2,3).scale(10);
print(a.distance());
}
Спустя 8 минут, 36 секунд (11.10.2011 - 15:53) m4a1fox написал(а):
Ага! Тогда у меня только один вопрос. Почему в итоге в интерпретаторе на сайте DATR ответ этой задачи - 36.05551275463989. Я так понимаю, это связано с функцией sqtr - в самом API языка?!
Спустя 4 минуты, 57 секунд (11.10.2011 - 15:58) alex12060 написал(а):
m4a1fox
sqrt - это корень числа n второй степени.
Math - объект, содержащий математические функции.
Это же стандартный яваскрипт
sqrt - это корень числа n второй степени.
Math - объект, содержащий математические функции.
Это же стандартный яваскрипт

Спустя 1 минута, 56 секунд (11.10.2011 - 16:00) m4a1fox написал(а):
alex12060
Цитата |
Это же стандартный яваскрипт |
Ну мало ли!


Спустя 4 минуты, 33 секунды (11.10.2011 - 16:04) m4a1fox написал(а):
alex12060
Цитата |
Там рассказывается о том, что можно делать вызов класса внутри класса.. |
Да, это и имел ввиду. Не так выразился.
Цитата |
вызываем экземпляр класса |
ни как запомнить не могу.
Спустя 31 минута, 4 секунды (11.10.2011 - 16:36) RCuPeR написал(а):
https://gist.github.com/1277224
Поклонникам Дарта.
Поклонникам Дарта.
Спустя 16 минут, 2 секунды (11.10.2011 - 16:52) alex12060 написал(а):
RCuPeR
Amazing
Amazing

Спустя 1 минута, 46 секунд (11.10.2011 - 16:53) RCuPeR написал(а):
Цитата (alex12060 @ 11.10.2011 - 13:52) |
RCuPeR Amazing ![]() |
Вот-вот.
Спустя 1 минута, 16 секунд (11.10.2011 - 16:55) m4a1fox написал(а):
WTF это?
Спустя 14 минут, 56 секунд (11.10.2011 - 17:10) RCuPeR написал(а):
"Hello world на языке Dart, скомпиленный в js, занял 17259 строк"
Спустя 3 минуты (11.10.2011 - 17:13) Zerstoren написал(а):
Это сам ретранслятор в JS коде.
Короче Dart компилируется в JS.
Тоже самое что и Python.
Кода на 2 кб, а вот интерпретатор в 13 мб (так под виндой)
Вообще, кто-то видел как ретранслятор так и интерпретатор в паблике для Dart?
Короче Dart компилируется в JS.
Тоже самое что и Python.
Кода на 2 кб, а вот интерпретатор в 13 мб (так под виндой)
Вообще, кто-то видел как ретранслятор так и интерпретатор в паблике для Dart?
Спустя 13 минут, 8 секунд (11.10.2011 - 17:26) m4a1fox написал(а):
Насколько я понял, при написании кода на DART не нужна какая-либо сторонняя программа? Или не так? Надо какое-то определенное ПО?
Спустя 9 минут, 7 секунд (11.10.2011 - 17:35) Zerstoren написал(а):
Цитата (m4a1fox @ 11.10.2011 - 14:26) |
Насколько я понял, при написании кода на DART не нужна какая-либо сторонняя программа? Или не так? Надо какое-то определенное ПО? |
Как гугл заявил - это будет некий плагин для браузера, который будет интерпретировать язык.
А значит нужен екстеншен под браузер.
Но думаю он появится не раньше чем через год, а язык станет популярным не ранее чем через 5 лет.
Но JS готовит ответный удар, в виде JavaScript 2.0
А значит - может Дарт и не выстрелит.
Но если ретранслятор будет полностью решать все проблемы и количество кода от hello world не будет вырастать в геометрической прогрессии, то он может и выжить.
Вот если бы гугл запустил Dart прямо сейчас. Уже утвержденный, готовый, проверенный (хотя б в бете), написаны все расширения, ретрансляторы и так далее - то он мог бы подпортить репутацию JS очень сильно. А сейчас нам остается только пускать слюнки
Спустя 3 часа, 56 минут, 51 секунда (11.10.2011 - 21:32) kovaldm написал(а):
Не скоро этот DART наберет такую же популярность как яваскрипт.
Спустя 1 час, 19 минут, 16 секунд (11.10.2011 - 22:51) TMake написал(а):
по мне так еще одни костыли для программиста
