- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
class Greeter {
static var prefix = 'Hello,';
static greet(name) {
print('$prefix $name');
}
}
main() {
var greeter = new Greeter();
greeter.greet("govnokod!");
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+119
class Greeter {
static var prefix = 'Hello,';
static greet(name) {
print('$prefix $name');
}
}
main() {
var greeter = new Greeter();
greeter.greet("govnokod!");
}
Решил потыкать в Dart (http://www.dartlang.org/), а он мне:
greeter.greet$named is not a function
alexoy 10.10.2011 21:25 # −1
rat4 10.10.2011 21:40 # 0
alexoy 10.10.2011 21:48 # −7
guest 11.10.2011 04:23 # +4
carsten 12.10.2011 05:40 # −2
p.s.
> "статические методы относятся к классу"
а объект относится к классу, следовательно статические методы относятся и к объекту :)
SmackMyBitchUp 23.10.2011 14:42 # +1
Не понимаю, зачем алехуй такую фразу обронил, а еще больше не понимаю, почему его плюсанули.
Статические члены-данные хранятся в единственном числе и к ним имеют доступ все экземпляры класса.
Тоже самое и в случае с методами(хотя и обычные методы тоже хранятся в единственном числе каждый).
Просто статические методы будут иметь доступ только к статическим членам-данным класса. К ним же как и в случае со статическими данными имеют доступ все экземпляры класса.
foGa 11.10.2011 06:40 # −3
И вообще, что это за язык? Похож на выкидыш какой-то.
Eugene 11.10.2011 07:26 # 0
rat4 11.10.2011 07:57 # +1
akaDElpher 11.10.2011 09:50 # +1
Вроде, как пока работает через трансляцию дарта в JS.(пишу на Dart ООПэшно, транслирую в JS и заливаю на сай)
gegMOPO4 11.10.2011 10:18 # +5
roman-kashitsyn 11.10.2011 11:55 # 0
gegMOPO4 11.10.2011 12:30 # 0
roman-kashitsyn 11.10.2011 12:34 # 0
я разве спорю? очень похоже на Java с небольшой примесью функциональщины
roman-kashitsyn 11.10.2011 12:55 # 0
это я про Dart.
Scala dramatically отличается от Java
gegMOPO4 12.10.2011 10:00 # 0
carsten 12.10.2011 08:51 # 0
gegMOPO4 12.10.2011 10:04 # 0
Синтаксис роли не играет, но если уж решили специально мимикрировать под жаву — значит думают, что это поможет. Удачи.
carsten 12.10.2011 10:33 # −2
в каком месте?
>слишком большой и тяжёлый рантайм
Никто не мешает использовать сабсет только с тем, что нужно для веба. Имхо, на пару мегабайт наскребётся. Алсо, у меня папка с Фаерфоксом весит 35 мб, а Хром так и вовсе генерит кеш на гигабайты. Не так уж критично.
>большой хвост совместимости с ошибками прошлого.
да в любом языке есть какая-нибудь ебанутая хуйня-изъян, но это не значит же, что каждый год нужно изобретать новый велосипед.
>Статически типизированная (мешает быстрому прототипированию)
дык а кто мешает впендюрить туда слой DLR?
Тут они явно переизобретают велосипед, ява-апплеты, флеш, Сильверлайт и прочие RIA давно уже существуют, вот их бы взять лучше за основы "убивцы Яваскрипта", чем клепать очередной язык
gegMOPO4 12.10.2011 11:17 # 0
Семантика не должна сильно зависеть от того, указаны ли типы явно, иначе никто не будет их указывать, чтобы не «сломать». Если делать всё в динамике, почистить рантайм, избавится от груза прошлого — как раз и придём к обычному «скриптовому» языку. От Java только внешнее, синтаксис (чтобы привлечь понятно кого). Можно было бы сделать синтаксис похожим на Питон, Паскаль или Лисп — в самом языке это ничего не меняет.
От JavaScript (и других «скриптовых» языков) есть серьёзные отличия — неизменяемые классы. Класс не изменяется после определения и класс объекта не изменяется после его создания. Это позволит немного уменьшить расход памяти на JIT или делать его более агрессивно.
carsten 12.10.2011 11:24 # 0
Щас браузерные приложения всё сложнее и сложнее, и я не понимаю, почему надо цепляться за прототипность/динамичность (то бишь "груз прошлого"), а не идти в сторону статики, которая, как известно, более scalable.
gegMOPO4 12.10.2011 11:36 # 0
Гугл мог бы хоть Haskell в свой браузер засунуть. Но кто им будет пользоваться?
А вот 99% веба написано на PHP. Потому, что низкий порог вхождения, потому, что можно «быстро и грязно». И JavaScript лезет уже на десктопы, планшеты, смартфоны.
roman-kashitsyn 12.10.2011 11:40 # 0
я :)
gegMOPO4 12.10.2011 11:50 # +1
Да, какая-то доля процента веба на Java пишется.
roman-kashitsyn 12.10.2011 11:55 # 0
gegMOPO4 12.10.2011 12:12 # 0
Компилировать Java в Dart будет немного эффективнее. Хотя я бы предпочёл вообще стандартную абстрактную виртуальную машину — и пиши на чём хошь.
roman-kashitsyn 12.10.2011 12:18 # 0
Lure Of Chaos 13.10.2011 15:10 # 0
roman-kashitsyn 13.10.2011 19:04 # 0
Lure Of Chaos 13.10.2011 19:05 # 0
roman-kashitsyn 13.10.2011 19:58 # 0
carsten 12.10.2011 13:41 # 0
Ну мы говорим о гипотетической революции. А то так тоже можно сказать, "кто использует Дарт?"
>Гугл мог бы хоть Haskell в свой браузер засунуть. Но кто им будет пользоваться?
Передёргивание.
>А вот 99% веба написано на PHP
Ну мы как бы говорим про клиентскую сторону.
>Потому, что низкий порог вхождения, потому, что можно «быстро и грязно».
Да хуйня всё это, на том же сишарпе индусы с удовольствием ваяют код (который хотя бы в 9000 раз быстрее). Просто так исторически сложилось. Говнохуйня не равно "низкий порог вхождения".
gegMOPO4 12.10.2011 14:27 # +1
У Гугла может и нашлось бы достаточно вундеркиндов, чтобы переписать все свои веб-приложения хоть на Go, но о среднем уровне программистов они справедливо невысокого мнения. То, что синтаксис Dart намеренно маскируется под Java, говорит о том, что они, наверное, считают целевую аудиторию достаточно тупой, чтобы пугаться незнакомых ключевых слов и с пеной у рта спорить о преимуществе разного типа скобочек. А так у них уже есть толпа со стороны, пишущая для Андроида, осилят и Dart. Говнокод там или нет, главное, чтобы писали и продавали.
Другой вариант — авторы языка сами такие. Но это слишком печальный вариант.
Dart проще и Java, и JavaScript. Теоретически продуктивнее JavaScript. То, что надо. По крайней мере, на это надеются.
carsten 14.10.2011 01:06 # 0
Имхо, ява-апплеты просто обгоняли своё время, тогда был web 1.0 и особо сложных скриптов не требовалось
+ они слишком поторопились и выпустили медленную интерпретируемую версию, а встречают по одёжке...
>даже Microsoft бросает .NET ради HTML5.
Это так только в Metro IE10 для тач-устройств, там причины какие-то другие (любые плагины запрещены, хрен знает почему), мне кажется чисто технические. В IE10 для десктопа всё ОК.
bugmenot 12.10.2011 16:12 # +3
Накаркаете ведь так тонны быдлокода на ХаскеллСкрипте :-)
roman-kashitsyn 12.10.2011 16:15 # 0
SmackMyBitchUp 23.10.2011 16:06 # 0
roman-kashitsyn 12.10.2011 10:09 # 0
jabber 23.11.2011 00:46 # −1