Oluline on teada Haskelli programmeerimiskeelt

Lang L: none (table-of-contents):

Anonim

Haskelli programmeerimiskeel - võib-olla olete lugenud paljudest keeltest. Kui aga Haskellist kuulete, tuleb esimesena meelde see, mis tuleb: „Siit tuleb veel üks nn wannabe keel“. Esimene küsimus, mis pähe tuleb, on: MIKS? Miks on vaja nii palju keeli? Miks peab see olema nii raske? Miks on python või Ruby nii lihtne, kui võrrelda C või Javaga? Ja mis kuradi see Haskell on?

Ärge muretsege. Olen täna siin, et vastata kõigile teie küsimustele. Kuid kõigepealt, mis on Haskell? Tavaliselt ei leiaks palju inimesi, kes seda keelt õpiksid või räägiksid. Põhjus on see, et Haskell pole nii lihtne kui C või Python. JAH! Ütlesin, et C. Olen olnud programmeerija C-le juba viimased 4 aastat ja see on minu jaoks tegelikult väga huvitav. Kuid see pole Haskelli puhul sama juhtum.

Õppisin Haskelli õppima, kuna minu arvates on see erinevalt C või Pythonist väga keeruline. Python on äärmiselt vinge keel ja väga paindlik. Sellega saate teha peaaegu kõike, mida soovite. Teie kujutlusvõime on Pythonis ainult piir. Nüüd, selle asemel, et Pythoniga kiidelda, lubage meil alustada Haskellist. Sest see on see, milleks me siin oleme, eks?

Kuid enne kui hakkate edasi lugema, lubage mul HOIATA. See keel pole mõeldud algajatele; vähemalt mitte absoluutsete alustajate jaoks. Kui teil pole varasemaid programmeerimiskogemusi, annab Haskell teile ROCKET TEADUSE tunde . Ja see on paksus kirjas. Programmeerijad saavad sellest aru.

Haskelli programmeerimiskeel on puhas funktsionaalne keel. Või oleks õige termin matemaatiline. Kõigile, kellele meeldib matemaatika, on Haskelli dünaamiline programmeerimine eriti teoreemidega eriti mugav.

Mis on funktsionaalne programmeerimine?

Täpsemalt öeldes on funktsionaalses programmeerimiskeeles algne arvutusmeetod funktsioonide tutvustamine argumentidele. Lisaks muudele seda tüüpi keelte funktsioonidele pakub funktsionaalne programmeerimine programmide kodeerimiseks äärmuslikult väikest ja kompaktset meetodit, sealhulgas nende struktureerimiseks suuri abstraktseid meetodeid, ning selleks on vaja mõtteviisi, mis teab, kuidas matemaatikasse sõna anda, mis toetab programmide mõttekäiku, mõnevõrra sarnane teoreemidega.

Sellised keeled juhivad programmeerimiskeele kujundamise arendamist. Kõik muud programmeerimiskeeled nagu PHP, Basic, C ++, Java Python, Ruby, JavaScript ja Scala; need kõik on kõrgetasemelised programmeerimised, mis väljendavad lambda-väljendeid või sulgemisi.

Puhtad funktsionaalsed keeled tutvustavad täielikult muutumatuid struktuure ja neil funktsioonidel pole mingisuguseid kõrvalmõjusid. See funktsioon aga võtab kõik muutumatud struktuurid mingi sisendina ja loob siis uue väljundiga sarnase struktuuri.

Näited täisarvude lisamiseks:

Python:

>>>a=2

>>>b=3

>>>a+b

>>>5

C ++:

template

struct add (

static constexpr int value = x + y;

);

int main() (

auto z = add::value;

std::cout << z << std::endl;

return 0;

)

Haskell:

add :: Int -> Int -> Int

add de = d + e

main :: IO ()

main = do

let f = add 1 2

putStrLn $ show f

