LINUX.ORG.RU

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

Ты ни хера не знаешь. Лисп компилируемый, производительность от C++ не отстаёт нисколько, и, главное, это метаязык, так что конечный код может быть сколь угодно оптимальным, при сколь угодно высоком уровне входного кода. Я на Лиспе писал агрессивно заоптимизированные под SIMD алгоритмы. Простенько, коротенько. На C++ без явных ассемблерных вставок не обошлось бы, а тут - просто микрокомпилятор встроил, и потом реюзал его везде, где только можно.

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

> Пожалуйста: (самое близкое мне) игровые движки.

Все написанные на C++ игровые движки - отвратительны.

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

>Чувак, сдаётся мне, что ты - дебил. И это, скорее всего, не лечится.

Если тебе что-то сдается, и до сих пор не вылечивается, то нет надобности писать об этом на лоре, с этим надо к психиатру, дружок.

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

Чудило, для вынесения тебе соответствующего диагноза достаточно на твоё сайтишко взглянуть. Так что не тебе, недоумок, вообще о языках судить. Мал умом ты слишком.

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

"Чудило, для вынесения тебе соответствующего диагноза достаточно на твоё сайтишко взглянуть. Так что не тебе, недоумок, вообще о языках судить. Мал умом ты слишком." - плакал человек, не осиливший C++.

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

С чего ты взяло, дурилко, что C++ я ниасилил? Я на нём уже более десяти лет пишу. Что не мешает мне считать этот язык полным говном. Просто, в отличии от тебя, глупца, я знаю ещё и много других языков, мне есть с чем сравнивать. А ты кроме дебильного С++ ничего не видел, и считаешь это дерьмо верхом совершенства.

anonymous
()

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

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

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

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

Некорректная аналогия. Это ни разу не вопрос вкуса, выбор языка существенно более объективен, и зависит от легко формализуемых параметров: степень соответствия семантики языка семантике предметной области, требования к производительности, интероперабельность с существующими компонентами, поддержка стандартов, политическая конъюктура, стоимость поддержки конечного продукта, стоимость разработки, и т.д.

А когда выбираешь пирог, то из объективных критериев только состав и калорийность, всё остальное чисто субъективно.

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

> Посоветуй тогда замену с++, т.е. на что можно перейти, решая настоящие задачи на с++.

От конкретной задачи зависит. Универсальных языков не существует, каждой задаче - свой язык нужен.

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

>Некорректная аналогия. Это ни разу не вопрос вкуса,...

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

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

> С++ так универсален, что его можно выбирать в большинстве случаев

Ложь. В большинстве случаев стоимость использования такого неадекватного средства, как C++, будет чрезмерно высока. Это очень низкоуровневый язык, на котором физически невозможно выразить адекватно высокоуровневые абстракции, встречающиеся в реальных задачах.

> ни один другой язык таким похвастаться не может.

Абсолютно бредовая заява. Тот же Common Lisp существенно более универсален - поскольку является настоящим метаязыком (а не жалкой потугой, как C++).

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

>Это очень низкоуровневый язык, на котором физически невозможно выразить адекватно высокоуровневые абстракции, встречающиеся в реальных задачах

А доказательства будут? Если вы не в силах использовать с++ в каких то задачах, это не означает, что язык на это не способен.

>Абсолютно бредовая заява. Тот же Common Lisp существенно более универсален - поскольку является настоящим метаязыком (а не жалкой потугой, как C++).

Не сравнивай, это совсем разные песочницы.

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

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

>Это очень низкоуровневый язык, на котором физически невозможно выразить адекватно высокоуровневые абстракции, встречающиеся в реальных задачах.

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

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

>В большинстве случаев

значит, не во всех :)

>Ложь. В большинстве случаев стоимость использования такого неадекватного средства, как C++, будет чрезмерно высока. Это очень низкоуровневый язык, на котором физически невозможно выразить адекватно высокоуровневые абстракции, встречающиеся в реальных задачах.

Мы же не говорим о стоимости. Мы говорим о красоте языка. Но если говорить о стоимости, то будет ли она ниже для реализации на Lisp этих же задач?

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

> А доказательства будут?

Boost тебе в доказательство. То, что делается на нормальных языках в одну строчку, там делается в пару сотен. Особенно забавно смотреть на тамошние лямбды и на Boost::Spirit (сравнить с Parsec и убиться от зависти).

> Если вы не в силах использовать с++ в каких то задачах, это не означает, что язык на это не способен.

