LINUX.ORG.RU

О ЯП: Просто интересно


0

0

У меня к вам такой вопросик, просто интересно: через сколько лет (месяцев, дней:) наступает "просветление" в том или ином языках программирования?

Заранее благодарен. Жду ответов.

anonymous

вы видели фотографию (из последних) Денниса Ритчи? ;-)

signal11
()

Через столько лет (месяцев, дней), через сколько вы сядете на этом языке что-то серьезное писать. Серьезное не в смысле большое и использующее модные навроченные сторонние библиотеки, а в плане использования внутренней структуры языка. Для С++, например, автоматическая сборка мусора :)

Moriarty
()

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

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

Не, лажа. Для C++ - серьёзное - это нечто уровня библиотеки Boost Spirit. Вот когда напишешь что-то подобное по языковым наворотам - считай, просветился.

Для Лиспа просветление наступает тогда, когда замечаешь, что в твоём коде defmacro встречается в несколько раз чаще, чем defun.

Для Java - когда напишешь свой компилятор языка не менее сложного, чем сама Java, под JVM.

flamer
()

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

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

> Для Java - когда напишешь свой компилятор языка не менее сложного, чем сама Java, под JVM.

Разве Жаба "сложный язык программирования"? Не узнаю старого борца с "императивщиной"!

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

>Разве Жаба "сложный язык программирования"?

Нет. Просто просветление на этом пути наступает не раньше возникновения желания сменить язык:-)

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

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

Однако же, есть языки и проще Жабы - калькулятор какой либо... Так вот, написать компилятор для простенькой арифметики в JVM - явно недостаточно для просветления. А вот компилятор самой же Жабы, или Питона, или Схемы - уже вполне достаточно.

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

> А вот компилятор самой же Жабы, или Питона, или Схемы - уже вполне достаточно.

Ты имеешь в виду "компилятор байт-кодА" или "компилятор В байт-код"?

PS. CAML для просветления круче.

PSS. Camelot пойдет? :)

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

flamer (01.12.2004 16:48:55):

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

Надо определиться, что называть "сложным".

Чем более универсальные концепции лежат в основе языка, тем менее ключевых слов и стандартизированных библиотек он требует; тем проще он для "интеллигента" и сложнее для "люмпена"; тем быстрее наступает "просветление".

Что сложнее -- Це или ЦеПП?

IMHO Жаба - ОЧЕНЬ сложный язык, и даже для начального "просветления" в нем требуются месяцы зубрежки, не только ключевых слов, но и всей многократно залатанной галиматьи, накорябанной для нее за годы развития.

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

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

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

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

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

flamer (01.12.2004 18:57:33):

> Под "простотой" Жабы понимается тот факт, что она физически не допускает написание сложного кода. То есть - это язык с предельно низкой степенью абстрагирования. Когда ты пишешь на Жабе - то ты пишешь именно на Жабе, а не в терминах твоей предметной области - и любой другой жабофил твой код прочитает. В этом плане Жаба - простой язык.

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

Я знаю твою точку зрения и, возможно, разделял бы ее, если бы не мировой (и личный) опыт: всякий раз, когда некая революционная концепция объявлялась панацеей в сращивании разработки предметной области с кодированием, результат оказывался неудовлетворительным.

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

Ну, примерно это я и имел в виду.

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

Прочтет, но не всегда поймет. И для успешного разгребания во всех этих javax.print.attribute.standard.MediaSize... необходимо, действительно, длительное просветление.

На Жабе хорошо пинать коллективом разовые поделки, поэтому она и не сдохла. Чуть посложнее -- хрен поймешь, кто куда пошел без каких-нибудь УМЛ схемок или просто документации.

Die-Hard ★★★★★
()
Ответ на: комментарий от flamer

> Для Лиспа просветление наступает тогда, когда замечаешь, что в твоём коде defmacro встречается в несколько раз чаще, чем defun.

Вот кстати хочу просветлицца. Уже и Грэхема читал и что хошь. Ну не наступает и все. Зачем нужны макры? И такой простенький примерчик, где без них не обойтись.

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

>Для С++, например, автоматическая сборка мусора :)

а там разве есть автоматическая сборка мусора?

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

