Parlare dell'OLP nel salone - pagina 3

 
Andrei:

Questa funzionalità è immaginaria, progettata per i creduloni. Tutte le funzioni possibili possono essere implementate nei linguaggi tradizionali. È solo un desiderio di sostituire l'accorciamento della sintassi con una funzionalità che in realtà nasconde solo l'implementazione reale dell'algoritmo, che danneggia sia il programmatore che gli strumenti di ottimizzazione del codice per diverse architetture di calcolo...

Ma non si può negare che i linguaggi funzionali sono di gran lunga superiori ai linguaggi procedurali nell'implementazione di algoritmi multi-thread. Quanti core ha la tua CPU?
 
Vasiliy Sokolov:
Ma non si può negare che i linguaggi funzionali sono di gran lunga superiori ai linguaggi procedurali nell'implementazione di algoritmi multi-thread.
Non confondere i concetti. I linguaggi funzionali hanno un'implementazione veloce nel compilatore per alcune funzioni, che quindi hanno una sintassi breve, ma lo stesso si sarebbe potuto fare anche per le funzioni nei linguaggi tradizionali, ma non sono riusciti o non hanno voluto farlo. Non appena lo faranno, tutti i linguaggi funzionali andranno immediatamente in rovina in quanto non universali e unilaterali.
 
Vasiliy Sokolov:

La logica è chiara, poiché OOP significa non funzionale... facepalm......

ooh, qualcuno non sa cosa sia la programmazione funzionale ))))

Sei tu che hai tirato fuori questa logica, non io. Non è quello che intendevo
 
Комбинатор:

Oooh, qualcuno non sa cosa sia la programmazione funzionale ))))

Accidenti, amico, prima dovresti imparare un po' l'argomento e poi venire con i tuoi commenti analfabeti.

Solo per riferimento: qui, qui, qui, qui, qui e così via.

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

Quando ho visto l'avatar di Alexei, ho pensato che si trattasse ancora di donne... e non mi sbagliavo

Ci sono ancora persone e cose fondamentali nel forum.

Ci sono ancora persone e cose fondamentali sul forum.

Non ne dubitavo.

Giù le mani dal nostro Casanova! Almeno sono contento che qualcuno abbia un sacco di ragazze...

 
Alexey Volchanskiy:

Una risposta a sangue freddo alla provocazione:

Chi ha esperienza non farà queste domande )))))))) Perché è la classe madre che non fa nulla. Il suo compito è quello di fornire un unico genitore per tutta la prole. E a quale scopo?

Non è solo una "classe madre che non fa niente".

Fornisce un foglio di base e funzionalità di confronto.

Penso che sia molto corretto e necessario.

Quindi, CObject è un "oggetto lista che può essere confrontato". E mentre possiamo discutere se questa funzionalità debba essere in un oggetto base o no, penso che la funzione Compare() sia una cosa molto utile. Personalmente lo uso per l'ordinamento e la ricerca degli array.
 
George Merts:

Questa non è solo una "classe madre che non fa nulla".

Fornisce un foglio di base e funzionalità di confronto.

A mio parere, molto corretto e necessario.

Questa è esattamente la funzionalità che non avrebbe dovuto essere implementata in CObject. Quasi tutto in esso è ridondante e sbagliato.
 
Vasiliy Sokolov:
È proprio questa funzionalità che non doveva essere implementata in CObject. Quasi tutto quello che contiene è ridondante e scorretto.

Cosa dovrebbe significare?

Cosa dovrebbe esserci nell'"oggetto base" secondo voi?

Personalmente ho quasi TUTTI gli oggetti in tutti i miei progetti - ereditati da CMyObject: public CObject, (nel mio oggetto sono aggiunti altri due campi - nome della classe e ID dell'istanza), e ripetutamente ho trovato che ho bisogno della funzionalità CObject::Compare() molto. Un paio di volte sono stati utili anche i puntatori di liste.

 
George Merts:

Cosa dovrebbe significare ?

Cosa pensi che dovrebbe esserci nell'"oggetto base"?

Personalmente, ho quasi TUTTI gli oggetti in tutti i miei progetti ereditati da CMyObject: classe pubblica CObject, (nel mio oggetto sono aggiunti altri due campi - nome della classe e ID dell'istanza), e più di una volta ho trovato che la funzionalità CObject::Compare() era piuttosto utile. Un paio di volte i puntatori di lista sono stati utili.


Buon punto. Sarebbe bello se gli argomenti fossero supportati dal codice, non solo dal bla-bla-bla.

E all'autore del topic, vorrei far notare che "Parlare di OOP al salone" è corretto.

Perché un argomento così noioso? La gente verrebbe su per una cosa del genere: "AOP, chicks, trading", "AOP, styling and chicks", "AOP, chicks or drink in Peter", "SOTCA, BAAABY, AOP".

Sto solo scherzando :-))

 
Vasiliy Sokolov:

Merda, amico, dovresti prima conoscere un po' l'argomento e poi entrare con i tuoi commenti da analfabeta.

Sei un idiota? )) Non ho detto una parola negativa su F#. Impara a leggere e a capire quello che ti viene detto prima di postare i tuoi stupidi commenti.

Se stai confrontando OOP con FP, è più ragionevole confrontarlo con un linguaggio FP puro, cioè haskel. F# è già così così, mentre Python e R non lo sono affatto. Questo è quello che voglio dire. Altrimenti potremmo arrivare ad un punto in cui il C++ è anche un linguaggio FP.
Motivazione: