LINUX.ORG.RU
Ответ на: комментарий от ugoday

На ФВП и вообще в функциональном стиле в generic-лиспе писать - себе дороже. Поскольку tail call optimization гвоздями не прибита, половина приемов не работает. Scheme в этом плане куда правильней.

А что там хорошего в CLOS ?

anonymous
()
Ответ на: комментарий от babusha

Только не шокируйся! Еще можно использовать так же {}

вместо энда?)

Зато процедурный стиль во всей «красе», вот по этому я и против мультипарадигмовых языков.

Процедурный стиль во всей красе, но при этом Руби с полным ООП. ))Давай подумаем где ты щас лоханулся.

Поздравляю, ты вызвал метод x() из класса Object, но его там не оказалось.

да ты чо)) реально?)) а метод x[] есть! Говорю ж, язык для чебурашек :)

Что нибуть не на флеше, пожалуйста.

не заслужил ;)

нет что бы такие методы как os.listdir() запихнуть в допустим в класс Dir как в руби

чтоб в питоне было как в руби? Слава богу у питонистов есть вкус.

Свалка в петуне

питон минималистичен как язык, а вот руби - помойка пытающаяся втащить в себе перл, питон, лисп и еще туево кукуево языков которые понравятся при этом, При этом, конструкции перла тащит, $_ $0 $% $# чертовы переменные, регулярные выражения в языке. Короче свалка. И эти люди говорят что в питоне мусор)

chinarulezzz ★★
()
Ответ на: комментарий от Hjorn

Синонимы в 5-м классе изучают, вы проболели эту тему?

Зато походу освоил принцип бритвы Оккама.

chinarulezzz ★★
()
Ответ на: комментарий от anonymous

нафик вам всем быть программерами ? так и хотите на нищенскую зарплату прожить всю жизнь ? тогда вперед

anonymous
()
Ответ на: комментарий от chinarulezzz

> вместо энда?)

Вместо обозначения блоков кода, КО. Оно удобнее пробелов.

да ты чо)) реально?)) а метод x[] есть! Говорю ж, язык для чебурашек :)

The [] construct is a synonym to call in the context of Proc. Or more accurately, call and [] both refer to the same method of class Proc. Yes, Proc objects themselves have methods. -> Pethon=Язык_для_неосиляторов

чтоб в питоне было как в руби? Слава богу у питонистов есть вкус.

Где? То, что они вместо нормальной иерархии сделали помойку методов? Молодцы. Я даже и не знаю, что еще может сделать Python более убогим, разве что сделать из него С++.

питон минималистичен как язык

Да не ужели). По моему так засранный тупым синтаксисом и херовой реализацией всего и все без иерархии четкой

помойка пытающаяся втащить в себе перл, питон, лисп и еще туево кукуево языков которые понравятся при этом

Так по моему Гвидо так делал. А не Матз. Последний убивает все что противоречит пути развития языка. Гвидо же тупо п*здит все что узнает нового.

При этом, конструкции перла тащит, $_ $0 $% $# чертовы переменные, регулярные выражения в языке.

Без регуляров работать с текстом невозможно. А так - повторюсь, неосилятор с питоном головного мозга

Короче свалка. И эти люди говорят что в питоне мусор)

Ты еще скажи что в смаллтолке мусор). Или эльфиле. Предлагаю ввести термин на ЛОРе - ПГМ - питон головного мозга

anonymous
()
Ответ на: комментарий от anonymous

> если не программером, тогда кем работать гику?

Гейшлюхой.

К.О.

LamerOk ★★★★★
()

Собственно, вопрос о задачах. Если нужно попионерить в потрохах гнутых утилит, то си + make + bash. Если что-то, что будет иметь прикладное применение практически сразу - то bash просто, потом perl/python/ruby. Если тяжелые наркотики для расширения сознания - то haskell/agda/coq. если хорошо поучиться - то scheme + book 'Structure and interpretation of Computer Programms' . Если для быдлокодинга - java, php. Часто встраиваемые языки, которые могут подадобиться неожиданно - emcascript/javascript, диалекты лиспа, lua (последнее время популярна в этом качестве), python. Как ни странно, бывают полезны разные xml/xslt/xquery.

