Чем становится C++?
От: uw  
Дата: 20.12.04 21:24
Оценка: 7 (2)

C++ is becoming a freak language that's parading its disfigurements in front of mildly disgusted but curiously fascinated audience.


Цитата вырезана из этой заметки
Мнение её автора может не совпадать с моим, но подумать есть о чем...


21.12.04 22:14: Перенесено из 'C/C++'
Re: Чем становится C++?
От: adontz Грузия http://adontz.wordpress.com/
Дата: 20.12.04 21:32
Оценка: +3
Здравствуйте, uw, Вы писали:

Пока одни ругают Си++, другие на нём пишут и зарабатывают этим деньги.
Я не злой — пусть ругают...
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[2]: Чем становится C++?
От: uw  
Дата: 20.12.04 22:23
Оценка: +2
Здравствуйте, adontz, Вы писали:

A>Здравствуйте, uw, Вы писали:


A>Пока одни ругают Си++, другие на нём пишут и зарабатывают этим деньги.

A>Я не злой — пусть ругают...

Чего только люди не делают, зарабатывая этим деньги. А другие (не менее, а то и более добрые, а подчас являющиеся по совместительству теми другими, которые "другие" в процитированном сообщении) иногда этот процесс критикуют/ругают и иногда даже не для того, чтобы это явление искоренить, а как раз наоборот.
Re[3]: Чем становится C++?
От: Шахтер Интернет  
Дата: 21.12.04 00:29
Оценка:
Здравствуйте, uw, Вы писали:

uw>Здравствуйте, adontz, Вы писали:


A>>Здравствуйте, uw, Вы писали:


A>>Пока одни ругают Си++, другие на нём пишут и зарабатывают этим деньги.

A>>Я не злой — пусть ругают...

uw>Чего только люди не делают, зарабатывая этим деньги. А другие (не менее, а то и более добрые, а подчас являющиеся по совместительству теми другими, которые "другие" в процитированном сообщении) иногда этот процесс критикуют/ругают и иногда даже не для того, чтобы это явление искоренить, а как раз наоборот.


Хотелось бы не общих слов, а конкретных примеров. А насчет трудностей парсинга -- чушь. В C++ не парсить трудно, а делать следующую фазу компиляции. Правила перегрузки, вывода аргументов шаблонов, рекурсивная инстантинация, неявные преобразования и.т.д.
... << RSDN@Home 1.1.0 stable >>
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re[4]: Чем становится C++?
От: uw  
Дата: 21.12.04 01:19
Оценка: +1 -1
Здравствуйте, Шахтер, Вы писали:

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


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

Тем не менее трудность парсинга без сомнения один из основных минусов C++. Лично я не видел ни одного open-source парсера С++ (написанного на C++) и поддерживающего хотя бы парсинг на уровне сравнимом с наиболее адекватными компиляторами. До следующей фазы компиляции у их разработчиков руки просто не дошли. Основные усилия ушли на парсинг. В OpenC++ парсер рукописный recursive descent + backtracking, для Elsa был специально написан смешанный generalised lr / lr генератор парсеров, FOG парсит суперсет грамматики C++, а затем уже устраняет неоднозначности.
Вся эта работа была проделана ими зря !?

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

Самая главная проблема C++ — это нестройность всей концепции языка. В основе языка несколько фундаментальных правил и тысячи и тысячи исключений из этих правил. Я думаю язык бы серьезно выиграл даже от того, что появилось бы некое более чистое и красивое подмножество.
Re[5]: Чем становится C++?
От: adontz Грузия http://adontz.wordpress.com/
Дата: 21.12.04 01:27
Оценка: -4 :)
Здравствуйте, uw, Вы писали:

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


Перегрузка это артефакт? Ну-ну....

uw>Самая главная проблема C++ — это нестройность всей концепции языка. В основе языка несколько фундаментальных правил и тысячи и тысячи исключений из этих правил. Я думаю язык бы серьезно выиграл даже от того, что появилось бы некое более чистое и красивое подмножество.


