LINUX.ORG.RU

Какое же говнище этот ваш С++

 


11

7

Решил намедни углубить свои знания по плюсам, чувствуя, что скоро нехило так потребуются по работе. Теперь сижу, обмазываюсь тут всякими трупами страусов, Скоттом Майерсом и другими. Г-пди, как же можно на этом писать, особенно после знания божественных лиспов, хаскелей и прочих матанских агд (sic!). Это какая-то пытка, честное слово, мне натурально мерзко и противно читать как люди пытаются вырезать гланды через задний проход да ещё и хвалятся этим, поглядите, мол, как это круто. Такое ощущение, будто плюсисты все поголовно латентные мазохисты.

template <typename T>
class Rational
{
    public:
    ...
    friend const Rational operator*(const Rational& lhs, const Rational& rhs)
    {
        return Rational(lhs.numerator() * rhs.numerator(), // same impl
            lhs.denominator() * rhs.denominator()); // as in Item 24
    }
}

An interesting observation about this technique is that the use of friendship has nothing to do with a need to access non-public parts of the class. In order to make type conversions possible on all arguments, we need a non-member function (Item 24 still applies); and in order to have the proper function automatically instantiated, we need to declare the function inside the class. The only way to declare a non-member function inside a class is to make it a friend. So that's what we do. Unconventional? Yes. Effective? Without a doubt.

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

Перемещено mono из talks

★★★★★

Последнее исправление: mono (всего исправлений: 1)
Ответ на: комментарий от anonymous

И зачем это в C++?

Я прям ждал этого вопроса. Разумеется, зачем нам всё это в плюсах, когда верх абстракции, до которой за 30 лет додумались это vtbl и dynamic_cast? Какие монады, какая строгая типизация, о чём вы? Ко-ко-ко!

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

Рекурсия что-ли?

вероятно пачка костылей, вроде maphash, dolist, do, iterate, dotimes и т.д.

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

Рекурсия что-ли?

Представь себе! Хвостовая рекурсия и всякие dolist, mapcar, reduce etc. Чтобы не думать в ублюдочных низкоуровневых терминах как там переменная по списку (или дереву? или ещё какой структуре данных?) пробегает и как изменяется, а здесь мы делаем map, здесь filter, а здесь reduce etc.

mix_mix ★★★★★
() автор топика
Последнее исправление: mix_mix (всего исправлений: 1)
Ответ на: комментарий от mix_mix

Чтобы не думать в ублюдочных низкоуровневых терминах как там переменная по списку (или дереву? или ещё какой структуре данных?)

