Programmering

Det beste programmeringsspråket å lære nå

Den beste måten å forstå datamaskiner og bøye dem til vår vilje er å lære å snakke språket deres, slik at de forstår kommandoene våre. Mennesker som elsker fantasy-romaner forestiller seg noen ganger at de lærer magiske trylleformuleringer og besvergelser. De praktisk tenkende bruker mer jordet språk for å representere den logiske strukturen til tall og data. I alle fall handler det om å forstå hvilken sekvens av tastetrykk og museklikk som får datamaskinen til å hoppe gjennom metaforiske bøyler og utføre virtuelle danser.

Hver skole, MOOC og opplæringsside må ta et første språk for de unge Padawans. Noen steder, som fete Harvard, holder seg fortsatt til 70-tallet C, men mange skoler svinger mellom JavaScript, Python og Java. En er begravet i hver nettleser, en er det rene valget for samfunnsvitenskap, og en er den typrike preferansen til mer matematisk tenkende folk.

Er det det beste valget? Er en helt klart bedre enn de andre? Eller er det like sannsynlig at de alle sender et betydelig antall studenter som skriker i putene om natten? La oss undersøke de beste grunnene til å lære Java, Python eller JavaScript.

Java er klassisk

Advanced Placement-testen valgte Java for lenge siden da Java var ung og eksploderte. Kanskje Java aldri nådde toppen av sin første bane, da alle så ut til å anta at det ville være helt dominerende, men det er fortsatt ryggraden i mange nettsteder, smarttelefoner, TV-apparater og små enheter.

Ved å velge et språk med en sterk følge kan studenten hoppe på en vogn som allerede er utstyrt med sofistikerte utviklingsverktøy. Videre er det bazillioner av linjer med åpen kildekode som studenten kan studere, revidere og utvide for sitt eget arbeid. De blir med i en stor bevegelse, og det er lett for dem å passe inn.

Python er nytt

Faktisk er Python ikke så nytt - prosjektet startet for mer enn 30 år siden - men det føles nytt fordi suksessen har kommet sakte. Bare nylig har Python brutt ut og funnet utbredt adopsjon med uformelle programmerere. Nyheten betyr at skolene som omfavner Python lager nye leksjonsplaner, skriver nye eksamener og utvikler nye lysbilder. De graver ikke ut noen støvete gamle spørsmål fra 1990-tallet med referanser til Pets.com og MySpace.

Det nyeste AP-kurset, kalt Computer Science Principles, lar læreren velge dataspråket, og mange velger Python på grunn av dets friskhet. Nyheten kan være dyp på huden, men alle språk er bare en smart syntaks som skjuler strukturen for monteringskode hvis det er annet.

All denne suksessen bygger en positiv tilbakemeldingsløkke. November 2020-utgaven av Tiobe-indeksen markerte første gang at Python klatret inn i nummer to-spor (bak C), og anerkjente hvordan språket ble mer populært enn Java.

JavaScript er overalt

Det er i nettleseren, og nettleseren er grunnlaget for skrivebordet, telefonen og alle kioskene du ser overalt. I løpet av det siste tiåret har JavaScript tatt over frontlinjene til webserverne ettersom Node.js webapps ble den mest populære måten for utviklere å skrive "isomorf kode" som kan kjøres på både klientene og serverfarmene. JavaScript er praktisk talt på samme alder som Java, og likevel tok det år for serverne at folk oppdaget kraften. Det er nytt og gammelt på samme tid.

Java er skrevet

Du liker kanskje ikke å bruke tiden på å spesifisere typen for hver variabel, men det tar ikke så mye tid å klikke på tre taster for å legge til "int" i koden. Når du gjør det, får du all den kraften som kommer fra å la kompilatoren dobbeltsjekke koden din umiddelbart og finne de dumme feilene før den blir distribuert. Typekontrollerte språk tvinger oss til å tenke grundigere på logikken i koden vår, og det er en viktig leksjon for nye programmerere. Java's typestruktur reduserer feil og bygger bedre kode.

Python er ikke skrevet

De typespråklige er smarte og de skriver god kode, men hvis du synes koden din er god nok til å kjøre problemfritt uten den ekstra informasjonen om datatypene for hver variabel, vel, Python er klar for deg. Datamaskinen kan finne ut hvilken type data når du lagrer dem i en variabel. Hvorfor gjøre ekstra arbeid for deg selv?

Merk at denne tilnærmingen til frihjuling kan endres, om enn sakte. Python-dokumentasjonen kunngjør at Python-kjøretiden ikke håndhever funksjons- og variabelkommentarer, men de kan fortsatt brukes. Kanskje etter hvert vil legge til typer bli den dominerende måten å programmere på språket på, men foreløpig er alt ditt valg.