Для промышленного программирования, кстати, ни scheme ни lisp (любой) посоветовать нельзя - много слабосовместимых реализаций. Там нужно что-то, что компилируется в java byte-code либо из инфраструктуры .Net, в редких случаях нужны плюсы (всякие игродвижки).

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

anonymous
()
Ответ на: комментарий от anonymous

Вместо обозначения блоков кода, КО. Оно удобнее пробелов.

лишние сущности не нужны, в питоне это грамотно обошли, и не нужны ни begin'ы ни end'ы, ни скобочки для блоков кода, ни do-end'ы не нужны. Только в руби всё это нужно, потому что япошка сразу не продумал концепцию языка, или если бы продумал - создал второй питон. Руби спасительная лодка для многих крыс бегущих с «тонущего» перла.

The [] construct is a synonym to call in the context of Proc. Or more accurately, call and [] both refer to the same method of class Proc. Yes, Proc objects themselves have methods.

ага, а еще size-length, и туева хуча синонимов над одними и теми же действиями. Больше сущностей! Еще больше!

Последний убивает все что противоречит пути развития языка.

например? :)

Без регуляров работать с текстом невозможно.

предназначение руби - работа с текстом? Вынести в библиотеку не судьба? Сделать ядро языка маленьким, лаконичным, а сверху обвесить библиотеками. Но тогда был бы второй питон, ах..

Предлагаю ввести термин на ЛОРе - ПГМ - питон головного мозга

согласен) а предлагаю ввести «руби заднего прохода», чтоб понять кого щекочет всё что руби, и бесит всё что не руби.

chinarulezzz ★★
()
Ответ на: комментарий от anonymous

> На ФВП и вообще в функциональном стиле в generic-лиспе писать

- себе дороже.


Правильно, умные люди уже давно сделали выбор в пользу других парадигм.

А что там хорошего в CLOS ?


Мощнейшая из известных система ООП.

archimag ★★★
()
Ответ на: комментарий от Kuka

Ты не представляешь, какого труда стоило вас, ничтожеств, научить хотя бы структурному программированию, адаптировать для восприятия быдлом ООП, потом вбить в вас идею, что можно пользоваться GC, потом подвести, пусть и криво, к идеям из Лиспа, которые для адекватного восприятия ничтожествами пришлось исказить до уровня нелепого и ублюдочного XML.

Потом начали вдалбливать в вас, уродов, элементарные идеи из метапрограммирования, надавали вам кривых (а другого вы, твари, не понимаете) препроцессоров, таких как Hibernate или Oracle BC4j, дали вам JSP custom tags - да только не в коня корм оказался, так и не научились, ничтожества, так даже и идеологии model-view не освоили (а ведь куда уж проще). Пытались научить вас, тварей, как пользоваться CPS - тоже не в коня корм, твари не поняли и заблеяли. А какого труда стоило засунуть в вас, уродов, тривиальные идеи из теории типов, которую пришлось переиначить в реляционную алгебру (и вы, ничтожества, даже её не поняли, мало кто из ничтожеств понимает хотя бы, что такое нормальные формы).

Ты и тебе подобные - тормоза прогресса, в любой абсолютной шкале, сравнивать ни с кем не надо. То, что сейчас вы, лоховская нелепая индустрия радостно жрёте (после того как мы это приводим в понятный вам, быдлу, примитивный вид), то, что вы воспринимаете как откровения, как прогресс, как что-то новое - академическая наука знала и использовала 30 лет назад. Но как же трудно это всё провести в массы - и не по причине «незрелости» технологий, а по причине яростного сопротивления таких подонков, как ты. Вас много. Слишком много.

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

anonymous
()
Ответ на: комментарий от anonymous

«нас, прогрессоров» - это очень похоже на шизофрению... ЧСВ явно зашкаливает, и что то мне подсказывает, что 30 лет назад академическая наука конечно уже много всего знала, но аффтара поста не было даже в проЭкте.

AIv ★★★★★
()
Ответ на: комментарий от elipse

Ну а нафига еще java нужна ? Только для работ «на пожрать » и выдаивания заказчиков мифами о светлом будущем и корпоративных решениях.

Java нужна, как Вы и указали, для работы. Всё правильно. Больше не для чего. А «на поржать» есть другие языки.

