Computer finestre Internet

Il linguaggio di programmazione più interessante. Linguaggi di programmazione moderni e loro utilizzo

Dall'introduzione del primo linguaggio di programmazione nel 1957 alto livello Fortran ha passato quasi 60 anni e non sorprende che la programmazione abbia fatto un balzo in avanti per così tanto tempo. Sono apparse nuove tecnologie, nuovi concetti e paradigmi di programmazione e, naturalmente, nuovi linguaggi. Di norma, la creazione di un linguaggio di programmazione è dovuta alla domanda del tempo: i nuovi compiti spesso richiedono nuovi strumenti per risolverli, che faranno il lavoro meglio dei loro predecessori. A tal proposito, ogni anno compaiono diversi nuovi linguaggi, che assorbono tutto il meglio che è stato accumulato in decenni di programmazione pratica e allo stesso tempo portano qualcosa di nuovo. Alcuni dei linguaggi di programmazione più interessanti che sono apparsi abbastanza di recente, ma che si sono già affermati come strumenti potenti e moderni per lo sviluppatore, saranno discussi in questo articolo.

L'altro genere sono quelli per cui hai una sensazione semplice, ricordi ancora come la sera con la luce fioca della luce notturna, ascoltavi la tua torre nella stessa cassetta, sostenendo che non c'era mai modo di migliorare il musica. Alla fine, ci sono ancora quelli che non ascolti mai, ma sai che sono una specie di antenato, un precursore dello stato dell'arte della musica.

Quindi, cambiando argomento dalla musica alla programmazione, possiamo provare ad assegnare alcuni linguaggi alla popolarità, ad esempio nella prima categoria che potremmo catturare. Nella quarta categoria, l'unico la scelta giusta forse Assembler è l'antenato dell'idea stessa di programmazione. Come è cambiata nel tempo la popolarità dei linguaggi di programmazione?

Swift

Lingua libera scopo generale creato da di Apple per lo sviluppo per iOS e OS X. La lingua è compatibile con Objective-C, che consente di utilizzare entrambe le lingue in un unico programma. Lo sviluppo del linguaggio è iniziato nel 2010 sotto la guida di Chris Lattner, responsabile dello sviluppo di Apple. Swift ha già preso in prestito idee da molti lingue esistenti direzioni molto diverse: da C++ a Haskell. L'introduzione ufficiale della lingua è avvenuta nel giugno 2014, insieme a un manuale di 500 pagine su come utilizzarla. Puoi lavorare su Swift nell'ambiente di programmazione Xcode 6 per iOS. La versione 3.0 della lingua aggiunge il supporto per Linux.
Il linguaggio ha preso molto da Objective-C; allo stesso tempo, si posiziona come più sicuro e veloce. Secondo gli sviluppatori, il codice Swift viene eseguito 1,5 volte più velocemente rispetto a un codice Objective-C simile.

Viene aggiornato mensilmente. I risultati di popolarità sono calcolati in base al numero di specialisti coinvolti nello sviluppo Software, il numero di corsi disponibili per quella lingua e il numero di fornitori esterni associati a quella lingua. I creatori credono che la popolarità si esprima principalmente nel numero di persone che vogliono imparare la lingua.

Va notato, tuttavia, che la scelta non è stata solo una scelta: una persona può sceglierne diverse lingue differenti programmazione. Questo diagramma non è rappresentativo dei linguaggi di programmazione: tocca la popolarità della tecnologia nei quattro anni.

Hack

Un linguaggio sviluppato da Facebook; simile nell'aspetto a PHP. Il codice del programma su Hack viene eseguito su una macchina virtuale speciale che supporta anche PHP. La lingua è aperta - codici sorgente Hack è aperto a tutti coloro che vogliono partecipare al suo miglioramento. Sebbene il linguaggio sia basato sul noto PHP, gli sviluppatori sono riusciti a creare uno strumento completamente nuovo e altamente affidabile per creazione veloce siti web e altre applicazioni. Il risultato ha impressionato così tanto Facebook che tutti i progetti dell'azienda sono stati trasferiti ad Hack, un fatto che parla da sé.

Come abbiamo scritto in precedenza, i risultati vengono aggiornati mensilmente e, a nostro avviso, descrivono in modo più accurato la popolarità di questa lingua. Nella tabella per un dato mese, i risultati sono descritti in percentuale: più percentuale ha una lingua, più è popolare. La tabella include anche le variazioni relative allo stesso mese dell'anno precedente.

Altre cinque lingue più popolari. I creatori di questo diagramma hanno avuto un approccio molto originale. Vale anche la pena notare che questo è un grafico che viene costantemente aggiornato! Statistiche per le tre lingue più popolari. Di seguito è riportata una tabella che mostra la popolarità delle lingue da aprile di quest'anno, nonché il cambiamento di popolarità negli ultimi dodici anni. Figura 9 Grafico che mostra i cambiamenti negli ultimi anni.

Giulia

Un nuovo linguaggio per i calcoli matematici. La sintassi del linguaggio è stata influenzata da Matlab e da altri linguaggi matematici, ma ci sono anche differenze significative. Il linguaggio stesso è scritto in C e C++; codice programma il linguaggio viene eseguito sulla macchina virtuale LLVM, per la quale Julia è dotata di un compilatore JIT. Grazie alla compilazione è stata raggiunta un'elevata velocità di lavoro applicativo, paragonabile a programmi scritti in C++.
Il linguaggio supporta il calcolo distribuito, l'overload delle funzioni e la parallelizzazione del codice. Il compito principale di Julia: lavorare con un grande volume di calcoli mantenendo alte prestazioni. Per questi scopi, al linguaggio è stato aggiunto anche il supporto per il cloud computing. Oltre puramente problemi matematici con l'aiuto di Julia è anche possibile creare programmi generici.

Come puoi vedere, la popolarità di una determinata lingua varia a seconda di come viene appresa. È chiaro, tuttavia, che alcuni dei preferiti stanno emergendo tra i linguaggi di programmazione più popolari. Esaminando i dati provenienti da queste fonti, puoi provare a trovare alcune tendenze di programmazione e provare a prevedere come si comporterà il mercato in futuro. Vale anche la pena notare che il più popolare non significa che la lingua sia la migliore - può essere chiaramente visto nell'esempio dei gruppi musicali.

E cosa ne pensi della popolarità delle lingue? O forse meglio: a quale gruppo paragoneresti il ​​tuo linguaggio di programmazione preferito? . Un profilo tecnico anonimo e specifiche aspettative finanziarie sono solo alcune delle caratteristiche che differenziano la piattaforma. Registrati e scopri come ti vede il tuo datore di lavoro.

Dardo

Un linguaggio creato da Google in sostituzione di JavaScript. A causa di alcuni "difetti fondamentali" in JavaScript che non possono essere risolti, si è deciso di creare Nuova lingua per la programmazione web. Allo stesso tempo, la lingua doveva essere creata il più simile possibile a quelle esistenti, al fine di semplificare la transizione e insegnare ai nuovi arrivati. Attualmente, i programmi Dart vengono eseguiti in due modi: attraverso macchina virtuale Dart VM e per traduzione in JavaScript. In futuro, Dart dovrebbe sostituire JavaScript come linguaggio universale per la programmazione web.

Su quali linguaggi di programmazione dovresti concentrarti nei prossimi mesi? Cosa dovresti considerare quando cerchi corsi di formazione e conferenze? Quali programmatori di lingue non avranno problemi a trovare offerte di lavoro interessanti? L'indice viene aggiornato una volta al mese e tiene conto solo delle lingue complete nel senso di Turing. I creatori sottolineano che l'indice non fa riferimento a quale lingua è la migliore o quando è stata creata la maggior parte delle righe di codice.

Alla fine di gennaio dello scorso anno, il podio non è cambiato e Java era al primo posto consecutivo. Quanto è popolare questa lingua? Ciò semplifica la creazione di applicazioni e la possibilità di estenderle. Troppo vantaggio è anche la generazione di codice indipendente dalla piattaforma.

Digita Script

