- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
// man sendfile
int main (int argc, char **argv, char **envp) {
while(
(
argc < 0 // true if all ok, false on first iter
||
(
argc != 2 // true if error
&&
(printf("usage %s filename\n", argv[0]) && 0 == (argc = 0))// show error (true)
) // true if error, and argc == 0
||
(
((argc = open(argv[1], O_RDONLY) * -1) < 0) // false if error
||
(printf("cannot open %m\n") && 0 == (argc = 0))// show error (true)
)
) // true if all ok, also argc != 0
&&
(
argc < 0 // if open success this is true
&&
(read(argc * -1, memset(envp[1], 0, 1025), 1024) > 0 && printf("%s", envp[1])) || (close(argc * -1))
)
) ;
}
не удивлюсь, что им был выигран какой-нить спор.
плюсану за оригинальность
Во всяком случае здесь ему не место. За это и минусанул.
Крута, имхо.
хм, и часто ли такое бывает?
задача была (понты как точно выразился уважаемый gegMOPO4): вывести содержимое файла на консоль с проверками при помощи одного пустого цикла и не объявляя никаких переменных
А на Паскале такое не скомпилится! Такой ужас можно написать только на Си! Си - это настоящее недоразумение!
Хотя что это я, сишникам типизированных ЯВУ в жизни не понять...
изначальное допущение порочно, нет?
я даже в интернетах сайт видел, так и называется -- говнокод :)
Это приводит вот к чему — новичок и профессионал пишут одинаково, следовательно новичок может понимать, что написал профессионал.
Так хочет создатель Питона, и это мнение имеет право жить.
Лично я не говорю, что это хорошо. Я говорю, что это НЕ плохо.
Умножение через сложение уже нельзя ?
однако ж, код должен быть понятен, как профессионалу, так и новичку.
Я, если что, не Питонист.
принцип Перла: "есть тысяча и один способ сделать что-либо. И еще десяток можно придумать".
принцип ПХП: "есть только один и только один способ сделать что-либо. И способ этот -- через жопу"
принцип Java: "есть только один официальный способ сделать что-либо. Но он так не популярен, что им никто не пользуется. Еще есть 44 способа сделать тоже самое, с использованием сторонних опен-сурс библиотек. Обычно пользуются ими"
Принцип C# "есть три способа сделать что-либо руками: для бывших сишников, выбвших джавистов и бывших ВБшников. еще три сделать это мышкой. еще один -- визардом. Причем последний -- рекомендуемый".
ты так говоришь будто это хорошо
Керниган?
Ритчи?
обычно на крупных проектах есть оговоренный стиль написания кода: как скобки ставить, как переменные именовать итд.
YA_RDONLY!