Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Почему все любят С++? 
:(
    Опции темы
DeadSoul
Дата 15.10.2005, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: нет
Всего: 11



LSD, топором можно рубить дрова, а можно убивать людей. Твой пример из второй серии


--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
LSD
Дата 15.10.2005, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата(DeadSoul @ 16.10.2005, 00:17)
топором можно рубить дрова, а можно убивать людей. Твой пример из второй серии

Убивать можно и голыми руками, и что?

Инструмент должен быть безопасен для того кто его использует (для этого и предназначенны всякие защятные кожухи на реальных инструментах), то же самое и язык программирования. Не должно быть там таких выкрутасов.

P.S. Ты так и не ответил на вопрос.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
DeadSoul
Дата 15.10.2005, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: нет
Всего: 11



Цитата(LSD @ 15.10.2005, 23:22)
P.S. Ты так и не ответил на вопрос.

Навскидку: неопределенное поведение
Подумав: отрыв рук тому, кто такое написал.

P.S. В каком распространненном языке это невозможно(Delphi,C#,Java)?


--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
Дрон
Дата 15.10.2005, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 92



LSD
Это пока единственная неоднозначность, что я видел.

Цитата(LSD @ 16.10.2005, 00:22)
Инструмент должен быть безопасен для того кто его использует

Знаешь Ferrari F40. Спортивная машина, так вот в ней нет никаких электронных наворотов в плане управления -- фактически оставляет водителя наедине с дорогой.
Так же и С++, если у программиста не хватает ума, чтобы не писать такие вещи -- так пусть лучше на VB пишет smile

А вообще многие тут не понимают, что С++ это уже далеко не a = b + c, а библиотеки вроде STL.
Вот где настоящий С++ smile

Добавлено @ 23:31
LSD
Кстати, готов предположить, что такое можно написать и в Java и в C# и в других Си-подобных языках.


--------------------
Да. Именно так.
PM   Вверх
LSD
Дата 15.10.2005, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата(DeadSoul @ 16.10.2005, 00:26)
Навскидку: неопределенное поведение
Подумав: отрыв рук тому, кто такое написал.

Насчет неопределенного поведения ты прав smile
А ТТП оставим на усмотрение твоей совести smile

Цитата(DeadSoul @ 16.10.2005, 00:26)
P.S. В каком распространненном языке это невозможно(Delphi,C#,Java)?

В Pascal нельзя такой финт ушами провернуть.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
DeadSoul
Дата 15.10.2005, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: нет
Всего: 11



Цитата
LSD
Это пока единственная неоднозначность, что я видел.

Пожайлуста:
Код

int i=0;
std::cout<<++i<<++i;


P.S. Данная неоднозначность - некоторый пережиток прошлого.



--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
Дрон
Дата 15.10.2005, 23:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 92



DeadSoul
smile

Это из той же серии -- неизвестный порядок вычисления выражения.
Добавлено @ 23:38
Цитата(LSD @ 16.10.2005, 00:33)
В Pascal нельзя такой финт ушами провернуть.

Правильно.

И значит там нельзя написать что-то вроде:

Код

int a,b,c,d;

a = b = c = d = 10;



--------------------
Да. Именно так.
PM   Вверх
DeadSoul
Дата 15.10.2005, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: нет
Всего: 11



Цитата
DeadSoul
Это из той же серии -- неизвестный порядок вычисления выражения.

Мой пример более "жизненный". Это с = a*b - 36 / (a=(b+2)) явно надуманный



--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
LSD
Дата 15.10.2005, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата
Знаешь Ferrari F40. Спортивная машина, так вот в ней нет никаких электронных наворотов в плане управления -- фактически оставляет водителя наедине с дорогой.
Так же и С++, если у программиста не хватает ума, чтобы не писать такие вещи -- так пусть лучше на VB пишет

У ассемблера еще меньше ограничений, но ты же не будешь писать большой проект на асме? Или C++ это язык для маленьких проектов?


Цитата
А вообще многие тут не понимают, что С++ это уже далеко не a = b + c, а библиотеки вроде STL.
Вот где настоящий С++

Я говорю только о синтаксисе языка.


Цитата
Кстати, готов предположить, что такое можно написать и в Java и в C# и в других Си-подобных языках.

Конечно, ведь возможность написания таких конструкций определяется синтаксисом языка. А раз они унаследовали его от Си, то и те же траблы и там будут.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Дрон
Дата 15.10.2005, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 92



Цитата(DeadSoul @ 16.10.2005, 00:39)
Мой пример более "жизненный"

Согласен.

Но чтобы такого небыло нужно просто завести себе некоторые правила стиля и их соблюдать.

Например, хороший способ избежать недоразумений -- это писать не:
Код
if (a == 5) ...

а
Код
if (5 == a) ...


Только я им всё равно не пользуюсь, т.к. всё таки читается это гораздо сложнее smile
Добавлено @ 23:45
Цитата(LSD @ 16.10.2005, 00:42)
Или C++ это язык для маленьких проектов?

Хех...

Я же сказал, что С++ это совсем не то, что думает большинство.

Загляни в код любой большого (ну, пара мегабайт текстисходников) проекта на С++ и ты очень сильно удивишься smile

Когда я вперые такой проект увидел -- я сначала даже синтаксиса не понял!
Там всё СОВСЕМ другое.

Это сообщение отредактировал(а) Дрон - 15.10.2005, 23:48


--------------------
Да. Именно так.
PM   Вверх
S.A.P.
Дата 16.10.2005, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 1
Всего: 71



Цитата(DeadSoul @ 15.10.2005, 23:33)

int i=0;
std::cout<<++i<<++i;

а что тут неоднозначного, никак понять не могу... Аж проверить заставили ! smile
PM MAIL   Вверх
batigoal
Дата 16.10.2005, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 4
Всего: 151



Цитата(Perchilla @ 16.10.2005, 01:25)
а что тут неоднозначного, никак понять не могу... Аж проверить заставили ! smile

А какой результат?
1 2
?


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Void
Дата 16.10.2005, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 11
Всего: 173



Цитата(Perchilla @ 16.10.2005, 02:25)
а что тут неоднозначного, никак понять не могу...

Ну, в общем-то, никто не гарантирует, что компилятор не сгенерирует в этом месте код для форматирования винчестера smile UB, так сказать... А по факту, неизвестно, какой инкремент будет выполнен первым, и какое из измененных значений i возьмет каждый оператор <<.

Mayk
Цитата
Ты бы еще примерчики накатал

Да с удовольствием, только нелегкое это дело - показывать на примерах малознакомый большинству язык smile
Неплохие примеры можно найти в:
официальном мануале (и его незаконченном русском переводе);
книге "Developping Applications with Objective Caml" (русский перевод).
ML-оиды особенно сильны в: манипуляцих над сложными структурами данных, символьных вычислениях, proof assistance (ML вообще для того и разрабатывался), синтаксическом анализе и компиляции.

P.S. Пожалуйста, все дальнейшее обсуждение ФЯ - сюда, а то в этой ветке и так много всего намешано.


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Alex
Дата 16.10.2005, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: нет
Всего: 162



Цитата(Lamer @ 16.10.2005, 10:17)
А какой результат?
1 2
?

вот, вот, а потом кто-то о хорошей читаемости будет доказывать...


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
LSD
Дата 16.10.2005, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата
Загляни в код любой большого (ну, пара мегабайт текстисходников) проекта на С++ и ты очень сильно удивишься

Windows - достаточно большой проект? smile
А вообщее, повторюсь еще раз, это не имеет никакого отношения к синтаксису. Да можно просто отказаться от использования "плохих" конструкций языка, но тогда зачем они в нем?


Цитата(Void @ 16.10.2005, 10:25)
Ну, в общем-то, никто не гарантирует, что компилятор не сгенерирует в этом месте код для форматирования винчестера

Как это никто не гарантирует??? Помимо синтакисса у языка есть семантика, и именно она и определяет что будет делать тот или иной код.

Это сообщение отредактировал(а) LSD - 16.10.2005, 17:25


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.1365 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.