Un altro linguaggio che si posiziona come sostituto di JavaScript. Il famoso Anders Hejlsberg, l'autore di Delphi, C# e Turbo Pascal, divenne lo sviluppatore del nuovo linguaggio. Il tipo di script è lingua aperta retrocompatibile con Java Script. Il compilatore converte il codice Type Script in JavaScript, che viene quindi eseguito dal browser. A differenza di JS, il nuovo linguaggio supporta tutte le possibilità della programmazione orientata agli oggetti, nonché la connessione di moduli. La compatibilità con Type Script e JavaScript consente di utilizzare il codice JavaScript esistente nei nuovi progetti Type Script, comprese le librerie JS più diffuse. C'è il supporto per il paradigma di programmazione generico.

Tutti gli altri strumenti sono gratuiti. C'è anche un'ottima documentazione, che è un altro sollievo. Aiuta anche nel lavoro dei programmatori. Alcuni dei lavori semplici che la biblioteca può fare per te. Ciò consente ai programmatori di questo linguaggio di godere veramente della libertà di scelta sul posto di lavoro. L'aumento di popolarità, insieme a una piccola curva di apprendimento, ha attratto molti aspiranti programmatori che hanno reso popolari molte tecniche di programmazione inefficaci.

Un altro esempio è concentrarsi sull'uso corretto dei concetti di programmazione orientata agli oggetti, la maggior parte dei framework e delle librerie portabili su tale codice e incoraggiare gli utenti a fare lo stesso. Esempi sono il contenuto del campo come nome di oggetto o il risultato di una funzione anonima invece di un nome di classe.

JavaScript è utile per aggiungere interattività di base alle pagine Web, ma quando il codice dell'applicazione Web è composto da migliaia di righe di codice, i suoi punti deboli diventano evidenti. Ecco perché Google ha creato Dart, il linguaggio che l'azienda ritiene sarà il nuovo linguaggio nativo per la programmazione web.

La sintassi per dichiarare una classe anonima è molto simile a quella di altri linguaggi e i casi d'uso sono simili. È per questi motivi che molti errori sono stati sostituiti con eccezioni. Il linguaggio offre già buoni elementi sintattici per gestire le eccezioni che sono più naturali e più facili da scrivere rispetto al rilevamento e alla gestione degli errori.

Ad esempio: ora puoi dichiarare metodi usando nomi come "list" e o "for"; questo non è stato ancora possibile, perché questi nomi sono in realtà le parole chiave della lingua. L'anno scorso, tuttavia, un gruppo di persone ha deciso che era giunto il momento e l'hanno fatto.

Come JavaScript, Dart utilizza le sintassi e parole chiave simili a quelli utilizzati nel linguaggio C. Tuttavia, una differenza significativa è che mentre JavaScript è basato su prototipi, gli oggetti in Dart sono definiti utilizzando classi e interfacce, come in C++ o Java. Dart consente inoltre ai programmatori di definire ulteriormente variabili con tipi statici. L'idea è di rendere Dart familiare, dinamico e flessibile come JavaScript, consentendo allo stesso tempo agli sviluppatori di scrivere codice che sia veloce e facile da eseguire e che sia difficile commettere errori difficili da trovare.

Inoltre, un supporto più solido per i caratteri Unicode conferma la necessità che i siti Web siano accessibili in molte lingue, soprattutto in Asia e Africa, dove la penetrazione di Internet e quindi i nuovi consumatori stanno crescendo rapidamente. Il forte sviluppo e maturazione di quadri, librerie e strumenti negli ultimi anni è ancora una forte evidenza al riguardo. La nuova versione principale non è una rivoluzione, ma solo un'evoluzione, ma porta molti miglioramenti che semplificheranno la vita ai programmatori.

I partecipanti non devono avere conoscenze di programmazione per accedere ai corsi, gli unici requisiti di registrazione sono l'accesso a Internet e un indirizzo E-mail... Gli adolescenti stanno seguendo un corso di programmazione! inizia il 26 settembre ed è dedicato ai ragazzi dai 12 ai 17 anni che vogliono imparare a programmare.

Ci sono pochi posti dove puoi usare Dart. È progettato per essere eseguito sul client o sul server (a la Node.js), ma l'unico modo per eseguire la versione client di Dart è compilarlo in JavaScript. Tuttavia, anche dopo, non verrà eseguito in tutti i browser. Ma poiché Dart viene rilasciato con una licenza BSD gratuita, qualsiasi venditore che accetti i termini di Google è libero di utilizzare questa lingua nei propri prodotti. Tutto ciò che Google deve fare è convincere l'intero settore.