Детёныш, тебя опять пучит? Мезим выпей.

> Я считаю с++ очень большим достижением в области языков программирования,

Ты кто, чтобы иметь право считать? Имеешь хоть какое либо отношение к Computer Science? Нет? Тогда - свободен. Считать, конечно же, можешь, но молча.

C++ не является "достижением". Совсем. В нём нет вообще ничего нового. Он очень криво и кособоко приспособил некоторые из конструкций из более продвинутых языков. Получилось, как всегда при бездумном копировании, не пордкреплённом теорией, полное говно.

> и никто не сможет убедить меня в том, что это говно,

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

> такие высказывания убедят меня только в некомпетентности заявителя.

Гы гы, смешной какой детёныш.

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

> Чем не угодили шаблоны например?

Убожеством. Язык шаблонов в C++ - это не сам C++. Он не даёт возможности пользоваться всем, что есть в самом C++. Он даже не умеет строчку разобрать. Гораздо более тупой подход - макросы в Common Lisp - даёт гораздо более высокий уровень гибкости. Истинной макрой можно сделать всё. То есть - вообще всё. Как угодно изменить язык. Хоть превратить Common Lisp в C++, так что никто и не отличит, если кому в голову такая идиотская мысль придёт. А вот из C++ ты сделаешь только C++, только ещё более идиотский.

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

На ЧУТЬ более высоком уровне абстракции. Толку то от таких абстракций. Хрен ты сделаешь даже что-то подобное примитивному LINQ на C++. Хрен ты сделаешь что-то сравнимое с Parsec (Spirit - жалкое, убогое подобие). Хрен ты даже такую тупую задачу решишь, как компиляция регулярных выражений не в рантайме - придётся уродливый синтаксис наворачивать на шаблонах, поскольку шаблоны не умеют работать со строками. Про более серьёзные задачи, типа встроенного FSM-движка, или же встроенного Пролога с эффективной компиляцией, я и вовсе помолчу.

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

> Мы говорим о красоте языка.

А красота тем более формализуема. Чем более адекватно отображается предметная область, чем меньше низкоуровневых, нерелевантных служебных конструкций, тем язык красивее. Дебилистый C++ не позволяет избавиться от низкоуровневых конструкций. Даже такую тупизну, как foreach - и то по человечески не сделать.

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

>Дебилистый C++ не позволяет избавиться от низкоуровневых конструкций.

Например?

>Даже такую тупизну, как foreach - и то по человечески не сделать.

А зачем? Типа for(int i=0;i<objects.count();i++) уже не катит? или это так трудно написать? Между прочим, надо быть очень интересным человеком, чтобы предлагать foreach для обыкновенных массивов. Нафиг он там нужен? Он там вообще не заработает. А язык более абстрактен, т.к. for подходит и для того, и для другого.

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

это в полной мере относится к C++.

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

> Например?

Примеры я перечислил выше. Читать не умеешь?

> А зачем? Типа for(int i=0;i<objects.count();i++) уже не катит? или это так трудно написать?

Да, не катит. На кой мне эти дебильные низкоуровневые конструкции, если я хочу записать, что к каждому элементу множества S, удовлетворяющему условию P, надо применить функцию F, и результатом будет множество S'. И мне по сараю, как именно реализовано множество - или это AVL tree, или просто массив, или список - без разницы. Я просто напишу S' <- [F(x) : x <- S, P(x)]

Это - красиво, просто, понятно, является полноценным отображением предметной области и не содержит вообще никаких низкоуровневых конструкций. И будет реализовано так же или более эффективно, чем ты накорябаешь ручонками на низкоуровневом C++.

> А язык более абстрактен, т.к. for подходит и для того, и для другого.

А goto вообще для всего подходит - так что goto - это более высокий уровень абстракции. Ты сам то понял, что слажался?

> это в полной мере относится к C++.

Лжешь. В C++ нельзя избавиться от низкоуровневого, нерелевантного барахла - for-ов всяких, переменных идиотских, функций и прочей чуши.

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

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

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

>Примеры я перечислил выше. Читать не умеешь?

все слова, слова, слова.

>Да, не катит. На кой мне эти дебильные низкоуровневые конструкции, если я хочу записать, что к каждому элементу множества S, удовлетворяющему условию P, надо применить функцию F, и результатом будет множество S'. И мне по сараю, как именно реализовано множество - или это AVL tree, или просто массив, или список - без разницы. Я просто напишу S' <- [F(x) : x <- S, P(x)]

