Programmering

Det bedste programmeringssprog at lære nu

Den bedste måde at forstå computere og bøje dem til vores vilje er at lære at tale deres sprog, så de forstår vores kommandoer. De mennesker, der elsker fantasy-romaner, forestiller sig nogle gange, at de lærer magiske trylleformuleringer og besværgelser. De praktisk sindede bruger mere jordet sprog til at repræsentere den logiske struktur af tal og data. Under alle omstændigheder handler det om at forstå, hvilken rækkefølge af tastetryk og museklik, der får computeren til at hoppe gennem metaforiske bøjler og udføre virtuelle danse.

Hver skole, MOOC og uddannelsessted skal omfatte et første sprog for de unge Padawans. Nogle steder, som fyldig Harvard, klamrer sig stadig til 70-tallet C, men mange skoler svinger mellem JavaScript, Python og Java. Den ene er begravet i hver browser, den ene er det rene valg af samfundsvidenskab, og den ene er den typrige præference for mere matematisk-mindede folk.

Er en det bedste valg? Er den ene klart bedre end de andre? Eller er de alle lige så tilbøjelige til at sende et stort antal studerende skrigende ind i deres puder om natten? Lad os undersøge de bedste grunde til at lære Java, Python eller JavaScript.

Java er klassisk

Avanceret placeringstest valgte Java for længe siden, da Java var ung og eksploderede. Måske nåede Java aldrig toppen af ​​sin oprindelige bane, da alle syntes at antage, at det ville være helt dominerende, men det er stadig rygraden i mange websteder, smartphones, fjernsyn og små enheder.

Ved at vælge et sprog med en stærk følge kan den studerende hoppe på en vogn, der allerede er fyldt med sofistikerede udviklingsværktøjer. Desuden er der bazillioner af linjer med open source-kode, som den studerende kan studere, revidere og udvide til deres eget arbejde. De deltager i en stor bevægelse, og det er let for dem at passe ind.

Python er nyt

Faktisk er Python ikke så nyt - projektet startede for mere end 30 år siden - men det føles nyt, fordi dets succes er kommet langsomt. Først for nylig er Python brudt ud og fundet udbredt adoption med afslappede programmører. Nyheden betyder, at de skoler, der omfavner Python, skaber nye lektionsplaner, skriver nye eksamener og udvikler nye dæk med dias. De graver ikke nogle støvede gamle spørgsmål fra 1990'erne med henvisninger til Pets.com og MySpace.

Det nyeste AP-kursus, kaldet Computer Science Principles, lader læreren vælge computersproget, og mange vælger Python på grund af dets friskhed. Nyheden kan være dyb i huden, men alle sprog er bare en smart syntaks, der skjuler strukturens, hvis-så-ellers-beslutningstruktur.

Al denne succes bygger en positiv feedback-loop. November 2020-udgaven af ​​Tiobe-indekset markerede første gang, at Python klatrede ind i nummer to slot (bag C) og erkendte, hvordan sproget blev mere populært end Java.

JavaScript er overalt

Det er i browseren, og browseren er grundlaget for dit skrivebord, din telefon og alle de kiosker, du ser overalt. I det sidste årti har JavaScript overtaget frontlinjerne på webserverne, da Node.js webapps blev den mest populære måde for udviklere at skrive "isomorf kode", der kan køre på både klienterne og serverfarmene. JavaScript er praktisk talt den samme alder som Java, og alligevel tog det år for serverne at finde ud af dens magt. Det er nyt og gammelt på samme tid.

Java er skrevet

Du kan muligvis ikke lide at bruge tiden på at specificere typen for hver variabel, men det tager ikke så meget tid at klikke på tre taster for at tilføje "int" til din kode. Når du gør det, får du al den magt, der kommer ved at lade kompilatoren straks dobbelttjekke din kode og finde de dumme fejl, inden den implementeres. Typekontrollerede sprog tvinger os til at tænke mere nøje på logikken i vores kode, og det er en vigtig lektion for nye programmører. Java's typestruktur reducerer fejl og bygger bedre kode.

Python er ikke skrevet

De typografiske elskere er kloge, og de skriver god kode, men hvis du mener, at din kode er god nok til at køre problemfrit uden de ekstra oplysninger om datatyperne for hver variabel, ja, Python er klar til dig. Computeren kan finde ud af datatypen, når du gemmer dem i en variabel. Hvorfor gøre ekstra arbejde for dig selv?