Dopo ogni lezione, agli studenti viene chiesto di consentire brevi test per verificare se le informazioni sono state ricevute. Ci vogliono solo 6 ore per completare il corso e i laureati potranno finalmente creare il proprio videogioco. L'educazione al coding per i giovani studenti è rivolta a genitori, insegnanti e individui coinvolti in attività extrascolastiche per bambini dagli 8 agli 11 anni e inizia anche il 26 settembre. Indipendentemente dal livello di conoscenza della programmazione, questo corso è progettato per aiutare i genitori e gli insegnanti a incoraggiare i bambini a partecipare alla programmazione e alla programmazione fin dalla tenera età.


Linguaggio di programmazione in studio #2: Ceylon

Gavin King nega che Ceylon, il linguaggio che sta sviluppando alla Red Hat, debba diventare un "Java killer". King è noto come il creatore del framework Hibernate Object Relational Mapping per Java. Adora Java, ma pensa che ci sia ancora molto da migliorare.

Primo software in sole 4 settimane

Il tempo di scorrimento è di 4-6 ore, il corso di formazione è lingua inglese... I corsi aiuteranno i bambini a muovere i primi passi nella padronanza di un linguaggio di programmazione semplice e divertente. La struttura del corso prevede 4 settimane di studio in formato moderno e una settimana dedicata all'esame di promozione.

Il corso inizia con un'introduzione al pensiero pensante, un'abilità necessaria nella creazione di nuovi prodotti, in particolare software. Dopo ogni video lezione iniziano brevi quiz settimanali e argomenti che i partecipanti risolveranno per ottenere rapidamente le informazioni che hanno accumulato.

Alcune delle cose che a King non piacciono di Java sono la sintassi dettagliata del linguaggio, la mancanza di funzioni di prima classe e di ordine superiore e la mancanza di supporto per la metaprogrammazione. È particolarmente rattristato dalla mancanza di una sintassi dichiarativa per la definizione dei dati strutturati, che King afferma "equipara Java a XML". Ceylon mira a risolvere tutti questi problemi.

L'obiettivo di sviluppare questa piattaforma si basava sull'attuale necessità di apprendere in un formato conveniente in modo indipendente e al ritmo di ogni studente. Quali sono le aree che saranno maggiormente utilizzate quest'anno in caso di forte carenza di personale, quali sono le aree correlate che consentono una leggera riqualificazione professionale, quali sono le combinazioni di competenze meglio pagate e un elenco di facoltà proposte che hanno maggiori probabilità di trovare lavoro in futuro - tutto questo bruciare oggetti in questo momento quando gorgogliare è la parola che meglio rispecchia la situazione del mercato del lavoro.

King e la sua squadra non hanno intenzione di reinventare la ruota. Non ci sarà nessuna macchina virtuale Ceylon, il compilatore Ceylon produrrà bytecode java che può essere eseguito sulla JVM. Ma Ceylon sarà più di un semplice compilatore. Obiettivo strategico di questo progettoè la creazione di un nuovo kit di sviluppo per Ceylon che sostituirà Java, che King dice essere "gonfio", goffo e ancora non completamente modernizzato.

Nell'ultima parte della nostra intervista abbiamo parlato dei settori attualmente in onda, dei settori e delle competenze future, ma anche di alcuni dettagli dietro le quinte, come il costo del bonus lingua straniera come parte del pacchetto retributivo o il momento giusto per lasciare l'azienda in cui lavori da tempo.

Sito Web: Quali sono le aree in cui le aziende assumeranno di più quest'anno in Romania? Ci sono più sostituzioni, c'è un nuovo reparto, ma niente di spettacolare. Queste sono le aree in cui vengono presi impegni massicci. Ma le specializzazioni con forte carenza di personale?

Questo è un compito difficile e finora Red Hat non ha rilasciato alcuna utilità per Ceylon. King dice che il compilatore dovrebbe uscire quest'anno. Ma non aspettarti nessun software scritto in "100% puro Ceylon" in qualunque momento presto.


