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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Просто интересно, как это - без ООП? 
:(
    Опции темы
sidiakin
Дата 12.8.2013, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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




Вот появился новый яп GO и там нет поддержки ООП. Этож получается что ООП себя не оправдало?
PM MAIL   Вверх
irinazanuda
Дата 13.8.2013, 09:50 (ссылка) |    (голосов:5) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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




Цитата(sidiakin @  12.8.2013,  22:17 Найти цитируемый пост)
Этож получается что ООП себя не оправдало? 

У гламурной, великовозрастной, но "косящей под лолитку" и оттого слегка шепелявящей поэтессы, берут интервью:
- А муза у вас есть?
- Ох, - вздыхает поэтесса, - а муза у меня нет...
Добавляет, после слезливой паузы:
- Вот такая в зизни зопа!
PM MAIL   Вверх
CompWorm
Дата 14.8.2013, 02:34 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Допеределыватель
***


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




Цитата(sidiakin @  12.8.2013,  22:17 Найти цитируемый пост)
Этож получается ... ? 

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

Это сообщение отредактировал(а) CompWorm - 14.8.2013, 02:37


--------------------
PM MAIL   Вверх
ТарасАтавин
Дата 11.9.2013, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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




ООП - парадигма. Не всегда нужная, но часто необходимая.

Это сообщение отредактировал(а) ТарасАтавин - 11.9.2013, 20:25


--------------------
Не так всё плохо, как оно есть на самом деле.
PM MAIL   Вверх
Wowa
Дата 24.9.2013, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград




Не для всех целей ООП нужно.
PM WWW   Вверх
ТарасАтавин
Дата 8.10.2013, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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




Нафиг ООП в сиквеле? Или в прологе? В то же время есть задачи, которые проще решить в объектной парадигме, чем в любой другой. Не для всех целей? Эйси. И для таких целей есть языки или с поддержкой ООП в числе других парадигм, или вообще без поддержки ООП. Но для некоторых то целей нужна.


--------------------
Не так всё плохо, как оно есть на самом деле.
PM MAIL   Вверх
CompWorm
Дата 9.10.2013, 03:16 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Допеределыватель
***


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




ТарасАтавин, повторюшка дядя хрюшка smile 


--------------------
PM MAIL   Вверх
k0rvin
Дата 9.10.2013, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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




Цитата(sidiakin @  12.8.2013,  22:17 Найти цитируемый пост)
яп GO и там нет поддержки ООП


А на самом деле: http://golang.org/doc/faq#Is_Go_an_object-oriented_language


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Bulat
Дата 25.10.2013, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск




Цитата(sidiakin @  12.8.2013,  22:17 Найти цитируемый пост)
Вот появился новый яп GO и там нет поддержки ООП. Этож получается что ООП себя не оправдало? 

Разработчки Erlang: "What is OOP?".  smile 


--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
ТарасАтавин
Дата 6.12.2013, 06:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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




Объясните мне, каким боком прикрутить ООП, например, к прологу, эрлангу, или к сиквелу? Или как исключить ООП из умл?

Это сообщение отредактировал(а) ТарасАтавин - 6.12.2013, 06:37


--------------------
Не так всё плохо, как оно есть на самом деле.
PM MAIL   Вверх
Bulat
Дата 6.12.2013, 07:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск




Цитата(ТарасАтавин @  6.12.2013,  06:35 Найти цитируемый пост)
Объясните мне, каким боком прикрутить ООП, например, к прологу, эрлангу, или к сиквелу?

К эрлангу точно никак. Там просто нет такого понятия - переменная. Декларативное программирование.


--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
ТарасАтавин
Дата 6.12.2013, 08:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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




Вика утверждает, что функциональное. А декларативное - это пролог.


--------------------
Не так всё плохо, как оно есть на самом деле.
PM MAIL   Вверх
Bulat
Дата 6.12.2013, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск




Цитата(ТарасАтавин @  6.12.2013,  08:15 Найти цитируемый пост)
функциональное

это подмножество, множества, которое называется
Цитата(ТарасАтавин @  6.12.2013,  08:15 Найти цитируемый пост)
декларативное


Есть парадигма, которая называется - декларативное программирование.

В нее входит и функциональное и логическое программирование(пролог)  smile 



--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
k0rvin
Дата 9.12.2013, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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




Цитата(Bulat @  6.12.2013,  07:19 Найти цитируемый пост)
К эрлангу точно никак.

Это смотря как посмотреть.
Скрытый текст

 3. Is Erlang object oriented?

Joe Armstrong: Smalltalk got a lot of the things right. So if your question is about what I think about object oriented programming, I sort of changed my mind over that. I wrote a an article, a blog thing, years ago - Why object oriented programming is silly. I mainly wanted to provoke people with it. They had a quite interesting response to that and I managed to annoy a lot of people, which was part of the intention actually. I started wondering about what object oriented programming was and I thought Erlang wasn't object oriented, it was a functional programming language.

Then, my thesis supervisor said "But you're wrong, Erlang is extremely object oriented". He said object oriented languages aren't object oriented. I might think, though I'm not quite sure if I believe this or not, but Erlang might be the only object oriented language because the 3 tenets of object oriented programming are that it's based on message passing, that you have isolation between objects and have polymorphism.

Alan Kay himself wrote this famous thing and said "The notion of object oriented programming is completely misunderstood. It's not about objects and classes, it's all about messages". He wrote that and he said that the initial reaction to object oriented programming was to overemphasize the classes and methods and under emphasize the messages and if we talk much more about messages then it would be a lot nicer. The original Smalltalk was always talking about objects and you sent messages to them and they responded by sending messages back.

But you don't really do that and you don't really have isolation which is one of the problems. Dan Ingalls said yesterday (I thought it was very nice) about messaging that once you got messaging, you don't have to care where the message came from. You don't really have to care, the runtime system has to organize the delivery of the message, we don't have to care about how it's processed. It sort of decouples the sender and the receiver in this kind of mutual way. That's why I love messaging.

The 3 things that object oriented programming has it's messaging, which is possibly the most important thing. The next thing is isolation and that's what I talked about earlier, that my program shouldn't crash your program, if the 2 things are isolated, then any mistakes I make in my program will not crash your program. This is certainly not true with Java. You cannot take 2 Java applications, bung them in the JVM and one of them still halts the machine and the other one will halt as well. You can crash somebody else's application, so they are not isolated.

The third thing you want is polymorphism. Polymorphism is especially regarding messaging, that's just there for the programmer's convenience. It's very nice to have for all objects or all processes or whatever you call them, to have a printMe method - "Go print yourself" and then they print themselves. That's because the programmers, if they all got different names, the programmer is never going to remember this, so it's a polymorphism. It just means "OK, all objects have a printMe method. All objects have a what's your size method or introspection method."

Erlang has got all these things. It's got isolation, it's got polymorphism and it's got pure messaging. From that point of view, we might say it's the only object oriented language and perhaps I was a bit premature in saying that object oriented languages are about. You can try it and see it for yourself.

Ralph Johnson: The thing about Erlang is that it's in some sense 2 languages, at least you program it 2 levels because one is the functional language that you use to write a single process and then there is what you think about all these processes and how do they interact, one process is sending messages to the other. At a higher level, that Erlang is object oriented, at the lowest level it's a pure functional language and that's how it got advertised for a long time.

At a higher level, when you are looking at it more from an architectural and high level design it is quite object oriented. I think you are redefining isolationism. It's all running on one computer and if one process goes wild, it hogs the processor. I think they look more like the importance of garbage collection so that you don't have to make sure that you agree on how you're releasing things. The only way in Smalltalk to interact with an object is send it a message, but the issue is what message do you have. It's the same thing in Erlang.

If you allow a huge number of messages that allow, return all the values of your local variables and that everybody's send you messages and you'll set the values of your local messages, if you did something like that, you'd basically lose a lot of the value of the isolationism. That's why you have to design things properly. The language offers some mechanism.

Joe Armstrong: It's useful when we've got million core computers.


Цитата(Bulat @  6.12.2013,  07:19 Найти цитируемый пост)
Там просто нет такого понятия - переменная.

Это не мешает. =)
Скрытый текст

Код

%% Server that echos all msgs to console.
-module(echo).
-export([start/0, print/1, stop/0]).

%% API
start() ->
    register(?MODULE, spawn(fun loop1/0)),
    ok.

stop() ->
    ?MODULE ! stop,
    ok.

print(Msg) ->
    ?MODULE ! {print, Msg},
    ok.


loop1() ->
    loop(0).

%% Impl
loop(N) ->
    receive
        {print, Msg} ->
            io:format("~w ~p~n", [N, Msg]),
            loop(N+1);
        stop ->
            ok
    end.

Код

10> c(echo).
{ok,echo}
11> echo:start()
11> .
ok
12> echo:print(hi).
0 hi
ok
13> echo:print(hi).
1 hi
ok
14> echo:print(hi).
2 hi
ok
15> 




--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Bulat
Дата 9.12.2013, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск




Цитата(k0rvin @  9.12.2013,  12:47 Найти цитируемый пост)
Это смотря как посмотреть.

Мне довелось маленько пописать на эрланге, а не только смотреть. =) А полиморфизм был и "до ООП". Можно взять любой процедурный ЯП и своими силами реализовать.

Цитата(k0rvin @  9.12.2013,  12:47 Найти цитируемый пост)
Это не мешает.

И как же пример, типа межпроцессового взаимодействия, раскрывает ООП??

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

А вообще, отсутствие именно такого понятия как переменная иногда о-о-очень мешает, вот там классы, объекты - не так, а перемнная все же бывает нужна.  smile 


--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила раздела «Флейм»
Sneg0k

Добро пожаловать в «Флейм».

В разделе не действуют многие правила:

  • Можно оффтопить(умеренно)
  • Можно общаться на темы, не только связанные с программированием.

Строго запрещено:

  • Размещать рекламу
  • Обсуждать политику
  • Оскорблять друг-друга и переходить на личности
  • Наезжать, провоцировать других участников форума
  • Материться
  • Троллить

Напоминаем о существовании волшебной кнопочки "Репорт". Если вы увидели сообщение, несовместимое с жизнью, просьба подвести на нее курсор и клацнуть левой клавишей мышки. Тем самым вы сможете призвать злого, но жутко справедливого джина-модератора, который нашлет порчу на злостного нарушителя. Кстати - счётчик сообщений здесь не растёт.


Глас Винграда:


Глас Философии:


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Sneg0k

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


 




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


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

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