Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.137.221.120] |
|
Страницы: (32) « Первая ... 22 23 [24] 25 26 ... 31 32 ( Перейти к последнему сообщению ) |
Сообщ.
#346
,
|
|
|
В общем, вывод такой, что и здесь преимущества весьма сомнительные А какие тогда ещё? |
Сообщ.
#347
,
|
|
|
Пишут на плюсах и для микроконтроллеров. RTTI и исключения нафиг и пишем код не менее компактный, чем на старой доброй сяшке.
|
Сообщ.
#348
,
|
|
|
Главное, чтобы компилятор был нормальный. Вроде сейчас нет с этим проблем.
|
Сообщ.
#349
,
|
|
|
Цитата Олег М @ Типа STL - это самая важная компонента C++? В общем, вывод такой, что и здесь преимущества весьма сомнительные А какие тогда ещё? Классы, наследование, метапрограммирование - это так фигня, за возможности C++ не считается. Добавлено Цитата D_KEY @ Тот же G++. Да что там плюсы? Кое кто умудрился сделать липоксацию жирнющему рантайму D и писать на нем такой же худосочный код для микроконтроллеров как и на C.Главное, чтобы компилятор был нормальный. Вроде сейчас нет с этим проблем. По сути, подрезав там и сям, можно писать и на плюсах и на дешке и на расте вообще без рантайм либы. И любое из этого будет лучше чем сяшка. ИМХО, сяшка помрет вместе с Торвальдсом. Хватит с нас этих heartbleed и cloudbleed и прочих кровотечений. Ну и что, что скомпрометировано триллиарды учеток, зато кодэ у нас такой компактный и быстрый. |
Сообщ.
#350
,
|
|
|
Цитата applegame @ Типа STL - это самая важная компонента C++? Классы, наследование, метапрограммирование - это так фигня, за возможности C++ не считается. В смысле? Речь вроде было о том, что программа на C++ требует подключения большего количества библиотек, чем аналогичная на Си. |
Сообщ.
#351
,
|
|
|
Цитата OpenGL @ Цитата D_KEY @ Автор живет не в изоляции. Код нужно еще и читать. И если не знать C++ полноценно, то разобраться в C++ коде будет невозможно. Даже библиотеки использовать. Это таки два разных языка. И в вопросе выживания у C, на мой взгляд, шансов больше. Ты сейчас перечислил минусы программиста, а не языка. Вопрос в том, дает ли тебе C++ по сравнению с Си столько, что его стоит изучать при условии его сложности и многочисленных тонкостей. Или, например, тебе будет достаточно связки питона и си? C++ не даст тебе таких возможностей, как питон, проблем только добавит(своей сложностью), а быстрее Си код не сделает. |
Сообщ.
#352
,
|
|
|
Цитата Олег М @ Это неправда. Не требует.В смысле? Речь вроде было о том, что программа на C++ требует подключения большего количества библиотек, чем аналогичная на Си. Цитата D_KEY @ Дык вопрос был о том, облегчится ли программирование. Я думаю облегчится, даже если ты используешь С++ тупо как "C с классами". Много лет назад работал я с одним относительно быльшим проектом написанном на чистом C. А именно с eAthena. Так вот я там видел самую настоящую эмуляцию наследования. Структуры у которых одинаковые первые поля и отличающиеся хвосты, члены - указатели на функции, вручную заполняющиеся в зависисмоти от типа структуры, касты туда-сюда. Я тогда подумал: "Накой ребята все это городили? Не проще ли было просто взять плюсы?". Было бы проще, и, что не менее важно, гораздо безопасней. Вопрос в том, дает ли тебе C++ по сравнению с Си столько, что его стоит изучать при условии его сложности и многочисленных тонкостей. Или, например, тебе будет достаточно связки питона и си? C++ не даст тебе таких возможностей, как питон, проблем только добавит(своей сложностью), а быстрее Си код не сделает. |
Сообщ.
#353
,
|
|
|
Цитата applegame @ И любое из этого будет лучше чем сяшка. Ничем не аргументированное высказывание Цитата ИМХО, сяшка помрет вместе с Торвальдсом. Был до Торвальдса, будет и после. Умрет, если его и правда удастся вытеснить. C++ с этим так и не справился. У D и Rust шансов не больше, даже меньше, ИМХО. Хотя Rust дает надежду на будущее. Пусть не он сам, но какой-то другой язык таки сможет дать "системщине" шанс |
Сообщ.
#354
,
|
|
|
Цитата D_KEY @ Никто же не заставляет учить С++ в полном объеме. Например, можно вообще не заморачиваться с созданием собственных классов, но использовать STL как удобный набор отдельных "инструментов". Обычный процедурный подход. И наоборот, можно не использовать STL, а самому реализовывать свой набор "инструментов" - получаем ООП без метапрограммирования, а можно заморочиться и метапрограммированием. Вкус приходит во время еды. Вопрос в том, дает ли тебе C++ по сравнению с Си столько, что его стоит изучать при условии его сложности и многочисленных тонкостей. |
Сообщ.
#355
,
|
|
|
Цитата D_KEY @ Ну хорошо, по крайней мере не хуже. А вообще, тут не может быть иной аргументации, кроме как субъективной. Это мое субъективное мнение, как человека много писавшего на C, потом на C++, потом на D, параллельно пописывая на PHP, Ruby и JS. Ничем не аргументированное высказывание Добавлено Цитата JoeUser @ Никто же не заставляет учить С++ в полном объеме. Например, можно вообще не заморачиваться с созданием собственных классов, но использовать STL как удобный набор отдельных "инструментов". Обычный процедурный подход. И наоборот, можно не использовать STL, а самому реализовывать свой набор "инструментов" - получаем ООП без метапрограммирования, а можно заморочиться и метапрограммированием. Вкус приходит во время еды. |
Сообщ.
#356
,
|
|
|
Цитата Олег М @ В частности (тут я тупо не в курсе) будет ли libstdс++ линковаться, если ты используешь из плюсов только new и delete? Без них никак new/delete - C++, так что наверняка будет. Давай сначала. Мой изначальный посыл - на С++ можно писать ровно так же, как и на Си, и тебе абсолютно ничего от этого не будет - никакой платы в виде увеличенного времени работы или более толстых бинарников ты не получишь. О том, что надо писать в таком стиле, я не говорил, и более того - считаю, что это нафиг не надо. Добавлено Цитата D_KEY @ Вопрос в том, дает ли тебе C++ по сравнению с Си столько, что его стоит изучать при условии его сложности и многочисленных тонкостей. А что - использование С+ автоматически означает использование и написание многострочных шаблонов? Пиши на Си с классами и будет тебе щастье - никаких особых моментов в сравнении с Си учить не придётся. |
Сообщ.
#357
,
|
|
|
Цитата applegame @ В смысле? Речь вроде было о том, что программа на C++ требует подключения большего количества библиотек, чем аналогичная на Си. Это неправда. Не требует. Цитата OpenGL @ В частности (тут я тупо не в курсе) будет ли libstdс++ линковаться, если ты используешь из плюсов только new и delete? Без них никак new/delete - C++, так что наверняка будет. Это взаимоисключающие ответы или я чего-то не понимаю? |
Сообщ.
#358
,
|
|
|
C++ (по стандарту) требует определённой поддержки от рантайма - исключения, rtti, реализация операторов и прочие мелочи. Поэтому рантайм линковаться будет. И инициализация его будет. Причём фишка в том, что даже если отключить исключения опцией, их инфраструктура все равно будет инициализироваться.
|
Сообщ.
#359
,
|
|
|
Цитата Олег М @ Во первых, new и delete совершенно не обязательны. Можно и по старинке malloc/free. Во-вторых, при желании, можно написать крохотную либку с этими самыми new/delete и линковать ее вместо полноценного рантайма. В-третьих у сяшек тоже есть рантайм либа, без которой, конечно, тоже можно обойтись. Это взаимоисключающие ответы или я чего-то не понимаю? |
Сообщ.
#360
,
|
|
|
Цитата OpenGL @ Ничего удивительного, поскольку g++ даже не пытался его компилировать. Он сразу вызвал gcc и передал работу ему.helloworld, скомпиленный gcc и g++ на -O3 у меня выдали идентичный ассемблерный код. Ты перед запуском g++ файл с исходником не забыл переименовать в .cpp? |