Linguaggio di programmazione allo studio n. 3: Vai

Lo stanno cercando in alcune parti del paese - Brasov, Sibiu, dove si concentra l'industria in questione - ed è molto, molto difficile. Ancora una volta, nell'area della qualità, l'area tecnica. Devi avere esperienza ed esperienza in un'area specifica e quindi trasferire la qualità o condurre ricerche in quell'area. Sono tanti e li stanno cercando.

Qualsiasi specializzazione accompagnata da una lingua straniera è ben retribuita

Ma in termini di mix di abilità? Quali sono i migliori pagati? Non ho l'abitudine di parlare di stipendi perché le differenze sono molto, molto grandi. Tieni presente che questo vale anche a livello livello base v centri di servizio dove è richiesta assistenza clienti ed è richiesta una buona lingua straniera parlata.

Il codice F # è in qualche modo simile al codice OCaml, ma contiene la sua sintassi interessante. Ad esempio, per facilitare i calcoli scientifici, i tipi di dati numerici in F# possono essere unità. F# fornisce anche costrutti per facilitare l'I/O asincrono, parallelizzare la CPU e inviare i processi alla GPU.

È più facile migrare alle vendite

Ad esempio, il tedesco viene pagato da 400 a 600 lei in più oltre allo stipendio di questo livello. Quanto è facile passare da un dominio all'altro? In generale, ci sono alcune aree che tendono ad avere una portata più ampia. Puoi esserlo se cambi azienda.

O essere così buono non. Ma ci sono persone che vogliono migrare e possono andare a lavorare. È finanziariamente difficile migrare, di solito passando dalla finanza al business. In generale, per diventare un Direttore Generale, devi passare attraverso affari, vendite, marketing, operazioni, ma anche un po' di finanza.

Dopo un lungo periodo di maturazione presso Microsoft Research, F# viene ora fornito con Visual Studio 2010. Meglio ancora, ma non a livello aziendale, Microsoft ha reso disponibile un compilatore F# e una libreria radice con la licenza open source Apache. Puoi iniziare con esso gratuitamente e persino usarlo su Sistemi Mac e Linux (usando il runtime Mono).

Il modo più semplice è passare alle vendite, di solito se hai una serie di competenze per aiutarti in quella direzione. Può passare facilmente al servizio clienti, sempre se hai capacità di comunicazione, dalle vendite al marketing, dal marketing alle vendite. Le aree tecniche di solito migrano nell'area tecnica corrispondente.

Dovresti pensare a quando lascerai l'azienda.

Qual è il momento migliore per lasciare l'azienda prima di continuare con essa? Il momento migliore lasciare l'azienda è dove hai imparato tutto quello che devi imparare e hai un'opportunità senza rivali per il tuo futuro professionale a cui vuoi rivolgerti.


Il linguaggio di programmazione studiato # 5: Opa

La programmazione web è molto difficile. Anche le applicazioni web più semplici sono costituite da infinite righe scritte in più linguaggi: HTML e JavaScript per il client, Java o PHP per il server, SQL per il database, ecc.

Opa non sostituisce nessuna di queste lingue individualmente. Inoltre, cerca di sostituirli tutti in una volta, rappresentando un paradigma completamente nuovo nella programmazione web. In un'applicazione Opa, l'interfaccia utente del client, la logica del server e il database di I/O sono tutti scritti nella stessa lingua, Opa.

Ciò si ottiene attraverso una combinazione di framework lato client e server. Il compilatore Opa decide dove eseguire questo programma(sul client, sul server o su entrambi), quindi esegue il suo codice. Per i programmi client, traduce Opa nel codice JavaScript appropriato, incluse le chiamate AJAX.

Naturalmente, con questo tipo di sistema integrato, alla fine dovrebbe venire fuori qualcosa di magico. Il runtime di Opa integra il proprio server web e il proprio sistema di gestione del database che non possono essere sostituiti da alternative standalone. Tuttavia, questo potrebbe non essere così importante data la capacità di sviluppare moderne applicazioni Web basate sui dati con poche decine di righe di codice. Opa è gratuito ed è attualmente disponibile per piattaforme Linux e Mac OS X a 64 bit, mentre altre porte sono ancora in fase di sviluppo.


