Qualsiasi linguaggio di programmazione che supporti esclusivamente Generics e non abbia supporto OOP? [chiuso]

3

Sto scrivendo un articolo sulla tensione tra OOP e programmazione generica creata da Stepanov. Egli critica ampiamente OOP e afferma che è "tecnicamente errato" rispetto alla programmazione generica.

Ora so che abbiamo un sacco di linguaggi di programmazione che supportano OOP in esclusiva e non hanno alcun supporto generico compreso Google GO per esempio, che è un linguaggio moderno che hanno scelto di non implementare Generics a causa della loro complessità. So che abbiamo un sacco di lingue che supportano sia Generics che OOP, ad esempio C ++ e la famosa libreria STL di Stepanov.

La mia domanda è: abbiamo qualche linguaggio di programmazione moderno o qualsiasi altro che supporti Generics esclusivamente senza OOP?

EDIT: Vorrei aggiungere che ho provato a guardarmi intorno e non riesco a trovare molto, quindi ho pensato che avrei chiesto qui.

Tanto per aggiungere che quando mi riferisco alla programmazione generica rispetto a quella orientata agli oggetti mi riferisco a:

Programmazione orientata agli oggetti Vs generica

Sulla tensione tra programmazione orientata agli oggetti e generica in C ++

    
posta Louie Bacaj 16.12.2013 - 00:11
fonte

1 risposta

8

La programmazione generica comprende molto più della semplice "Generica", che a sua volta è un altro nome per polimorfismo parametrico . Questo concetto è piuttosto diffuso e non limitato ai linguaggi orientati agli oggetti. È una caratteristica distintiva della famiglia di linguaggi ML che include Standard ML , Ocaml (che supporta anche OOP, ma è principalmente funzionale) e < em> Haskell .

Il polimorfismo parametrico non è l'unico modo per fare programmazione generica. Ad esempio, i sistemi macro (come templates in C ++) o un sistema di tipo dinamico sono altri modi.

Tuttavia, l'OOP nei suoi vari sapori è un altro modo valido e diffuso di programmare genericamente, ad esempio attraverso l'uso di interfacce (o un concetto equivalente) o di digitazione anatra. In questo senso, Go è generico, in quanto una funzione in quel linguaggio può accettare un argomento che è definito solo dalla sua interfaccia.

    
risposta data 16.12.2013 - 00:30
fonte

Leggi altre domande sui tag