Оно уже есть! Welcome to C# Developers!
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[5]: Чем становится C++?
От: Шахтер Интернет  
Дата: 21.12.04 01:35
Оценка: 9 (2) +4 -1
Здравствуйте, uw, Вы писали:

uw>Здравствуйте, Шахтер, Вы писали:


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


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


??? Я не понял, ты хочешь сказать, что С++ не применяется в промышленных разработках? А я на чем пишу?

uw>Тем не менее трудность парсинга без сомнения один из основных минусов C++. Лично я не видел ни одного open-source парсера С++ (написанного на C++) и поддерживающего хотя бы парсинг на уровне сравнимом с наиболее адекватными компиляторами. До следующей фазы компиляции у их разработчиков руки просто не дошли. Основные усилия ушли на парсинг. В OpenC++ парсер рукописный recursive descent + backtracking, для Elsa был специально написан смешанный generalised lr / lr генератор парсеров, FOG парсит суперсет грамматики C++, а затем уже устраняет неоднозначности.

uw>Вся эта работа была проделана ими зря !?

НЕ могу сказать. По-моему, это на что у людей хватает способностей. Хватило же способностей у эдисонов сделать EDG. Причем на чистом С.

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


Ну это ты загнул. С чего бы это отказываться от одной из самых мощных и востребованных фич языка?

uw>Самая главная проблема C++ — это нестройность всей концепции языка. В основе языка несколько фундаментальных правил и тысячи и тысячи исключений из этих правил. Я думаю язык бы серьезно выиграл даже от того, что появилось бы некое более чистое и красивое подмножество.


НЕ вижу нестройности. То что появилось в С++ -- это не академические упражнения. Сила С++ в том, что он идет от сути вещей, а не от высосанных из пальца концепций.
... << RSDN@Home 1.1.0 stable >>
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re[5]: Чем становится C++?
От: Шахтер Интернет  
Дата: 21.12.04 01:42
Оценка: 1 (1) +3 :)
Здравствуйте, uw, Вы писали:

Добавлю ещё немного. Ты не замечал, что код, написанный на шарпе пестрит явными преобразованиями типа? Почему, спрашивается? А потому, что чудес на свете не бывает. Невозможно спорить с сутью вещей. Природа всё равно победит. Всё, чего можно добиться, вводя разного рода ограничение, так это только того, что программисты будут не о задаче думать, а о том, как эти дурацкие ограничения обойти.
... << RSDN@Home 1.1.0 stable >>
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re[6]: Чем становится C++?
От: uw  
Дата: 21.12.04 01:49
Оценка: +1
Здравствуйте, adontz, Вы писали:

A>Перегрузка это артефакт? Ну-ну....

Неявные преобразования, битовые поля — артефакты. А перегрузка это скорее жизненная необходимость для любого современного языка программирования.

A>Оно уже есть! Welcome to C# Developers!

Это не оно, это что-то совсем другое. Позволю себе процитировать авторитетное мнение Tim Sweeney с которым я абсолютно согласен:

Unfortunately, there isn't a clear successor to C++ lined up. Java and C# had their chance and it became clear that, while they simplify some aspects of development, they don't put us on the wholly new effort/reward curve the industry needs to be on.

В частности все "фичи" C# скорее относятся к runtime-environment, чем к языку. Скорее нужно обобщить и улучшить compile-time возможности языка, попутно выкинув из него все маргинальные элементы и основательно переработав синтаксис.
Re[7]: Чем становится C++?
От: adontz Грузия http://adontz.wordpress.com/
Дата: 21.12.04 01:58
Оценка:
Здравствуйте, uw, Вы писали:

uw>Здравствуйте, adontz, Вы писали:


A>>Перегрузка это артефакт? Ну-ну....

uw>Неявные преобразования, битовые поля — артефакты.

