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

> При всем уважении, вы не понимаете ничего в программировании.

Конечно, но я думал, что в нём понимают авторы SICP. Вы считаете иначе?

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

рассмотрим руби-прогеров на примере redmine:
* Ruby 1.9 is not supported yet.
* Rails 2.3.5 will fail with RubyGems 1.5.0 and later.
* Rack 1.0.1 is required. If you don't have this exact version, database migration would fail.

клево, неправда ли?

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

чем принципиально синтаксис руби лучше синтаксиса питона? Что в питоне не устраивает? Руби если и рулит, то только в сторону кладбища.

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

CL - это тикль, для тех кто не осовил скобки, лисперы его не любят, так как у нас скобок больше видов).

А так - учи тиклю. И тулкит «искаробки»

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

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

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

+ over 9000

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

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

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

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

Руби мне тоже нравится, но вот тормоз он еще похлеще питона.

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

>Конечно, но я думал, что в нём понимают авторы SICP. Вы считаете иначе?

Не важно что считают авторы SICP - вы не можете комментировать их. Когда я увижу тут их комменты на русском - я скажу - да они так сказали, не более того.

bukinist
()

А я вот зарекся программировать на чем-то с динамической типизацией и/или со скобочками.

И то и другое — неимоверное зло.

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

*** ugoday достал блокнот и приготовился записывать преимущества тикля над CL.

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

А чем в этом плане руби лучше?

Руби полностью ООП, и в руби отсутствует код вида fun(fun1(fun5(fun6())),fuc2(),fun3(fun4()))

Тоесть убогий петуновский вариант str(«String») в руби «String».to_s (кавычки не обязательны)

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

> Не важно что считают авторы SICP - вы не можете комментировать их

Лично я их и не комментирую, только на них ссылаюсь. Могу вот ещё на Норвинга сослаться, он тоже говорят в программировании разбирается. Но вряд ли придёт на ЛОРе комменты оставлять.

Когда я увижу тут их комменты на русском - я скажу - да

они так сказали



Специально для таких как вы они целые книжку написали. Или вы только ЛОР читаете, а остальное за литературу не признаёте?

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

> сложного - ассемблера, C
Бугога.

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

>Или вы только ЛОР читаете, а остальное за литературу не признаёте?

Спецеально для ЛОР-цев - я тут недавно.

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

> Java или C - начинать нет разницы с какого. Ну вот я начал полтора месяца назад с Java. Что я по-вашему потерял

Я менее чем за месяц на tcl выполнил работу для заказчика.
А до этого , полгода все это писалось на си.
И хаки (под разные сборки вантуза) запарили по самое не могу.

Что я по-вашему потерял (или выйграл) ?


java:
Ну если, вы не собираетесь быть потомственным банковским приложением к программе, то ничего и не выиграли.

си:
Хорошая вещь и часто незаменимая для ряда задач.
Но, с производительностью труда не имеет ничего общего. Увы.

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

>Я менее чем за месяц на tcl выполнил работу для заказчика.

Я поздравляю Вас - вы выполнили свою убогую задачу, что если меня не удовлетворяет Ваш тошнотворный интерфейс и/или ваша хуевая реализация просто НЕ РАБОТАЕТ на моей системе.

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

> что если

вас просто послать ?))

просто НЕ РАБОТАЕТ на моей системе.


Весь прикол в том , что лозунг Java: «Написанное однажды работает везде.» реально же работает замечательно на tcl.

И за 8 лет состояние «НЕ РАБОТАЕТ» не встречались в разных версиях
Linux и вантуза. Такие.

вы выполнили свою убогую задачу,


Вы не мой заказчик и не ясновидящий.

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

Толстота то. Это паттерны у нас стали языкозависимыми.

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

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

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

По теме поддерживаю SICP, HTDP, Pragmatic Programmer.

HTDP это для совсем совсем нубов. Книга уровня «программирование для чайников».

Лисп, конечно — уже боевой CL, а не урезанную scheme.

Можно взять боевой racket. Там куча всего из коробки есть для реального использования в том числе и удобная IDE.

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

Деструкторов в Си действительно нет, поэтому надо очень много заниматься микроменеджментом. А аналоги контейнеров stl в виде tree.h/queue.h это ужаснах.

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

> как будто для С уже нет готовых реализаций этих «велосипедов».

Для Си нет _общепринятых_ реализаций велосипедов.

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

> Деструкторов в Си действительно нет, поэтому надо очень

много заниматься микроменеджментом.


Зависит от ситуации, возьмите для примера те же пулы ресурсов в Apache - никаких проблем с управлением ресурсами.

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

А вообще, подозреваю, что в случае реальной необходимости ООП и наследований классов...

Да дело даже не в ООП. ООП с наследованием и на Си делается. Все дело в том, что в Си надо очень много заниматься посторонними вещами, никак не связанными с задачей. При этом довольно часто такой код оказывается медленнее аналога на Си++.

