Как стать автором
Обновить

Комментарии 21

Интересно, какие именно функции C99 оказалось трудно реализовать на некоторых платформах и почему, и какие фичи были признаны спорными или экспериментальными.
Например масивы переменной длины. На встроенных платформах без ОС, нет менеджера памяти, потому реализировать такой силами библлиотеки накладно.
Не совсем понял Ваше утверждение. Я ведь ничего не путаю и код ниже содержит VLA?
void foo(int i)
{
    int arr[i];
    // ...
}

Если да, то хотелось бы узнать каким образом здесь замешан менеджен памяти, если переменная выделяется на стеке?
Т.е. понятно, что менеджер может выделить больше памяти под стек, но это косвенная связь, а прямой я не вижу.
Возьмём например микроконтролерное ядро M8C которое используют чипы Cypress. Лучшие чипы имееют 512 байт RAM. Сколько таких масивов на стэке вы сможете создать? И нужны ли такому процесору такие масивы? Из stdlib реализировано все 3-4 функции.
Хороший стимул наконец-то полноценно освоить няшную сишечку.
Чую студия так никогда этому стандарту не научится уже
Я думаю от этого никто не пострадает.
На нативном коду оси завсегда приятнее пеисать: как-то роднее API становится.
Впрочем, погремушка-C++ тоже сишные либы считает за, в общем-то, родные.
Но ниша дровопейсателей всё равно будет нуждаться именно в плоском Ц.
А это нам важно, бо дрова будут более гладкими и блестящими.
НЛО прилетело и опубликовало эту надпись здесь
На шутливом русском.
Последнее, чего бы я хотел, это чтобы С стал похож на С++.
Да всего навсего сделали ли бы тип безопасных строк в добавку к типу ASCII-Z строк, да устаканили бы лейеры к БД, к сети, к окнам.
«Я был бы та-ак сча-астлив!»©/Kreig/
А что разве плохи?
1. Пространства имен
2. аналоги new/delete
3. Постейший полиморфизм типа void funk(double), void funk(int);
Если в этом есть необходимость — C++ в вашем распоряжении. Для меня одно из главных достоинств С — там намного сложнее настругать таких макарон, которые делают в С++. С должен быть простым, лаконичным и максимально приблеженным к железу. ИМХО
Чего действительно в С не хватает, так это конструкторов и деструкторов.
Не это уже перебор точно, RAII станет сложным, если писать драйверы будет не айс.
Где конструкторы/деструкторы, там и исключения и пошло-поехало.
В списке рассылки gdb есть длииинный тред на эту тему: Will therefore GDB utilize C++ or not
Когда я читаю подобные треды, у меня сначала возникает буря эмоций, хочется нацитировать этих «аргументов», опровергнуть их, показать их несостоятельность, а потом приходит понимание того, что ведь это уже неоднократно делал кто-то другой и таких фанатиков ничем уже не убедишь. Даже примерами успешных проектов на С++. Ну и ладно, пусть пишут на чём хотят.

Александреску на GoingNative2012 спросили: «Как мне убедить своих сотрудников использовать новые возможности С++11, они и раньше то писали на Си с классами?» Александреску на это ответил примерно следующее: «Свяжитесь с рекрутёром и найдите себе работу, где вам не придётся никого уговаривать».
Мы сейчас говорим о простом Си, а не о плюсах, а этот язык имеет свою нишу, да написать на нем что-то типа КорелДрава или 3Дмакса — это глупость, но ведь мир не крутится только вокруг таких проектов верно?
Google go!
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории