Маленькая рефлексия о C и ++

Apr 30, 2014 23:55

Пристально посмотрел на код компилятора C и список «фич» языка и, кажется, только сейчас осознал как всё грустно.
наверное, ничего нового для кого-то не скажу )

effectiveness, questionnaire, computer, c, thoughts, c++, software

Leave a comment

Comments 35

morfizm May 1 2014, 07:27:06 UTC
Приходи работать в Гугл, we do not use C++ exceptions, всё прямолинейно.

Reply

archaicos May 1 2014, 08:49:43 UTC
А наследование и шаблоны? :)

Reply

_winnie May 1 2014, 09:30:56 UTC
А как выглядит код "прочитать столбец чисел из текстового файла, и записать во второй файл их сумму"?

Так что ли:

Проверить нет ли ошибки при открытии файла на чтение,
В цикле:
Проверить нет ли ошибки при чтении строки,
Проверить нет ли ошибки при конвертации строки в число

Проверить нет ли ошибки при открытии второго файла
Проверить нет ли ошибки при записи строки во второй файл
Проверить нет ли ошибки при flush/close

Reply

archaicos May 1 2014, 09:39:02 UTC
Классика. Сурьёзный сишный код примерно так и выглядит. Часто эти «проверить» поручают специальному макросу содержащему goto. :)

Reply


fatoff May 1 2014, 13:47:48 UTC
Мне начинает это всё уже троллинг какой-то напоминать. :-p

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

Поинтересуйся stl algorithms, раз озабочен "полезными действиями".

Reply

archaicos May 1 2014, 18:33:44 UTC
Ты упустил мои слова про улучшенную стандартную библиотеку, STL - в том числе, ибо S и L - сам знаешь что означают. Читай внимательней.

Reply

fatoff May 1 2014, 19:51:23 UTC
STL включена в стандарт языка, это раньше она была приложением к нему. Теперь C++ неправильно рассматривать без STL.

Reply

archaicos May 2 2014, 04:26:15 UTC
Так я о том и говорю.

Reply


spamsink May 1 2014, 14:40:43 UTC
C++ превращается в подобие форта, где для получения приемлемых для людей синтаксиса и семантики нужно писать много библиотечного кода на птичьем языке. Если не лезть в птичий язык, на С++11 with STL+lambdas можно писать программы, как на языке довольно высокого уровня.

Reply

ex_juan_gan May 1 2014, 14:57:42 UTC
Это что, форт ругают тут?!

Reply

spamsink May 1 2014, 15:07:25 UTC
Почему ругают? Форт так устроен, и это нормально. Если форту можно, почему Сиплюсплюсу нельзя?

Reply

archaicos May 2 2014, 04:36:51 UTC
Пока не изживут UB и т.п., он будет оставаться языком не очень высокого уровня.

Reply


Leave a comment

Up