Ну, если Грэхем не убедил... Можно попробовать мою статью почитать (и код соответствующий посмотреть): http://arxiv.org/abs/cs.PL/0409016

Смысл такой: с макрами ты можешь делать из Лиспа вообще ЛЮБОЙ язык. Какой захочешь. Можешь как угодно контроллировать весь процесс компиляции, вставлять свои оптимизации, менять семантику языка. С макрами можно ВСЁ.

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

Джефф Элджер, "C++ For Real Programmers" (в русском варианте немног скромнее, "С++ для профессионалов").

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

> Для Java - когда напишешь свой компилятор языка не менее сложного, чем сама Java, под JVM.

Компилятор жабы в ее же байт-код?

Как-то больно простенько... на просветление не тянет.

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

Может и не просветление - но вполне достаточно для глубокого понимания изначальной ущербности Java-технологии.

flamer
()

Вспомнил по этому поводу анекдот:

- Как сделать так, чтобы у блондинки начали светиться глаза? - Посветить ей в ухо фонариком.

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

>Может и не просветление - но вполне достаточно для глубокого понимания изначальной ущербности Java-технологии.

Или своей ущербности в понимании Java-технологии. Соответственно, первые стоновятся противниками Java, вторые - сторонниками.

На правах полушутки :)

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

Небольшая поправка.

На самом деле я довольно часто путаю технологию и смысл, стоящий за технологией. Смысл стоящий за технологией Java вполне может быть перенесен на другую родственную технологию (я думаю, на SmallTalk, хотя я с ним не знаком, так, догадка). Соответственно, в этом плане технология действительно не представляет ничего интересного и даже может быть ущербной. Но! Смысл стоящий за технологией гораздо шире, и чем больше я работаю с технологией (например, Java), тем больше у меня ассоциируется смысл с собственно технологией и упоминая "Java" я имею ввиду нечто большее чем JVM и набор классов, но также, например, и такую концепцию как Inversion of Control (хотя бесспорно она не является исключительно прерогативой Java).

Это примерно так же, как смешивание ООП паттернов и Java, которое иногда происходит в различных сертификациях (например, в Brain Bench - в тесте про Java много вопросов про паттерны).

Немного философии с утра :)

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

Вспомнилось: наш местный препод по яве с тоской вспоминает smalltalk... =)

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

Java - объективно убогая технология, дурилка ты картонная. Так что не гоношись. Вот когда в JVM можно будет реализовывать эффективную поддержку замыканий и хвостовой рекурсии, когда JIT-ы не будут ломаться на слишком больших методах (а это часто - результат оптимизации или попыток обойти ограничения платформы) - тогда можешь повякивать про крутизну Жабы и наличие мозгов у её сторонников. А до тех пор - Жабка - технология для быдла.

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

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

Те же design patterns прекрасно можно похерить, если использовать АОП, или более общий подход - метапрограммирование. ООП заменяется более частными спецификациями в каждом конкретном случае - от схемы модулей и функторов до агентного программирования. Так что - учись. Когда начнёт тебя воротить от Жабы и связанных с ней философий - тогда можешь подозревать себя в наличии начала просветления.

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

> Жабка - технология для быдла

А я и не знал, что Госдеп США, Apple, Siemens, Lockheed Martin, Dow Jones, AMD и BASF "быдло".

http://www.jboss.com/company/customers

Так что "быдло", недолеченное R00Tом, это ты!

"Психиатры, изучавшие внутренний мир маньяков, утверждают, что почти каждый из них бывал жертвой сексуальных домогательств. То ли в армии, то ли в ИТК. ... Лагерные унижения порождали у большинства из них чувство ненависти, а у многих - желание отомстить."

http://drink.dax.ru/turma/turem_17.shtml

Ничего не напоминает?

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

Ну конечно же они быдло, выродок ты недобитый. Кем ещё могут быть убогие манагеры, принимающие подобные решения?

Да, кстати, гнида ты сраная, мне тебе перечислить крупных клиентов Microsoft? Чтоб ты никогда больше не смел бздеть про то, что Windows - кал, и никогда не юзал лялих, потому как кр00тые п'цаны все погойловно на Windows? Или сам поймешь, гандон ты рваный, что твой аргумент - это просто пердёжь епнутого недоумка?

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

> Кем ещё могут быть убогие манагеры, принимающие подобные решения?

