Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Архив ПТ Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 8 9 10 11 12 [13] 14 15 16 17 .. 114   вперед  Ctrl
 Re: С++?  [new]
kkv
Member

Откуда: Москва
Сообщений: 17860
Какой высоконаучный спор! А уж эпитеты-то какие, просто дух захватывает. "Придурок, дебил, даун" и прочие тонкие высказывания в адрес оппонентов несомненно придают особенный колорит этой незабываемой дискуссии.

С уважением, kkv
27 авг 07, 18:29    [4582102]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
VirtualMan
Member

Откуда: Москва
Сообщений: 998
Предлагаю привести примеры в доказательство своей правоты.
Что можно написать на Plain C и нельзя на С++?
27 авг 07, 18:31    [4582113]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
Xenocephal
Member

Откуда:
Сообщений: 666
Aftor

Вот зачем тебе это всё надо? Только без пафоса можно объяснить.


Зачем надо? Для эффективности - раз. Самая быстрая реализация интерпретатора регулярных выражений - pcre - от такого метода отстает по скорости на порядок. А есть множество задач, где это очень важно.

И как строительный блок для реализации более сложных конструкций - два. Самая мощная форма метапрограммирования предполагает возможность изменения не только семантики, но и синтаксиса, а для этого нужна эффективная компиляция регулярных выражений и парсеров. Максимум, что тут можно сделать на C++ - это Boost::Spirit, то есть, resursive descent parsing, хрень тормозная и неудобная, не всякая грамматика на LL(n) ложится. Потому пользователи C++ и вынуждены жрать внешние препроцессоры, такие как bison++ и прочие потомки yacc-а.
27 авг 07, 18:31    [4582119]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
Xenocephal
Member

Откуда:
Сообщений: 666
VirtualMan
Предлагаю привести примеры в доказательство своей правоты.
Что можно написать на Plain C и нельзя на С++?


Например, библиотеку функций, которые будут вызываться из другого, чужеродного языка - не важно, интерпретируемого или компилируемого. На C++ придется все засунуть в extern "C" { ... }, и никаких тебе классов с темплейтами.

Про PyQt только мне не надо втирать, ок? Им пришлось написать парсер для половины C++-а только для возможности сгенерить биндинги.
27 авг 07, 18:34    [4582136]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
funikovyuri
Member

Откуда: Симферополь
Сообщений: 4047
Xenocephal
funikovyuri
Xenocephal

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


std:for_each ?


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


А можно по-подробнее? Для несильно грамотного программиста на java так сказать?

Ну и потом STL - это не максимум - это скорее минимум того что из С++ можно выжать. И ругать С++ за недостатки в шаблонах на примере того же Nemerle - это круто - между ними 20 лет разницы ;) Более того на метапрограммирование в С++ и оттачивалось современное представление о нем. Многие вещи, такие как статический полиморфизм вообще были обнаружены и начали использоваться уже по-факту, другие - такие как частичная специализация шаблонов - были добавлены позже. Т.е. развитие С++ - это в большой мере и развитие и ООП и метапрограммирования как таковых. Да сейчас много в С++ могло бы быть улучшено, но это естественный процесс - всех почти 30 лет прошло с его появления.
27 авг 07, 18:36    [4582154]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
нормандец
Member

Откуда: Из провинции
Сообщений: 16094
Вы тут все меряетесь писками? .
27 авг 07, 18:37    [4582157]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
VirtualMan
Member

Откуда: Москва
Сообщений: 998
автор
засунуть в extern "C" { ... }

Это делается только для устранения декорирования имён.
Никто не мешает сделать прокси-функции и работать через их вызовы.
27 авг 07, 18:38    [4582163]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
VirtualMan
Member

Откуда: Москва
Сообщений: 998
нормандец
Вы тут все меряетесь писками? .

Ага.
27 авг 07, 18:39    [4582172]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
Xenocephal
Member

Откуда:
Сообщений: 666
VirtualMan
автор
засунуть в extern "C" { ... }

Это делается только для устранения декорирования имён.
Никто не мешает сделать прокси-функции и работать через их вызовы.


Ну и какой смысл в C++ тогда, если конечный продукт - интерфейс библиотеки - будет чисто процедурным?

То есть, получаем весьма заметный оверхед непонятно за что.
27 авг 07, 18:41    [4582184]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
VirtualMan
Member

Откуда: Москва
Сообщений: 998
автор
Самая мощная форма метапрограммирования предполагает возможность изменения не только семантики, но и синтаксиса, а для этого нужна эффективная компиляция регулярных выражений и парсеров.

Вот с этим я пожалуй соглашусь. Но требовать это от языка, созданного в пору, когда такие понятия были ещё в стадии интуитивного осмысливания не стоит.
27 авг 07, 18:41    [4582185]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
Xenocephal
Member

