Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, blackhearted, Вы писали:
B>>А как же B>>
B>>warning C4800: 'uint32_t' : forcing value to bool 'true' or 'false' (performance warning)
B>>От ненавистного MS?
CC>Пользуйтесь кошерными компиляторами, у которых нет performance issue для такого сравнения. ICC например. CC>Оно со всех сторон пользительнее выйдет.
Ну, судя по всему, ТС использует для обучения MSVS и подключать к ней ICC не хочет.
Здравствуйте, LaptevVV, Вы писали:
LVV>Здравствуйте, shasa, Вы писали:
S>>Здравствуйте, LaptevVV, Вы писали:
LVV>>>На винграде обнаружил замечательный образчик кода на С, который замечательно демонстрирует, что начинать учиться программировать на С, не имея за плечами пару-тройку более простых языков, — сильно не рекомендуется.
LVV>>>
LVV>>> if (counter =! 0 ) {
LVV>>>
S>>Напиши пару-тройку нужных людям и работающих программ, а потом пиши такое. Я уверен что на других языках можно найти примеры похожего характера. LVV>Я писал пару-тройку полезных программ еще в то время, когда вас даже в проекте не было. Яйца курицу — не учат.
Здравствуйте, vitasR, Вы писали:
R>Здравствуйте, Pavel Dvorkin, Вы писали:
PD>>А еще лучше вот так
PD>>if(counter!=!0)...
R>мораль: на си надо писать в сишном стиле if(counter), не страдая паскализмом и все будет хорошо
Когда я вижу if (c), я не знаю ничего о типе. Глядя на такую запись, я предполагаю, что это булевская переменная. Когда я вижу
if(c != 0) то, это, очевидно, c — целая;
if(c != NULL) то, это, очевидно, c — указатель;
if(c != '\0') то, это, очевидно, c — символ.
Код делается более читабельным. Строгая типизация рулит.
Здравствуйте, Vzhyk, Вы писали:
V>11.01.2011 11:16, LaptevVV пишет:
>> S>Напиши пару-тройку нужных людям и работающих программ, а потом пиши >> такое. Я уверен что на других языках можно найти примеры похожего характера. >> Я писал пару-тройку полезных программ еще в то время, когда вас даже в >> проекте не было. Яйца курицу — не учат. V>Мда-с, жалко мне твоих студентов.
Здравствуйте, Lorenzo_LAMAS, Вы писали:
L_L>И не надо, так как пример ваш — дрянь. Ладно бы человек нахреначил чего-то там с памятью или указателями, а тут он тупо операторы путает. Этак он и плюс с минусом или -= с =- попутает а вы будете орать, какое С — лютое зло.
Это могла быть просто описка. И ее, между прочим, не видно. Я долго пялился в тот фрагмент кода, прежде чем понял, в чем проблема. А я на Си пишу давно и помногу.
В Си много таких подводных камней. Например, можно написать:
Здравствуйте, quwy, Вы писали:
Q>Препод -- это диагноз. Я сам паскалист, сиподобные языки мне чисто визуально неприятны, но ваши взгляды и заявления заставляют плеваться.
А много знаете о моих взглядах?
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, Пацак, Вы писали:
П>Здравствуйте, Пацак, Вы писали:
MZ>>>От них тошнит только. Ещё претенденты есть ? П>>Java, например. В ней подобный фокус можно выкинуть только если переменная внутри условия будет булевской.
П>Upd: А в питоне подобное вообще вызывает синтаксическую ошибку:
П>
>>>> b = True
>>>> if b = not True: pass
П> File "<stdin>", line 1
П> if b = not True: pass
П> ^
П>SyntaxError: invalid syntax
П>
Диагностика — супер, понравилась. Лучше просто:"Error"
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
On 10.01.2011 20:02, Ops wrote:
> А можно озвучить "более простые языки, на которых нужно учиться > программировать"? Желательно, настолько же близкие к низкому уровню.
Так scheme, common lisp, python . Низкий уровень тут ни при чём.
On 10.01.2011 20:48, alpha21264 wrote:
> Попробуй написать что-нибудь например на Питоне. > Сразу поймешь, что в С++ тебе массы всего не хватает. > И вообще он раздражает тебя своей многословностью.
+1
On 11.01.2011 1:08, bkat wrote:
> A>Но это не отменяет того факта, что в программировании накопилось дохрена идей, > A>(например функциональное программирование) которые в С++ уже не впихнешь. > > Так, для справки... > Lisp появился в 1958 году. > Он всего лишь на годик-другой моложе Фортрана
On 11.01.2011 12:41, MescalitoPeyot wrote:
> Вот именно. Программистом не являетесь, больших программ не писали, однако > напозволяли себе тут уже выше-ниже по топику кучу высказываний типа "курица с > яйцами" и "программист — это не ваше".
On 11.01.2011 12:09, LaptevVV wrote:
> — для начинающих — это ЗЛО. Никлаус Вирт — гораздо опытнее Страуструпа в > обучении, поэтому абсолютно несомненно, что языки Вирта абсолютно лучше С/С++ > для обучения.
On 11.01.2011 13:22, LaptevVV wrote:
> СВИНЬЮ! И это — ЗЛО! > Больше спорить не буду.
LaptevVV, ну хорошо, С зло для начинающих -- я согласен на 100%.
Давайте ещё раз подумаем над проблемой.
Данный-то случай не связан с проблемами именно программирования,
положим, наш начинающий программист уже знаком с каким-то языком
программирования и умеет программировать, но не на C. Но ведь когда-то нашему
начинающему, если он хочет освоить С, придётся на нём учиться писать и
ТАКИЕ ошибки он может сделать, и они НЕ СВЯЗАНЫ с тем, что он не знает
программирования, они связаны с тем, что он не знает именно язык С.
Я бы в паскале мог сделать (и делал) точно такие же ошибки, связанные
с тем, что приоритет логических операций там больше, чем операций сравнения.
Правда, конечно паскаль на это чётко ругается и не компилирует программу.
Конечно, С -- язык злобных хакеров для написания операционной системы UNIX.