Sonsee
()
Ответ на: комментарий от archimag

>Мощнейшая из известных система ООП. Мощнейшая из систем ДЛЯ ООП в эрланге.

умные люди уже давно сделали выбор в пользу других парадигм.

В лиспе-то? Да, там кроме как на макрах ничего сделать нельзя. Какое счастье, что лиспом мир не ограничивается.

anonymous
()

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

ananomous
()
Ответ на: комментарий от anonymous

> Мощнейшая из систем ДЛЯ ООП в эрланге.

Там есть мультиметоды? Или аналог MOP?

В лиспе-то? Да, там кроме как на макрах ничего сделать нельзя


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

archimag ★★★
()
Ответ на: комментарий от archimag

> CL был бы одним из самых мощных языков даже если бы там вообще не было макросов.

на основе каких логических умозаключений вы пришли к этому выводу?

Donnie_Darko
()
Ответ на: комментарий от Donnie_Darko

Да не, это правда. Ничего мощнее нетипизированного лямбда-исчисления ещё не придумали. Хотя вот об удобстве там говорить не приходится.

anonymous
()
Ответ на: комментарий от archimag

>Там есть мультиметоды? Или аналог MOP?

Что характерно, это НЕ ооп. ООП - это объекты + сообщения. И мультиметодов как раз в хорошем коде быть не должно, если это не продиктовано соображениями производительности.

anonymous
()
Ответ на: комментарий от Donnie_Darko

> на основе каких логических умозаключений вы пришли к этому выводу?

Я не люблю думать, я большое полагаюсь на опыт.

archimag ★★★
()
Ответ на: комментарий от anonymous

> Что характерно, это НЕ ооп.

Да что вы такое говорите?

И мультиметодов как раз в хорошем коде быть не должно, если это

не продиктовано соображениями производительности.



Не распарсил. Можно подробней в этом месте?

archimag ★★★
()
Ответ на: комментарий от archimag

>> Что характерно, это НЕ ооп.

Да что вы такое говорите?

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

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

Не распарсил. Можно подробней в этом месте?

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

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

anonymous
()
Ответ на: комментарий от chinarulezzz

вместо энда?)

Именно, ARGV.each { |file| File.delete file }

Процедурный стиль во всей красе, но при этом Руби с полным ООП. ))Давай подумаем где ты щас лоханулся.

Лоханулся быдлокодер который пишет на ООП языке в процедурном стиле.

да ты чо)) реально?)) а метод x[] есть! Говорю ж, язык для чебурашек :)

Ну если ты не разобрался в синтаксисе - твои проблемы.

не заслужил ;)

Так что там в видео?

чтоб в питоне было как в руби? Слава богу у питонистов есть вкус.

Т.е. питон должен остаться сплошной помойкой?

питон минималистичен как язык,

Из за чего обретаешь 100500 проблем, в петуне есть только дно правильное решение как что то сделать, в руби же наоборот.

При этом, конструкции перла тащит

А как нужно было назвать эти переменные?

регулярные выражения в языке.

Ой, а регулярные выражения вообще не нужны, да! Для тех целей, которые используют питон regexp должны быть обязательными, но их нету.

И эти люди говорят что в питоне мусор)

Ну так и продолжают говорить, все методы есмъ неорганизованый мусор в питоне , нет как в руби, Dir.entries(), Dir.pwd(), Dir.chdir(), в петуне os.listdir(), os.path() и так далее, помойка и только.

babusha
()
Ответ на: комментарий от babusha

Слава богу у питонистов есть вкус.

Кстати, да, совсем забыл сказать, бога нет.

babusha
()
Ответ на: комментарий от chinarulezzz

в питоне это грамотно обошли, и не нужны ни begin'ы ни end'ы, ни скобочки для блоков кода, ни do-end'ы не нужны.

http://pastebin.com/N87tTFmw

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

ага, а еще size-length, и туева хуча синонимов над одними и теми же действиями. Больше сущностей! Еще больше!

А какая разница? Они что, мешают? Зато нету помойки как петуне.

предназначение руби - работа с текстом?

И это тоже, питон тоже кстати, только он с этим нифига не справляется.

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