Откуда:
Сообщений: 666
VirtualMan
автор
Самая мощная форма метапрограммирования предполагает возможность изменения не только семантики, но и синтаксиса, а для этого нужна эффективная компиляция регулярных выражений и парсеров.

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


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

Но вообще - соглашусь, C++, кроме всего прочего, еще и устарел. Он набрал в себя тяжкий груз заблуждений и предрассудков нескольких поколений программистов, и теперь все это приходится на себе тащить. Лучше уж выкинуть и начать с чистого листа.
27 авг 07, 18:43    [4582203]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
VirtualMan
Member

Откуда: Москва
Сообщений: 998
Xenocephal
... Лучше уж выкинуть и начать с чистого листа.

Начать ходить по старым граблям? Измениться в первую очередь должно мышление программиста, а без этого будет новый клон бэйсика , но другими словами.
27 авг 07, 18:46    [4582224]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
Xenocephal
Member

Откуда:
Сообщений: 666
funikovyuri

А можно по-подробнее? Для несильно грамотного программиста на java так сказать?


Как пример:
foreach-map (x,y in Z*Z | x < 10 & y < 10)
(x*x + y*y)

это даст множество сумм квадратов для пар положительных целых чисел меньше 10, причем,
раз исходное множество неупорядоченно, то и результат будет произвольным, компилятор (а точнее - макра foreach-map)
сам выберет наиболее эффективную структуру данных.

А если сказать foreach (что-то in (foreach-map (что-то-еще) фигня-всякая)) ... - то получившийся в результате код не будет создавать промежуточное множество, и память будет расходоваться эффективно.


Ну и потом STL - это не максимум - это скорее минимум того что из С++ можно выжать.


Максимум - это Boost. Он бледно выглядит.


И ругать С++ за недостатки в шаблонах на примере того же Nemerle - это круто - между ними 20 лет разницы ;) Более того на метапрограммирование в С++ и оттачивалось современное представление о нем.


В Лиспе и его родственниках метапрограммирование появилось гораздо раньше.


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


Ага, тогда как в ML это было давно уже сделано. Просто не знал Страус про ML ничего.

другие - такие как частичная специализация шаблонов - были добавлены позже. Т.е. развитие С++ - это в большой мере и развитие и ООП и метапрограммирования как таковых. Да сейчас много в С++ могло бы быть улучшено, но это естественный процесс - всех почти 30 лет прошло с его появления.


Развитие C++ - это бессистемное заимствование очень плохо реализованных идей из других языков. Ничего нового сам C++ не породил.
27 авг 07, 18:51    [4582255]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
Aftor
Member [заблокирован]

Откуда:
Сообщений: 235
Xenocephal
funikovyuri

А можно по-подробнее? Для несильно грамотного программиста на java так сказать?


Как пример:
foreach-map (x,y in Z*Z | x < 10 & y < 10)
(x*x + y*y)

это даст множество сумм квадратов для пар положительных целых чисел меньше 10, причем,
раз исходное множество неупорядоченно, то и результат будет произвольным, компилятор (а точнее - макра foreach-map)
сам выберет наиболее эффективную структуру данных.

А если сказать foreach (что-то in (foreach-map (что-то-еще) фигня-всякая)) ... - то получившийся в результате код не будет создавать промежуточное множество, и память будет расходоваться эффективно.
...

Любое сокращение кода ведет к нечитабельности кода - это как минимум. Портянки кода куда легче читать, чем заумные бредни гениев)
Не согласен?
27 авг 07, 19:04    [4582317]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
VirtualMan
Member

Откуда: Москва
Сообщений: 998
К стыду своему я даже понятия не имел, что такое ЛИСП.
Почему-то думал, что ЛИСП это нечто вроде Паскаля, Фокала и т.п.
И заглянув в WIKI ЛИСП был ошеломлён!
Мы сравниваем ж..у с пальцем. Высокоуровневый язык с низкоуровневым.
Сия полемика бессмысленна по своей сути.
Что лучше колесо или автомобиль? Здание или кирпич? Организм или клетка?
27 авг 07, 19:11    [4582346]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
Aftor
Member [заблокирован]

Откуда:
Сообщений: 235
VirtualMan
К стыду своему я даже понятия не имел, что такое ЛИСП.
Почему-то думал, что ЛИСП это нечто вроде Паскаля, Фокала и т.п.
И заглянув в WIKI ЛИСП был ошеломлён!
Мы сравниваем ж..у с пальцем. Высокоуровневый язык с низкоуровневым.
Сия полемика бессмысленна по своей сути.
Что лучше колесо или автомобиль? Здание или кирпич? Организм или клетка?

Да это ваще такая древня херня, из которой растут все языки программирования там же есть Смолтолл, Ада и т.д. Но ща профессоры кислых щей нам все объяснят.
27 авг 07, 19:17    [4582357]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
Ммихалыч
Member

Откуда:
Сообщений: 3696
Lisp чисто инженерный язык, для расчетов и т.д. на сколько имею представление.
Что-то подобное даже попытались засунуть в Autocad.
27 авг 07, 19:18    [4582360]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
Ммихалыч
Member