JavaScript er begge deler

Selve JavaScript er ikke skrevet, men i det siste har noen av de høyt profilerte medlemmene av JavaScript-verdenen byttet over til TypeScript, et supersett av originalspråket som gir deg muligheten til å angi typene når du vil. Og hvis du ikke vil, vil vanlig JavaScript også fungere bra. Det er en avslappet versjon av typekontroll.

Java styrer enheter

Den mest populære mobiltelefonplattformen i verden er Android, en stor stabel med kode bygget på Java. Men det er bare den mest synlige plattformen. Set-top-bokser, nye Chromebook og til og med noen stasjonære datamaskiner kjører Android-apper akkurat som smarttelefonene. En nær fetter av Java, C #, dominerer Windows-verdenen. C # er ikke akkurat det samme som Java, men det er veldig nært. Hvis du skal skrive en applikasjon for en fast maskinvare, er det en god sjanse for at Java er det beste valget.

Python styrer datavitenskap

Hvis du skriver programvare for å jobbe med data, er det en god sjanse for at du vil bruke Python. Den enkle syntaksen har hektet mange forskere, og språket har funnet en sterk følge i laboratoriene rundt om i landet. Nå som datavitenskap tar tak i alle lag i næringslivet, følger Python.

En av de beste oppfinnelsene for å lage og dele interaktive dokumenter, Jupyter Notebook, begynte med Python-samfunnet før de omfavnet andre språk. Det er en av de beste måtene å blande sammen programvare, data og teksten som forklarer hva som skjer. Lesere kan absorbere ordene og deretter trykke på knappene for å kjøre programvaren på dataene.

JavaScript styrer nettet

De andre plattformene kan være fine, men nettleseren fortsetter å være den ene portalen som nesten alle bruker for å få kontakt med verden. Det er vanligvis den mest brukte programvaren på skrivebordet, smarttelefonen og nettbrettet. JavaScript startet som sjefen for denne lokale klienten, og dens innflytelse utvidet seg til total dominans da veksten av Node.js gjorde det lettere for utviklere å kjøre den samme koden på klienten og serveren.

Det er også dusinvis av gode JavaScript-rammer (Angular, React, Vue, etc.) som gir et grunnlag for å bygge webappen din, og noen er smarte nok til å flytte koden din mellom klienten og serveren etter behov.

Selv i verdener dominert av andre språk, fungerer JavaScript seg inn i bunken. Mange smarttelefonutviklere hopper over Java og Swift for å lage sine plattformapper i JavaScript. Tross alt bestemmer JavaScript hva som skjer i nettleserens rektangel, og det garanterer ganske mye at det vil ta avgjørelsen for hva som skjer med de fleste klikk og tastetrykk overalt.

Java kjører alt

Hvis du skriver Python-kode, er det en god sjanse for at den ender med å kjøre i Jython, en implementering av språket som er skrevet på Java for å dra nytte av den allestedsnærværende Java Virtual Machine. Hvis du trenger å kjøre JavaScript, kan du også mate det til Rhino og Nashorn, to verktøy som gjør JavaScript til Java bytecode.

Disse to språkene er ikke de eneste som stoler på den solide ytelsen til JVM. Mange funksjonelle programmeringsspråk som Scala, Clojure og Kotlin er også avhengige av de samme fundamentene. Dette hjelper alle ved å gjøre det enklere å koble disse JVM-baserte språkene sammen hvis du vil bruke dem i samme prosjekt.

Python løper overalt

Python er ikke førstevalget eller det siste valget for folk som skriver emulatorer for andre språk. Det er likevel enkelt å finne Python på mange datamaskiner. Språkens skapere har alltid distribuert koden som åpen kildekode, og pakkene er stort sett overalt. Faktisk finner du Python inkludert i MacOS og mest fullverdige distribusjoner av Linux. Og selv om det ikke er inkludert i Windows, er det en bris å installere - bare gjør det på den smarte måten.

JavaScript kjører i nettleseren

Det er vanskelig å tro at leketøyspråket som er laget for å lage varslingsbokser i nettleseren, nå er grunnlaget for mange språk. Utviklere ønsker å nå brukere, og hvis brukere bor i nettleseren, vel, å finne en måte for koden din å kjøre i JavaScript er den raskeste måten å nå alle.