Haskell on tegelikult vinge programmeerimiskeel. See on matemaatika, eriti erinevalt teistest, kus programmide õigsust ei saa tõestada ja on üsna keeruline, ning enamasti suudavad Haskelli programmid siin töötada ja kompileerimise korral töötada ilma probleemideta. See aga seab uusi väljakutseid.

Ütleme näiteks, et siin ei saa muuta isegi mitte ühte var (var tähendab muutujat). Rekursioon on siinse võtmeks. Kuid te ei pea muretsema. Kui olete selle üles riputanud, tunnete end Haskellis rakendusi kirjutades tegelikult kodus. Ainuke osa, kus peaksite muretsema, on see, kui ütlesin: “Kui nad kompileerivad”. Hehehe …, see on Haskelli kõige keerulisem osa: 'Kompileerimine'.

Soovitatavad kursused

  • XML koolituskursused
  • CCNA eksami koolituskursused
  • UNIX ja Linuxi OS-i kursus
  • Online HTML 5 kursus

Miks just Haskelli programmeerimiskeel?

Ülaltoodud küsimuse osas küsin: “Miks mitte?” Haskell on põhimõtteliselt hea keel, mida õppida. Siin on teie kood lihtne ja iseseisev. Siin pole vaeva ega tarbetuid taandeid. Ideega töötab hästi ka Haskelli programmeerimiskeel. Teie, korraliku kogemustepagasiga, saate kirjutada programme nii kõrgel kui ka madalal tasemel programmeerimisvormingutes.

Ühes kohas, kus Haskell on suurepärane võimalus matemaatikat õppida, teisest küljest, vastupidi, see on ka võimas paralleelseks programmeerimiseks haskelis, mis annab teile hea võimaluse kontrollida oma algoritmide üle, kuidas teie tüübid mällu struktureerivad . Enamasti jätavad inimesed arenenud Haskelli programmeerimiskeele seetõttu, et see tundub liiga madal, kuid kui heita pilk selle positiivsele noodile, siis tõestab see, et Haskelli funktsionaalsel programmeerimisel on skaleeritavad omadused nii madal kui ka kõrge tase.

Haskell on hea algus esimese keelena valimiseks. Paljud tõkked, millega inimesed Haskelli õppimisel silmitsi seisavad, on seetõttu, et nad on liiga harjunud teiste kõrgetasemeliste keeltega, nagu Python või Ruby, kuid Haskelli programmeerimiskeel on neist liiga erinev. Seega, kui te ei tea programmeerimisest üldse midagi, pole teil probleeme selle esimese keelena õppimisega.

Samuti on palju lihtsam minna Haskellilt õppima midagi muud, mitte vastupidi. Nüüd võite mõelda, et alguses ütlesin, et see keel pole mõeldud algajatele. Jah, ma ütlesin seda, kuna tahtsin veenduda, et te ei raiskaks 30 minutit selle lugemisest. Kui olete juba nii palju aega Haskelli lugemiseks investeerinud, tähendab see, et teil on kindel soov õppida. Ja see on see, mida peate selle keele õppimiseks.

Miinused

Haskelli keel on suurepärane keel, kuid nagu kõigil teistelgi keeltel, on ka Haskelli programmeerimise Langauges oma eripära. Näiteks tööriistad, veateated ja selle süsteemi ülesehitus on kõik keerukamad, kui nad peavad olema. Kui töötate GHCi-s, siis märkate kindlasti, et veateated pole siin nii kasulikud, kui Pythonis, Golangis või Scalas.

Rääkimata sellest, et osa sellest on praegu töös. Haskelli platvorm on väike ja seda on lihtne paigaldada. Haskell seevastu pakub stabiilsemat REPL-i kogemust. Siinses paketihalduses on viimasel ajal märkimisväärselt palju muudatusi ja need on endiselt paranemas. Isegi Emacs saaks varsti palju parandusi ja uusi funktsioone.

