LINUX.ORG.RU

Объекты провалились


0

0

Опубликован перевод статьи Ричарда П. Гэбриэла, в которой автор наглядно демонстрирует нежизнеспособность парадигмы объектно-ориентированного программирования в ее теперешнем виде, в частности на примере ее воплощения в Java. Будущее -- за новыми идеями (или хорошо забытыми старыми).

За перевод спасибо Александру Майбороде ака HandleX.

>>> Подробности

anonymous

Проверено: ivlad ()

Какой ужас! У моей подружки, когда мы были в третьем классе, был хомячок. Так вот он как-то раз отгрыз себе задние лапки сдуру. Не знаю, что он хотел этим сказать, может это было официальное заявление или забастовка, акт публичного самосъедения. Но потом он еще некоторое время существовал без лапок, с ужасными запекшимися обгрызками. А потом в довершение всей этой истории его как-то забыли в банке на подоконнике на самом солнцепеке, он и помер там.

anonymous
()
Ответ на: комментарий от Sun-ch

> Работы по АI ведутся уже более 40 лет.

Работали, работали -- и "сделали для комара насморк"...

С уважением -- Смоляное Чучелко

anonymous
()
Ответ на: комментарий от anonymous

Сказали же тебе: "Непобедимый".

anonymous
()
Ответ на: комментарий от dsa

> Ты смотри и адепты Саши Усова подвалили :)

Не на самом деле? что сложного в ассемблере- да совершенно ничего на самом деле поначалу только пугает а птом всё ясно и понятно.

ASTAROT
()
Ответ на: комментарий от KIV

> Ага а самое прикольное, наверное, это реализация бизнес логики на асме:) На асме с БД пообщаться, анализ данных провести - самое то %)

да такой же как и везде) пользуйся библиотеками из винды - ты же можешь что хочешь откуда хочешь вызвать и куда хочешь послать))

ASTAROT
()
Ответ на: комментарий от ASTAROT

> что сложного в ассемблере- да совершенно ничего на самом деле поначалу только пугает а птом всё ясно и понятно.

Ага, а если еще hex-редактор, то можно прямо сразу машинный код стучать - а что там сложного? пугает, да, но в принципе-то все ясно и понятно... =) а давать имена меткам - это для ламеров =)

int19h ★★★★
()
Ответ на: комментарий от ASTAROT

всё блин навиг эту тему - утром зайдёшь - опять надо много читать)))

ASTAROT
()
Ответ на: комментарий от anonymous

>класическом ООП я должен сказать dog.friskTail() а не dog.getTail().frisk().
>Только собака должна махать своим хвостом, и никто другой.

Хорошо, у этой собаки заболел хвост :) Вызвали ветеринара, который должен обследовать этот хвост на предмет выявления заболевания. Твоя реализация?

anonymous
()
Ответ на: комментарий от anonymous

> Если у dog есть метод getTail(), то значит ли ето, что у собаки _нет_ хвоста?

Это бред чистой воды. Метод getTail в вольном переводе значит "вот мой хвост" =)

> Или позже можна будет заменить метод getTail() чтобы он возвращал обьект Tongue вместо Tail?

Нельзя, потому что во-первых он не зря назван getTail, а во-вторых, он объявлен как возвращающий Tail. Больше того, если у нас есть поддержка DbC, то мы можем наложить дополнительное ограничение в виде result != null.

int19h ★★★★
()
Ответ на: комментарий от anonymous

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

Дык! определением класса stack и методов push и рор в нем :)))))

gns ★★★★★
()
Ответ на: комментарий от anonymous

> Почему же, у некоторых собак хвост удаляют. Т.е. хвоста как такового нет.

Он есть, у него просто длина нулевая =)

int19h ★★★★
()
Ответ на: комментарий от anonymous

А это точно собаки? Или таки драконы?

anonymous
()
Ответ на: комментарий от anonymous

Вы не обрабатываете ситуацию, когда хвостов больше одного. Для этого умные люди специально создали хвостовую рекурсию. Имхо, должно быть что-то вроде

exception No_tail ;;

(* i - номер хвоста *)
let ftail = try (fun i ->
    ...; (* тут мы чего-либо делаем с текущим хвостом *)
    ftail (i-1) ) 
    with _ -> raise No_tail ;;

ftail 1;;

ugoday ★★★★★
()
Ответ на: комментарий от anonymous

> Почему же, у некоторых собак хвост удаляют. Т.е. хвоста как такового нет.

Гонево. У меня доберман был, но это не мешал ему вилять хвостом...

atrus ★★★★★
()
Ответ на: комментарий от anonymous

> Pishut na tom chto nujno useru, i kto platit dengi.

Ты понял, что сказал? Пишут на том, на чем быстрее написать и сдать заказчику. Все. Это если ради быстрых денег.

baka-kun ★★★★★
()
Ответ на: комментарий от Fedor

about Fedor (*) (17.08.2004 4:59:46)

> Кстати, наткнулся на статью "Два взгляда на программирование" http://club.shelek.com/viewart.php?id=211

> В окружающем нас мире мы можем встретить два радикально противоположных взгляда на программирование:

> Взгляд А: Программирование в основном весьма просто.

Это от незнания.

> Взгляд В: Программирование – это очень сложно.

А это от лени.

P.S. Вот, собственно, и всё.

anonymous
()
Ответ на: комментарий от anonymous

>Pishut na tom chto nujno useru, i kto platit dengi.

Вот она зарубежная школа! Кто платит деньги, тот и пишет. Кардинальное решение вопроса :)

anonymous
()
Ответ на: комментарий от atrus

>Гонево. У меня доберман был, но это не мешал ему вилять хвостом...

"Это" действительно вилять хвостом собаке помешать не может :)

anonymous
()
Ответ на: комментарий от anonymous

> "Это" действительно вилять хвостом собаке помешать не может :)

Пошляки, я имел ввиду купированных хвост. ;-)

P.S. А двух чисел мне так никто и не назвал. А как орать горазды были! ;-)

atrus ★★★★★
()
Ответ на: комментарий от atrus

> А двух чисел мне так никто и не назвал. А как орать горазды были! ;-)

Оба -- (max/2 + 1) достаточно

anonymous
()
Ответ на: комментарий от anonymous

> Оба -- (max/2 + 1) достаточно

Вот для чего просил изначально тип назвать. Это только для знаковых справедливо.

atrus ★★★★★
()
Ответ на: комментарий от atrus

> Вот для чего просил изначально тип назвать. Это только для знаковых справедливо.

Назови, какие беззнаковые (max/2 + 1)+(max/2 + 1) отработают нормально, без расширения разрядности?

anonymous
()
Ответ на: комментарий от atrus

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

anonymous
()
Ответ на: комментарий от baka-kun

Richard Gabriel

<person> (Dick, RPG) Dr. Richard P. Gabriel. A noted SAIL LISP hacker and volleyball fanatic.

Consulting Professor of Computer Science at Stanford University. Richard Gabriel is a leader in the Lisp and OOP community, with years of contributions to standardisation. He founded the successful company, Lucid Technologies, Inc..

anonymous
()
Ответ на: комментарий от atrus

ломаки, учите математику
переполнение ниначто не влияет


#include <iostream>
int main ( ) {
        int a = 0x81000000, b = 0x82000000;
        std :: cout << a << std :: endl << b << std :: endl;
        a = a + b;
        b = a - b;
        a = a - b;
        std :: cout << a << std :: endl << b << std :: endl;
}

проверить с беззнаковыми left as exercise to reader

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.