Det er ikke bare JavaScript-fettere som CoffeeScript og LiveScript som sendes til JavaScript. Selv språk som Lisp, OCaml og Pascal kan konverteres til JavaScript og kjøres i nettleseren. Python er populær i nettleseren i prosjekter som Jupyter-notatbøker, og til og med Java kan oversettes til JavaScript ved hjelp av verktøy som Google Web Toolkit.

Java har sterke IDEer

Eclipse, NetBeans og IntelliJ er noen av de beste integrerte utviklingsmiljøene rundt. De ble skapt av Java-fellesskapet og oppmuntret gjennom årene for å skape et av de mest støttende miljøene for å skrive kode. Kodefullføring og kodegenereringsalgoritmer skriver kanskje ikke all programvaren din, men de kan skrive ut en betydelig mengde. Alt dette håndholdte hjelper virkelig nye utviklere å få syntaksen riktig.

Disse IDEene var så populære at utviklere fra andre språk fant en måte å kjøre koden på. Hvis du blir en profesjonell Java-programmerer, vil du nesten helt sikkert bruke en av dem. I mellomtiden, hvis du vil ha en enklere og vennligere Java-programmeringsopplevelse, kan du prøve BlueJ eller Greenfoot. Disse “nybegynner-IDene” ble designet spesielt for å lære Java.

Python har skyen

Python-språket fant sitt første hjem i Unix-verdenen, og det er derfor ikke overraskende at skyene fylt med Linux-bokser er naturlige steder å finne mye Python-kode. Noen av de nyeste verktøyene som Jupyter samler kode, data og forklaring slik at folk kan dele sin innsikt med andre som forskningsdokumenter som blir levende. Jupyter-notatbøker er ikke statiske dokumenter, men interaktive verktøy for utforsking.

Andre bygger sofistikerte verktøy rundt språket for å forbedre forskningen. PyTorch, for eksempel, er et verktøy for dyp læring fylt med kode, data og algoritmene for analyse. Miljøer som dette vil dominere fremtiden for datavitenskap.

Det er også flere gode verter for bærbare datamaskiner som legger til ekstra funksjoner for deling av data og håndtering av store, intensive beregningsdataanalyserjobber. Google kjører for eksempel Colaboratory, som lagrer dataene dine og gir gratis tilgang til GPUer for raskere beregning. Saturn Cloud viser ytelsen som kan være 100 ganger raskere enn skrivebordet ditt.

JavaScript har JSFiddle

Hver nettleser har mer enn nok kraft til å fungere som IDE. JSFiddle er bare den mest fremtredende av mer enn et dusin nettsteder som lar deg dele JavaScript-kode med andre utviklere. Nettsidene er imidlertid ikke statiske fordi du kan fikle med koden og se den kjøre på samme nettside. Verktøy som dette gjør det enkelt å eksperimentere med all den syntaktiske moroa med JavaScript.

Lær noe - eller alle tre

Programmeringsverdenen elsker å krysse pollinere. Selv om det kan være forvirrende å sprette mellom forskjellige språk og holde syntaksen rett, er det mulig å bruke alle de tre språkene i prosjekter uten å bli for fast. Java- eller JavaScript-prosjekter som analyserer data kan lenke i datavitenskapelige biblioteker skrevet i Python. Eller Python-prosjekter kan påkalle Java- eller JavaScript-kode.

Smarte utviklere har også laget verktøy for automatisk å oversette, koble til og integrere de forskjellige språkene med hverandre. Vil du kjøre Python-kode i nettleseren din? Det er flere forskjellige alternativer nå og sannsynligvis flere som kommer. Java har en ScriptEngine-klasse som vil evaluere JavaScript. Det er hundrevis av forskjellige språk som kjøres som JavaScript gjennom oversettelse eller emulering.

Kort sagt, de tre språkene trenger ikke å være øyer, isolert fra hverandre. Du trenger ikke å velge bare en i det lange løp. Men begynn med en først.

Les mer om programvareutvikling:

  • De beste gratis programmeringskursene under lockdown
  • Hva er CI / CD? Kontinuerlig integrasjon og kontinuerlig levering forklart
  • Hva er smidig metodikk? Modern programvareutvikling forklart
  • Hva er et API? Grensesnitt for applikasjonsprogrammering forklart
  • Det beste programmeringsspråket å lære nå
  • De mest verdifulle programvareutviklerferdighetene i 2020
  • 6 beste programmeringsspråk for AI-utvikling
  • De 24 best betalte utviklerrollene i 2020
  • Full-stack utvikler: Hva det er, og hvordan du kan bli en
  • 9 karrieregruver som hver programvareutvikler bør unngå
$config[zx-auto] not found$config[zx-overlay] not found