anonymous@RULINUX.NET~# Last login: 2024-11-14 19:47:50
Регистрация Вход Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск
[#] [Добавить метку] [Редактировать]
Скрыть

[луговский] Вброс от Линуса про C++

 http://www.realworldtech.com/forums/index.cfm?action=detail&id=110618&threadid=110549&roomid=2

Для Ъ: Линус какбы негодуе по поводу C++.

anonymous(*) (2010-06-11 18:40:00)

Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3

[Ответить на это сообщение]
[#] [Добавить метку] [Редактировать] Ответ на: [луговский] Вброс от Линуса про C++ от anonymous 2010-06-11 18:40:00
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

Тут на леха кравецкого уже раз ссылались -

 http://lex-kravetski.livejournal.com/301063.html

В ту же тему.

geekkoo(*)(2010-06-11 18:50:04)

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.4) Gecko/20070601 SeaMonkey/1.1.2
[#] [Добавить метку] [Редактировать] Ответ на: [луговский] Вброс от Линуса про C++ от anonymous 2010-06-11 18:40:00
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

баян, он и лисп с емаксом обсырал, и гном и КДЕ, и gcc - труднее найти, что ему действительно нравится

lester_(*)(2010-06-11 19:12:15)

Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.55 Safari/533.4
[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от lester_ 2010-06-11 19:12:15
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

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

anonymous(*)(2010-06-11 19:24:43)

Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от lester_ 2010-06-11 19:12:15
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

Ему действительно нравится microEMACS.

anonymous(*)(2010-06-11 19:51:30)

Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.38 Safari/533.4
[#] [Добавить метку] [Редактировать] Ответ на: [луговский] Вброс от Линуса про C++ от anonymous 2010-06-11 18:40:00
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

>Линус какбы негодуе по поводу C++.
Я бы сказал он тут скорее вульгарно опускает весь ООП в целом, а не именно C++.

Лично я с ним не согласен.

>So if a language change were to make people much more
>productive, that would be a good thing regardless of how
>much people end up getting paid.
Так то оно так, но вот что у него даже при желании получилось перевести ядро на C++ я сомневаюсь. Во-первых, кодовая база огромная, и её так просто не перепишешь, во-вторых, многие ведущие разработчики так же как он С-повёрнуты.

>For example, I personally don't even write much code any
>more, and haven't for years. I mainly merge
Это и далее про общение. Всё так, Линуса устраивает картина, т.к. ему и 50и другим лидам удобнее читать патчи вне контекста. Но вот каково остальным 950и разработчикам - ему по барабану.

>And there is a very strong "culture" of C
Эта культура - скорее пример тяжёлого наследственного бремени с его creat и прочим, а вот собственно мой недавнешний пост про UNIX-API

 http://www.linux.org.ru/forum/development/4427471#comment-4429422

>It's true in general in any sw project, but it's true in real
>life too: speaking or writing ambiguously is not good in
>normal human communication either.
Это неправда. Люди как раз живут, общаются и вообще думают в терминах объектов. Лично мне так гораздо проще проектировать что-то, и я думаю так будет с каждым, у кого ещё мозг не травмирован C. И про общение - люди как раз общаются в контексте и разговаривают. Возьмите книгу и прочтите какой-ть диалог из середины. Ничего не будет понятно. Но Линуса это не устраивает, н хочет убрать из обихода все местоимения, заменив их полным определениями. Ему так проще.

anonymous(*)(2010-06-11 19:51:43)

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.3) Gecko/20100425 Gentoo Firefox/3.6.3
[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от anonymous 2010-06-11 19:51:30
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

>Ему действительно нравится microEMACS.
Кстати да, я не понял слова Лестера про емакс, он же сам на нём сидит.

anonymous(*)(2010-06-11 19:52:22)

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.3) Gecko/20100425 Gentoo Firefox/3.6.3
[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от anonymous 2010-06-11 19:24:43
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

> Позвольте кошерную ссылочку. В гугле забанен, да.
вот цитата:

This is what gives us horrors like GNU emacs and Mach: they don't try to do one thing well, they try to do _everything_ based on some loose principle ("LISP is good" or "microkernels make sense" or "GGI should do graphics")

 http://lkml.org/lkml/1998/3/26/8

lester_(*)(2010-06-11 20:25:17)

Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.55 Safari/533.4
[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от anonymous 2010-06-11 19:51:30
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

>microEMACS.
Собрал uemacs из git и не могу понять, как из него выходить?

anonymous(*)(2010-06-11 20:27:19)

Opera/9.80 (X11; Linux x86_64; U; ru) Presto/2.2.15 Version/10.10
[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от anonymous 2010-06-11 20:27:19
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

Видимо разработчики полагали, что его будут как логин-шелл использовать ...

anonymous(*)(2010-06-11 22:27:57)

Mozilla/5.0 (X11; U; Linux i686; ru-RU; rv:1.8.1.4) Gecko/20070601 SeaMonkey/1.1.2
[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от anonymous 2010-06-11 19:51:43
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

>Люди как раз живут, общаются и вообще думают в терминах объектов.
4.2 люди живут, общаются и думают понятиями, которые к объектам никакого отношения не имеют.

// что-то это мне напомнило тред на лоре, где делали яичнищу)))

anonymous(*)(2010-06-11 23:44:06)

[#] [Добавить метку] [Редактировать] Ответ на: [луговский] Вброс от Линуса про C++ от anonymous 2010-06-11 18:40:00
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

дык с++ только ленивый не пинает же. См. тот же с++ fqa.

bugmaker(*)(2010-06-13 19:39:54)

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100407 Ubuntu/9.04 (jaunty) Shiretoko/3.5.9
[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от bugmaker 2010-06-13 19:39:54
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

> См. тот же с++ fqa.
знатный высер, в котором изредка найти вменяемую критику можно, но среди местами полного бреда

lester_(*)(2010-06-13 21:33:49)

Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.55 Safari/533.4
[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от lester_ 2010-06-13 21:33:49
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

давай-ка пару-тройку примеров бреда оттуда с обоснованием, что это именно бред.

bugmaker(*)(2010-06-14 00:03:20)

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100407 Ubuntu/9.04 (jaunty) Shiretoko/3.5.9
[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от bugmaker 2010-06-14 00:03:20
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

наугад ткнул в раздел References

> [8.1] For example, a wide class of bugs comes from accessing dangling references - references to objects which were already destroyed
тут ровно та же проблема, что и с указателями - итого высер мимо кассы

> [8.2] What happens if you assign to a reference?
> Which means that you can't understand the effect of a statement as simple as a=b; without knowing whether a is a reference or not.
даже школьник тут "understand"

> [8.3] Some might say that references serve a more generic purpose - they make pointers to objects feel like objects, but for most purposes that can be achieved with typedef TStruct* T;
> C++ introduces duplicate facilities in order to introduce other duplicate facilities.
как бы он даже примитивный std::vector на указателях сделал? вобщем этот маразм даже комментировать не надо

> [8.4]
тут он вяло ругает iostream - не буду спорить, эта библиотека мне тоже не нравится

> [8.5] You can't do it in portable C++. While the reference is probably implemented as a pointer by your compiler, there's no C++ operator to get the address where that pointer is stored
внезапно - оператор & нам вернет этот указатель, но аффтар видимо решил даже не думать

> [8.6] Pointers to objects of classes with overloaded operators lead to code like (*parr)[i], which gets annoying.
и какого х%я было распинаться про ненужность ссылок, если потом с умным видом показывать их необходимость

> [8.7] with C++ classes, changing a private member triggers recompilation of user code
изменение кода ведет к необходимости перекомпиляции - это несомненно большой недостаток языка

lester_(*)(2010-06-14 00:49:34)

Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.55 Safari/533.4
[#] [Добавить метку] [Редактировать] Ответ на: [луговский] Вброс от Линуса про C++ от anonymous 2010-06-11 18:40:00
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

Вбросить штоле до кучи.. Оптимальным языком программирования является нативный разговорный. Все эти диалекто-срачи вокруг машинных языков уйдут в прошлое в ближайшие 25 лет.

Тезисы:

1. Чем более высок уровень постановки задачи, тем больше возможностей у компилятора оптимизировать её исполнение. Проблема лишь в отсутствии такого компилятора.

2. Естественный язык гарантирует наименьшее количество ошибок в логике приложения и позволит поддерживать более сложную логику приложений

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

HEBECTb_KTO(*)(2010-06-14 01:12:34)

[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от HEBECTb_KTO 2010-06-14 01:12:34
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

> Оптимальным языком программирования является нативный разговорный
> Избыточность и неточность человеческой речи может быть выявлена и задача доопределена до приемлемого уровня точности автоматическим или в диалоговом режиме
на больших проектах это просто месиво будет :)

lester_(*)(2010-06-14 01:16:27)

Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.55 Safari/533.4
[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от lester_ 2010-06-14 01:16:27
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

Да не, наоборот более более чётко определенная система будет. И текст программ будет автоматически документацией же.. Я примерно так представляю себе диалог:

  1.  Юзер: ... Основные особенности игры. Можно грабить корованы...
  2.  Компилятор: В выражении "Можно грабить корованы" вы имели в виду "коров", "караваны" или это новое понятие?
  3.  Юзер: караваны
  4.  Компилятор: уточните какие караваны: караваны верблюдов, караваны судов, ввести новое понятие?
  5.  Юзер: 2
  6.  Компилятор: нумерация с нуля?
  7.  Юзер: караваны судов бля
  8.  Компилятор: существует 100500 типов судов, каждое из которых обладает 100500 атрибутов уточните караваны каких именно судов требуется грабить
  9.  Юзер: торговых судов
  10.  Компилятор: существует 100500 типов торговых судов
  11.  Юзер: водоизмещением более 100500 тонн
  12.  Компилятор: существует 100500 типов торговых судов водоизмещением более 100500 тонн, уточните параметры судов
  13.  Юзер: любые
  14.  Компилятор: термин "Можно грабить караваны" означает грабить любые торговые суда водоизмещением более 100500 тонн?
  15.  Юзер: термин "Можно грабить корованы"
  16.  Компилятор: Отмена синтаксической правки.
  17.  Компилятор: термин "Можно грабить корованы" означает грабить любые торговые суда водоизмещением более 100500 тонн?
  18.  Юзер: Да
  19.  Компилятор: Оптимизирую алгоритм
  20.  Компилятор: Принять "Можно грабить корованы" как стандартный термин с заданным значением?
  21.  Юзер: Да
  22.  Компилятор: Термин "грабить корованы" занесён в глоссарий, домен "Somalia pirates inc."
  23.  ...
  24.  Компилятор: Оптимизация алгоритма завершена. Оптимальные требования к аппаратному обеспечению - два катера типа "Мираж", стандартная экипировка. Для охраняемых корованов два катера типа "Мираж" и два торпедных катера типа "Ягуар".
  25.  Юзер: ОК
  26.  

  1.  Юзер2: грабить корованы
  2.  Система: введите коды управления атакующими судами
  3.  Юзер2: *****
  4.  Юзер2: *****
  5.  Юзер2: *****
  6.  Юзер2: *****
  7.  Система: Корованы успешно ограблены, для получения выкупа за заложников нажмите любую клавишу..
  8.  

HEBECTb_KTO(*)(2010-06-14 02:12:18)

[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от HEBECTb_KTO 2010-06-14 02:12:18
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

это БЗ, а не программа

lester_(*)(2010-06-14 02:14:06)

Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.55 Safari/533.4
[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от lester_ 2010-06-14 02:14:06
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

В выражении "БЗ" вы имели в виду "ТЗ" или это новое понятие?

HEBECTb_KTO(*)(2010-06-14 02:17:38)

[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от HEBECTb_KTO 2010-06-14 02:17:38
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

база знаний

lester_(*)(2010-06-14 02:21:19)

Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.55 Safari/533.4
[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от lester_ 2010-06-14 02:21:19
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

Использовать как синоним слова мозг, да/нет?

HEBECTb_KTO(*)(2010-06-14 02:23:24)

[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от HEBECTb_KTO 2010-06-14 02:23:24
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

нет - это набор правил + возможно данных, используется в экспертных системах

lester_(*)(2010-06-14 02:26:43)

Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.55 Safari/533.4
[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от lester_ 2010-06-14 02:26:43
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

Набор данных и/или правил, которые тоже данные, подбирается автоматически - парсинг текстов (доступных в сети например) способен выдать все мыслимые атрибуты объектов: "красные огурцы неизвестны системе, исправить ошибку или ввести новое понятие?", "Действие выебать красный огурец не определено в контексте корованов, исправить ошибку или доопределить новое понятие?"

HEBECTb_KTO(*)(2010-06-14 02:37:38)

[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от HEBECTb_KTO 2010-06-14 02:37:38
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

Блин, красные огурцы, оказывается, известны системе...

HEBECTb_KTO(*)(2010-06-14 02:39:16)

[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от HEBECTb_KTO 2010-06-14 02:37:38
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

> Набор данных и/или правил, которые тоже данные, подбирается автоматически - парсинг текстов
и получится экспертная система + интерфейс для ввода данных, а построить и поддерживать экспертную систему даже для узкой области, где заранее все известно, - это уйма времени

lester_(*)(2010-06-14 02:48:40)

Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.55 Safari/533.4
[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от lester_ 2010-06-14 02:48:40
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

Ну так я и говорю - лет 25.. Хотя гугл наверняка уже сейчас смог бы сделать что-то типа этого. Тем более что это не должно быть сложным - один раз пишешь алгоритм, который выдёргивает из предложений подлежащие и присущие им методы и свойства, а там уже вопрос мощности сколько текстов он переварит.. Ну там ещё контекст нужно учитывать, а то гугл выдаёт примерно одинаковое количество (600 000+) страниц по поиску "зелёные огурцы" и "красные огурцы", хотя значением по умолчанию для обекта "огурец" в наше время должно бы быть всё-таки "зелёный".

HEBECTb_KTO(*)(2010-06-14 03:16:17)

[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от HEBECTb_KTO 2010-06-14 03:16:17
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

> Ну так я и говорю - лет 25.
чем больше БЗ - тем больший геморрой вносить изменения и добавлять новые знания, сращивать же две "библиотеки", одну из которых напишешь ты, а вторую - еще кто-то, - будет просто садомазохизмом

lester_(*)(2010-06-14 03:19:02)

Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.55 Safari/533.4
[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от lester_ 2010-06-14 03:19:02
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

Так в тот же диалог определения понятий выльется: в удалённом домене термин "корованы" не имеет метода грабить и включает не только торговые суда, но также спортивные и военные, но только фиолетового цвета. Переопределить термины или объединить атрибуты в сторону уточнения параметров?

HEBECTb_KTO(*)(2010-06-14 03:33:10)

[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от HEBECTb_KTO 2010-06-14 03:33:10
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

> Переопределить термины или объединить атрибуты в сторону уточнения параметров?
я ж и говорю - сращивать такой "код" будет то еще удовольствие

lester_(*)(2010-06-14 03:42:51)

Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.55 Safari/533.4
[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от lester_ 2010-06-14 03:42:51
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

Да сращивать-то не проблема, просто при сращивании понятие корованы получит некоторую иерархию: корованы будут разделяться на корованы фиолетовых судов и нефиолетовых, при этом корованы нефиолетовых судов будут подразделяться на торговые, которые можно грабить, и все остальные. Хотя при сращивании можно указать, что грабить можно любые корованы.. Но в общем да, замуженно получается. Однако представь себе сращивание того же на сях :)

HEBECTb_KTO(*)(2010-06-14 03:50:24)

[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от lester_ 2010-06-14 03:42:51
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

Лестер, ты здесь новенький, ещё не освоился. Я тебе как бы намекну, что твой собеседник в последних постах - знатный тролль, с ним чревато вступать в диалог.

anonymous(*)(2010-06-14 14:03:04)

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.3) Gecko/20100425 Gentoo Firefox/3.6.3
[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от lester_ 2010-06-14 00:49:34
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

> тут ровно та же проблема, что и с указателями -
только в приличном обществе указатели зануляют после освобождения, а со ссылкой что делать?

> итого высер мимо кассы
впрочем судя по приверженности к копрофекальным темам мсье всё равно не знает

> даже школьник тут "understand"
и как же?

> как бы он даже примитивный std::vector на указателях сделал?
в glib как-то сделано

> вобщем этот маразм даже комментировать не надо
ещё бы, потому что аргументов нет

> внезапно - оператор & нам вернет этот указатель, но аффтар видимо решил даже не думать
ахаха, и что по-твоему возвращает оператор & от ссылки? Ещё один нелюбитель читать спецификации?

> и какого х%я было распинаться про ненужность ссылок, если потом с умным видом показывать их необходимость
потому что проблема не в ссылках и указателях, а в стройной системе костылей и подпорок, которыми они в с++ и являются.

> изменение кода ведет к необходимости перекомпиляции - это несомненно большой недостаток языка
в сях почему-то добавление функции в модуль и даже изменение существующей не вынуждает перекомпилировать все остальные модули. Достаточно только перелинковать.

bugmaker(*)(2010-06-14 14:18:52)

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100407 Ubuntu/9.04 (jaunty) Shiretoko/3.5.9
[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от anonymous 2010-06-14 14:03:04
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

Вовсе он никакой не троль, а почтенный джентльмен. К сожалению, он не очень хорошо владеет некоторыми аспектами, но на то и форум, чтобы просвещать друг друга.

bugmaker(*)(2010-06-14 14:23:55)

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100407 Ubuntu/9.04 (jaunty) Shiretoko/3.5.9
[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от lester_ 2010-06-14 00:49:34
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

>>> [8.1] For example, a wide class of bugs comes from accessing dangling references - references to objects which were already destroyed
>>тут ровно та же проблема, что и с указателями - итого высер мимо кассы
>только в приличном обществе указатели зануляют после освобождения, а со ссылкой что делать?
Природа ссылок такова, что они не должны ссылаться на пустые объекты. Читаем внизу:  http://en.wikipedia.org/wiki/Reference_%28C%2B%2B%29 "A reference shall be initialized to refer to a valid object or function. [Note: in particular, a null reference cannot exist in a well-defined program..."

>>> [8.2] What happens if you assign to a reference?
>>> Which means that you can't understand the effect of a statement as simple as a=b; without knowing whether a is a reference or not.
>> даже школьник тут "understand"
>и как же?
Это главный и единственный негативный момент в ссылках, это цена за удобство написания кода в ущерб его читабельности посторонними.

>>> [8.3] Some might say that references serve a more generic purpose - they make pointers to objects feel like objects, but for most purposes that can be achieved with typedef TStruct* T;
>>> C++ introduces duplicate facilities in order to introduce other duplicate facilities.
>>как бы он даже примитивный std::vector на указателях сделал? вобщем этот маразм даже комментировать не надо
>в glib как-то сделано
Сделать то можно, не проблема. Но тут в самой постановке автор, похоже, не понимает всей сути ссылок. В частности указатель можно переприсвоить и при использовании его в стиле ссылок это чревато ещё большими проблемами. Т.е. тут никак не дублирование.

>>> [8.5] You can't do it in portable C++. While the reference is probably implemented as a pointer by your compiler, there's no C++ operator to get the address where that pointer is stored
>>внезапно - оператор & нам вернет этот указатель, но аффтар видимо решил даже не думать
>внезапно - оператор & нам вернет этот указатель, но аффтар видимо решил даже не думать
Это опять непонимание природы ссылок. По той же ссылке выше: "There shall be no references to references, no arrays of references, and no pointers to references.". И в крайнем случае, если так захотелось, то можно написать свою реализацию ссылок и выцеплять адрес объекта, но это и будет черезжопием.

>> изменение кода ведет к необходимости перекомпиляции - это несомненно большой недостаток языка
>в сях почему-то добавление функции в модуль и даже изменение существующей не вынуждает перекомпилировать все остальные >модули. Достаточно только перелинковать.
Я вообще никогда не понимал этих аргументов вроде "ОБМ, тут нужна перекомиляция". Или что все лисперы ссцут кипятком про изменение кода без перекомпиляции. На практике это нужно в одном случаем из миллиона. Здесь, вероятно, идет расплата за полиморфизм, т.к. без оного классы деградируют в структуры и все элементы доступны простым смещением от б.а.

anonymous(*)(2010-06-14 16:15:41)

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.3) Gecko/20100425 Gentoo Firefox/3.6.3
[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от anonymous 2010-06-14 16:15:41
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

> Природа ссылок такова, что они не должны ссылаться на пустые объекты.
Ну так из этого свойства непосредственно вытекает и цырк с медведами, когда ссылаемый объект таки уничтожают.

> Т.е. тут никак не дублирование.
Ну это само собой, они оба выполняют свою роль. Претензии к тому, что делают они это крайне криво. В наречиях без указателей ссылки выглядят более достойно, а указатели не нужны.

> то можно написать свою реализацию ссылок и выцеплять адрес объекта, но это и будет черезжопием.
оп том и речь, портабельного способа сделать это нету. Хотя мне вообще непонятно, зачем оно кому-то понадобилось, но ведь понадобилось же.

> На практике это нужно в одном случаем из миллиона.
На практике это реально нужно вообще никогда. Однако пересобирать весь проект бывает очень утомительно, особенно учитывая легендарную неторопливость компиляторов с++

bugmaker(*)(2010-06-14 16:34:34)

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100407 Ubuntu/9.04 (jaunty) Shiretoko/3.5.9
[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от bugmaker 2010-06-14 14:18:52
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

судя по всему ты обычный С++-фаг, и тебе аргументы приводить нет смысла, и да - на практике все лисперы и пр. просто убоги, что недавно мы тут и видели с твоим "моделированием"

lester_(*)(2010-06-15 09:55:29)

Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.55 Safari/533.4
[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от lester_ 2010-06-15 09:55:29
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

>>ты обычный С++-фаг
>>все лисперы и пр. просто убоги
Такой резкий и ничем немотивированный переход на личности очень сильно напоминает слив ...

anonymous(*)(2010-06-15 10:16:59)

Mozilla/5.0 (X11; U; Linux i686; ru-RU; rv:1.8.1.4) Gecko/20070601 SeaMonkey/1.1.2
[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от anonymous 2010-06-15 10:16:59
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

> Такой резкий и ничем немотивированный переход на личности очень сильно напоминает слив ...
это всего-лишь ответ на такой же переход на личности

lester_(*)(2010-06-15 10:19:01)

Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.55 Safari/533.4
[#] [Добавить метку] [Редактировать] Ответ на: Re: [луговский] Вброс от Линуса про C++ от bugmaker 2010-06-14 14:18:52
avatar
Скрыть

Re: [луговский] Вброс от Линуса про C++

прокомментирую "мнение оппонента", но в последний раз( т.к. долгий опыт общения с лисперами доказывает, что это бесполезно )

> а со ссылкой что делать?
а ничего - ее просто не надо хранить

> и как же?
с помощью нормальных IDE

> впрочем судя по приверженности к копрофекальным темам мсье всё равно не знает
no comments

> в glib как-то сделано
и эти люди про костыли что-то пишут...

> ещё бы, потому что аргументов нет
очки протри

> ахаха, и что по-твоему возвращает оператор & от ссылки?
от ссылки на ссылку, ты ж не думаешь, что передав указатель - ты сможешь его в исходном месте изменить, хотя от лисперов можно всего ожидать

> а в стройной системе костылей и подпорок, которыми они в с++ и являются.
угу - средств С не хватает, но новые - это костыли, угу

> в сях почему-то добавление функции в модуль и даже изменение существующей не вынуждает перекомпилировать все остальные модули
в С++ тоже - прекращай чушь писать

lester_(*)(2010-06-15 10:26:31)

Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.55 Safari/533.4
Этот тред читают 6 пользователей:
Анонимных: 6
Зарегистрированных: 0




(c) 2010-2020 LOR-NG Developers Group
Powered by TimeMachine

Valid HTML 4.01 Transitional Правильный CSS!