Re: С - зло... :)
От: Pavel Dvorkin Россия  
Дата: 10.01.11 14:51
Оценка: 4 (2)
Здравствуйте, LaptevVV, Вы писали:

LVV>На винграде обнаружил замечательный образчик кода на С, который замечательно демонстрирует, что начинать учиться программировать на С, не имея за плечами пару-тройку более простых языков, — сильно не рекомендуется.


LVV>
LVV> if (counter =! 0 ) {
LVV>


А еще лучше вот так

if(counter!=!0)...

Симметричнее и красивее. И даже на философские мысли какие-то тянет
Предупреждение, правда, все равно будет.
With best regards
Pavel Dvorkin
Re: С - зло... :)
От: bkat  
Дата: 10.01.11 15:08
Оценка:
В любом языке есть свои подводные камни и типичные ошибки новичков.
С/С++ мы любим не за это
Re: С - зло... :)
От: Lorenzo_LAMAS  
Дата: 10.01.11 15:12
Оценка: +4 -2 :))) :))) :))) :)
LVV>
LVV> if (counter =! 0 ) {
LVV>

LVV>"Любая случайная последовательность символов является корректной С-программой"...
LVV>И смешно, и смеяться — не хочется. Ибо на скольких аналогичных граблях спотыкаются начинающие — УЖОС!
LVV>

ЧУДОВИЩНО! УЖАСНО! А еще! Можно перепутать < и >! Это безобразие! Будь прокляты Ричи и Керниган! Как они могли! Доколе!
Of course, the code must be complete enough to compile and link.
Re[2]: С - зло... :)
От: Kerbadun  
Дата: 10.01.11 15:50
Оценка:
Здравствуйте, bkat, Вы писали:

B>В любом языке есть свои подводные камни и типичные ошибки новичков.

B>С/С++ мы любим не за это

А за что вы его любите?

Когда он умрет, его мозг заспиртуют в стакане
Re[5]: С - зло... :)
От: alpha21264 СССР  
Дата: 10.01.11 15:57
Оценка: 1 (1) +1
Здравствуйте, ononim, Вы писали:

A>>Я не спорю.

A>>Есть такая легенда. Когда-то был язык богов, на котором была невозможна неправда.
O>Просто в нем не было условных переходов...

Язык богов ныне утерян.
Я думаю, что условные переходы там были.
А вот операция "не" к _числовому_ операнду скорее всего не применялась.
Ну а операция "запятая" — это явные происки диавола.

Течёт вода Кубань-реки куда велят большевики.
Re[3]: С - зло... :)
От: alpha21264 СССР  
Дата: 10.01.11 16:00
Оценка:
Здравствуйте, Kerbadun, Вы писали:

K>Здравствуйте, bkat, Вы писали:


B>>В любом языке есть свои подводные камни и типичные ошибки новичков.

B>>С/С++ мы любим не за это

K>А за что вы его любите?


Это платформа. Позволяющая писать на любом уровне снизу до верху.

Правда сейчас это уже динозавр — круто, но устарело.

Течёт вода Кубань-реки куда велят большевики.
Re[6]: С - зло... :)
От: ononim  
Дата: 10.01.11 16:05
Оценка:
A>>>Я не спорю.
A>>>Есть такая легенда. Когда-то был язык богов, на котором была невозможна неправда.
O>>Просто в нем не было условных переходов...

A>Язык богов ныне утерян.

A>Я думаю, что условные переходы там были.
а смысл, если все условия — истинные, а неправда (aka false) там отсутствовала по определению?
Как много веселых ребят, и все делают велосипед...
Re: С - зло... :)
От: ononim  
Дата: 10.01.11 16:07
Оценка: 1 (1) +1 -1
LVV> if (counter =! 0 ) {
пишите
 if (counter) {
и не парьтесь
Как много веселых ребят, и все делают велосипед...
Re[3]: С - зло... :)
От: blackhearted Украина  
Дата: 10.01.11 16:31
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Здравствуйте, Pzz, Вы писали:


Pzz>>Здравствуйте, LaptevVV, Вы писали:


LVV>>>На винграде обнаружил замечательный образчик кода на С, который замечательно демонстрирует, что начинать учиться программировать на С, не имея за плечами пару-тройку более простых языков, — сильно не рекомендуется.


LVV>>>
LVV>>> if (counter =! 0 ) {
LVV>>>


Pzz>>Ну ваше-то, любой нормальный компилятор в этом месте предупреждение напишет, если их (предупреждения) не отключать.

LVV>Начинающие на этом этапе Debug от Release отличить не могут, не то, что предупреждения отключить...

Кто-то кроме студентоты таким страдает? А учеников нужно учить.
Re[2]: С - зло... :)
От: blackhearted Украина  
Дата: 10.01.11 16:35
Оценка:
Здравствуйте, ononim, Вы писали:

LVV>> if (counter =! 0 ) {

O>пишите
 if (counter) {
и не парьтесь


А как же

warning C4800: 'uint32_t' : forcing value to bool 'true' or 'false' (performance warning)


От ненавистного MS?
Re[4]: С - зло... :)
От: Ops Россия  
Дата: 10.01.11 17:02
Оценка:
Здравствуйте, MasterZiv, Вы писали:

MZ>On 10.01.2011 14:02, LaptevVV wrote:


>> I>Интересно, какие языки могли бы войти в эту пару-тройку более простых чем C

>> языков в 2011 году?
>> Более просты, наверное, нет. А вот простые и более надежные — есть. Компонентный
>> паскаль — Оберон. Там невозможно совершить подобных ошибок по по определению.

MZ>На самом деле я-то знаю более простые языки, на которых нужно учиться

MZ>программировать. Но только ПОСЛЕ них уже на С программировать не захочется.
MZ>Так что вопрос о первом языке очень интересен (мне).

А можно озвучить "более простые языки, на которых нужно учиться программировать"? Желательно, настолько же близкие к низкому уровню.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[7]: С - зло... :)
От: Ops Россия  
Дата: 10.01.11 17:06
Оценка:
Здравствуйте, ononim, Вы писали:

A>>>>Я не спорю.

A>>>>Есть такая легенда. Когда-то был язык богов, на котором была невозможна неправда.
O>>>Просто в нем не было условных переходов...

A>>Язык богов ныне утерян.

A>>Я думаю, что условные переходы там были.
O>а смысл, если все условия — истинные, а неправда (aka false) там отсутствовала по определению?
Православный Бог един, хотя его 3, так что нужна троичная логика. А поскольку ошибаться он(и) не может(ут), то все 3 варианта однозначно правильные.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[4]: С - зло... :)
От: Ops Россия  
Дата: 10.01.11 17:08
Оценка:
Здравствуйте, ononim, Вы писали:

Ну ви не теоретик.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[2]: С - зло... :)
От: Ops Россия  
Дата: 10.01.11 17:12
Оценка: +2
Здравствуйте, MasterZiv, Вы писали:

MZ>On 10.01.2011 1:51, LaptevVV wrote:


>> if (counter =! 0 ) {

>>
>>
>> "Любая случайная последовательность символов является корректной С-программой"...
>> И смешно, и смеяться — не хочется. Ибо на скольких аналогичных граблях
>> спотыкаются начинающие — УЖОС!

MZ>Так известно. С -- это ассемблер PDP-11, считающий себя языков высокого уровня.


Кстати самый логичный ассемблер, как и система команд. Если бы не экономили в свое время каждый байт в коде...
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[4]: С - зло... :)
От: Ops Россия  
Дата: 10.01.11 17:22
Оценка:
Здравствуйте, alpha21264, Вы писали:

A>Здравствуйте, Kerbadun, Вы писали:


K>>Здравствуйте, bkat, Вы писали:


B>>>В любом языке есть свои подводные камни и типичные ошибки новичков.

B>>>С/С++ мы любим не за это

K>>А за что вы его любите?


A>Это платформа. Позволяющая писать на любом уровне снизу до верху.


A>Правда сейчас это уже динозавр — круто, но устарело.


Хочу альтернативу. Раз устарело — давайте.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[7]: С - зло... :)
От: Pavel Dvorkin Россия  
Дата: 10.01.11 17:30
Оценка: :)
Здравствуйте, ononim, Вы писали:

A>>Язык богов ныне утерян.

A>>Я думаю, что условные переходы там были.
O>а смысл, если все условия — истинные, а неправда (aka false) там отсутствовала по определению?

Это ты зря. Как извстно, Пилат спросил Иисуса : "что есть истина" ? И Иисус не ответил. Потому что он не знал языка C/C++
With best regards
Pavel Dvorkin
Re[5]: С - зло... :)
От: alpha21264 СССР  
Дата: 10.01.11 17:48
Оценка: +1
Здравствуйте, Ops, Вы писали:

Ops>Здравствуйте, alpha21264, Вы писали:


A>>Здравствуйте, Kerbadun, Вы писали:


K>>>Здравствуйте, bkat, Вы писали:


B>>>>В любом языке есть свои подводные камни и типичные ошибки новичков.

B>>>>С/С++ мы любим не за это

K>>>А за что вы его любите?


A>>Это платформа. Позволяющая писать на любом уровне снизу до верху.


A>>Правда сейчас это уже динозавр — круто, но устарело.


Ops>Хочу альтернативу. Раз устарело — давайте.


С альтернативами пока плохо.
Но это не отменяет того факта, что в программировании накопилось дохрена идей,
(например функциональное программирование) которые в С++ уже не впихнешь.

Попробуй написать что-нибудь например на Питоне.
Сразу поймешь, что в С++ тебе массы всего не хватает.
И вообще он раздражает тебя своей многословностью.

Течёт вода Кубань-реки куда велят большевики.
Re[6]: С - зло... :)
От: Ops Россия  
Дата: 10.01.11 18:40
Оценка: :)
Здравствуйте, alpha21264, Вы писали:

Ops>>Хочу альтернативу. Раз устарело — давайте.


A>С альтернативами пока плохо.

A>Но это не отменяет того факта, что в программировании накопилось дохрена идей,
A>(например функциональное программирование) которые в С++ уже не впихнешь.

A>Попробуй написать что-нибудь например на Питоне.

A>Сразу поймешь, что в С++ тебе массы всего не хватает.
A>И вообще он раздражает тебя своей многословностью.

Ну в питоне мне не хватает много чего из хотя бы С. Задачи такие.
А вот полноценной альтернативы нет и пока не предвидится.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[3]: С - зло... :)
От: CreatorCray  
Дата: 10.01.11 19:14
Оценка: 1 (1)
Здравствуйте, blackhearted, Вы писали:

B>А как же

B>

B>warning C4800: 'uint32_t' : forcing value to bool 'true' or 'false' (performance warning)

B>От ненавистного MS?

Пользуйтесь кошерными компиляторами, у которых нет performance issue для такого сравнения. ICC например.
Оно со всех сторон пользительнее выйдет.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[4]: С - зло... :)
От: Пацак Россия  
Дата: 10.01.11 20:34
Оценка:
Здравствуйте, MasterZiv, Вы писали:

MZ>От них тошнит только. Ещё претенденты есть ?


Java, например. В ней подобный фокус можно выкинуть только если переменная внутри условия будет булевской.

boolean counter;  // WTF????
...
if (counter =! true) {
Ку...
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.