http://www.bookap.by.ru/genpsy/slovar/gl15.shtm

"Мегаломания (мегало + греч. mania - влечение, страсть, безумие). Более употребим термин мегаломанический бред. См. Бред величия.

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

Так что тебе, Маня, уже всe объяснили:

"Тем более, что, судя по приведенным выше линкам, в такой форме он имеет наглость вести себя _ВЕЗДЕ_: на форумах в Инете, на форумах в FIDO и даже в личной переписке."

http://www.linux.org.ru/view-message.jsp?msgid=307710

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

Ты уже перешёл на Windows 2000 (tm)?!? Ведь все КР00ТЫЕ заказчики применяют именно его?

P.S. И, кстати, уёбистая пизданутая мудошавка, а хули бы тебе, бляди, не сдохнуть? И, кстати, ты меня реально разозлил. Назови себя. Готов порвать тебя в любое время и в любом месте.

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

Фигнаны. Любое место, доступное общественным транспортом в Москве.

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

Ну тогда сдохни сам, выблядок недоношенный, ссыкло пизданутое.

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

> Те же design patterns прекрасно можно похерить, если использовать АОП, или более общий подход - метапрограммирование. ООП заменяется более частными спецификациями в каждом конкретном случае - от схемы модулей и функторов до агентного программирования. Так что - учись. Когда начнёт тебя воротить от Жабы и связанных с ней философий - тогда можешь подозревать себя в наличии начала просветления.

Вопрос: а что, собственно, плохого в ООП, когда ее используют по назначению (т.е. для симуляции - Simula там, Smalltalk...)? Тем более что твоего любимого ФП оно совершенно не отменяет, см. OCaml.

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

Глупый. Однобокий ты какой-то.

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

Это как говорить: вот когда будет на Мерседесе реактивный двигатель! Вот когда будет [...]! Поменьше фанатизма. Это просто _другая_ технология, пусть и непонятная тебе. Для других целей. Все. Ответ твой я знаю, флеймить не хочу, поэтому просто пожалей клавиатуру. По-моему, иногда лишние знания только мешают... Когда в руках молоток, все вокруг представляется гвоздями...

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

>Те же design patterns прекрасно можно похерить, если использовать АОП, или более общий подход - метапрограммирование. ООП заменяется более частными спецификациями в каждом конкретном случае - от схемы модулей и функторов до агентного программирования. Так что - учись. Когда начнёт тебя воротить от Жабы и связанных с ней философий - тогда можешь подозревать себя в наличии начала просветления.

Интересный критерий. Только субъективный какой-то. При всем моем уважении к господину flamer-у, считать его критерий единственно правильным просто потому, что его высказал господин flamer, я как-то не могу. Надо же хоть иногда своей головой думать :)

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

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

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

Да, ты наверняка знаешь моё мнение.

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

И, кстати, не гони - я то как раз технологию Java очень даже понимаю. На том же JBoss-е немало проектов сделал, и в Оракловых технологиях поработал (OC4j+BC4j+UIX+Жыдовелопёр), и компиляторов под JVM написал немало. Я знаю эту технологию со всех сторон, и это даёт мне право утверждать - Java - убожество. Потому как те два незначительных дополнения, о которых я раньше писал, сделали бы буквально всё, что под эту технологию пишется, в РАЗЫ проще. Ты, по безграмотности, не в состоянии этого понять. Тебе "лишние знания только мешают". Таких, как ты, в этом мире быть должно как можно меньше...

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

Ну и где тут субъетивизм? К сожалению, примитивные людишки часто не понимают исключительно объективных аргументов - а других у меня и не водится. Я не пользуюсь гуманитарными и субъективными критериями, как местная шпана - я не сужу о технологии по средней зарплате владеющих ей ремесленников, по количеству крупных заказчиков, и вообще по популярности. Я сужу лишь по её объективным свойствам.

Итак, что есть убожество? Убожество - это есть неоптимальное решение. Когда гвозди микроскопом забивают. Я тут уже назвал два тривиальнейших дополнения, которые сделали бы всё то, что делается в технологии Java в разы более простым и эффективным. Это - объективный факт, а не моё субъективное мнение, это всё - формально доказывается, это чистая математика. В ответ же получаю заявы, что "мне работать надо, а не во всякой херне разбираться, отдай мой микроскоп, буду дальше гвозди заколачивать". Так кто же тут умственно отсталый? Я, со своими объективными и формальными рассуждениями, или всякая гуманитарная шпана, которая только зарплатами меряться и способна?

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