чтоб не думать, есть итераторы и range for в C++, а в лиспе еще как надо думать, и для этого и есть костыли в loop, правда этих костылей для «дерева или ещё какой структуры данных» не достаточно :(

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

Стоп-стоп-стоп. Ты только что же распинался, что в плюсы можно всё, что угодно впилить. Какая разница зачем? Удобно.

никого не волнует твоё «удобно». Это плохо ложится на архитектуру имеющихся CPU. Начиная с PDP-11 K&R и заканчивая Cortex A9 из планшета упомянутой выше ГК. Все эти твои алгоритмы надо перетачивать под имеющееся _сейчас_ железо. И у тебя только два варианта:

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

2. делать всё ручками, а результат записывать в семантике C++ (или C, но там писать больше и дольше).

Если тебе не нужен закат солнца вручную, юзай дальше свой эрланг, со своими паттерн матчингами и комонадами, я же не против! Вот только про какое-то увеличения быстродействия можешь даже не заикаться.

Ну и где варианты из твоего «как хочешь» по реализации паттерн матчинга, ну так чисто посмотреть, акторов, человеческих замыканий без копирования, зеленых тредов etc. Да даже убогий foreach, которого не было в языке, реализовывали больше десяти лет. Не, ну был, конечно, бустовский на 1128 строк:

ты мне напомнил упоротых аналитегов ЛОРа, которые ругают «Linux» за какие-то глюки в Gnome(а сейчас в Unity)

тебе не нравится boost? Ну сделай свой, сбиш. И с foreach. Ну или возьми какой-нить другой, более подходящий.

По мне, так этот ваш foreach не нужен. Лишняя сущность.

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

никого не волнует твоё «удобно»

Лол, настоящий С++-way во плоти

Это плохо ложится на архитектуру имеющихся CPU. Начиная с PDP-11 K&R и заканчивая Cortex A9 из планшета упомянутой выше ГК

Штоа? Это каким это образом pattern matching плохо ложится на архитектуру CPU?

которые ругают «Linux» за какие-то глюки в Gnome(а сейчас в Unity)

Нет, я ругаю С++ за многословность, убогость, закостенелость и недоразвитость именно C++.

По мне, так этот ваш foreach не нужен. Лишняя сущность.

А, вот оно что, поняятно. Простите, молодой человек, но у вас С++ головного мозга, это уже неизлечимо, пройдите на лоботомию, второй кабинет направо.

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

что тебе в 80х помешало запилить GC в плюсы?

«I had hoped that a garbage collector which could be optionally enabled would be part of C++0x, but there were enough technical problems that I have to make do with just a detailed specification of how such a collector integrates with the rest of the language, if provided. As is the case with essentially all C++0x features, an experimental implementation exists.» Bjarne Stroustrup

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

объясни, почему это повторяет приведенный в топ посте?

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

Штоа? Это каким это образом pattern matching плохо ложится на архитектуру CPU?

подумай, как его реализовать например в системе кодов x86, и всё поймёшь.

Нет, я ругаю С++ за многословность, убогость, закостенелость и недоразвитость именно C++.

а при чём тут boost?

А, вот оно что, поняятно. Простите, молодой человек, но у вас С++ головного мозга, это уже неизлечимо, пройдите на лоботомию, второй кабинет направо.

ты там уже был. Судя потому, что ты фапаешь на какие-то выдуманные процессоры и выдуманные архитектуры... Оно конечно круто в теории, но на практике, тупо не нужно. Смирись с этим. Или прими дозу лечебного эфтаназепама, может в другом мире у тебя будет LISP-компьютер.

emulek
()

О, у си++ еще остались поклонники?

Ну, как, новая книга Страуструпа сильно отличается от предыдущей? Думаю, а стоит ли читать. Нудноватый стиль у него, но ничего так.

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

«I had hoped that a garbage collector which could be optionally enabled would be part of C++0x, but there were enough technical problems that I have to make do with just a detailed specification of how such a collector integrates with the rest of the language, if provided. As is the case with essentially all C++0x features, an experimental implementation exists.» Bjarne Stroustrup

это не очень-то и нужно, ибо в отличие от других язычков, в C++ операторы new/delete можно перезагружать, как локально, так и в любом классе. Т.е. если тебя не устраивает стандартный аллокатор, ты можешь сделать свой сбиш, причём вызываться он будет той же самой new. Потому-то это и не является первой строчкой TODO. И даже в первой сотне этого нет.

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

С какой это радости оно неправильное? В Erlang так сказали?

Нет - это совершенно естественное поведение. Копирование в плюсах это особенность реализации. Почему этой особенностью надо парится всегда?

Инструментом нужно уметь пользовться.

Инструмент создают дя человека. Бывают ограничения которыё не переступить. Но не надо рассказывать что в данном слуае это оно - идеология плюсов в этом смысле живет с тех времен когда компьютеры были большие, мегабайтов и мегагерцов было мало, а языки делались очень просто - абстрактный ассемблер над существующим железом. Никаких объективных причин ака «пользователю в большинстве случаев так удобнее» тут нет. Пользователю в большинстве случаев так неудобно - именно потоу «99%» языков делает не так. И не надо это оправдывать про «пользоваться надо уметь». Это неудобное решение.

Есть смарт пойнтеры..

Это ручное управление памятью которое зарулил руками коллега. Мы о языке говорим.

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

Копирование в плюсах это особенность реализации

Это сумма требования стандарта Си и стремления к единообразию.

не надо рассказывать что в данном слуае это оно - идеология плюсов

А кто тебе это рассказывал? Я сказал, что ты пытался использовать инструмент, забыв напрочь инструкцию к нему.

Есть смарт пойнтеры..

Это ручное управление памятью

Нет.

Мы о языке говорим.

А я думал, что об управлении памятью.

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

Для тех задач, что обычно решаются на С++ все как раз наоборот.

Да правда? Возьмем большой проект - Qt. Нука укажи где там надо поголовное копирование всего и вся?

это наследие Си.

Дадолбала этам мантра - «это наследие Си». Визуал бейсик классный язык - все что херня - это наследие 10 PRINT «HELLO».

И это логично для ниши.

Нишу пока отказывются очертить в которой это логично.

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

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

Это неправда.

То есть по твоему запихнуть список простых обёктов на стеке в вектор - это не самая простая реализация?

Ты не понимаешь разницы между семантикой значений и семантикой ссылок?

Я понимаю разницу. Я говорю о том что в ++ семантика поумолчанию такая, которая применяется в редком количестве случаев на самом деле. Что нашло отражение при реализации жабы - примитивы по значению все остальное по ссылке.

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

Пока единственный кандидат на замену С++ - это Rust.

Это так и есть. И его пилят потому что «ну сколько можно».

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

Любую задачу, для которой используется Си.

Ну то есть ровно тоже что в 80х, с той лишь рахзницей что си больше почти нигде не используется. А объем софта на ++ сейчас как обем софта на коболе 15 лет назад. Его просто много уже есть и сменит его только качественный переход. Например на планшеты с андроедами и макосами

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

Какие инстансы для монады есть в хаскелле? IO, ST, State, Maybe и разнообразные контейнеры, вроде списков. Первые три в плюсах не нужны, а для контейнеров есть итераторы, которые гораздо гибче и удобнее в использовании, из полезного остаётся разве что Maybe, но оно не выглядит критически нужным.

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

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

нет. Я же привёл даже пример.

Чего - создания типов?

гномоприложения разве без плюсов? Да ну ладно!

GTK - сашная либа.

дык а чего ты хочешь добиться-то?

У меня все телемаркет. Это же не я пытаюсь доказать что с++ это правильно и хорошо.

зачем это в твоём «везде», и почему в своём «везде» я без этого обхожусь?

Потому что кактус.

ты лучше покажи программы, которые эти твои тулкиты на эрланге юзают.

При чем тут эрланг? «Ваш си++ объективно говно - а покажи мне КДЕ на эрланге? Что нету - значит С++ кошерный»

просто для твоих задач это не нужно.

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

«а правда-ли, что приложение на ФП-бейсике будучи тупо скопировано в C++11+STL будет работать быстрее?»

Оно не было тупо скопировано.

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

И в чем твой пойнт?

сменит его только качественный переход. Например на планшеты с андроедами

Практики разработки для Андроида говорят о том, что там Си/Си++ во все поля.

и макосами

Если ты считаешь Objective-C «качественным переходом» по сравнению с Си++, дальнейшая дискуссия бессмысленна.

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

Какие инстансы для монады есть в хаскелле?

IO, ST, Maybe, Either, Rand, Reader, Writer, Supply, Error, STM, Cont, Stream, Task, (->) — это так навскидку, что вспомнил. Добавь сюда десятки производных (вроде HTTP) и сотни своих.

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

Objective-C
по сравнению с Си++

Это абсолютно разные языки, ты о чём? Да и потом ObjC няшка и просто образец красоты по сравнению с приплюснутым уродцем.

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

Это абсолютно разные языки, ты о чём?

Я о том, что:

r> си больше почти нигде не используется

В этом контексте ссылка на яблодевайсы, в которых ObjC, прикалывает. Ну и насчет популярности Си - см. TIOBE.

ObjC няшка и просто образец красоты по сравнению с приплюснутым уродцем.

Красота - в глазах смотрящего. По мне, так Лисп уродлив и Хаскелл тоже не красавец, но пойнт в том, что Си++ дает кучу полезных средств по сравнению с Си, а не в красоте.

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

Любую задачу, для которой используется Си. И нет, мнение троллей вроде Линуса не интересно.

Си проще, код легче для понимания - кроме тех пишет этот код тысячи людей просматривают его, пишут багрепорты и патчи. А тебя к опенсорсу вообще близко нельзя подпускать. Почитай Таненбаума клоп, он тоже троль раз не считает нужным переписывать Minix на плюсах ?

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

Не подпускай.

Да нах ты там нужен с твоим плюсовым говнокодом, ты не понимаешь что С там с головой хватает.

Почитай Таненбаума клоп

ПНХ.

Школьник тупой, аргументы кончились ?

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

Школьник тупой

Иди куда сказали, не задерживайся.

аргументы кончились ?

Аргументы заслужить надо. Ты - не заслужил.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от tailgunner

Аргументы заслужить надо. Ты - не заслужил.

Мне твои аргументы клоун не нужны.

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

GC нужен для рукожопых программистов, которые даже не подозревают о существовании такой вещи как проектирование.

ckotinko ☆☆☆
()
Ответ на: комментарий от anonymous

не пойму, чем сишный код легче для понимания, чем с++ с классами, но без шаблонов? ну вот где он легче, в каком месте?

операторы можно перегружать, в си на макросах все. операции с структурами = методы. да еще и наследовать можно не сооружая vtable самопальные.

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

ckotinko ☆☆☆
()
Ответ на: комментарий от r

При попытке это использовать (например те же исключения) с++ терпит эпик фейл.

Нет, не терпит. Я их достаточно активно(для механизма обработки исключительных ситуаций) там использую. Как и, например, в Питоне и Scala. Принципиальных недостатков там нет.

Особенно исключения из конструкторов

В том числе. А что?

или деструкторов...

Вы с ума сошли?=) Какие исключения в деструкторах? Зачем?

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

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