Во-первых, это только тебе по сараю. Умные люди выбирают C++ потому, что им не по сараю, как там все реализовано. Можешь, кстати, взглянуть на голосование текущее - по всему видно, людям нравится C++. И не просто так. Развивая твою мысль, C являясь подмножеством C++, тоже является говном? Тем не менее, на нем написан Linux.

>А goto вообще для всего подходит - так что goto - это более высокий уровень абстракции. Ты сам то понял, что слажался?

goto подходит не для всего. например, в нем нельзя заваривать кофе.

> Лжешь. В C++ нельзя избавиться от низкоуровневого, нерелевантного барахла - for-ов всяких, переменных идиотских, функций и прочей чуши.

на этом месте подробней. ха-ха-ха! Вот в этой конструкции S' <- [F(x) : x <- S, P(x)], наверное, нет никаких идиотских функций и тупых переменных. Давай-ка напиши на этом мегаязыке какую-нить графическую библиотеку, я на тя посмотрю, скоко у тебя там будет нерелевантных переменных и тормознутых функций!

Да хватит. Я понял, о чем ты. Красивая программа на нормальном языке должна выглядеть так:

ХОЧУ, ЧТОБЫ БЫЛА КРУТА И Я БОЛЬШЕ НЕ ПА-РИЛ-СЯ, ДА, ДА, ДА, И ПОЖИВЕЙ!!!

(Восклицательные знаки влияют на тактовую частоту процессора).

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

ДА, ДА, ДА - это ответы на возможные вопросы компилятора.

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

> все слова, слова, слова.

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

> Во-первых, это только тебе по сараю. Умные люди выбирают C++ потому, что им не по сараю, как там все реализовано.

Во первых, это по сараю в 99% случаях. Там, где это не по сараю, ты можешь использовать и более низкоуровневые конструкции в том же языке, не надо ради одного боттлнека выбирать ублюдочный недоязычок C++.

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

> нет никаких идиотских функций и тупых переменных

Именно. Их тут нет. Хоть и разворачивается оно компилятором в цикл, и пару функций определяет в процессе.

> Давай-ка напиши на этом мегаязыке какую-нить графическую библиотеку,

Писал. Никаких проблем. Выглядит код как учебник по аналитической геометрии и линейной алгебре, особенно если его через latex прогнать. Ничего нерелевантного в коде нет, никакой низкоуровневой ублюдочной чуши, только математика. И работает быстрее чем всё, что ты когда либо сможешь своими задроченными корябками налабать на C++.

> Красивая программа на нормальном языке должна выглядеть так:

Диагноз "клинический дебил и сопливое чмо" подтверждается.

Наш уродливый недоносок не понимает (и никогда не поймёт), что такое уровень абстракции, никогда не поймёт, что даёт настоящее метапрограммирование, никогда не поймёт, чем чревата premature optimisation. В общем, жывотное оно, жывотным и помрёт. Обидно только, что такие убогие жывотные имеют наглость называть себя программистами, позорят Искусство.

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

> Типа for(int i=0;i<objects.count();i++) уже не катит?

Это отвратительно. Хотя бы потому, что не всякий контейнер индексируется int'ами, это раз. Тело цикла, в котором вместо объекта, который обрабатывается в текущий момент, пишется городуха вида objects[i], выглядит довольно хреново, это два.

Тогда уж строить for с итераторами, но в C++ у них свои заморочки.

> надо быть очень интересным человеком, чтобы предлагать foreach для обыкновенных массивов.

А почему нет? Почему std::sort() можно, а std::foreach() уже нет?

> Он там вообще не заработает.

Это с какой стати? STL'ные алгоритмы очень даже работают для "обыкновенных массивов".

> А язык более абстрактен, т.к. for подходит и для того, и для другого.

foreach почти эквивалентен for'у. Только foreach мне сразу, фактически сообщает, что нечто делается для каждого элемента контейнера по одному. А в случае for, да еще и с целочисленным счетчиком, нужно внимательно всматриваться в тело: не ведется ли там каких хитрых вычислений, в которых участвует несколько элементов с разными индексами или еще какая-нибудь фигня. В общем, "int i" в этом случае -- лишная сущность, которая заставляет прослеживать больше возможных вариантов при чтении.

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

> Итераторы руляд? :)

Итераторы сосуд.

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

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

