Re[2]: Детские ошибки
От: ZevS  
Дата: 01.06.06 08:27
Оценка: -5
Здравствуйте, Mace Windu, Вы писали:

MW>Здравствуйте, <Аноним>, Вы писали:


А>>
А>>    x =- 5; // уменьшаем x на 5
А>>

А>>Кто видит здесь ошибку без отладчика, поднимите руку.

MW>Ошибка в комментарии + стиль кодирования плохой


Полностью согласен!! Использование += -= ++ -- и тд. вообще надо бы запретить. Это синтаксические уродцы.
Re[3]: Детские ошибки
От: ZevS  
Дата: 01.06.06 09:23
Оценка:
2 CreatorCray

Вам нравятся эти операторы? И же выведет такой код? И почему?
    int i = 2;
    i += i--;
    printf("%d", i);
Re: Детские ошибки
От: Ананий  
Дата: 01.06.06 09:36
Оценка:
Здравствуйте, Аноним, Вы писали:

А>
А>    x =- 5; // уменьшаем x на 5
А>

А>Кто видит здесь ошибку без отладчика, поднимите руку.

В универе на втором курсе перешли с Паскаля на Си
int a = 5, b = 6

if (a = b)
{
// Тут долго бился головой в монитор...
}
Re[4]: Детские ошибки
От: ekamaloff Великобритания  
Дата: 01.06.06 10:49
Оценка:
Здравствуйте, ZevS, Вы писали:

ZS>Вам нравятся эти операторы? И же выведет такой код? И почему?

ZS>
ZS>    int i = 2;
ZS>    i += i--;
ZS>    printf("%d", i);
ZS>


Тут кажись неопределенное поведение — двойная модификация переменной между точками следования. А вообще за такой код руки надо отрывать а не приводить в качестве примера.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
Re[5]: Детские ошибки
От: ZevS  
Дата: 01.06.06 11:47
Оценка: -1
Здравствуйте, ekamaloff, Вы писали:

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


ZS>>Вам нравятся эти операторы? И же выведет такой код? И почему?

ZS>>
ZS>>    int i = 2;
ZS>>    i += i--;
ZS>>    printf("%d", i);
ZS>>


E>Тут кажись неопределенное поведение — двойная модификация переменной между точками следования. А вообще за такой код руки надо отрывать а не приводить в качестве примера.


В точку. Именно поэтому использование операторов -- ++ есть зло. В любом примере. Вообще, ввод их в язык считаю ходом довольно неудачным.
Re[6]: Детские ошибки
От: CreatorCray  
Дата: 01.06.06 12:00
Оценка: 1 (1)
Здравствуйте, ZevS, Вы писали:

ZS>В точку. Именно поэтому использование операторов -- ++ есть зло. В любом примере. Вообще, ввод их в язык считаю ходом довольно неудачным.

"Вы не любите кошек? Это потому, что вы не умеете их готовить!" (С) не помню чей

Может не стоит так категорически объявлять злом то, с чем надо уметь обращаться?
И перестать обвинять язык в кривости написанного кода.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[7]: Детские ошибки
От: ZevS  
Дата: 01.06.06 12:20
Оценка:
Здравствуйте, CreatorCray, Вы писали:

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


ZS>>В точку. Именно поэтому использование операторов -- ++ есть зло. В любом примере. Вообще, ввод их в язык считаю ходом довольно неудачным.

CC>"Вы не любите кошек? Это потому, что вы не умеете их готовить!" (С) не помню чей

CC>Может не стоит так категорически объявлять злом то, с чем надо уметь обращаться?

CC>И перестать обвинять язык в кривости написанного кода.

1. Результат выполнения программы должен быть предсказуем и не зависить он компилятора. Это мое стойкое убеждение.
2. Языки программирования создают для людей, а не для компьютеров. Следоватьельно код должен быть легко читаем, и это — прерогатива языка. Очень тяжело разгребать чей то кривой код, особенно если он (кривой писатьель) поощряется синтаксисом языка. А как показывает практика, юные программисты очень любят писать код с использованием максимума языковых фенечек.
3. С++ — отличный язык отлично себя зарекомендовавший, но не надо его возводить в абсолют.
Re[8]: Детские ошибки
От: kan_izh Великобритания  
Дата: 01.06.06 12:36
Оценка:
ZevS wrote:

> 1. Результат выполнения программы должен быть предсказуем и не зависить

> он компилятора. Это мое стойкое убеждение.
Если у языка есть хотя бы больше одного компилятора, то это практически невозможно.
А у С++ (а если ещё С посчитать) — десятки.

> 2. Языки программирования создают для людей, а не для компьютеров.

> Следоватьельно код должен быть легко читаем, и это — прерогатива языка.
> Очень тяжело разгребать чей то кривой код, особенно если он (кривой
> писатьель) поощряется синтаксисом языка. А как показывает практика, юные
> программисты очень любят писать код с использованием максимума языковых
> фенечек.
Провокационный вопрос: какой язык не позволяет писать криво?