Да так и есть, вот только с отдельной библиотекой получился бы такой же красивый код вида?

File.delete(filename) if filename =~ /Name/

Так что все правильно сделали, и работу с regexp в питоне сделали ужасную, приходится писАть в 4 раза больше кода чем на руби

babusha
()
Ответ на: комментарий от archimag

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

Т.е. Лавсан ничего, кроме как на фап-фап на MOP да венду не способен, теперь вот второй лиспер недоделанный вылез. Ох, лолушки.

anonymous
()
Ответ на: комментарий от archimag

> Да вы же просто бредите.

++

лиспах, которые суть набор костылей над мощной, но негуманоидной и кастрированной абстракцией

что за абстракция такая?

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

нет же

Которые делают правильную декомпозицию невозможной, ага.

которые позволяют обойтись без костылей а ля шаблон проектирования Visitor

korvin_ ★★★★★
()
Ответ на: комментарий от anonymous

> осилить простейших, я подчеркиваю, простейших утверждений? Как это впечатляет.

эти простейшие утверждения не подкреплены никакими основаниями

korvin_ ★★★★★
()
Ответ на: комментарий от korvin_

>что за абстракция такая?

http://en.wikipedia.org/wiki/Lambda_calculus

нет же

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

которые позволяют обойтись без костылей а ля шаблон проектирования Visitor

Какой, к хренам собачьим, visitor? Нужно реагировать на некоторые сообщения извне - так реагируй. Проблем-то. Нужен реестр подписантов? Сделай да вынеси в библиотеку. Опять же, проблем-то.

anonymous
()
Ответ на: комментарий от korvin_

Доказательств очевидного требуют лишь идиоты.

anonymous
()
Ответ на: комментарий от anonymous

> http://en.wikipedia.org/wiki/Lambda_calculus

Вы Common Lisp давно видели? а Scheme?

Не, ну если ничего, кроме простейших конструкций языка в мультиметода не класть, то да. Если там упаси бог появяться обращения к другим мультиметодам?

а при чем тут тело метода? как будто из синглметодов нельзя вызвать кучу других синглметодов в различном порядке

Какой, к хренам собачьим, visitor?

http://en.wikipedia.org/wiki/Visitor_pattern

Доказательств очевидного требуют лишь идиоты.

т.е. доказать свои высказывания Вы не можете?

korvin_ ★★★★★
()
Ответ на: комментарий от Sonsee



Java нужна, как Вы и указали, для работы.


Работа разная бывает. Я уже намекал об этом.
Таким образом, java как первый ЯП сомнительная вещь сегодня,так как :
1. неясно будущее (появление клонов и форков) и лицензирование.
2. неясны планы по развитию ЯП (или как это там называется в данном случае) .

3. довольно посредственная своя графика.
4. большой объем для изучения дополнительных наслоений и либ.
5. нишевое положение на десктопе разных OS.
6. большая избыточность и многословность в малом , слабая кроссплатформенность в большом.

7. надо быстро - есть компилируемые языки
надо удобно - есть и тут хорошие альтернативы

все это делают java не лучшим выбором сегодня для многих задач.
Так что, если вы не голодны , еще не знаете java , не работаете в банковской сфере , и вам не надо саппортить «сталактиты» из java по работе, то довольно мало мотиваций для убивания своего времени на изучения сего ЯП, в свободное время или для души, и как некого шедевра инженерной мысли.))

elipse ★★★
()
Ответ на: комментарий от archimag

> Да вы прям бэтмен - днём в офис/школу, а в свободное время - спасаете лоромир в маске )))

Разговор не о мне, а о тебе. А ты - быдло.

anonymous
()
Ответ на: комментарий от korvin_

>Вы Common Lisp давно видели? а Scheme? CL - месяц назад, схему - недели две. И в гробу их видал, честно говоря. Но то, что их модель - изуродованная лямбда с энергичной редукцией - осознал. В отличии от. Если вы этого не знаете - почитайте классику. Что-то вроде 'Abstract machines - lambda calculus perspective'

а при чем тут тело метода? как будто из синглметодов нельзя вызвать кучу других синглметодов в различном порядке

Дерево выбора менее развесистое. Хотя да, конечно.