Bemærk, at denne frihjulsmetode kan ændre sig, omend langsomt. Python-dokumentationen meddeler, at Python-runtime ikke håndhæver funktions- og variabeltypeannoteringer, men de kan stadig bruges. Måske med tiden bliver tilføjelse af typer den dominerende måde at programmere på sproget på, men for nu er det alt, hvad du vælger.

JavaScript er begge dele

Selve JavaScript er ikke skrevet, men for nylig har nogle af de højt profilerede medlemmer af JavaScript-verdenen skiftet over til TypeScript, et supersæt af det originale sprog, der giver dig mulighed for at indstille typerne, når du vil. Og hvis du ikke vil, kører almindelig JavaScript også fint. Det er en afslappet version af typekontrol.

Java styrer enheder

Den mest populære mobiltelefonplatform i verden er Android, en kæmpe stak kode bygget oven på Java. Men det er bare den mest synlige platform. Set-top-bokse, nye Chromebooks og endda nogle desktops kører Android-apps ligesom smartphones. En nær fætter til Java, C #, dominerer Windows-verdenen. C # er ikke nøjagtigt det samme som Java, men det er meget tæt. Hvis du skal skrive en applikation til et fast stykke hardware, er der en god chance for, at Java er det bedste valg.

Python styrer datalogi

Hvis du skriver software til at arbejde med data, er der en god chance for, at du vil bruge Python. Den enkle syntaks har tilsluttet mange forskere, og sproget har fundet en stærk følge i laboratorierne rundt om i landet. Nu hvor datalogi tager fat i alle lag i erhvervslivet, følger Python.

En af de bedste opfindelser til oprettelse og deling af interaktive dokumenter, Jupyter Notebook, begyndte med Python-samfundet, inden de omfavnede andre sprog. Det er en af ​​de bedste måder at blande software, data og teksten sammen, der forklarer, hvad der sker. Læsere kan absorbere ordene og derefter trykke på knapper for at køre softwaren på dataene.

JavaScript styrer internettet

De andre platforme kan være pæne, men webbrowseren er fortsat den ene portal, som næsten alle bruger til at oprette forbindelse til verden. Det er normalt den mest anvendte software på skrivebordet, smartphonen og tabletten. JavaScript startede som chef for denne lokale klient, og dens indflydelse udvidede til total dominans, da væksten af ​​Node.js gjorde det lettere for udviklere at køre den samme kode på klienten og serveren.

Der er også snesevis af gode JavaScript-rammer (Angular, React, Vue osv.), Der tilbyder et fundament til opbygning af din webapp, og nogle er kloge nok til at flytte din kode mellem klienten og serveren efter behov.

Selv i verdener, der domineres af andre sprog, fungerer JavaScript sig ind i stakken. Mange smartphone-udviklere springer over Java og Swift for at oprette deres platformoverskridende apps i JavaScript. Når alt kommer til alt, bestemmer JavaScript, hvad der sker i browserens rektangel, og det garanterer stort set, at det vil tage beslutningen om, hvad der sker med de fleste klik og tastetryk overalt.

Java kører alt

Hvis du skriver Python-kode, er der en god chance for, at den ender med at køre i Jython, en implementering af det sprog, der er skrevet i Java for at drage fordel af Java Virtual Machine's allestedsnærværelse. Hvis du har brug for at køre JavaScript, kan du også føde det til Rhino og Nashorn, to værktøjer, der gør JavaScript til Java bytecode.

Disse to sprog er ikke de eneste, der stoler på JVM's bundsolid præstation. Mange funktionelle programmeringssprog som Scala, Clojure og Kotlin er også afhængige af de samme fundamenter. Dette hjælper alle ved at gøre det lettere at linke disse JVM-baserede sprog sammen, hvis du vil bruge dem i det samme projekt.

Python kører overalt

Python er ikke det første valg eller endda det sidste valg for folk, der skriver emulatorer til andre sprog. Alligevel er det let at finde Python på mange computere. Sprogets skabere har altid distribueret koden som open source, og pakkerne er stort set overalt. Faktisk finder du Python inkluderet i MacOS og mest komplette distributioner af Linux. Og selvom det ikke er inkluderet i Windows, er det en leg at installere - bare gør det på den smarte måde.

JavaScript kører i browseren

Det er svært at tro, at legetøjssproget, der er bygget til at skabe advarselsbokse i browseren, nu er grundlaget for mange sprog. Udviklere ønsker at nå ud til brugere, og hvis brugere bor i browseren, så er det den hurtigste måde at nå alle til at finde en måde, din kode kan køre i JavaScript på.