> 3. С++ — отличный язык отлично себя зарекомендовавший, но не надо его

> возводить в абсолют.
Вот и не надо возводить в абсолют вред ++/--.
Posted via RSDN NNTP Server 2.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[9]: Детские ошибки
От: ZevS  
Дата: 01.06.06 12:55
Оценка:
Здравствуйте, kan_izh, Вы писали:

_>ZevS wrote:


>> 1. Результат выполнения программы должен быть предсказуем и не зависить

>> он компилятора. Это мое стойкое убеждение.
_>Если у языка есть хотя бы больше одного компилятора, то это практически невозможно.
_>А у С++ (а если ещё С посчитать) — десятки.

Да что вы говорите. Есть куча реализаций Васика и во всех реализациях сложение и вычитание целых цисел работает одинаково.

>> 2. Языки программирования создают для людей, а не для компьютеров.

>> Следоватьельно код должен быть легко читаем, и это — прерогатива языка.
>> Очень тяжело разгребать чей то кривой код, особенно если он (кривой
>> писатьель) поощряется синтаксисом языка. А как показывает практика, юные
>> программисты очень любят писать код с использованием максимума языковых
>> фенечек.
_>Провокационный вопрос: какой язык не позволяет писать криво?

Я не о том.

>> 3. С++ — отличный язык отлично себя зарекомендовавший, но не надо его

>> возводить в абсолют.
_>Вот и не надо возводить в абсолют вред ++/--.

Провокационный вопрос: А к goto вы как относитесь?
Re[10]: Детские ошибки
От: kan_izh Великобритания  
Дата: 01.06.06 13:08
Оценка:
ZevS wrote:

>> > 1. Результат выполнения программы должен быть предсказуем и не зависить

>> > он компилятора. Это мое стойкое убеждение.
> _>Если у языка есть хотя бы больше одного компилятора, то это
> практически невозможно.
> _>А у С++ (а если ещё С посчитать) — десятки.
> Да что вы говорите. Есть куча реализаций Васика и во всех реализациях
> сложение и вычитание целых цисел работает одинаково.
Да, куча языков, которые называются "васик", это не компиляторы/интерпретаторы. Разницу понимаешь?
Попробуй-ка один исходный файл выполнить как VBScript, VBA и QBasic.

>> > 2. Языки программирования создают для людей, а не для компьютеров.

>> > Следоватьельно код должен быть легко читаем, и это — прерогатива языка.
>> > Очень тяжело разгребать чей то кривой код, особенно если он (кривой
>> > писатьель) поощряется синтаксисом языка. А как показывает практика, юные
>> > программисты очень любят писать код с использованием максимума языковых
>> > фенечек.
> _>Провокационный вопрос: какой язык не позволяет писать криво?
> Я не о том.
А о чём? С учётом того, что С++ никогда не рекомендовался для юных программистов.

>> > 3. С++ — отличный язык отлично себя зарекомендовавший, но не надо его

>> > возводить в абсолют.
> _>Вот и не надо возводить в абсолют вред ++/--.
> Провокационный вопрос: А к goto вы как относитесь?
Когда сам пишу, стараюсь обходить его использование. И это всегда удаётся без каких либо проблем. Когда читаю чужой код
— пофиг — есть или нет.
Posted via RSDN NNTP Server 2.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re: Детские ошибки
От: FunnyRabbit Россия  
Дата: 01.06.06 13:21
Оценка:
Здравствуйте, Аноним, Вы писали:

А>
А>    x =- 5; // уменьшаем x на 5
А>

А>Кто видит здесь ошибку без отладчика, поднимите руку.

Ну если х было объявлено как 0 (ноль) перед этим, то ошибки нет.
То что меня не убивает, делает меня умнее.
Re[11]: Детские ошибки
От: ZevS  
Дата: 01.06.06 13:24
Оценка: -1
Здравствуйте, kan_izh, Вы писали:

...

_>Да, куча языков, которые называются "васик", это не компиляторы/интерпретаторы. Разницу понимаешь?


Говоря о языках — разницы ни какой. Кстати VB6 — такой же компилятор, как и C#.

_>Попробуй-ка один исходный файл выполнить как VBScript, VBA и QBasic.


Если там написано:
   i = i + 2
— результатом всегда будет увеличение i на 2.

_>А о чём? С учётом того, что С++ никогда не рекомендовался для юных программистов.


А кому он рекомендован? Что вообще означает — рекомендован? Мне надо сделать качественный продукт в кротчайшее время с минимальными затратами. Извините, но ваша фраза попахивает снобизмом.

>> Провокационный вопрос: А к goto вы как относитесь?

_>Когда сам пишу, стараюсь обходить его использование. И это всегда удаётся без каких либо проблем. Когда читаю чужой код
_>- пофиг — есть или нет.
Re[12]: Детские ошибки
От: kan_izh Великобритания  
Дата: 01.06.06 14:12
Оценка:
ZevS wrote:

> _>Да, куча языков, которые называются "васик", это не

