LINUX.ORG.RU

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

fae-rhan
()

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

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

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

shty ★★★★★
()

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

mutronix ★★★★
()

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

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

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

Bioreactor ★★★★★
()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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; }

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

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

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

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

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

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

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

4.2

lester ★★★★
()
Ответ на: комментарий от fae-rhan

Всякие stl, boost

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

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

Чем именно?

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

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

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

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

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

еще раз 4.2

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

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

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

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

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

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

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

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

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

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

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

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

DECLARE_MAX_FUNCTION(int);
DECLARE_MAX_FUNCTION(float);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

очередной 4.2

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


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

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

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

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

Zodd ★★★★★
()

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

:)

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

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

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

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

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

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

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

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

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

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

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