The OpenNET Project / Index page

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



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

Оглавление

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

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


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ообщить модератору

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

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




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

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