Про неявные преобразования уже Шахтёр ответил. А битовые поля.... Извини, но современный язык должен позволять взаимодействовать с окружающей средой.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[7]: Чем становится C++?
От: Шахтер Интернет  
Дата: 21.12.04 02:03
Оценка:
Здравствуйте, uw, Вы писали:

uw>Здравствуйте, adontz, Вы писали:


A>>Перегрузка это артефакт? Ну-ну....

uw>Неявные преобразования, битовые поля — артефакты.

Вот простейший пример.

int array[100];
int *p=...; // указывает на элемент array

size_t index=p-array; // в это строчке -- неявное преобразование


Если отменить неявные преобразования, то их придётся писать явно, как в этом и миллионе подобных случаев. Ни надёжности, ни читабельности это не прибавит, читабельности и лаконичности скорее отнимет. Оно надо?
... << RSDN@Home 1.1.0 stable >>
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re[6]: Чем становится C++?
От: Зверёк Харьковский  
Дата: 21.12.04 03:25
Оценка: +1
Здравствуйте, Шахтер, Вы писали:

uw>>Самая главная проблема C++ — это нестройность всей концепции языка. В основе языка несколько фундаментальных правил и тысячи и тысячи исключений из этих правил. Я думаю язык бы серьезно выиграл даже от того, что появилось бы некое более чистое и красивое подмножество.


Ш>НЕ вижу нестройности. То что появилось в С++ -- это не академические упражнения. Сила С++ в том, что он идет от сути вещей, а не от высосанных из пальца концепций.


На эту тему, имхо, великолепно высказался
Автор: Pavel Dvorkin
Дата: 02.11.04
один наш коллега.
сам слушаю и вам рекомендую: 12 — Крыша едет
FAQ — це мiй ай-кью!
Re[7]: Чем становится C++?
От: Шахтер Интернет  
Дата: 21.12.04 03:31
Оценка:
Здравствуйте, Зверёк Харьковский, Вы писали:

ЗХ>Здравствуйте, Шахтер, Вы писали:


uw>>>Самая главная проблема C++ — это нестройность всей концепции языка. В основе языка несколько фундаментальных правил и тысячи и тысячи исключений из этих правил. Я думаю язык бы серьезно выиграл даже от того, что появилось бы некое более чистое и красивое подмножество.


Ш>>НЕ вижу нестройности. То что появилось в С++ -- это не академические упражнения. Сила С++ в том, что он идет от сути вещей, а не от высосанных из пальца концепций.


ЗХ>На эту тему, имхо, великолепно высказался
Автор: Pavel Dvorkin
Дата: 02.11.04
один наш коллега.


Ага, точно. Я ему три балла поставил.
... << RSDN@Home 1.1.0 stable >>
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re[8]: Чем становится C++?
От: Зверёк Харьковский  
Дата: 21.12.04 04:33
Оценка: +1
Здравствуйте, Шахтер, Вы писали:

uw>>>>Самая главная проблема C++ — это нестройность всей концепции языка. В основе языка несколько фундаментальных правил и тысячи и тысячи исключений из этих правил. Я думаю язык бы серьезно выиграл даже от того, что появилось бы некое более чистое и красивое подмножество.


Ш>>>НЕ вижу нестройности. То что появилось в С++ -- это не академические упражнения. Сила С++ в том, что он идет от сути вещей, а не от высосанных из пальца концепций.


ЗХ>>На эту тему, имхо, великолепно высказался
Автор: Pavel Dvorkin
Дата: 02.11.04
один наш коллега.


Ш>Ага, точно. Я ему три балла поставил.


Имху, топики такой эпической силы надо гдей-то сохранять. В статьях или факах...
Я, кстати, уже предлагал сделать коммунальный сборник цитат. Это никого не вдохновило. Пришлось ограничиться локальным rsdn-citata.txt
сам слушаю и вам рекомендую: Ундервуд — ФЕДЮНЧИК, ПОСМОТРИ "ТИТАНИК"
FAQ — це мiй ай-кью!
Re[7]: Чем становится C++?
От: mefrill Россия  
Дата: 21.12.04 06:38
Оценка: +1
Здравствуйте, Зверёк Харьковский, Вы писали:

