stdio.h или iostream

stdio.h
5
Нейтральная
сторона
0
iostream
5
Прежде чем писать комментарии или выбрать сторону вы должны авторизироваться!

04-03-2012 23:03 +1

Сразу определил автора холивара.

Во-первых, Си/Си++ — говно, потому что лишены модульной системы, что заставляет пользоваться некошерной директивой #include и пропускать файл через препроцессор, который тупо допишет все инклюдники в твой файл и в каждом модуле будет компилироваться одно и то же. Кроме того, результат компиляции может зависеть от того, в каком порядке были перечислены директивы #include. Более идиотскую систему ещё поискать надо. Напоминает старый добрый Фортран или Бейсик. Но они так и остались тёплым ламповым и учебным, а то, что в C++ до сих пор используется такое страшилище, пугает. MACROS ARE EVIL!!!

В Паскале такого говна нету,
Спасибо Вирту хоть за это.


Итак, вопрос о том, использовать ли объектно-ориентированные конструкции для ввода-вывода или ограничиться процедурными? Я против iostream хотя бы потому, что он использует перегрузку операторов и не сразу врубишься, << — это сдвиг влево или вывод.

P.S. А ещё у нас есть описания сторон холивара. Там можно было написать типа «ввод-вывод через функции vs ввод-вывод через классы».

3 комментария
r619 04-03-2012 23:07 0

opera.rulez, Когда прочитал что "Си/Си++ — говно" посмотрел на конец аргумента.
Ожидал увидеть призывы использовать джаву)

Препроцессор меня тоже убивает. Язык в языке, блджад!

opera.rulez 04-03-2012 23:09 0

r619, Кстати, у последователей синтаксиса С/С++ меня радует наличие модульной системы. Она есть и у Java, и у C#, и у D...
Java, как и C#, требует наличия фреймворка. Но это уже тема отдельного холивара.

r619 04-03-2012 23:18 0

opera.rulez, ухты, круто, о D все больше и больше народу знает
уже джва месяца кожу чисто для себя на нем, крутая штука, правда правлю код олдскульно блокнотом (использую medit)
Люди почему то его из за сложности бросают

08-06-2013 14:06 0

Переопределение операторов не нужно.

3 комментария
NightmareZ 08-06-2013 14:20 0

Tro,

Tro 08-06-2013 14:24 -1

NightmareZ, У нас за мнения не минусуют.

NightmareZ 08-06-2013 16:01 0

Tro, У нас за мнения не минусуют.
А я только что сделал это.

08-06-2013 14:22 +2

<< — говно хотя бы по той причине, что не позволяет адекватно (и при этом негромоздко) форматировать вывод. Даже в джаве и шарпе вывод сделан по аналогии с printf.

0 комментариев
04-03-2012 21:42 0

Слышал что потоковый доступ быстрее, т.к. напрямую а stdio работает через него.

0 комментариев
04-03-2012 21:49 0

Банально на автомате использую стрим, но при этом принтф'ы охуенны. В общем, не приверженец одного подхода. Но чаще все-таки иострим, потому что как-то это нагляднее...

3 комментария
r619 04-03-2012 21:51 0

Razor, все свистелки из stdio можно реализовать стримами.

Razor 04-03-2012 21:55 0

r619, Но вместо многооператорной мозгоебли с модификаторами порой просто легче написать одну форматную строку.

opera.rulez 08-06-2013 14:12 0

Razor, cout << sprintf("%s: 6 × 7 = %d", "Пример", 42) << endl;