А когда это все неважно, можно использовать и более «чистые» языки. Кто ж спорит-то?

А поскольку Си уже занимает весьма узкий скоуп....

У С/С++ он достаточно широк - системный софт, ОС, прошивки, бэкэнды в хайлоаде, игры, требовательные по скорости десктопные приложения с вычислниями и пр.

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

Зайди в какой нить boost::function и посмотри на эти вырвиглазные потуги эмулировать то что хочется.

В большинстве других языков ты это вообще не сэмулируешь, потому это там зашивается в компилятор. Вся проблема boost::function - отсутствие шаблонов с переменным числом аргументов, которые появились в С++11. Теперь универсальный объект для функторов(в терминах С++) реализуется просто и, более того, доступен в стандартной библиотеке в виде std::function. Он может быть связан с указателем на функцию, лямбдой или любым объектом с operator().

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

А для других целей с++ уже почти на ладан дышит.

Не надо выдавать свои влажные фантазии за реальное положение дел=)

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

чем сишный код легче для понимания, чем с++ с классами

И что изменится если ты вместо структур будешь плюсовые классы использовать ? Типа охуенный прирост производительности ? Речь если чо о ядре

сдается мне, что на с++ наезжают ламеры позорные, не осилившие даже си

Я не наезжаю на С++