Il linguaggio di programmazione studiato #6: Fantom

Vuoi creare applicazioni Java o .Net? Se scrivi su Fantom, puoi fare una scelta e poi anche cambiare piattaforma. Questo perché Fantom è stato creato per la mobilità multipiattaforma fin dall'inizio. Il progetto Fantom consiste non solo in un compilatore che può emettere bytecode sia per la JVM che per .Net CLI, ma anche un set di API che disaccoppiano le API Java e .Net e creano un ulteriore livello di portabilità.

Si prevede di aumentare ulteriormente la mobilità del Fantom. È già disponibile un compilatore da Fantom a JavaScript e i seguenti obiettivi possono includere il progetto del compilatore LLVM, Parrot VM e Objective-C per iOS.

Fantom è distribuito gratuitamente sotto Academic Free License 3.0 ed è disponibile per piattaforme Windows e Unix-like (incluso Mac OS X).


Il linguaggio di programmazione studiato # 7: Zimbu

A causa della sua natura mista, la sintassi di Zimbu è unica e specifica, ma allo stesso tempo ha molte caratteristiche. Utilizza espressioni e operatori simili a quelli utilizzati in C, ma con le proprie parole chiave, tipi di dati e strutture a blocchi. Supporta la gestione della memoria, i thread e le pipeline.

L'unico problema è la portabilità. Sebbene Zimbu sia un linguaggio compilato, il suo compilatore produce codice ANSI C e i binari possono essere creati solo su piattaforme con un compilatore C integrato.

Purtroppo il progetto Zimbu è ancora in fase di sviluppo. Il compilatore e alcuni programmi di esempio possono essere creati dall'utente, ma non tutto il codice Zimbu valido verrà compilato ed eseguito come previsto. Non tutte le funzioni dichiarate sono state ancora sviluppate e alcune di quelle già presentate non funzionano correttamente. È probabile che anche la specifica del linguaggio cambi nel tempo, aggiungendo parole chiave, tipi e sintassi secondo necessità. Di conseguenza, anche la documentazione è incompleta. Tuttavia, se vuoi provarlo, le utilità prerequisite sono già disponibili con la licenza Apache.


Il linguaggio di programmazione studiato # 8: X10

L'elaborazione parallela dei dati era una volta una nicchia specializzata nello sviluppo di software, ma con la proliferazione di processori multi-core e calcolo distribuito, il parallelismo ha guadagnato popolarità. Sfortunatamente, gli attuali linguaggi di programmazione non stanno al passo con questa tendenza. Ecco perché IBM Research sta creando X10, un linguaggio progettato specificamente per le moderne architetture parallele che mira a "decuplicare" la produttività degli sviluppatori.

Il parallelismo in X10 è possibile grazie al modello di programmazione PGAS (shared global address space model). Codice e dati sono allocati in blocchi e distribuiti in diversi "spazi", facilitando così la scalabilità di un programma da un prototipo a thread singolo (uno spazio) a uno multi-thread eseguito su uno o più processori multi-core (più spazi ) in un cluster ad alte prestazioni.

Il codice X10 è molto simile a Java. In sostanza, il runtime X10 è disponibile sia come eseguibili incorporati che come file di classe per la JVM. Il compilatore X10 può produrre codice sorgente C++ o Java. Ci sono piani per sviluppare la compatibilità con Java in futuro.

Nel frattempo, il linguaggio si sta sviluppando, sebbene sia già abbastanza sviluppato. Il compilatore e il runtime sono disponibili per una varietà di piattaforme, tra cui Linux, Mac OS X e Windows. Ulteriori utilità sono un ambiente di sviluppo interattivo (IDE) basato su Eclipse e un debugger, che sono concessi in licenza ai sensi della Eclipse Public License.


Il linguaggio di programmazione studiato # 9: haXe

Molte lingue possono essere utilizzate per scrivere codice portatile. I compilatori C sono disponibili per quasi tutte le architetture CPU e il bytecode Java verrà eseguito ovunque si trovi la JVM. Ma haXe (pronunciato "hex") è molto più che portatile. È un linguaggio multipiattaforma che può essere utilizzato in una varietà di ambienti operativi che vanno dal built-in