Дык ООП только тем и плох, что его преподносят как панацеи. А как частное решение - замечательная вещь! Я же перечислил уже красивейшие применения ООП - такие, как агентное программирование. Но строить философию уровня "всё есть объект, и все процессы можно описать как обмен сообщениями между объектами, изменяющими состояние объектов" - это уже махровый и замшелый кретинизм, это реакционная и буржуазная философия, которая нам, пролетариям, должна быть глубоко чужда.

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

>Дык ООП только тем и плох, что его преподносят как панацеи.

Да, возможно так и есть.

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

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

Всякая человеческая голова подобна желудку: одна переваривает входящую в оную пищу, а другая от нее засоряется.

Козьма Прутков.

Вот. Ну и насчет проще (чья цитата - не помню, за точность рне ручаюсь :( ) - любая проблема решается введением дополнительного уровня абстракции за исключением проблемы большого количества уровней абстракции. Человеческий мозг, знаешь ли, ограничен. Проще - понятие субъективное.

Вот именно этого самого переваривания я почему-то и не вижу. И говорил я, что знания мешают не мне, а тебе, забавный ты человек ;) Потому что о твоей гениальности, извини, мне ничего не известно. А примеры ты приводишь местами какие-то... странные. Ну причем тут компиляторы и Java? Почему обязательно писать компилятор? Я бы еще понял, если бы ты говорил про что-нибудь вроде КОП, там концепции озвучил, проблемы указал... Каждой задаче - свои средства.

Аргументы какие-то однобокие (хорошо, выглядят однобокими). Вот взял бы да и пояснил свои мысли. Форум - плохое место для этого, предлагаю написать умную статью. Глядишь, спасибо бы кто сказал...

Причем оценка адекватности может быть любой. Например, по утилизации доступных ресурсов (когда из хм... разработчиков - только люмпены, как ты выразился, все же полезно иногда бывает спускаться на землю). Или мало кода - много функциональности/гарантий (хм. не знаю как это назвать, контроля над кодом, что-ли) для некоторой задачи. И.т.д.

Это мне напоминает людей ратующих за полезность goto в C при написании конечных автоматов - хотя на том же ФЯ это пишется естественно и понятно. Ну или на языке теории графов. Я хоть компиляторов и не писал, но полагаю, что по крайней мере задача лексического и синтаксического анализа на ФЯ выражается гораздо элегантнее.

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

Ну и напоследок, что я имею ввиду под субъективностью:

> ...это даёт мне право утверждать...

Извини, каким образом? Где аргументы? Твоя гениальность и божественность для меня, извини, совершенно не очевидна.

P.S. И, кстати, очень интересный факт - мир не черно-белый. И рассуждения о зарплате ничуть не умаляют важность математических рассуждений (как, впрочем, и наоборот). Если же не хочешь обсуждать "сверического коня в вакууме" - приводи примеры, задачу, аргументацию, и.т.д. Пока же я вижу только субъективную оценку окружающей реальности.

Хотя, наверное, не стоит. Все-таки, форум не тот :)

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

Ну и чтоб мои сообщения не воспринимались как исключительно негативные, скажу, что с некоторыми мыслями (причем, не только из данного топика) я определенно согласен :)

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

>Убожество - это есть неоптимальное решение.

Вот оно - субъективное мнение. Если бы это было бы так: "Определим убожество, как неоптимально решение. Критерием оптимальности будем считать [...]. [...идет доказательство...]", то это было был тот самый объективный аргемент. В общем, рекомендую немного помедитировать над мат. логикой.

Собственно, еще раз уточню свою позицию. Твоя аргументация имеет смысл для меня, но в определенных моделях. По всей видимости, я даже имею некоторое представление в каких. Но ты эти модели не указываешь. А как известно, для любого непротиворечивого множества предложений (допустим твои утверждения непротиворечивы) существует модель, на которой эти предложения истинны. Получаем, что - да, можно подобрать модель, где твои слова - абсолютная истина. Более того, есть основания полагать, что такой моделью является та модель, которая построена в твоей голове. Но! В моей голове - другая модель. Не хуже, не лучше - другая.

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