Det er ikke kun JavaScript-fætre som CoffeeScript og LiveScript, der sendes til JavaScript. Selv sprog som Lisp, OCaml og Pascal kan konverteres til JavaScript og køres i browseren. Python er populær i browseren i projekter som Jupyter-notesbøgerne, og endda Java kan oversættes til JavaScript ved hjælp af værktøjer som Google Web Toolkit.

Java har stærke IDE'er

Eclipse, NetBeans og IntelliJ er nogle af de bedste integrerede udviklingsmiljøer. De blev skabt af Java-samfundet og plejet gennem årene for at skabe et af de mest støttende miljøer til at skrive kode. Kodefærdiggørelsen og kodegenereringsalgoritmerne skriver muligvis ikke al din software, men de kan skrive et betydeligt beløb. Alt dette håndholdte hjælper virkelig nye udviklere med at få syntaksen korrekt.

Disse IDE'er var så populære, at udviklere fra andre sprog fandt en måde at køre deres kode inde i dem. Hvis du bliver en professionel Java-programmør, bruger du næsten helt sikkert en af ​​dem. I mellemtiden, hvis du vil have en enklere og mere venlig Java-programmeringsoplevelse, så prøv BlueJ eller Greenfoot. Disse "begynder-IDE'er" blev designet specielt til at lære Java.

Python har skyen

Python-sproget fandt sit første hjem i Unix-verdenen, og det er derfor ikke overraskende, at skyerne fyldt med Linux-kasser er naturlige steder at finde masser af Python-kode. Nogle af de nyeste værktøjer som Jupyter samler kode, data og forklaring, så folk kan dele deres indsigt med andre som forskningspapirer, der kommer til live. Jupyter-notesbøger er ikke statiske dokumenter, men interaktive værktøjer til udforskning.

Andre bygger sofistikerede værktøjer rundt om sproget for at forbedre forskningen. PyTorch er for eksempel en dyb læringsværktøjssæt fyldt med kode, data og algoritmerne til analyse. Miljøer som dette vil dominere fremtiden for datavidenskab.

Der er også flere gode værter til notesbøger, der tilføjer ekstra funktioner til deling af data og håndtering af store, intensive beregningsdata-analysearbejde. Google kører for eksempel Colaboratory, som gemmer dine data og tilbyder en vis fri adgang til GPU'er til hurtigere beregning. Saturn Cloud viser ydeevne, der kan være 100 gange hurtigere end dit skrivebord.

JavaScript har JSFiddle

Hver browser har mere end nok strøm til at fungere som en IDE. JSFiddle er kun den mest fremtrædende af mere end et dusin websteder, der giver dig mulighed for at dele JavaScript-kode med andre udviklere. Websiderne er dog ikke statiske, fordi du kan fikle med koden og se den køre på den samme webside. Værktøjer som dette gør det nemt at eksperimentere med al den syntaktiske sjov ved JavaScript.

Lær alle - eller alle tre

Programmeringsverdenen elsker at krydsbestøve. Selv om det kan være forvirrende at hoppe mellem forskellige sprog og holde syntaksen lige, er det muligt at bruge alle tre sprog i projekter uden at blive for vild. Java- eller JavaScript-projekter, der analyserer data, kan linke i datalogiske biblioteker skrevet i Python. Eller Python-projekter kan påberåbe sig Java- eller JavaScript-kode.

Smarte udviklere har også oprettet værktøjer til automatisk at oversætte, linke og integrere de forskellige sprog med hinanden. Vil du køre Python-kode i din browser? Der er flere forskellige muligheder nu og sandsynligvis flere kommer. Java har en ScriptEngine-klasse, der evaluerer JavaScript. Der er hundredvis af forskellige sprog, der kører som JavaScript gennem oversættelse eller emulering.

Kort sagt behøver de tre sprog ikke at være øer, der er isoleret fra hinanden. Du behøver ikke at vælge en i det lange løb. Men start med en i starten.

Læs mere om softwareudvikling:

  • De bedste gratis programmeringskurser under lockdown
  • Hvad er CI / CD? Kontinuerlig integration og kontinuerlig levering forklaret
  • Hvad er agil metode? Modern softwareudvikling forklaret
  • Hvad er en API? Grænseflader til applikationsprogrammering forklaret
  • Det bedste programmeringssprog at lære nu
  • De mest værdifulde softwareudviklerfærdigheder i 2020
  • 6 bedste programmeringssprog til AI-udvikling
  • De 24 mest betalte udviklerroller i 2020
  • Full-stack-udvikler: Hvad det er, og hvordan du kan blive en
  • 9 karrieregrupper som enhver softwareudvikler bør undgå
$config[zx-auto] not found$config[zx-overlay] not found