Ну так что, чмошник, решил не напрягать моск и не пытаться разобраться с тем, что такое язык высокого уровня, что такое адекватная абстракция предметной области? Не стал пытаться понять, почему C++ - низкоуровневый язык, ограниченный со всех сторон? Это ещё одно подтверждение диагноза. Ты ещё очень мал, ты очень мало знаешь (точнее, ты вообще ни хера не знаешь), и ты очень, очень глуп. Попробуй выучить пять-шесть нормальных, высокоуровневых языков - и после этого возвращайся к спору. Зная только дебильный C++ ты никогда не сможешь понять, почему тебя считают идиотом, и почему над твоим C++ все смеются.

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

>Ну так что, чмошник, решил не напрягать моск и не пытаться разобраться с тем, что такое язык высокого уровня, что такое адекватная абстракция предметной области? Не стал пытаться понять, почему C++ - низкоуровневый язык, ограниченный со всех сторон? Это ещё одно подтверждение диагноза. Ты ещё очень мал, ты очень мало знаешь (точнее, ты вообще ни хера не знаешь), и ты очень, очень глуп. Попробуй выучить пять-шесть нормальных, высокоуровневых языков - и после этого возвращайся к спору. Зная только дебильный C++ ты никогда не сможешь понять, почему тебя считают идиотом, и почему над твоим C++ все смеются.

посмотри голосование, дружок.

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

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

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

> ппц, а анонимы все такие смелые?

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

> этот аноним какой то задрот ушастый с комплексом неполноценности, который пытается поднять свое "Я" тупыми постами, оскорбляя других

Хм... На ум приходит что-то там про соринку и бревно в глазу... :-\

> т.к. по существу сказать нечего

Вообще-то, он по существу сказал больше, чем например, ты. Хотя стиль изложения, конечно, своеобразный. Видимо лавры VSL покоя не дают.

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

> посмотри голосование, дружок.

Ага. Ясно. Ну там, Земля плоская, торсионные поля круглые, инопланетяне зеленые, все определено, ибо так считает большинство по опросам газеты МК.

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

>Ага. Ясно. Ну там, Земля плоская, торсионные поля круглые, инопланетяне зеленые, все определено, ибо так считает большинство по опросам газеты МК.

Дело не в этом. :) Просто анонимный аналитег ошибочно полагает, что над таким недоноском, как я, и над убогим C++ смеются все, кому не лень. А голосование показывает обратное.

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

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

да, поддерживаю. Такие крутые ребята не соблюдают рекомендаций общения на ЛОРе. Ну ладно. По крайней мере он доказал, что хорошо владеет языком. :))

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

Понимаешь ли, дурень, голосование говорит только об одном - подавляющее большинство посетителей ЛОР - идиоты. Что и не удивительно - подавляющее большинство людей - дебилы, и ЛОР представляет вполне репрезентативную выборку.

Когда я говорю, что над тобой и над твоим идиотским C++ все смеются, то я имею в виду людей, а не быдло. Имею в виду computer scientists и лучших из практикующих программистов. Их мало, очень мало, а подавляющее большинство называющих себя программистами - просто неграмотная, неквалифицированная шпана.

И, кстати, придурь - ты своё убожество доказал уже тем, что не смог вообще ни разу возразить по делу. Ты так и не рассказал, как на убогом C++ делать высокоуровневые, высокоабстрактные конструкции - хотя бы тот же простейший set comprehension. Ты посмел назвать for более абстрактной конструкцией, чем foreach - и даже не извинился за это. И кто ты теперь? Клоун ты, за человека тебя уже никто никогда считать не станет.

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

>Когда я говорю, что над тобой и над твоим идиотским C++ все смеются, то я имею в виду людей, а не быдло. Имею в виду computer scientists и лучших из практикующих программистов. Их мало, очень мало, а подавляющее большинство называющих себя программистами - просто неграмотная, неквалифицированная шпана.

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

>И, кстати, придурь - ты своё убожество доказал уже тем, что не смог вообще ни разу возразить по делу. Ты так и не рассказал, как на убогом C++ делать высокоуровневые, высокоабстрактные конструкции - хотя бы тот же простейший set comprehension. Ты посмел назвать for более абстрактной конструкцией, чем foreach - и даже не извинился за это. И кто ты теперь? Клоун ты, за человека тебя уже никто никогда считать не станет.

Люблю, понимаешь, насолить главному разработчику.

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

+5 Что вы подразумеваете по высокоуровневыми языками?

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