Чистая математика. А описывается проблема в психологии. Кстати, о пользе гуманитарных наук для математиков :) - они полезны, но воспринимать их следует через призму интерпретации (а не "напрямую"), как впрочем и любую другую информацию).

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

Ну это всё - передёргивание.

"Убожество" - противоположность "совершенства". Это, как бы, общепринятый смысл слова. Соответственно, если про что либо можно доказать, что существует тривиальое улучшение, которое даст *значительный* эффект - то, следовательно, это что-то далеко от совершенства, и, стало быть, убого.

Аналогично, если существует хотя бы одна альтернативная технология, которая по всем параметрам превосходит рассматриваемую, то она - убогая.

Я как-то не догоняю, какое тут ещё может быть альтернативное толкование.

Вот объясни, что понимаешь под убожеством ты, и каким образом в твоей интерпретации убожества технология Java под определение "убогой" попадать не будет. Иначе все твои рассуждения сильно начинают смахивать на постмодернистский свистёжь про "science is a story telling".

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

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

Она и нам, непролетариям, глубоко чужда =)

Но если серьезно - а где ты такое в жизни (не на бумаге) видел? Та же жаба, или даже лучше взять C#, который весь из себя полностью объектный, вроде бы проповедует "чисто объектно-ориентированное программирование", "Everything Is An Object" etc. А реально? Да достаточно посчитать статические функции в его стандартной библиотеке, и классы, состоящие целиком из них (типа Math), чтоб убедиться, что никакой "чистой ООП" там не пахнет даже. Просто сначала написали на бумаге вот эту красивую фразу ("Everything Is An Object"), нарисовали схемку, а потом стали подгонять схемку под то, что есть на самом деле.

public static final String sig = "int19h"; // =)

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

>"Убожество" - противоположность "совершенства". Это, как бы, общепринятый смысл слова. Соответственно, если про что либо можно доказать, что существует тривиальое улучшение, которое даст *значительный* эффект - то, следовательно, это что-то далеко от совершенства, и, стало быть, убого.

>Вот объясни, что понимаешь под убожеством ты, и каким образом в твоей интерпретации убожества технология Java под определение "убогой" попадать не будет. Иначе все твои рассуждения сильно начинают смахивать на постмодернистский свистёжь про "science is a story telling".

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

И формализовать "убожество" можно по разному. Понятно, что вводить "убожество" как "оптимальность по скорости" - это глупо и будет лишь словоблудием на уровне "определим черное как белое". Но все равно остается куча критериев. Абстрактного совершенства нет. Оно может применяться к какому-то критерию/набору критериев. Например, если брать за критерий "количество способных понять" (каким образом будем мерять понимание - не важно), то Java определенно будет "совершеннее", например, Haskell-я (чисто статистически). Если брать другой критерий - результат будет другим.

Чистая математика. Вводим частичный порядок (или даже линейный), как отношение "лучше", на множестве, скажем технологий. Ну и кстати, если порядок частичный - то для данного фиксированного набора критериев совершенства может и не быть (т.е наибольшего элемента может и не быть, а будут несколько максимальных). Простое математическое следствие :) Правда, нужно понять, все-таки можем ли мы ввести линейный порядок или нет. Или хотя бы верхнюю решетку, что означает, что для двух технологий (элементов множества) всегда существует третья, вобравшая в себя все лучшее с точки зрения нашего критерия (т.е которая "больше" двух других).

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

И еще важно понять, что у одного и того же человека могут быть разные критерии для разных случаев жизни (или даже под разное настроение :) ). Писать на Java, например, систему реального времени я определенно не буду. А вот GUI-евую сопелку - с удовольствием.

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

Ты так и не понял. Речь идёт об абсолютной шкале. Вот ты сам сказал - GUI на Жабе писать будешь. А я тебе скажу, что это - глупее не придумаешь. Писать GUI на Жабе объективно неэффективно. И с теми двумя минимальными дополнениями к JVM расходы на написание GUI сократились бы в разы.

Сравни SWING-овый GUI, написанный, к примеру, на Bigloo, и на самой Жабе.

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