LINUX.ORG.RU

[#]  
fae-rhan

Вкратце, причина этого костыля?

()
[#]  
shty

имхо охинея :) эдак скоро из C++ латынь какая-нибудь получится

снова же имхо, начинающих разработчиков опять ещё больше запутают или то я уже привык?

и да, вроде мелкомягкие уже вовсю юзают

*** ()
[#]  
NuclearPhoenix

дежавю... где-то я это видел...

()
[#]  
mutronix

И, наконец, переименовать его в ++С

*** ()
[#]  

сейчас тут начнут серьезно обсуждать, что С++ катится в СГ

**** ()
[#] Ответ на: комментарий от lester 12.05.2010 11:25:47  

>тут
>серьезно обсуждать

Ага :)

* ()
[#]  
Bioreactor

Ещё раз убеждаюсь в мудрости ПроФФессора В.С.Луговского http://absurdopedia.wikia.com/wiki/%D0%A1%D0%B8_%D0%BF%D0%BB%D1%8E%D1%81_%D0%...

Для системного программирования монстр Це-пи-пи слишком тяжёл и неповоротлив.

В прикладном программировании недоязычок, автору которого "место в дурке или на погосте" (с) полностью слил мегарулезной Джаве.

*** ()
[#] Ответ на: комментарий от Bioreactor 12.05.2010 11:55:47  
Kosyak

О! биореактор подтянулся, надо попкорном запастись!

** ()
[#] Ответ на: комментарий от Kosyak 12.05.2010 12:06:05  
Bioreactor

Зачем Вам-таки запасаться попкорном? Вы и так - еда.

*** ()
[#]  

Re: редизайн C++

Я что-то не понял, что в итоге получится и зачем. Написал бы чувак свой ЯП, если так хочется

** ()
[#] Ответ на: комментарий от Bioreactor 12.05.2010 12:12:04  

Re: редизайн C++

> > Зачем Вам-таки запасаться попкорном? Вы и так - еда.

О! биореактор в действии.

/me приступил к пожиранию попкорна и наслаждению зрелищем

** ()
[#] Ответ на: комментарий от Bioreactor 12.05.2010 11:55:47  
Legioner

> Для системного программирования монстр Це-пи-пи слишком тяжёл и неповоротлив.

Что именно в С++ тяжелее чем в С?

***** ()
[#] Ответ на: комментарий от Legioner 12.05.2010 12:17:11  

Re: редизайн C++

> Что именно в С++ тяжелее чем в С?

шаблоны же

** ()
[#] Ответ на: комментарий от Legioner 12.05.2010 12:17:11  
Kosyak
>>-----Цитата---->>

Что именно в С++ тяжелее чем в С?

<<-----Цитата----<<

Компилятор же!

** ()
[#] Ответ на: комментарий от Legioner 12.05.2010 12:17:11  
fae-rhan

Всякие stl, boost, странный какой-то ооп

()
[#] Ответ на: комментарий от fae-rhan 12.05.2010 12:37:46  
Kosyak
>>-----Цитата---->>

Всякие stl, boost

<<-----Цитата----<<

С каких это пор boost - часть C++?

** ()
[#] Ответ на: Re: редизайн C++ от name_no 12.05.2010 12:19:17  

>> Что именно в С++ тяжелее чем в С?

>шаблоны же


в С нет шаблонов

*** ()
[#] Ответ на: комментарий от frame 12.05.2010 13:07:15  

Re: редизайн C++

>>> Что именно в С++ тяжелее чем в С?

>>шаблоны же

> в С нет шаблонов

я знаю, спасибо. именно поэтому в C++ они тяжелее

** ()
[#] Ответ на: Re: редизайн C++ от name_no 12.05.2010 13:10:18  

> именно поэтому в C++ они тяжелее

что имеется ввиду под "тяжелее"?

**** ()
[#] Ответ на: Re: редизайн C++ от name_no 12.05.2010 13:10:18  

>я знаю, спасибо. именно поэтому в C++ они тяжелее

тяжелее чего?

*** ()
[#] Ответ на: комментарий от lester 12.05.2010 13:12:26  

>> именно поэтому в C++ они тяжелее

>что имеется ввиду под "тяжелее"?


тяжелее шаблонов С++ которых в C нет, скорее всего

*** ()
[#] Ответ на: комментарий от lester 12.05.2010 13:12:26  

Re: редизайн C++

> > именно поэтому в C++ они тяжелее

что имеется ввиду под "тяжелее"?

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

** ()
[#] Ответ на: Re: редизайн C++ от name_no 12.05.2010 13:10:18  
Legioner

Так почему они тяжелее? Такой код эквивалентен с точки зрения производительности:

template<typename T> T max(T a, T b) { return a < b ? b : a; }
int max(int a, int b) { return a < b ? b : a; }
float max(float a, float b) { return a < b ? b : a; }

Не используя шаблоны на С придётся либо писать копипасту, либо использовать макросы, и получить все проблемы, с ними связанные.

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

***** ()
[#] Ответ на: Re: редизайн C++ от name_no 12.05.2010 13:14:54  
Legioner

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

Нет, их использование не делает бинарник больше.

***** ()
[#] Ответ на: Re: редизайн C++ от name_no 12.05.2010 13:14:54  

> имеется в виду то, что их использование делает бинарник больше

4.2

**** ()
[#] Ответ на: комментарий от fae-rhan 12.05.2010 12:37:46  
Legioner

> Всякие stl, boost

Задачи, для которых они создавались, эти библиотеки решают хорошо.

> странный какой-то ооп

Чем именно?

***** ()
[#] Ответ на: комментарий от Kosyak 12.05.2010 12:41:27  
plambir
>>-----Цитата---->>

С каких это пор boost - часть C++?

<<-----Цитата----<<

Без него C++ уже сложно представить. К тому же часть boost'a уже перекочевала в стандартную поставку С++.

()
[#] Ответ на: комментарий от plambir 12.05.2010 13:22:46  

> Без него C++ уже сложно представить

еще раз 4.2

**** ()
[#] Ответ на: комментарий от Legioner 12.05.2010 13:16:27  

Re: редизайн C++

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

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

** ()
[#] Ответ на: комментарий от plambir 12.05.2010 13:22:46  
Legioner

Я работал над проектом, в котором не использовались ни шаблоны, ни STL, ни boost. Но это был вполне себе кроссплатформенный С++.

***** ()
[#] Ответ на: Re: редизайн C++ от name_no 12.05.2010 13:25:06  

> поэтому шаблоны.

и таки - чем шаблоны тяжелее чем аналогичный набор функций?

**** ()
[#] Ответ на: комментарий от Legioner 12.05.2010 13:16:27  
plambir
>>-----Цитата---->>

Не используя шаблоны на С придётся либо писать копипасту, либо использовать макросы, и получить все проблемы, с ними связанные.

<<-----Цитата----<<

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

()
[#] Ответ на: Re: редизайн C++ от name_no 12.05.2010 13:25:06  
Legioner

Вы так и не ответили на вопрос: тяжелее чего?

В С традионно шаблоны эмулируют макросами. Продолжая мой пример, как то так:

#define DECLARE_MAX_FUNCTION(TYPE) TYPE max(TYPE a, TYPE b) { return a < b ? b : a; }

DECLARE_MAX_FUNCTION(int);
DECLARE_MAX_FUNCTION(float);

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

***** ()
[#] Ответ на: комментарий от lester 12.05.2010 13:26:24  
lester_dev

>и таки - чем шаблоны тяжелее чем аналогичный набор функций?

чем аналогичный набор функций.

***** ()
[#] Ответ на: комментарий от lester 12.05.2010 13:26:24  

Re: редизайн C++

> чем шаблоны тяжелее чем аналогичный набор функций?

Не столько тяжелее, сколько опаснее и потенциально проблематичнее в использовании. Некоторым больше нравятся макросы.

** ()
[#] Ответ на: комментарий от Legioner 12.05.2010 13:29:36  

Re: редизайн C++

> даёт аналогичную производительность, но чреват внесением багов при опечатках

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

** ()
[#] Ответ на: комментарий от Legioner 12.05.2010 13:29:36  

Re: редизайн C++

> что этот подход даёт

алсо, на C нет перегрузок, так что твой вариант с макросами тоже на плюсах, что вызывает умиление

** ()
[#] Ответ на: Re: редизайн C++ от name_no 12.05.2010 13:29:54  

> Не столько тяжелее, сколько опаснее и потенциально проблематичнее в использовании

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

**** ()
[#] Ответ на: комментарий от lester 12.05.2010 13:32:42  

Re: редизайн C++

> или набор функций, который можно и в С++ создать?

потенциально опаснее, чем набор функций, который можно создать и на плюсах, но который никто не создаёт, потому что есть темплейты.

// Мне некогда вести диалог, работа зовёт, самому мне больше нравятся темплейты, хоть с ними и есть потенциальные проблемы, но лично я считаю, что все "проблемы плюсов" - это проблемы кодеров, а не языка. То же самое и другими популярными в местных холиварах ЯП.

** ()
[#] Ответ на: Re: редизайн C++ от name_no 12.05.2010 13:46:07  

> но который никто не создаёт, потому что есть темплейты.

очередной 4.2

> но лично я считаю, что все "проблемы плюсов" - это проблемы кодеров


"кодеры" пишут на популярных языках - С++, Java, даже лисп, и тут ничего не поделаешь

**** ()
[#] Ответ на: Re: редизайн C++ от name_no 12.05.2010 13:46:07  
Zodd

Re: редизайн C++

> Мне некогда вести диалог, работа зовёт...

Значит пруфа так и не будет

*** ()
[#] Ответ на: комментарий от fae-rhan 12.05.2010 12:37:46  
amonymous

>Всякие stl, boost

Зачем оно нужно, если есть Qt4?

()
[#]  
Attila

что-то это мне напоминает ...

:)

...осталось только begin end вместо {} внедрить.

* ()
[#]  
mono

С++ убогий недоязычок для школьников :)

***** ()
[#] Ответ на: Re: редизайн C++ от name_no 12.05.2010 13:14:54  
namezys

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

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

*** ()
[#] Ответ на: комментарий от amonymous 12.05.2010 14:07:29  
namezys

> Зачем оно нужно, если есть Qt4?

В Qt еще много чего нет

*** ()
[#] Ответ на: Re: редизайн C++ от name_no 12.05.2010 13:31:11  
namezys

> шаблоны не дают большей производительности зато порождают

иногда это позволяет оптимизировать код сильнее

*** ()
[#] Ответ на: комментарий от namezys 12.05.2010 15:07:58  
amonymous

Ну например чего такого нет в Qt4 чего есть в бусте?

()
[#] Ответ на: комментарий от amonymous 12.05.2010 15:11:04  
namezys

> Ну например чего такого нет в Qt4 чего есть в бусте?

boost::function, boost::lambda, boost::bind, boost::type_traits, boost::mpl - это то, что я широко использую

*** ()