anonymous
()
Ответ на: комментарий от Kuka

> Если лисперы такие мегапродуктивные, программы лапками не набирают - то почему на них до сих пор (за 50 лет) не обратили внимание крупные коммерческие заказчики и производители ПО?

А должны? Лисп - язык для хиппи от программирования.

anonymous
()
Ответ на: комментарий от babusha

Именно, ARGV.each { |file| File.delete file }

и после if'a, case'a, везде можно использовать скобки?) А если бы и можно было - не нужно было бы, потому что есть язык в котором от этого избавились)

Лоханулся быдлокодер который пишет на ООП языке в процедурном стиле.

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

Ну если ты не разобрался в синтаксисе - твои проблемы.

неоднозначный синтаксис - проблема проектирования.

Так что там в видео?

там предлагалось другим, которые посмотрели - увидеть убогость руби, всего-то.

питон минималистичен как язык,

Из за чего обретаешь 100500 проблем,

дурачёк) это хорошее требование к embedded) Руби и тут в пролёте)

в петуне есть только дно правильное решение как что то сделать, в руби же наоборот.

для мэйнстрима - это плохо, руби - язык маргинальных выскочек так и останется, потому что для задачек с over 9000 способов сделать - есть перл, для «одного единственного лучшего решения» - есть питон. Руби на обочине.

регулярные выражения в языке.

Ой, а регулярные выражения вообще не нужны, да!

Это ж чем надо было читать чтоб так интерпретировать моё предложение?)) Регулярные выражения нужны, но нахрен они встроены в язык? Эту функцию пусть выполняют библиотеки.

chinarulezzz ★★
()
Ответ на: комментарий от elipse

> 1. неясно будущее (появление клонов и форков) и лицензирование.

Это можно сказать о любой хорошей и зрелой технологии, с которой можно срубить мегатонны баксов, закрыв её.

2. неясны планы по развитию ЯП (или как это там называется в данном случае) .

Того что уже есть - за глаза.

3. довольно посредственная своя графика.

Есть SWT

4. большой объем для изучения дополнительных наслоений и либ.

Язык ява - универсален, можно написать что угодно. Либы же нужны, когда нет времени/желания/мотивации изобретать велосипед. Ваше замечание насчёт либ было бы уместно, если бы они были написаны на каком-то другом языке и сделаны с целью расширить сам язык, а так - пардонте. Либы придётся изучать в любом языке. Другое дело, что в яве их - тысячи, в отличии от, что как бы намекает.

5. нишевое положение на десктопе разных OS.

Назовите не нишевое, Си? Вот разве что Си, которое, опять же не кроссплатфоменно даже на уровне исходников.

6. большая избыточность и многословность в малом

А вы наверное до сих пор хелоуворды лепите, да?

слабая кроссплатформенность в большом.

Щито?

7. надо удобно - есть и тут хорошие альтернативы

Это какие же?

gandjubas
()
Ответ на: комментарий от gandjubas

> Щито?

А вы наверное до сих пор хелоуворды лепите, да?

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



Бгг, иди уроки делай.

elipse ★★★
()
Ответ на: комментарий от anonymous

> Но то, что их модель - изуродованная лямбда с энергичной редукцией - осознал. В отличии от.

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

anonymous
()
Ответ на: комментарий от babusha
import os
list(map(lambda x: print(...), os.listdir('./')))

в 10 раз больше, ага, с 10 переменными...)) не позорься)

А какая разница? Они что, мешают? Зато нету помойки как петуне.

взаимоисключающе то как) Руби и есть помойка, значит)

File.delete(filename) if filename =~ /Name/

это красивый код? xD рубисты такие рубисты)))

chinarulezzz ★★
()
Ответ на: комментарий от archimag

> А, претендуете на роль Джокера?

Хорош уже, это наживка для Куки. У меня копипаста не бесконечная.

anonymous
()
Ответ на: комментарий от geekless

>_Синтаксически_ ООП всего лишь форма записи вызова функции, и для изучения основ оно не плохо и не хорошо - параллельно.

На синтаксис вообще плевать с точки зрения ООП. Не о том это все. От того, запишешь ты trololo(a, 123) или a.trololo(123) ООПшность не изменится.

Waterlaz ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.