Vantaggi delle lingue non operose e buoni usi
https://softwareengineering.stackexchange.com/questions/125649
-
03-11-2019 - |
Domanda
Sono uno sviluppatore C#, ma conosco anche Java, JavaScript, XSLT, un po 'di C e Perl, e qualche altro che avrei potuto dimenticare. Tuttavia, il paradigma a cui sono più familiare è OOP.
Ho sempre pensato che OOP fosse la naturale evoluzione della programmazione procedurale, ma mi chiedevo se OOP fosse così perfetto. Dopo aver letto alcuni articoli sul Web e alcune domande qui, ho scoperto che molte persone non sono d'accordo con questo, e alcuni dicono che anche che OOP è una cattiva opzione.
Durante lo sviluppo, apprezzo molto l'uso di Lambdas, LINQ, tipi anonimi e godo davvero JavaScript con la sua natura di prototipazione e dinamica.
Tuttavia, non riesco a pensare a nessun scenario in cui OOP non è un'opzione o in cui altri paradigmi si adattano meglio. L'unica cosa a cui riesco a pensare è che a volte la programmazione con OOP è davvero noiosa e lenta, come dover dichiarare una classe, importare altre classi e dichiarare un metodo, specificando i suoi parametri, il tipo di ritorno e il nome solo per mostrare "Ciao, mondo ! " Nella schermata della console. Tuttavia, per i programmi di vita reale, sembra qualcosa che compensa il suo costo.
In quali scenari altri paradigmi si adattano meglio a OOP? Quali sono i suoi vantaggi rispetto all'OOP ed erano OOP peggiora le cose invece di aiutare? Soprattutto, quali sono i vantaggi e in quali scenari eccellono la programmazione procedurale e funzionale?
Nessuna soluzione corretta