ЗХ>Здравствуйте, Шахтер, Вы писали:


uw>>>Самая главная проблема C++ — это нестройность всей концепции языка. В основе языка несколько фундаментальных правил и тысячи и тысячи исключений из этих правил. Я думаю язык бы серьезно выиграл даже от того, что появилось бы некое более чистое и красивое подмножество.


Ш>>НЕ вижу нестройности. То что появилось в С++ -- это не академические упражнения. Сила С++ в том, что он идет от сути вещей, а не от высосанных из пальца концепций.


ЗХ>На эту тему, имхо, великолепно высказался
Автор: Pavel Dvorkin
Дата: 02.11.04
один наш коллега.


"Кабинетная" и "практическая" мудрости у меня ассоциируются с эволюционным и механистичным в природе. любая, даже самая стройная, придуманая человеком модель, в принципе всегда имеет жесткие соединения, это свойство человеческого ума. А, в процессе эволюции, выживает и вырастает гибкость. При всей кажущейся нестройности и противоречии нашим умственным построениям. Это еще раз доказывает, что познать Истину умом невозможно .
Re: Чем становится C++?
От: MaximE Великобритания  
Дата: 21.12.04 07:28
Оценка: +1 :)
uw wrote:

>

> C++ is becoming a freak language that's parading its disfigurements in front of mildly disgusted but curiously fascinated audience.

>
> Цитата вырезана из этой заметки
> Мнение её автора может не совпадать с моим, но подумать есть о чем...

Мне больше понравилось

Talk to me dirty! Tell me more about name resolution!




--
Maxim Yegorushkin
Posted via RSDN NNTP Server 1.9 delta
Re: Чем становится C++?
От: Vamp Россия  
Дата: 21.12.04 09:41
Оценка:
Вот с чем соглашусь — это с ужасающим отсутствием поддержки средства для код-анализа. Задачу "найти все места в проекте, откуда вызывается не-константная функция member для класса class (предполагая, что практически в любом классе имеется пара const — не const версий memeber)" на платформе SUN решить так и не удалось, несмотря на все усилия.
Да здравствует мыло душистое и веревка пушистая.
Re: Чем становится C++?
От: Tom Россия http://www.RSDN.ru
Дата: 21.12.04 11:08
Оценка: 31 (2) +4 -1 :))) :))) :))) :))
Здравствуйте, uw, Вы писали:

uw>

uw>C++ is becoming a freak language that's parading its disfigurements in front of mildly disgusted but curiously fascinated audience.


uw>Цитата вырезана из этой заметки

uw>Мнение её автора может не совпадать с моим, но подумать есть о чем...

Чем больше будут ругать С++, тем меньше новичков будет на нём писать, и тем больше новичков будет писать на .NET, Java, и тем больше будет моя ЗП в связи с грядущим голодом С++ программистов.
Народная мудрось
всем все никому ничего(с).
Re[2]: Чем становится C++?
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.12.04 00:10
Оценка:
Здравствуйте, adontz, Вы писали:

A>Пока одни ругают Си++, другие на нём пишут и зарабатывают этим деньги.

A>Я не злой — пусть ругают...

Странный агрумент. Типа на других языках не пишут? Или за это деньги не платят?
... << RSDN@Home 1.1.4 beta 3 rev. 267>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Чем становится C++?
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.12.04 00:10
Оценка: +1 -1
Здравствуйте, Шахтер, Вы писали:

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


Это тоже чушь. Трудно обрабатывать огромные объемы (причем как при парсинге, так и при семантическоой стадии). А те вызваны отсуствием модульности и особенностями препроцессора (в остном #include-ом).
... << RSDN@Home 1.1.4 beta 3 rev. 267>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.