Ehkki haskell kõlab algaja keelena liiga karmina, kuid kui teil on põhitõed õiged, on selle väga paindlike omaduste tõttu lihtne migreerida kas madala või kõrgema taseme keeltesse, erinevalt sellistest keeltest nagu python või perl, kui õpid seda kõigepealt, ei mõtle sa kunagi võõrastatud koodistruktuuri tõttu kunagi madala taseme keelte õppimisele.

Haskell on märkimisväärselt suur keel, mida on vaja üksikasjalikult õppida. Üldiselt ütleksin, et Haskell on suurepärane emakeel, mida õppida. Ainus murettekitav osa on see, et selle tööks vajalike probleemide tõttu võib vaja minna rohkem pingutusi ja jätkamist pidevalt, eriti kui soovite luua huvitava programmi.

Kui mul oleks eesmärk õpetada inimestele Haskelli programmeerimiskeelt, siis pingutaksin rohkem, et installeerimise protseduur oleks valutum. Selleks, et GHCi oleks probleemide kompileerimiseks õigesti konfigureeritud, peab olema installitud õige moodulikomplekt, õige versioon.

Haskelli programmeerimiskeele õppimine tähendab, et peate mõtlema funktsionaalselt. Paljud uued programmeerimiskeeled võimaldavad funktsionaalset programmeerimisstiili, kuid enamik arendajaid ei kasuta neid funktsioone täielikult, kuna nad mõtlevad pigem objektorienteeritud mustrile, kuna nende taust tuleneb C või C ++ õppimisest.

Kõige oodatum küsimus

Nüüd oodatuima küsimuse jaoks… Mis on Haskelli praktilisi kasutusvõimalusi?

Haskelli kasutatakse tööstuses kindlasti palju, kuid mitte nii sageli kui C # või Java. Nii et kui soovite seda lihtsalt kiiresti programmeerimistööde saamiseks õppida, võib see tegelikult ajaraiskamine olla. Parem põhjus Haskelli õppimiseks on funktsionaalse stiili lähenemisega tutvumine. See juhtub Haskelli puhul palju kiiremini kui teise funktsionaalse keelega, näiteks F # või Scala. Erinevuse teada saamiseks võite vaadata ka minu järgmist blogi Haskell vs Scala kohta.

Selle põhjuseks on asjaolu, et kui te funktsionaalse stiili suhtes liiga rabelete, on teistel keeltel võimalus lülituda objektorienteeritud lähenemisele. Kuid Haskelli puhul see nii pole. Haskelli programmeerimiskeelel on konstruktsioon, mis sunnib teid kirjutama ainult funktsionaalses stiilis, kuna muud lähenemisviisi pole saadaval. Viimane asi, mida saate teha, on jätta avalduse kirjutamisest ilma.

Järeldus

Kogu selle ajaveebi lõpp-punkt on see, kui otsite tööd Haskellis; oodake, kuni NASA või NSA alustab Haskelli programmeerijate töölevõtmist. Jep! Nii haruldane see on. Aga kui sa õpid seetõttu, et sulle meeldivad väljakutsed, siis on tee Haskell. See muudab teid koodiks mis tahes keeles palju paremaks.

See aitab teil oma probleemist õigesti aru saada, jaotada need õigeteks osadeks ja muuta silumise vajadus võimalikult väikseks. Kui õpite ka Haskelli ja ka mõnda muud programmeerimiskeelt, sobib teile kõige paremini Haskell. Sest see teeb tark programmeerija.

Esimene pildi allikas: pixabay.com

Seotud artiklid:-

Siin on mõned artiklid, mis aitavad teil Haskelli programmeerimiskeelt üksikasjalikumalt uurida, nii et lihtsalt minge lingi kaudu.

  1. Skeemi programmeerimiskeele eelised
  2. Kõrgetasemelised keeled vs madala taseme keeled - kuidas nad erinevad
  3. Programmikeele terviklik juhend
  4. Parim valik programmeerimiskeeli algoritmide õppimiseks
  5. 10 huvitavat asja Java programmeerimiskeele kohta
  6. Karjäär R programmeerimises