жаба обгоняет си

да обгоняет, обгоняет. Все Unix-ы уже давно на жабе переписаны.

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

Это проблема С++, а не Си.

Уже не проблема.

В жабе та же фигня работает.

В жабе совершенно другая фигня. Дженерики и шаблоны - очень разные вещи.

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

Здесь, на ЛОР-е, за последние 2 недели, все причины уже «пережеваны» миллион раз.

В кавычки надо было взять и «причины»=)

Я не собираюсь повторять по пунктам. То была абстрактная мысль.

Да-да-да. Рассказывай теперь=)

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

слушай, а может ты для начала изучишь матчасть?

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

Возьмем большой проект - Qt. Нука укажи где там надо поголовное копирование всего и вся?

В гуйне не разбираюсь. Хотя Qt знаю, но использую только для себя сейчас. В любом случае, там используются указатели. Так что я не понимаю, что тебе непонятно.

То есть по твоему запихнуть список простых обёктов на стеке в вектор - это не самая простая реализация?

Зависит от типа объекта. В общем случае, это определяется понятием (условно) идентичности для объектов данного класса. Если тебе нужна ссылочная семантика, то тебе в любом случае нужно использовать те или иные «ссылки»(указатели, ссылки, умные указатели), за возможным исключением создания и «изначального» размещения объекта.

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

Это так и есть. И его пилят потому что «ну сколько можно».

Посмотрим. Может быть он повторит судьбу других «убийц» С++ - D, Go и каких-нибудь других, о которых мы даже не слышали...

forCe
()

Не нравится? Не пользуйся! Или тебе обязательно надо других обосрать, чтобы показать насколько ты «умный»?

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

Копирование в плюсах это особенность реализации. Почему этой особенностью надо парится всегда?

Парятся только неосиляторы=)

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

Это ручное управление памятью которое зарулил руками коллега.

Это часть стандартной библиотеки.

Мы о языке говорим.

Тогда просто RAII.

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

И в чем твой пойнт?

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

Практики разработки для Андроида говорят о том, что там Си/Си++ во все поля.

Это те практики которые игрухи свои портируют? «Руст» и тут практиков скоро вышвырнет.

Если ты считаешь Objective-C «качественным переходом» по сравнению с Си++