> компиляторы/интерпретаторы. Разницу понимаешь?
> Говоря о *языках* — разницы ни какой.
Если ты будешь всегда работать под одним и тем же компилером C++, то ты не скоро столкнёшься с проблемами UB.

> Кстати VB6 — такой же компилятор, как и C#.

Это не важно. Важно то, что для VB6 есть всего один продукт (и фактически только одна версия), который с ним работает.

> _>Попробуй-ка один исходный файл выполнить как VBScript, VBA и QBasic.

> Если там написано:
> i = i + 2
> — результатом всегда будет увеличение i на 2.
И что? В C++, не поверишь, тоже.

> _>А о чём? С учётом того, что С++ никогда не рекомендовался для юных

> программистов.
> А кому он рекомендован? Что вообще означает — рекомендован? Мне надо
> сделать качественный продукт в кротчайшее время с минимальными
> затратами. Извините, но ваша фраза попахивает снобизмом.
"Качественный" в данном случае расплывчатое понятие. Или ты сразу можешь сказать, какой язык
подойдёт при таких требованиях?
Posted via RSDN NNTP Server 2.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[13]: Детские ошибки
От: ZevS  
Дата: 01.06.06 14:36
Оценка:
Здравствуйте, kan_izh, Вы писали:

...

>> _>Попробуй-ка один исходный файл выполнить как VBScript, VBA и QBasic.

>> Если там написано:
>> i = i + 2
>> — результатом всегда будет увеличение i на 2.
_>И что? В C++, не поверишь, тоже.

На васике нет неоднозначностей, на C++ — есть. Я хотел сказать это. На васике выражение a+++b трактуется всегда однозначно.

>> _>А о чём? С учётом того, что С++ никогда не рекомендовался для юных

>> программистов.
>> А кому он рекомендован? Что вообще означает — рекомендован? Мне надо
>> сделать качественный продукт в кротчайшее время с минимальными
>> затратами. Извините, но ваша фраза попахивает снобизмом.
_>"Качественный" в данном случае расплывчатое понятие. Или ты сразу можешь сказать, какой язык
_>подойдёт при таких требованиях?

Мое исходное сообщение было про синтаксис языка, а не язык/библиотеки и что на чем надо...
Согласитесь что неоднозначный синтаксис — плохо. Примените двоемыслие, когда С++ — хорошо, а его неоднозначный синтаксис — плохо.
Re[14]: Детские ошибки
От: kan_izh Великобритания  
Дата: 01.06.06 15:11
Оценка:
ZevS wrote:

> На васике нет неоднозначностей, на C++ — есть. Я хотел сказать это. На

> васике выражение a+++b трактуется всегда однозначно.
Ах, если бы только это сказывалось на качестве языка....

> Мое исходное сообщение было про синтаксис языка, а не язык/библиотеки и

> что на чем надо...
> Согласитесь что неоднозначный синтаксис — плохо.
Чем больше выразительность языка, тем сложнее синтаксис. Вот у русского языка такой сложный синтаксис, это плохо? Да,
для безграмотных, но для грамотных людей — возможность писать выразительно.

> Примените двоемыслие,

А вы не пытайтесь всё делить на хорошо и плохо, это религиозные понятия.

> когда С++ — хорошо, а его неоднозначный синтаксис — плохо.

Ладно, тогда можно раскрыть понятие "рекомендован". Кто не обращает внимание на синтаксис языка, тому рекомендован.
Posted via RSDN NNTP Server 2.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[15]: Детские ошибки
От: ZevS  
Дата: 01.06.06 15:18
Оценка:
Кстати, почитайте статью Вирта в последнем RSDN-е. Интересная статейка.
Re[16]: Детские ошибки
От: kan_izh Великобритания  
Дата: 01.06.06 17:25
Оценка:
ZevS wrote:

> Кстати, почитайте статью Вирта в последнем RSDN-е. Интересная статейка.

Странная у него там критика. Теоретик он. Не принимает простое правило "если это глупо, но работает, значит это не глупо".
Posted via RSDN NNTP Server 2.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[8]: Детские ошибки
От: Sergei  
Дата: 01.06.06 18:39
Оценка:
Здравствуйте, ZevS, Вы писали:

++ += и т.п. особенно префиксные иногда полезны (например, для оптимизции), если они работают с пользовательскими объектами (например, string);
Re[3]: Детские ошибки
От: Какая разница Украина  
Дата: 01.06.06 20:11
Оценка: +1 :)
Здравствуйте, ZevS, Вы писали:


ZS>Полностью согласен!! Использование += -= ++ -- и тд. вообще надо бы запретить. Это синтаксические уродцы.


Вам пора на прием к доктору Губанову
Один из лучших специалистов по лечению синтаксического оверхеда
!0xDEAD
Re[3]: Детские ошибки
От: fmiracle  
Дата: 01.06.06 20:17
Оценка:
K>Комменты на русском — это очень "по-домашнему".

Причем тут русский?
Нахрена коммент к коду, который сам себя документирует?

Да еще и неправильный коммент?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.