|
2.3, Гентовод со стажем (?), 12:17, 16/01/2013 [^] [^^] [^^^] [ответить]
| +12 +/– |
спасибо за ссылку. Жаль, что на опеннете этого нет, не думаю, что интервью с Поттерингом интереснее аудитории.
| |
|
3.8, meequz (ok), 12:39, 16/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
ВНЕЗАПНО в правой колонке есть ссылка "Добавить свою новость".
| |
|
4.18, Аноним (-), 14:23, 16/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
> ВНЕЗАПНО в правой колонке есть ссылка "Добавить свою новость".
Это наверное даже как дополнение к этой новости прокатит.
| |
|
|
|
|
2.19, Аноним (-), 14:27, 16/01/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
> С++ хороший язык, только жизнь(человека) короткая.
А игры на чем-то кроме сей и плюсов не очень то и получаются. В играх - реалтайм, знаете ли. Он не ждет. Предсказуемость нужна. Поэтому всерьез игры на чем-то ином никто не пишет.
| |
|
|
4.52, Аноним (-), 20:12, 16/01/2013 [^] [^^] [^^^] [ответить]
| +7 +/– |
Внезапно, у оригинального Q2 требования к железу вот такие Процессор 90 МГц, ОЗУ 16 Мб.
| |
|
5.53, iZEN (ok), 20:30, 16/01/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Внезапно, у оригинального Q2 требования к железу вот такие Процессор 90 МГц,
> ОЗУ 16 Мб.
Quake2 на Pentium-133/32MB с PCI-видеокартой в режиме 800x600 довольно заметно лагал.
Бенчмарки: http://www.bytonic.de/html/benchmarks.html
Jake2 последней версии немного отстают от сишного кода, а в тесте с преимущественно задействованием CPU — опережают.
| |
|
6.54, arisu (ok), 20:34, 16/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
> Quake2 на Pentium-133/32MB с PCI-видеокартой в режиме 800x600 довольно заметно лагал.
хм. у меня на матрасе в софтварном режиме вполне себе летал. правда, это могло быть 640x480, точно уже не помню.
| |
6.62, Anonim (??), 00:30, 17/01/2013 [^] [^^] [^^^] [ответить]
| +2 +/– |
Где там память ограницивается не увидел, но думаю, что одна только ява машина сожрет больше 32МБ и сравнение можно будет смело закончить.
| |
|
|
4.56, zy (?), 21:46, 16/01/2013 [^] [^^] [^^^] [ответить]
| +2 +/– |
речь вроде шла о играх, а не о единичных proof-of-concept которые делаются только ради того что бы потом показывать в холиварах
| |
|
5.57, iZEN (ok), 22:43, 16/01/2013 [^] [^^] [^^^] [ответить]
| –3 +/– |
> речь вроде шла о играх, а не о единичных proof-of-concept которые делаются
> только ради того что бы потом показывать в холиварах
Для мобильных телефонов (не смартфонов) написана куча динамичных 3D-игр. Смотря на Android-игры с активным геймплеем в реальном времени тоже можно сказать, что на Java создавать такое возможно и давно уже не proof-of-concept.
| |
|
6.58, ананим (?), 23:02, 16/01/2013 [^] [^^] [^^^] [ответить]
| +3 +/– |
даже и не знаю что ты этим хочешь сказать?
то ли что ты нам всем кучу прекрасных игр напишешь на жабе, то ли что андроид синоним жабы, то ли «Android-игры с активным геймплеем в реальном времени» нифига не юзают NDK, где жаба играет роль какого-нибудь lua, js, python,… и не более.
не надоело маньячить, о великий гуру жабы и король,… нет! император гэйм-дэйва?
тебя послушать, так ты в сортир без жабы не ходишь (а то вдруг кто-нибудь на си приблуду к смывному бачку написал, а у тебя из-за этого запор будет)
| |
|
7.67, iZEN (ok), 17:54, 17/01/2013 [^] [^^] [^^^] [ответить]
| –2 +/– |
> даже и не знаю что ты этим хочешь сказать?
> то ли что ты нам всем кучу прекрасных игр напишешь на жабе,
> то ли что андроид синоним жабы, то ли «Android-игры с активным
> геймплеем в реальном времени» нифига не юзают NDK, где жаба играет
> роль какого-нибудь lua, js, python,… и не более.
> не надоело маньячить, о великий гуру жабы и король,… нет! император гэйм-дэйва?
> тебя послушать, так ты в сортир без жабы не ходишь (а то
> вдруг кто-нибудь на си приблуду к смывному бачку написал, а у
> тебя из-за этого запор будет)
http://agitka.net/images/201009/29/0lvs26icw5ij.jpg
| |
|
|
|
|
|
|
|
2.10, Аноним (-), 13:01, 16/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
по ссылке:
> Jan 14, 2013 12:00 PM
даже не знаю чего ты поел, чтобы такое сказать
| |
2.13, Аноним (-), 13:11, 16/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
> было же вроде, да и в источнике дата 8 июня
В новости говорится о двух совершенно разных исследованиях. Вы почему-то вместо основной ссылки открыли просто упоминаемую к месту ссылку в примечании.
| |
|
1.7, Аноним (-), 12:33, 16/01/2013 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Как и любой критерий "красоты", это очень и очень спорный вопрос по поводу "красоты" кода Doom 3. Лично мне представленные примеры (кроме форсирования const, что и так должен делать любой нормальный программист) не понравились.
Вот на нижнем скриншоте новости огромное и бесполезное пустое пространство в середине. Глазам грустно. Представляется пустыня, и перекати-поле катится под завывания пыльного ветра.
| |
|
2.16, тоже Аноним (ok), 13:39, 16/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
Самое страшное в этом "красивом" примере начинается после первой же правки. Или даже просто смены просмотровщика на что-то с другими настройками отступов или произвольным шрифтом.
| |
|
3.20, Аноним (-), 14:29, 16/01/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
> даже просто смены просмотровщика на что-то с другими настройками отступов
Нормальные люди используют пробелы в качестве отступов и декларируют сие в политике коммитов (т.е. запрет на использование tab в таком качестве). Так нормально, ничего не едет.
| |
|
4.23, абыр (?), 14:44, 16/01/2013 [^] [^^] [^^^] [ответить]
| +3 +/– |
Для тех кто считает что tab != 8 * space уже готов отдельный круг ада с импами и манкубусами.
| |
|
5.26, Crazy Alex (ok), 16:15, 16/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
Не равен. Это символ такой, знаете ли. Специально сделано, чтобы настройки можно было подкрутить - например, подширину экрана на рабочем месте.
| |
5.33, Аноним (-), 17:42, 16/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
> Для тех кто считает что tab != 8 * space
Внезапно, это зависит от настроек редактора. Нормальные проекты требуют чтобы нажатие таба заменялось на пробелы. Но есть еще бакланы которые втыкают именно символ табуляции, а не пробелы. А вот тут уже форматирование будет реально зависеть от настроек редактора. Потому что во сколько пробелов развернется этот таб при отображении - очень зависит от.
| |
|
6.42, Аноним (-), 18:10, 16/01/2013 [^] [^^] [^^^] [ответить]
| +4 +/– |
есть бакланы, которые считают что таб надо обязательно изменить.
таб - это не просто 8 символов - это способ выравнивания, независимо от количество символов слева от табуляции, табуляция _всегда_ выравнивает позицию по горизонтали на кратную восьми
| |
|
7.45, arisu (ok), 18:25, 16/01/2013 [^] [^^] [^^^] [ответить]
| +2 +/– |
что характерно: простые тоже пробелы справляются с задачей, а проблемы «разная ширина табуляции» не имеют. очнись, времена перфокарт прошли, больше не надо экономить символы.
| |
|
|
|
4.27, Crazy Alex (ok), 16:17, 16/01/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> даже просто смены просмотровщика на что-то с другими настройками отступов
> Нормальные люди используют пробелы в качестве отступов и декларируют сие в политике
> коммитов (т.е. запрет на использование tab в таком качестве). Так нормально,
> ничего не едет.
Наоборот - в качестве символа для выравнивания. Для отступов как раз таб подходит отлично. Ну и нормальные люди настраивают реадктор/IDE, чтобы нужные преобразования делались автоматом - как при сохранении файла так и при открутии. Открыл - получил свой стиль. Сохранил - на диске лежит в корпоративном стандарте.
| |
|
5.35, Аноним (-), 17:47, 16/01/2013 [^] [^^] [^^^] [ответить] | +/– | Проблема в совместно разрабатываемых проектах состоит в том что настройки редакт... большой текст свёрнут, показать | |
|
|
|
2.17, arisu (ok), 13:44, 16/01/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Вот на нижнем скриншоте новости огромное и бесполезное пустое пространство в середине.
на HN это уже обмусолили. тоже удивлялись.
| |
2.61, all_glory_to_the_hypnotoad (ok), 00:20, 17/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
> Вот на нижнем скриншоте новости огромное и бесполезное пустое пространство в середине. Глазам грустно. Представляется пустыня, и перекати-поле катится под завывания пыльного ветра.
+, трешак какой-то
| |
|
1.9, Аноним (-), 12:52, 16/01/2013 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Помню в исходниках первокваки был тихий ужас и свалка, во второй уже более менее организованно, начиная с третьей кваки код не стыдно показывать посторонним, и да, именно тогда кармак и ко перешли на си++
| |
|
|
3.21, Аноним (-), 14:31, 16/01/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Просто кодить научились.
Просто набили шишек и постепенно пришел опыт и понимание "как делать лучше".
| |
|
|
|
2.37, Аноним (-), 17:48, 16/01/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
> ну и что на картинках?
Код. Сиплюсплюсный. А вы что подумали?
| |
|
1.15, filosofem (ok), 13:26, 16/01/2013 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
> Shawn McGrath, разработчик игры Dyad
Что только не напишет, как только не прогнётся, чтобы свою проприетарную ненужную недоигрушку попиарить. Это основной посыл новости.
| |
1.22, абыр (?), 14:43, 16/01/2013 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
> По мнению Кармака, с точки зрения читаемости, хороший код на С++ всегда лучше хорошего кода на Си
Да он однако толстый тролль :)
| |
|
2.38, Аноним (-), 17:49, 16/01/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Да он однако толстый тролль :)
Нет, он прсото немного не уточняет что хороший код на си++ написать зело сложнее чем хороший код на си. Си++ куда навороченнее, что делает написание хорошего кода на нем достаточно сложной задачей.
| |
|
3.41, arisu (ok), 18:06, 16/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
да нифига не сложнее, не надо просто стремиться использовать все фичи c++ в проекте. особенно шаблоны, особенно обчитавшись Александреску.
собственно, если глянуть код дума, то там, фактически, «си с классами», и классы служат больше для группировки данных и методов, да для того, чтобы постоянно не писать «obj->field».
| |
|
|
5.46, arisu (ok), 18:28, 16/01/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
> чем группировка данных и методов отличается от ООП?
давай, я не буду тебе тут читать лекцию, а просто пошлю в гугель. начни с поиска по словам «Alan Kay» и «Smalltalk». я понимаю, конечно, что Кей не указ, он всего лишь придумал ООП, но тем не менее…
| |
|
6.49, Аноним (-), 18:43, 16/01/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
Не надо никуда посылать, ООП по определению отвечает трем характеристикам - инкапсуляция, наследование и полиморфизм
| |
|
7.50, arisu (ok), 18:49, 16/01/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Не надо никуда посылать, ООП по определению отвечает трем характеристикам — инкапсуляция,
> наследование и полиморфизм
(улыбается) наследование и вовсе не обязательно, хотя и удобно. да и инкапсуляция… если уж совсем в нескольких словах, то ООП — это объекты (некая сущность), которые реагируют на сообщения. я всё-таки настоятельно рекомендую тебе почитать про Smalltalk: симула-подобное ООП — это костыль. ближе всего к нормальному ООП в си подошёл Objective C, кстати.
| |
|
|
|
|
|
|
1.24, pavlinux (ok), 15:13, 16/01/2013 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
> без необходимости проведения многомесячного предварительного разбора кода.
Shawn McGrath - в курсе про утиль indent? Которая позволяет не выносить мозг
ни себе, ни другим, разбирая и доказывая удобночитаемость стиля кодирования!
Меня вот бесит, когда тип и имя переменной находятся за стотыщь табов друг от друга.
Когда * болтается отдельно, кроме операций умножения.
...
Ну а верх мастерства это конструкции while ( 1 ) и for (;;) :)
| |
|
2.25, ананим (?), 15:38, 16/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
верно.
вот только комменты за тебя не напишет.
и я не комменты на опеннете имею в виду :D
| |
2.28, Crazy Alex (ok), 16:18, 16/01/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
При объявлениии функции звездочка возле типа, а не имени - как раз нормально, их же больше одной в ряд не объявишь, а что возвращает - видно лучше.
| |
|
3.55, Аноним (-), 21:39, 16/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
Ритчи использовал именно вариант "звездочка возле имени".
char* a, b; /* какого типа a и b? */
| |
|
4.60, arisu (ok), 23:35, 16/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
> Ритчи использовал именно вариант «звездочка возле имени».
что логично, потому что технически, конечно, она относится к типу, но по «здравому смыслу» всё-таки к типу, «привязаному» к идентификатору.
| |
|
|
2.29, arisu (ok), 16:26, 16/01/2013 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Ну а верх мастерства это конструкции while ( 1 ) и for
> (;;) :)
а чем ты предлагаешь их заменить? goto, что ли?
| |
|
3.68, pavlinux (ok), 17:32, 19/01/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
>> Ну а верх мастерства это конструкции while ( 1 ) и for
>> (;;) :)
> а чем ты предлагаешь их заменить? goto, что ли?
Программа не должна работать вечно! Вариантов тонна, надо по коду смотреть.
GOTO чуть лучше, если условный.
| |
|
4.69, arisu (ok), 17:36, 19/01/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Программа не должна работать вечно!
и поэтому придумали break. ну а что поделаешь, если конструкция WHILE/ELSEIF наличествует только в Oberon-07?
| |
|
5.70, pavlinux (ok), 18:08, 19/01/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
>> Программа не должна работать вечно!
> и поэтому придумали break.
Нету бряков в коде, нету... :)
while (1) {
init_config();
check_perm();
check_net();
main_algo();
}
Постоянно попадается на github
>ну а что поделаешь, если конструкция WHILE/ELSEIF наличествует только в Oberon-07?
do {
pid = fork();
if (pid == 0)
main_algo();
else
if (pid < 0)
return (-1);
else {
work = 0;
wait(&ret);
if (WIFEXITED(ret) || (WIFSIGNALED(ret) || WIFSTOPPED(ret)))
work = 1;
}
} while (work > 0);
Но тут на оборот - по сигналу убивается и перезапускается.
Поэтому:
1. Во всех UNIX программах должны быть обработчики сигналов!
2. Все функции должны возвращать, как минимум, два различных значения!
3. Исходя из п.2 - возврат каждой функции должен обрабатываться!
4. Доп. к п.3 - всегда проверять errno.
... и т.д.
| |
|
6.71, arisu (ok), 18:12, 19/01/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Нету бряков в коде, нету… :)
ну и шиш с ними, значит, не нужны. exit() есть где-нибудь. а и нет — не беда: можно и вовсе не запускать.
| |
|
|
|
|
2.74, qux (ok), 15:13, 13/03/2013 [^] [^^] [^^^] [ответить]
| +/– |
> Когда * болтается отдельно, кроме операций умножения.
Вроде Netrino coding style рекомендует. И лично мне так тоже больше нравится, звездочка заметнее.
> Ну а верх мастерства это конструкции while ( 1 ) и for (;;) :)
$ git grep -F 'for (;;)' | wc -l
1130
$ git grep -F 'while (1)' | wc -l
1534
Текущий гит ядра :)
| |
|
1.65, anonymous (??), 09:30, 17/01/2013 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
>I spent a bit of time going through the Doom3 source code. It's probably the cleanest and nicest looking code I've ever seen.
очень толсто, а сама статья полна сарказма (даже если автор этого не подозревает)
| |
|
2.66, arisu (ok), 12:43, 17/01/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
о, а вот и Иксперты, которые как обычно лучше автора знают, что автор имел в виду.
| |
|
3.72, Легион (?), 03:58, 20/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
> о, а вот и Иксперты, которые как обычно лучше автора знают, что
> автор имел в виду.
И однозначно кодят лучше Кармака ...
| |
|
4.73, arisu (ok), 12:36, 20/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
> И однозначно кодят лучше Кармака …
ну, писать код как минимум не хуже — не так уж сложно: ничего божественного в его коде нет. просто хороший аккуратный код. так что вполне возможно, что пишет и не хуже.
а вот наличие у людей телепаторов меня удивляет. учитывая, у скольких он есть — я тоже должен был хоть один увидеть ирл. ан — прячут.
| |
|
|
|
|