Conversando sobre a OLP no salão - página 3

 
Andrei:

Esta funcionalidade é imaginária, projetada para os ingênuos. Todas as funções possíveis podem ser implementadas dentro dos idiomas tradicionais. É apenas um desejo de substituir o encurtamento da sintaxe pela funcionalidade que na realidade apenas esconde a implementação real do algoritmo, o que prejudica tanto o programador quanto as ferramentas de otimização de código para diferentes arquiteturas de computação...

Mas você não vai negar que as linguagens funcionais estão acima das linguagens de procedimento na implementação de algoritmos multi-tarefa. Quantos núcleos sua CPU tem?
 
Vasiliy Sokolov:
Mas você não vai negar que as linguagens funcionais estão acima das linguagens de procedimento na implementação de algoritmos multi-tarefa.
Não confunda os conceitos. Os idiomas funcionais têm rápida implementação no compilador para algumas funções, que portanto têm uma sintaxe curta, mas o mesmo poderia ter sido feito para funções em idiomas tradicionais também, mas eles falharam ou não quiseram fazê-lo. Assim que o fizerem, todos os idiomas funcionais irão imediatamente por água abaixo como não-universitários e unilaterais.
 
Vasiliy Sokolov:

A lógica é clara, já que OOP significa não funcionar. facepalm......

ooh, alguém não sabe o que é programação funcional ))))

foi você quem inventou essa lógica, não eu. não era isso que eu queria dizer
 
Комбинатор:

Oooh, alguém não sabe o que é programação funcional ))))

Droga, cara, primeiro você deve aprender um pouco o assunto e depois vir com seus comentários analfabetos.

Apenas para referência: aqui, aqui, aqui, aqui, e assim por diante.

Влюбляемся в F#: Доза 0: Зачем нужен ещё один язык программирования?
Влюбляемся в F#: Доза 0: Зачем нужен ещё один язык программирования?
  • 2003.02.09
  • habrahabr.ru
Дорогие Хабраколлеги! Хочу предложить вашему вниманию возможность приобщиться еще к одному языку программирования: F#. Идея писать такого рода заметки возникла из жизни — по роду своей деятельности мне приходится рассказывать про F#, и когда меня спрашивают, где можно попродробнее прочитать об этом языке — приходится ссылаться на англоязычные...
 
Maxim Dmitrievsky:

Quando vi o avatar de Alexei, pensei que ia ser sobre mulheres novamente... e não me enganei.

Ainda restam algumas pessoas e coisas fundamentais no fórum.

Ainda há algumas pessoas e coisas fundamentais no fórum.

Eu não duvidei disso.

Tire as mãos de nosso Casanova! Pelo menos fico feliz que alguém tenha muitas garotas...

 
Alexey Volchanskiy:

Uma resposta de sangue frio à provocação:

Aqueles com experiência não farão tais perguntas )))))))) Pois é a classe mãe que nada faz. Seu trabalho é fornecer um único progenitor para todos os descendentes. E para que propósito?

Não é apenas uma "classe de pais que não faz nada".

Fornece a funcionalidade básica de chapa e comparação.

Acho que é muito correto e necessário.

Portanto, CObject é "um objeto de lista que pode ser comparado". E embora possamos discutir se esta funcionalidade deve ou não estar em um objeto base, acho que a função Comparar() é uma coisa muito útil. Pessoalmente eu o utilizo para classificação e busca de matrizes.
 
George Merts:

Esta não é apenas uma "classe mãe que não faz nada".

Fornece a funcionalidade básica de chapa e comparação.

Na minha opinião, um muito correto e necessário.

Esta é exatamente a funcionalidade que não deveria ter sido implementada no CObject. Quase tudo nele é redundante e errado.
 
Vasiliy Sokolov:
É exatamente esta funcionalidade que não foi planejada para ser implementada no CObject. Quase tudo que ele contém é redundante e incorreto.

O que isso quer dizer?

O que deveria estar no "objeto base" de acordo com você?

Pessoalmente tenho quase TODOS os objetos em todos os meus projetos - herdados da CMyObject: CObject público, (em meu objeto são adicionados mais dois campos - nome da classe e ID da instância), e descobri repetidamente que preciso muito da funcionalidade CObject::Comparar(). Algumas vezes os indicadores de lista também vieram a calhar.

 
George Merts:

O que isso quer dizer ?

O que você acha que deveria estar no "objeto base"?

Pessoalmente, tenho quase TODOS os objetos em todos os meus projetos herdados da CMyObject: classe pública CObject, (em meu objeto são adicionados mais dois campos - nome da classe e ID da instância), e mais de uma vez descobri que a funcionalidade CObject::Comparar() foi bastante útil. Um par de vezes os indicadores de lista também vieram a calhar.


Bem visto. Seria bom se os argumentos fossem apoiados por código, não apenas blá blá blá blá blá.

E ao autor do tópico, gostaria de ressaltar que "Falar de OOP no salão" é correto.

Por que um tema tão enfadonho? As pessoas viriam à tona para algo como isto: "AOP, pintos, comércio", "AOP, estilo e pintos", "AOP, pintos ou bebida em Peter", "SOTCA, BAAABY, AOP".

Estava brincando :-))

 
Vasiliy Sokolov:

Merda, cara, você deve conhecer um pouco primeiro o assunto e depois fazer seus comentários analfabetos.

Você é um idiota? )) Eu não disse uma palavra ruim sobre F#. Aprenda a ler e entender o que lhe é dito antes de publicar seus comentários estúpidos.

Se você estiver comparando o OOP com FP, é mais razoável compará-lo com uma linguagem FP pura, ou seja, haskel. F# já é mais ou menos assim, enquanto python e R não são de todo. É isso que eu quero dizer. Caso contrário, podemos chegar a um ponto em que C++ é também uma língua FP.