Я это не к тому, что не надо Си изучать, а к тому, что при решении реальных задач рулит таки Си++, так как это фактически тот же Си, только многое там делается автоматически без ущерба производительности.

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

Я не знаю что такое пул ресурсов апача. Но если там есть что-то типа resource_acquire/resource_release то это уже микроменеджемент.

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

Ну если, вы не собираетесь быть потомственным банковским приложением к программе, то ничего и не выиграли.

ололо

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

> Я не знаю что такое пул ресурсов апача.

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

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

fcgi встречаются, в backend'ах встречаются ...

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

Да, вариант, сам такой механизм реализовывал несколько раз, но он не всегда подходит.

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

> ололо

Нде, весьма содержательно и информативно.

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




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

этот механизм обязан быть в высоконагруженном приложении в независимости от языка, в C получится чуть больше кода, в то время как в C++ это решит одна строчка с auto_ptr<resource>...

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

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

и в руби отсутствует код вида fun(fun1(fun5(fun6())),fuc2(),fun3(fun4()))

зато

def
 for
  for
   for
    if
     case
      begin
      rescue
      end
      end
     end
    end
   end
  end
 end
end
и еще пример:
irb(main):006:0> x = Proc.new { 5 }
=> #<Proc:0x9c93f98@(irb):6>
irb(main):007:0> x()
NoMethodError: undefined method `x' for main:Object
	from (irb):7
	from /usr/bin/irb1.9.1:12:in `<main>'
irb(main):008:0> x.call
=> 5
irb(main):009:0> x[]
=> 5
irb(main):010:0> 
ruby sucks

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

> Питон полностью ООП))) В руби мамонтовский, архаичный end,

Ты сначала со своим self'ом разберись, а потом уже про «архаичный end» песни пой.

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

зачем разбираться? ты там что-то не понимаешь? Тебе трудно? У тебя проблемы, хочешь поговорить об этом? Пусть рубисты дизайн языка приведут хоть с половину в порядок как в питоне, тогда можно говорить, а то свалка всего и ничего одновременно. size, length, [] (), etc.

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

У рубистов с дизайном языка всё хорошо. Они хотя бы snake/camel case'ы не путают, в отличие от.

зачем разбираться? ты там что-то не понимаешь? Тебе трудно? У тебя проблемы, хочешь поговорить об этом?


Что, зацепило за больное место? Да у вас, батенька, ПИТОН.

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

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



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

В руби мамонтовский, архаичный end

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

зато

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

и еще пример:
x()

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

ruby sucks

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

Признайся, ты просто не осилил руби, петун отупляет и заставляет тормозить.

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

а то свалка всего и ничего одновременно.

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

В руби принцип «It's a fucking a lot to do it!», в петуне полностью наоборот.

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

> Питон полностью ООП

Ага, клёвое такое ООП без private/protected. Ещё и явный вызов методов через self в контексте класса - даже в плюсах нет такой дури.

архаичный end, который выстраивается в лесенку и портит вид

Уж лучше лесенка из эндов, чем блоки, повисшие в воздухе неведомо на каком уровне. На пяти строчках питоний код конечно красиво выглядит, а когда сталкиваешься с длинными функциями из реальной жизни, сразу начинаешь ностальгировать о таких простых и практичных скобочках. И ещё Питон единственный из распространённых языков, для которого не работает автоформатирование блоков. Экслюзив прям таки.

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

> а то свалка всего и ничего одновременно. size, length, [] (), etc

Синонимы в 5-м классе изучают, вы проболели эту тему? В Руби как раз свалки не наблюдается - всё хорошо структурировано по модулям и удобно подключается через миксины. Язык конечно не без изъянов (кое-что меня просто бесит), но дизайн имеет целостный. А вот Питон выглядит свалкой парадигм, во многом потому что развивался путём прикручивания фич на ходу к изначально примитивной игрушке.

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

Вот как раз с дизайном у руби все замечательно. Хотя конечно поначалу немного рвет шаблон после питона.

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

> Ага, клёвое такое ООП без private/protected.

ну... в CLOS тоже нет private/protected

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

> Ага, клёвое такое ООП без private/protected.

Еще вспомните о том, что нет статической типизации.

Ещё и явный вызов методов через self в контексте класса - даже в плюсах нет такой дури.

Некоторые гуру рекомендуют писать в С++ this->... поскольку это повышает наглядность кода. Вообще питон позволяет очень хорошо понять как ООП реализовано в С++.

Мне посты babushi напоминают рекламу халата - такой же, но с перламутровыми пуговицами. Два ЯП из одной ниши с косметическими различиями... А если в Руби и нет каких то парадигм, то ИМНО не пример стройности а пример ущербности.

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