De 9 programmeertalen die je in 2021 moet leren ontdekken
Met de evolutie van nieuwe processoren, logische borden en de behoefte aan meer prestaties, winnen nieuwe programmeertalen zoals Go en Rust aan terrein. Ontwikkelaars krijgen deze soort vragen vaak – wat moet ik als volgende leren? De industrie verandert in een hoog tempo, en je vindt altijd iets nieuws om te leren. Maar de vraag is: hoe kies je je volgende taal?
Uw kennis, interesses en carrièredoelstellingen zijn de hoofdsleutel. Er zijn een paar bekende talen die de computerindustrie domineren zoals Python en JavaScript, waar je moeilijk mis kunt gaan.
Maar wat als je iets minder populairs wilt proberen? Om je te helpen, hebben we enkele nieuwe programmeertalen verzameld die een kans hebben om industriestandards te worden. Kies je wapen zorgvuldig.
9. Kotlin
Beïnvloed door: JavaScript, Java, C# en Scala
Kotlin is een statisch getypeerde taal voor moderne multiplatform-applicaties. Het is ontwikkeld door een team van JetBrains en verscheen voor het eerst in 2011. Het is ontworpen om een industriële sterkte object-georiënteerde programmeertaal te zijn, beter dan Java, en volledig interoperabel met Java-code zodat gebruikers geleidelijk van Java naar Kotlin kunnen migreren.
Naast de methoden en klassen van de object-georiënteerde benadering, ondersteunt Kotlin procedureel programmeren met het gebruik van functies. Het ondersteunt ook Linux en Perl shell script-stijl string-interpolatie en type-interface.
Kotlin kent infix-notatie, null-veiligheid, en extensiefuncties. Op Google I/O 2017 werd Kotlin aangekondigd als een officieel Android-ontwikkelplatform. Het werd de derde taal die volledig compatibel is met Android na C++ en Java.
De taal wordt gebruikt door Pinterest, Square, Trello, Amazon Web Services, Uber, en Corda heeft meer dan 90% Kotlin in zijn codebase.
8. Elm
Beïnvloed door: Standard ML, F#, Haskell en OCaml.
Elm is een verheugende taal, speciaal ontworpen voor het creëren van webbrowser-gebaseerde grafische gebruikersinteracties. In tegenstelling tot JavaScript, genereert het geen runtime-uitzonderingen. In plaats daarvan gebruikt Elm type-inferentie om problemen tijdens compilatie te detecteren en gebruiksvriendelijke hints te geven.
De taal richt zich op 3 factoren – prestaties, bruikbaarheid en robuustheid. Het omvat een expressieve set taalconstructen, waaronder let-expressies, anonieme functies, if-expressies, case-expressies en lijst-interpolatie.
Elm heeft zijn eigen virtuele systeem, echter, het heeft geen ondersteuning voor higher-kinded types. Daarom biedt het geen abstracties voor diverse veelvoorkomende operaties, bijvoorbeeld, er is geen generieke map- en filterfunctie.
Een paar bedrijven die Elm in productie gebruiken zijn NoRedInk, Futurice, Gizra, Hearken, PivotalTracker, en meer. Met de opkomst van mobiel, heeft Elm een grote kans om de markt te betreden en er een tijdje te blijven.
7. Julia
Beïnvloed door: Fortran, Lisp, Lua, Python, Perl, Ruby en MATLAB
Julia is een high-level programmeertaal voor numerieke analyse en computationele wetenschap. Het heeft een uitgebreide wiskundige functiebibliotheek, gedistribueerd parallelle uitvoeringsprogramma, gesofisticeerde compiler, evenals numerieke nauwkeurigheid.
Het omvat open-source Fortran en C-bibliotheken voor signaalverwerking, lineaire algebra, stringverwerking en willekeurige getalgeneratie. Programma's geschreven in Julia zijn georganiseerd rond multiple dispatch, wat u de mogelijkheid geeft om functiegedrag te definiëren over diverse combinaties van argumenttypen.
Julia legt geen specifieke parallelle stijl op aan de gebruiker. Het biedt verschillende sleutelbouwstenen voor gedistribueerde berekening, wat het flexibel genoeg maakt om een breed scala aan parallelle stijlen te ondersteunen, en gebruikers meer toe te laten.
Niet alleen is het snel en gemakkelijk om webapps in Julia te maken, maar het resulterende product is snel om te reageren en gemakkelijk te gebruiken. Veel gevestigde bedrijven hebben begonnen met Julia, waaronder Facebook, McAfee, Zulily, Disney, Capital One, IBM en Forio.
6. Elixir
Beïnvloed door: LFE, Clojure, Erlang en Ruby.
Elixir is ontwikkeld voor het creëren van real-time gedistribueerde applicaties. Het is een dynamische, functionele taal die de Erlang VM benut, bekend om het draaien van lage latentie en fout-tolerante systemen. Het doel van deze taal is om de prestaties van Rails-apps te verbeteren die draaien over verschillende CPUs.
Elixir-code draait op de Erlang Virtual Machine bekend als BEAM en wordt gecompileerd naar Erlang-bytecode. Als u werkt aan dataverwerking, netwerkapps of een soort banksoftware, is dit een geweldige optie om te overwegen. Maar, als u nog geen functioneel programmeren heeft gedaan, is dit waarschijnlijk niet makkelijk voor u.
Alles in Elixir is een expressie, en functies kunnen aangeroepen worden zonder impact op de runtime. De taal hecht meer waarde aan higher-order functies en recursie in plaats van side-effect-gebaseerde lussen. Bovendien kenmerkt het patroonherkenning, lichtgewicht concurrentie, en lazy en asynchrone collectie met streams.
Elixir wordt met succes gebruikt in bedrijven zoals Moz, Pinterest, Inverse en Bleacher Report. Het organiseert jaarlijkse evenementen in Europa en de Verenigde Staten, evenals kleinere conferenties en lokale evenementen.
5. Rust
Beïnvloed door: C#, Ruby, C++, Alef, Haskell, NIL, Cyclone, Limbo en Erlang.
Rust is de systeemprogrammeertaal ontwikkeld door Mozilla. Het won de toppositie in de categorie "Meest Geliefd" van Stack Overflow's 2016 en 2017 ontwikkelaarsenquête. Het ontwerp van de code is verfijnd via de Servo-webbrowser-layoutengine en de Rust-compiler. Het is zeer vergelijkbaar met C++ en heeft een makkelijk te leren syntaxis.
Rust is ontworpen om een veilige, gelijktijdige en praktische programmeertaal te zijn, die imperatieve procedurele alsook functionele methoden ondersteunt. Het is niet voor het ontwikkelen van apps voor eindgebruikers, maar voor hardware, specifiek voor betere geheugerveiligheid (voorkomt segmentatiefouten) terwijl prestaties gehandhaafd blijven.
In plaats van geautomatiseerde garbage collection te gebruiken (zoals Java en Go), beheert Rust geheugen en andere bronnen via Resource Acquisition Is Initialization, met optionele referentietelling. Daarnaast biedt het deterministisch resourcebeheer met minimale overhead, en favoriseert stack-allocatie van waarden.
De lijst van zakelijke gebruikers is indrukwekkend met namen zoals Telenor Digital, SmartThin, Dropbox, Wire, Braintree, daZta, Ather, Onesignal, Faraday en clever cloud.
4. Crystal
Beïnvloed door: C, Ruby, C# en Python
Crystal is een object-georiënteerde taal die hoopt C-achtige prestaties te brengen in de hoogst geabstraheerde wereld van webontwikkelaars. De syntaxis is grotendeels geïnspireerd door Ruby, het extra voordeel van een lagere leercurve voor ervaren Ruby-ontwikkelaars.
Crystal steunt op LLVM voor het emitteren van native code, waardoor alle optimalisaties in de toolchain benut worden. Bovendien is het statisch typegecheckt, zodat elk type fout eerder gevangen wordt in plaats van runtime te falen.
De taal bezit een macrosysteem en ondersteunt operator-overloading en automatische garbage collection. Het heeft een toegewijde syntaxis om eenvoudig native bibliotheken aan te roepen, wat de noodzaak elimineert om low-level taken opnieuw te implementeren. Bovendien gebruikt het groene threads, bekend als fibers, om concurrentie te bereiken.
Lees: 20 Grootste Computerprogrammeurs Aller Tijden
Crystal is momenteel in de ontwikkelfase. Toch hebben een paar dappere mensen al begonnen met het gebruik ervan in de productielijn, waaronder Neopoly GmbH, Appmonit, Bulutfon, en Protel.
3. Groovy
Beïnvloed door: Python, Java, Smalltalk, Objective-C en Perl
Groovy is een object-georiënteerde scripttaal, voor het eerst verschenen in 2003, maar de stabiele release kwam in 2007. Aangezien het dynamisch gecompileerd wordt naar Java-bytecode, integreert het naadloos met elke Java-bibliotheek. Dus als u in Java of een andere code die de accolade-syntaxis gebruikt hebt geprogrammeerd, kunt u Groovy snel leren.
Groovy wordt ook populairder omdat het de productiviteit van ontwikkelaars verhoogt en toegang heeft tot het Grails-webapplicatieframework. Het is vol met coole functies waaronder NoSQL-ondersteuning, krachtige view-technologie, pluggability en meer.
In tegenstelling tot Java, heeft Groovy zowel dynamische als statische typering, native ondersteuning voor reguliere expressies, toegevoegde helper-methoden, operator-overloading, en de veilige navigatie-operator om automatisch null-pointers te controleren. Ook biedt het native ondersteuning voor veel opmaaktalen zoals HTML en XML.
De taal is gebruikt door enkele van de reuzen waaronder Oracle Sales Cloud, eXo-platform, LinkedIn, XWiki Saas, DataMelt, Mastercard, Netflix, Airbus, en Apache OFBiz.
2. R
Beïnvloed door: S, XLispStat, Common Lisp en Scheme.
De R-programmeertaal is niet nieuw, maar is in de laatste jaren populairder geworden, dankzij de big data-revolutie. Het verscheen voor het eerst in 1993, en nu wordt het breed gebruikt onder data-miners en statistici voor data-analyse en het ontwikkelen van statistische software. Het komt met zowel een commandoregelinterface als een grafische frontend.
R-taal is vol met een suite van operatoren voor berekeningen op matrices, een effectieve data-afhandeling, en intermediaire tools voor data-analyse. Het heeft sterkere object-georiënteerde programmeerfuncties dan de meeste statistische computertalen.
R's datastructuren omvatten arrays, matrices, dataframes, vectoren, en lijsten. Het uitbreidbare object-systeem heeft objecten voor tijdreeksen, geo-ruimtelijke coördinaten, en regressiemodellen. Verder werkt R als een algemene matrix-berekeningstool met prestatiebenchmarks vergelijkbaar met MATLAB of Octave.
Lees: 8 Beste Kunstmatige Intelligentie Programmeertalen
R wordt gebruikt door politieke prognostiker FiveThirtyEight om de kansen van de presidentsverkiezingen 2008/2012/2016 en de tussentijdse verkiezingen 2010/2014 te modelleren. Het wordt ook gebruikt door het Republikeinse Nationaal Comité en het Democratische Nationaal Comité om potentiële kiezers te identificeren en inspanningen te managen om het maximum aantal mensen te laten stemmen.
1. Go
Beïnvloed door: C, Python, Smalltalk, Alef, CSP, Modula, Pascal, Limbo en BCPL.
Go werd in 2009 uitgebracht door Google met als doel coderingsproblemen te managen die grote organisaties dagelijks tegenkomen. Gemak van gebruik, eenvoud, gelijktijdigheidsfuncties, en prestaties zijn de hoofredenen waarom ontwikkelaars tevreden zijn met Go. In 2016 won het de TIOBE programmeertaal van het jaar.
Go biedt twee functies die klasse-ervanging vervangen: De eerste is 'Embedding' die gezien kan worden als een geautomatiseerde vorm van compositie en de tweede zijn de 'Interfaces' die polymorfisme bieden. Het heeft ingebouwde functies en bibliotheekondersteuning voor het schrijven van gelijktijdige code – niet alleen voor CPU-parallelisme maar ook voor asynchroniteit.
Lees: 50 Shades of Computer Programming Laws
De taal omvat debugging, testen en code-vetting-tools, zoals go test voor testen en microbenchmarks, go fmt voor het formatteren van code, en nog veel meer. Het omvat ook debugging- en profileringsondersteuning, race-condition-tester en runtime-instrumentatie (zoals garbage-collection-pauzes).
Go heeft veel grote zakelijke gebruikers, waaronder YouTube, Dropbox, Cloudflare, Netflix, BBC, Soundcloud, Zerodha, MaxCDN, Tumbler, Twitter, Yandex, Yahoo, Wikia, Uber, en CoreOS.
Industriële technologie
- Lijnintegratie Revolutie: Moderne Uitdagingen en Oplossingen
- Microprocessor programmeringsfundamenten
- Top 13 B2B SaaS-bedrijven in 2021 – bewezen leiders en innovators
- GLTR: Betrouwbaar statistisch hulpmiddel voor het identificeren van AI-gegenereerde tekst
- Bosque: Microsofts nieuwe lus-vrije taal verbetert codekwaliteit
- Top 17 programmeerboeken om uw coderingsvaardigheden in 2021 te verbeteren
- Top 7 Supply-Chain Trends die 2021 Vormgeven
- CNC-programmering gedemystificeerd: G-code vs M-code
- Embedded Systeem Programmeren: Talen, Architectuur en Toepassingen
- Top 10 Cloudprogrammeertalen Die Elke Ontwikkelaar Moet Beheersen
- De Ideale Programmeertaal Kiezen voor Industriële IoT-Oplossingen