venerdì 2 maggio 2014

Contributi delle singole Linguaggi di programmazione per lo sviluppo del software

Ho stancato dei blog e sproloqui forum attestante perché un linguaggio di programmazione è migliore di un altro. Non mi dispiace quando le lingue sono confrontati per aiutare a vedere come sono diversi o anche quando una lingua è sostenuto come meglio per una situazione molto specifica per un motivo specifico. Devo ancora trovare (e non si aspettano di trovare) un linguaggio di programmazione che è meglio di tutte le altre lingue per tutte le situazioni (e questo include  HTML5 ). In realtà, ho trovato il contrario per essere vero: anche se ho sicuramente il mio preferito manciata di linguaggi di programmazione, riconosco che una gamma molto più ampia di linguaggi di programmazione (anche alcuni che non mi piace personalmente) hanno aiutato lo sviluppo del software come praticare arrivare dove siamo oggi.
In questo post del blog, guardo i contributi di diversi linguaggi di programmazione diversi per la nostra disciplina. Nella maggior parte dei casi, il linguaggio elencato non è stato il primo ad introdurre il concetto o la funzionalità, ma fu il primo a renderlo popolare o "mainstream." Lo scopo di questo post non è affermare che il linguaggio di programmazione è meglio o perché uno è la cosa migliore dopo il pane a fette, mentre un altro è la cosa peggiore per accadere mai a uno sviluppatore di software.Anche io non coprire markup "lingue" come XML o HTML in questo post, anche se, ovviamente, hanno avuto notevole influenza sullo sviluppo del software.
Di base
La maggior parte degli sviluppatori di software che conosco hanno scritto del codice in una qualche forma di  BASIC  (All Purpose Symbolic Instruction codice per principianti). Mi ricordo che, molto prima che la disponibilità pubblica di Internet o anche topi su PC, digitando il codice di base da riviste che ho ricevuto nella mail con annunci di codice per i vari giochi semplici e utility per PC. Come molti sviluppatori, di base era la lingua che ha attirato il mio interesse ad una età relativamente giovane alla programmazione. Era dalla mia programmazione di base che ho imparato in prima persona i pericoli del  goto .

Non avevo mai considerato il potere di  riflessione  e  introspezione  fino utilizzando Java. Java continua ad aggiungere funzionalità di riflessione come  metodo gestisce in Java 7  e la nuova java.lang.reflect.Parameter  classe in Java 8 . La capacità di programmtically dati di accesso sugli interni della macchina virtuale e anche di eseguire applicazioni sé era un concetto introdotto per me di Java  Java Management Extensions ( JMX ).
Emergere di Java si è verificato in epoca di noi sviluppatori C + + (tra gli altri) afferrare concetti trattati nella  Banda dei Quattro 's libro  Design Patterns: Elementi di riutilizzabile Software Object-Oriented .Java ha introdotto funzionalità incorporate nel linguaggio formalizzato alcuni dei concetti di questo libro per noi. In particolare, il Java interfaccia  rende attuare molti dei modelli descritti nella suddetta libro facile. Java incluso anche caratteristiche che hanno portato gli sviluppatori a prendere decisioni in merito codifica basato sull'esperienza pratica piuttosto che semplicemente teoria. Il miglior esempio che posso pensare è l'introduzione di Java  eccezioni controllate . Sia amato o odiato, implementazione Java di  eccezioni controllate ed eccezioni unchecked  ha aiutato molti sviluppatori per formare opinioni basate su esperienze reali su tali concetti.
Grazie va a  Nathan verde  e  Valery Silaev  per altresì sottolineare che ho trascurato di menzionare Java. Valery ha sottolineato gli stessi vantaggi VM Java propagandato e ha sottolineato la fiducia e le prestazioni guadagni in un ambiente di macchina virtuale. Nathan aveva lo stesso pensiero di me circa le virtù di generazione di documentazione dal codice sorgente Java reso mainstream con Javadoc.Nathan sottolinea inoltre che la JVM ha sostenuto alcuni (minore a mio parere) le lingue prima. NET è nato. Io sostengo che. (Costretto per necessità, ma, come sottolinea Nathan, del NET  non del tutto riuscito ) sostegno di una delle più diffuse lingue del mondo (Visual Basic) essere in grado di chiamare librerie scritte nel nuovo piccante (C #) era quello che davvero ci ha aiutato a vedere che cosa era pratico e commercialmente valida su grandi programmi.
Altri JVM lingue
Non ho intenzione di individuare linguaggi diversi da Java che vengono eseguiti in JVM in questo post, ma sono senza dubbio influenzare lo sviluppo del software, in particolare tra gli sviluppatori Java esistenti.  Groovy  mi ha aiutato ad abbracciare il mio scripter interiore e  Scala  mi ha aiutato a vedere più chiaramente i pericoli di  stato mutabile  e il valore della  programmazione funzionale .  Clojure , Kotlin , e  Ceylon  sono anche sfidando i modi sviluppatori Java di pensare e di introdurre nuovi concetti, alcuni dei quali addirittura farne Java stesso. Questi linguaggi alternativi JVM portare molti dei concetti e delle influenze dei linguaggi non-Java ( di Ruby ,  Lisp , Erlang , ecc) per lo sviluppatore Java senza lasciare il comfort della JVM. I migliori esempi di questo ultimo punto sono  JRuby  (per Ruby) e Jython  (per Python).
PHP
Nel mio post  Perché PHP sarà il mio Successivo lingua , ho scritto su alcuni dei motivi stavo dando PHP un'altra possibilità seguiti molto non gradire quello che ho visto quando ho guardato alla fine del 1990. In molti modi, credo che lo stesso post è un riflesso di come PHP è stato positivamente influenzato dalle esperienze degli sviluppatori con altre lingue e culture. Non c'è dubbio che PHP ha avuto un enorme impatto sullo sviluppo web. PHP è stato un "linguaggio di gateway" per molti nuovi sviluppatori web. E 'facile miscelazione di presentazione e logica lato server ha irritato alcuni di noi, ma stato visto come un vantaggio per gli altri. Mi ha ricordato che senza regole nello sviluppo di software sono assoluti.
Numerose le principali piattaforme web sono costruite su PHP e forniscono PHP API. L'ubiquità di questi significa necessariamente che gli sviluppatori non possono fare a meno di utilizzare e possono essere influenzati da PHP come scrivono per queste piattaforme. E 'interessante per me che la pagina web  linguaggi di programmazione passati e le loro influenze sulle lingue di oggi e paradigmi di programmazione  è alimentato da PHP, anche se PHP non è specificatamente menzionato nell'articolo. Sembra qualcosa di simile a un blog Java orientata non con Java come una delle sue lingue che ha contribuito allo sviluppo di software.

Nessun commento:

Posta un commento

Nota. Solo i membri di questo blog possono postare un commento.