I linguaggi di programmazione sono praticamente "stabili" per ora? [chiuso]

2

Recentemente ho esaminato la " timeline " dei linguaggi di programmazione e, sebbene molto sia cambiato negli ultimi 5-10 anni, ci sono molte lingue che hanno praticamente "fermato" il stesso nella loro nicchia / uso.

Ad esempio, prendiamo il linguaggio C. In realtà non vediamo mai molti linguaggi sviluppati (correggimi se sbaglio) per provare a Unseat C. Tuttavia, ci sono un sacco di linguaggi che cercano di fare cose simili (guarda tutti gli SQL / No-SQL lingue) Lingue di scripting, ecc.

C'è una ragione per questa tendenza?

O è solo perché C è stato progettato molto bene? e non c'è davvero bisogno di nuovo una volta?

    
posta EL Yusubov 03.10.2012 - 22:11
fonte

4 risposte

4

Ci sono molte lingue che tentano di sostituire C

Prima c'era C ++, quindi Java e C # cercavano di sostituirlo.
Recentemente Go sta provando a sostituire C direttamente.

Ma c'è un sacco di codice legacy e molta più esperienza legacy in C, quindi non puoi fare cose troppo diverse e sperare di essere un successo istantaneo

    
risposta data 03.10.2012 - 22:17
fonte
1

Vorrei che non si aspettasse cambiamenti drammatici . Solo i miglioramenti minori possono essere visti nei confronti dei problemi che i framework cercano di risolvere con garbo con meno linee di codice.

Pertanto, ci sono sempre più astrazioni e strumenti per automatizzare il processo di creazione di un determinato codice per ottenere la generazione del codice CRUD. In altre parole, gli strumenti / i framework sono creati per sostenere metodologie di sviluppo rapido delle fasi e richieste di produttività . Tuttavia, i concetti fondamentali delle lingue (loop, gestione delle eccezioni, ecc.) Rimangono quasi invariati.

Ad esempio, prendi generazione di codice T4 in C # . È un altro potente componente aggiuntivo per gestire la generazione di codice di routine come avviene con la generazione di testo in questo codice di esempio - Generazione del codice e modelli di testo T4 .

    
risposta data 03.10.2012 - 22:32
fonte
0

Sarebbe molto difficile "spodestare" C: combina le prestazioni di un linguaggio assembly con la forza espressiva di un linguaggio assembly, pur offrendo un discreto grado di portabilità. Se desideri una velocità di esecuzione grezza, preferiresti non codificare in assembly e non ti interessi per i livelli di astrazione aggiuntivi, C si adatta perfettamente alla fattura. Un po 'di sviluppo è andato avanti sul lato degli standard di C, bit è stato principalmente per le funzionalità minori.

Al contrario, C ++ si è evoluto molto, aggiungendo lambda e migliorando significativamente il meccanismo dei template. Tuttavia, l'obiettivo era rendere C ++ più adatto per compiti di livello superiore, non per migliorare la sua velocità - può essere veloce come C, perché è molto vicino ad essere un super set di C corretto (esistono delle incompatibilità semantiche tra due lingue).

    
risposta data 03.10.2012 - 23:13
fonte
0

Man mano che le lingue vengono utilizzate, diventerà chiaro che alcune cose mancano nella lingua e tali cose verranno aggiunte. Con il senno di poi, sarà chiaro che alcune cose avrebbero potuto essere fatte meglio, ma i progettisti di linguaggi sono generalmente molto riluttanti a rompere la retrocompatibilità e quindi i linguaggi di grandi dimensioni probabilmente rimarranno con questi dettagli (si pensi al C ++).

Ogni tanto, le persone guardano queste lingue, lamentano tutti i difetti che trovano e decidono che possono sicuramente fare meglio da zero. Di tanto in tanto, un tale linguaggio avrà un pubblico più vasto e forse sostituirà una lingua esistente come "la cosa alla moda". (La vecchia lingua sarà ancora usata nel codice legacy, ovviamente.)

Queste modifiche saranno lente; l'adozione delle lingue è difficile, le aziende non vogliono rischiare di utilizzare una piattaforma non testata, ma i cambiamenti sono avvenuti fino ad ora, e non c'è motivo di credere che non continueranno ad accadere in futuro.

    
risposta data 03.10.2012 - 23:19
fonte