Качественный переход - это когда не libre office будут перееписывать на руст, а когда его не придется переписывать потому что он в таком виде будет отправлен на свалку вместе с десктопной платформой. Даже MS продвигает вовсю свой онлайновый офис. Ты реально считаешь что работа в офисе как она уже вымирает даже сегодня будет жить еще долго? Большинство десктопного софта скоро тупо кончится и перелезет в онлайн. Различные фотошопы и автокады это настолько узкая ниша (а фотошопы останутся только профессиональные - как показывает реальность современный хомяк не покупает кракнутый фотошоп в переходе - он регистрируется в инстаграме) - что с++ будет в универах скоро изучаться так же как паскаль с «неясной перспективой нахрена». Это естественно когда руст или какой нить его брат встанет на ноги.

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

Ну и насчет популярности Си - см. TIOBE.

TIOBE показывает серчевые тренды. Ты не думаешь что студенты которым имеют этим мозг в обязательном порядке по всему земному шару?

но пойнт в том, что Си++ дает кучу полезных средств по сравнению с Си, а не в красоте.

Куча всего уже есть которая дает кучу полезных свойст во сравнению с Си. Т реально не видишь в трендах относительно языков на которых софт сейчас делают и например 10 лет назад?

http://www.tiobe.com/index.php/paperinfo/tpci/C__.html

А а до 2002 он наверняка вообще зашкаливал.

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

И в чем твой пойнт?

Что С++ не имеет перспективной ниши.

И это утверждение поддержано... чем?

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

Ичо?

«Руст» и тут практиков скоро вышвырнет.

Дай бог. Но, видишь ли, люди есть люди. Новые проекты на Си++ будут начинатся еще долго после того, как Rust встанет на крыло (если он встанет).

Качественный переход - это когда не libre office будут перееписывать на руст, а когда его не придется переписывать потому что он в таком виде будет отправлен на свалку вместе с десктопной платформой

*пожимая плечами* Ну, отправится десктопная платформа на свалку, и что?

r> только качественный переход. Например на планшеты с андроедами и макосами

Ну вот происходит переход на андроеды и макосы, а там всё равно ObjC/C/C++. Качественный переход такой качественный.

Даже MS продвигает вовсю свой онлайновый офис.

И ты правда веришь, что они просто выбросили свой офис, написанный на Си++? %)

Ну и насчет популярности Си - см. TIOBE.

TIOBE показывает серчевые тренды.

Мы все знаем, что показывает TIOBE (и это не только поиск). Естественно, эта метрика очень приблизительна, но представление дает.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 2)
Ответ на: комментарий от forCe

Нет, не терпит.

В каком году он научился вменяемо обрабатывать исключения брошенные из SO? А что там на счет исключений в конструкторах и деструкторах?

Принципиальных недостатков там нет.
В том числе. А что?

#include<iostream>

bool fucked = true;

class X {
    int * x;
    public:
        X() {
            x = new int[100];
            throw "fuck";
        }
        ~X() {
            fucked = false;
            delete[] x;
        }
};

int main(void) {
    try {
        new X();
    }    
    catch(...) {
        if (fucked) std::cout << "we're fucked" << std::endl;
    }
        
    return 0;
}

а теперь расскажи почему это не проблема.

Вы с ума сошли?=) Какие исключения в деструкторах? Зачем?

То есть ты не допускаешь что ты в деструкторе напишешь некий код вида thirdparty::release_xpeHb() - а он вдруг кинеть исключение? Ты досконально знаешь что все что ты зовешь в деструкторе никогда-никогда его не кинет? А как же собственно использованеи исключений? Или ими лучше не пользоваться - а то вдруг вызовут в деструкторе?

Или в таком варианте постановка вопроса - ты сейчас серьзно говоришь про большие програмки или таки микропрограммы где ты все пишешь сам и можешь контролировать дострочно?

Так и я, в принципе, о том же. С++ лучше С.

Это не делает его хорошим. ЛУчше чем С много всего.

Насколько, например, там просто будет реализовать свой аллокатор и использовать его совместо с сторонними и стандартными библиотеками?

Зачем тебе там свой аллокатор? Основная задача аллокаторов - решать проблему фрагментации в долгоживущих програмах написаных на плюсах (и си). Плюсовые проблемы.

У С/С++ он достаточно широк - системный софт, ОС, прошивки, бэкэнды в хайлоаде, игры, требовательные по скорости десктопные приложения с вычислниями и пр.

А раньше бухгалтерии, TheBat и прочие аськи. ЗАметил как уже поменялся мир? Скоро он поменяется еще больше.

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

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

Потому что на сегодняшний день это повседневность. Must be.

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

Не надо выдавать свои влажные фантазии за реальное положение дел=)

Ты тоже не видишь разницы между набором софта который писали на ++ 10-15 лет назад и сейчас?

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