Откуда:
Сообщений: 3696
ну синтаксис у него своеобразный, одних только скобок мама не горюй.
27 авг 07, 19:20    [4582366]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
Aftor
Member [заблокирован]

Откуда:
Сообщений: 235
Ммихалыч
ну синтаксис у него своеобразный, одних только скобок мама не горюй.

Наш главный Абрахам Линкольн в "визио" блок схемы рисует, а ваще он разноплановый "гигант" уже 15 лет программист контроллеры моторолл на Си! Да и С++ для него нини - ересь) Хотя у всех этих железок обычно свой специфичный асм и абсолютно не переносимой с устройство на устройство. Ну и по этому наш занудный звиздун любит описывать всё абстрактно! Так уж если описать так, описать.... Раз и на всегда.).
27 авг 07, 19:27    [4582382]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
mayton
Member

Откуда: loopback
Сообщений: 35682
Yossarian

Nemerle
Очередная смесь бульдога с носорогом


(хватаясь за голову)

Милые мои! Да кому накуй нужен супер-пупер язык? Тут бьешся чтобы рекрутов обучить основам Java и СSharp, и вбить в них пару тройку промышленных паттернов, и вперёд! Но кто и где будет разгребать экзистенцию гениального бреда только-что уволившегося юного гения. Может быть я слишком прагматичен или смотрю однобоко. Но по моему скромному мнению Nemerle суждено полежать еще лет эдак 20-30 в тестовых лабораториях, чтобы затем тихо лечь в музей рядышком с Алголом.

А PR-кампания новомодного явления в IT - вещь не новая. Проходили уже. Я бы предпочёл видеть не теоретические выкладки а реально работающие проекты со ссылкой на инструмент креатива.

С уважением
27 авг 07, 22:25    [4582742]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
Interface 01
Member [заблокирован]

Откуда:
Сообщений: 456
mayton
...
А PR-кампания новомодного явления в IT - вещь не новая. Проходили уже. Я бы предпочёл видеть не теоретические выкладки а реально работающие проекты со ссылкой на инструмент креатива.

С уважением

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

п.с.
И ваще сижу я значит вчера дома, выпил пару бокальчиков пива (как и сейчас) и решил мирно пообщаться и может узнать ответ на в принципе простой вопрос. А получил это! Шквал мата, обсера и какой-то необъяснимой ненависти от нашего студентика из-за бугра!
27 авг 07, 23:03    [4582824]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
Interface 01
Member [заблокирован]

Откуда:
Сообщений: 456
Xenocephal

Посмотрел это по твоех хваленой пиарщине. И чтой-то за гавно? Я себя ощутил на 4 курсе универа, когда лектор по какой-то абстрактной муйне нам парил мозг графами. И рассказывал про ИИ.
27 авг 07, 23:16    [4582853]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
Программизд 02
Member

Откуда: дедофорум
Сообщений: 232416
Interface 01
Xenocephal

Посмотрел это по твоех хваленой пиарщине. И чтой-то за гавно? Я себя ощутил на 4 курсе универа, когда лектор по какой-то абстрактной муйне нам парил мозг графами. И рассказывал про ИИ.


А ты юзал графы для вебшопов?
27 авг 07, 23:24    [4582870]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
Interface 01
Member [заблокирован]

Откуда:
Сообщений: 456
Программизд 02
Interface 01
Xenocephal

Посмотрел это по твоех хваленой пиарщине. И чтой-то за гавно? Я себя ощутил на 4 курсе универа, когда лектор по какой-то абстрактной муйне нам парил мозг графами. И рассказывал про ИИ.


А ты юзал графы для вебшопов?

Да нет, конечно, яж обычный пролетарский мальчуган. Мне пофигу на графы и остальную абстрактную муйню. Ваще эти болтуны аналитики, начальники и остальная псевдо элита меня раздражает, маленько. А, что тыб юзал бы графы и модели при разработки?
27 авг 07, 23:29    [4582878]     Ответить | Цитировать Сообщить модератору
 Re: С++?  [new]
Interface 01
Member [заблокирован]

Откуда:
Сообщений: 456
Программизд 02
Interface 01
Xenocephal

Посмотрел это по твоех хваленой пиарщине. И чтой-то за гавно? Я себя ощутил на 4 курсе универа, когда лектор по какой-то абстрактной муйне нам парил мозг графами. И рассказывал про ИИ.


А ты юзал графы для вебшопов?

Нее я не хочу сказать, что это не нужно.
Например, последние 3 года я рисую-програмлю интерфейсы только с визио, нарисованное кем-то аля постановщиком ТЗ.
27 авг 07, 23:32    [4582887]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 8 9 10 11 12 [13] 14 15 16 17 .. 114   вперед  Ctrl
Все форумы / Архив ПТ Ответить