The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Представлен первый релиз языка Dart, развиваемого компанией ..., opennews (??), 17-Окт-12, (0) [смотреть все]

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


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

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

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

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

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

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


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

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

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


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

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

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

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

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

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

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

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

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

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

http://stackoverflow.com/questions/1978202/c-nested-switches...
Ответить | Правка | Наверх | Cообщить модератору

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

11. "Представлен первый релиз языка Dart, развиваемого компанией ..."  +4 +/
Сообщение от Майкрософт (?), 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), 17-Окт-12, 13:43 
Проблемы со зрением?
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

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

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

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

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

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

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

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

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

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

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

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




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

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