Существую ли на _данный_ момент области применения C++, в которых он однозначно лидер и ему нет адекватной замены? Вот такой простой вопрос, прошу не флеймить и отвечать по существу.
С высокими требованиями к объёму памяти и производительностью и Java-приложения выступать умеют. С высокими требованиями к объёму памяти и производительностью и Java-приложения выступать умеют. С высокими требованиями к объёму памяти и производительностью и Java-приложения выступать умеют. С высокими требованиями к объёму памяти и производительностью и Java-приложения выступать умеют. С высокими требованиями к объёму памяти и производительностью и Java-приложения выступать умеют. С высокими требованиями к объёму памяти и производительностью и Java-приложения выступать умеют.
...
Мантра. Представляется жабадевелопер который повторяет это по утрам :)
Ни Erlang, ни Haskell не годятся абсолютно для вычислительных задач. Но такие языки очень неплохо подходят для задач аналитических, к каковым относится и генерация высокоэффективного кода для решения численных задач. Правда, на хер они все не нужны, пока есть Mathematica.
Нет, на математике описывать алгоритм, и генерить из него код на Фортране. Математика, в отличие от всякой пурги, может и математическую оптимизацию делать - привести выражение в оптимальную, но абсолютно нечитабельную и непонятную форму (например, факторизовать раскрытое в одно выражение перемножение матриц), а потом из этого уже сделать код на Фортране. Получается в такой ситуации, что за абстрактность мы не платим производительностью, а наоборот, получаем выгоды в возможностях сложной оптимизации.
не думаю что для _практических_ задач этот подходит очень хорошо, для научных возможно, математика фортран и пр., тот же поисковый движок (поиск и интеллектуальный анализ данных) на математике с фортраном писать не будешь.
> Это к вычислительным задачам никакого отношения не имеет.
Вот и просил уточнить что вы понимаете под вычислительными задачами. А упомянутые вами нейросети и генетические алгоритмы активно используются в DM и KD.
>Существую ли на _данный_ момент области применения C++
не существуешь. ты анонимус, а анонимусы несущественны по определению
>ему нет адекватной замены
перепиши любое плюсовое приложение с использованием "адекватной замены", и твой вопрос отпадёт сам собой. заодно и какую-нибудь пользу обществу принесёшь. в противном случае лучше вдоль
> Не разумно. Для таких задач разумно использовать настоящий высокоуровневый язык (например, Mathematica), из которого генерить код на языке эффективном (Фортран или plain C).
А ты сам пробовал это делать? Там такая херня на выходе получается, что прямо ой. Да, к тому же, без напильника и не скомпилится. А править генёрённый роботом код на ц или фортране -- это ужасное занятие.
> Python is a general-purpose, high-level programming language.
Напиши-ка библиотеку для обработки видео на пейдоне, а потом неси чушь, языков общего назначения _нет_. То что их авторы витают в своих бредовых фантазиях и клепают рекламные буклетики с поросячьим визгом, сути не меняет.
>> А ты сам пробовал это делать? > Естественно. Только так и делаю.
>> Там такая херня на выходе получается, что прямо ой.
> У меня СВОЙ кодогенератор.
Обожаю анонимных разработчиков кодогенераторов. Они так прикольно лопаются... >> А править генёрённый роботом код на ц или фортране -- это ужасное занятие.
> Ничего там править не надо, 4.2!
Хрен знает, что у тебя за "свой" кодогенератор, а вот стандартные выдают вышеописанную муру.
>А вы хам, но каждый встречный прохожий не бьет же вам по морде за это?
ты по существу говорить будешь или где?
>Такого чтобы ему не было замены или нельзя было написать замену, нет.
ещё раз. чтобы иметь право утверждать подобное, ты обязан доказать такую возможность. хотя бы на одном примере. есть у тебя такой пример? ты вообще хоть один проект написал, хоть на плюсах, хоть на любой из "альтернатив"?
>Напиши-ка библиотеку для обработки видео на пейдоне, а потом неси чушь, языков общего назначения _нет_
универсальных языков, одинаково хорошо подходящих для решения любой задачи, нет. языков общего назначения, на которых в принципе можно решить любую задачу (без учёта качества процесса и результата),- навалом. строго говоря, любой Тьюринг-полный язык можно считать языком общего назначения
> ты сам хоть один проект перевёл с C++ на "альтернативу"?
нет
> ты знаешь примеры успешных переводов подобного рода?
нет, при чем тут все это, мы говорим об области применения, _сегодняшней_ и какие _новые_ проэкты нужно/можно писать на ц++, а вы о каких-то переписываниях, никто нижего переписывать _не будет_
> графические фреймворки - вообще ни разу не пример, их пишут на чём угодно. а GTK это плюсовый проект, да?
Я вас неправильно понял, подумал вы об аналогах говорите.
>нет, при чем тут все это, мы говорим об области применения, _сегодняшней_ и какие _новые_ проэкты нужно/можно писать на ц++, а вы о каких-то переписываниях, никто нижего переписывать _не будет_
ты говоришь об актуальности языка C++ и об альтернативах ему. как ты собираешься проверять актуальность? моё предложение - покажи, что то, что было на плюсах написано, на сегодня более эффективно можно написать на некой "альтернативе". рассуждать о сферических конях в вакууме неинтересно
вот, например, ICE (поверх которого работает Skype). или монстр по имени ACE. вот Firefox, вот OO. вот бездна разнообразных игр, так или иначе написанных на C++ (неважно, что там не только C++ - важно то, что он там есть). ты спрашиваешь про актуальность языка, на котором уже написана бездна приложений - так на каком основании ты считаешь, что с некоторых пор он более неактуален?
>Я вас неправильно понял, подумал вы об аналогах говорите
>> В случае такого языка как С++ проще править дизассемблированный дамп приложения чем непосредственно в С++ код, это да, прогресс.
>Да да да! Я ждал авторитетного комментария от уважаемого ъксперта!
Если отложить мой троллинг в строну, то там вполне рациональное замечание относително того что править автогенеренный код - это в принципе то же самое что и править асмовые листинги сгенеренные С++ компилятором. Чего-то gaa не придирается к тому что разбираться в них относительно непросто.
> Если отложить мой троллинг в строну, то там вполне рациональное замечание относително того что править автогенеренный код - это в принципе то же самое что и править асмовые листинги сгенеренные С++ компилятором. Чего-то gaa не придирается к тому что разбираться в них относительно непросто.
У меня что-то не возникало потребности править "асмовые листинги, сгенеренные С++ компилятором", а вот автокод от, например, мапла "допилки" требует почти всегда.
Блин куда вас понесло, я что на больную мозоль вам наступил? Нахрена переписывать то что и так работает? c++ создавался 30 лет назад и за это время появилось множество инструментов, которые в чем-то лучше его. Вот мне и интересно было, остались ли вообще области где ц++ лидер. При чем тут вообще дописывание и поддержка старых приложений?
> c++ создавался 30 лет назад и за это время появилось множество инструментов, которые в чем-то лучше его.
Но ты так и не назвал за весь вечер хоть один такой инструмент.
> Но ты так и не назвал за весь вечер хоть один такой инструмент.
А это от задачи, извините, в отличие от плюсатников я не считаю никакой язык универсальным. В частности, как инструмент для DM и KD (меня сейчас очень сильно эта область заинтересовала) я предложил хаскелл, насколько этот выбор будет удачен, покажет время, я только знакомлюсь с этой областью.
Ну, положим, ручки твои корявые весьма, так что это не отмаза. Код, сделанный в Mathematica (свой быдлоклён засунь куда поглубже), мне править ещё ни разу не приходилось.
>вот автокод от, например, мапла "допилки" требует почти всегда.
Этот аргумент против автогенераторов кода ("Непонятно как сюда впердодить что чертов код" (ц) Д.Виссидес) приведен в предисловии к Modern C++ Design by Aleksandrescu. Однако альтернатива предложенная в книге скажем так малоубедительна - все эти DSL на плюсовых шаблонах хрупки как пи^Wпи^Wпирамида из пирамид из карточных домиков.
> Ну, положим, ручки твои корявые весьма, так что это не отмаза. Код, сделанный в Mathematica (свой быдлоклён засунь куда поглубже), мне править ещё ни разу не приходилось.
Оба раза оно a+b интерпретировало правильно?
>> Оба раза оно a+b интерпретировало правильно? > Покажи КОНКРЕТНЫЙ пример, где код из Mathematica без напильника не работает, при наличии всех положенных библиотек.
Отлично, присылай мне лицензионный ключ и дистрибутив под linux x86_64, продемонстрирую.