Tärkeitä tietoja Haskell-ohjelmointikielestä

Sisällysluettelo:

Anonim

Haskell-ohjelmointikieli - olet ehkä lukenut monista kielistä. Mutta kun kuulet Haskellista, ensin mieleen tulee asia, joka on ”täältä tulee toinen niin kutsuttu wannaben kieli”. Ensimmäinen mieleen tuleva kysymys on; MIKSI? Miksi tarvitaan niin monia kieliä? Miksi sen on oltava niin vaikeaa? Miksi python tai Ruby on niin helppoa verrattuna C: hen tai Java: seen? Ja mikä helvetti Haskell on?

Älä huoli. Olen täällä tänään vastaamassa kaikkiin kysymyksiisi. Mutta ensin, mikä on Haskell? Normaalisti et löydä paljon ihmisiä, jotka oppivat tai puhuvat tätä kieltä. Syynä on, että Haskell ei ole niin yksinkertainen kuin C tai Python. JOO! Sanoin C. Olen ollut C: n ohjelmoija viimeisten 4 vuoden aikana ja pidän siitä todella mielenkiintoista. Mutta se ei ole sama asia Haskellin kanssa.

Olen oppinut Haskellin, koska pidän sitä erittäin haastavana toisin kuin C tai Python.Python on erittäin mahtava kieli ja erittäin joustava. Voit tehdä sillä melkein mitä haluat. Mielikuvitus on vain raja Pythonissa. Nyt sen sijaan, että kerskaisin Pythonia, aloitan Haskellilla. Sillä sillä me olemme täällä, eikö?

Mutta ennen kuin jatkat lukemista, anna minun VAROITUS. Tämä kieli ei ole aloittelijoille; ainakaan absoluuttisille aloittelijoille. Jos sinulla ei ole aikaisempaa kokemusta ohjelmoinnista, Haskell antaa sinulle tunteen ROCKET SCIENCE -sivustosta. Ja se on lihavoitu. Ohjelmoijat ymmärtävät sen.

Haskell-ohjelmointikieli on puhdas toiminnallinen kieli. Tai oikea termi olisi matemaattinen. Jokainen matematiikan tykkääjä nauttii erittäin miellyttävästä Haskell-dynaamisesta ohjelmoinnista, etenkin lauseista.

Mutta mikä on toiminnallinen ohjelmointi?

Tarkemmin sanottuna funktionaalisella ohjelmointikielellä alkuperäinen laskentamenetelmä on funktioiden tuominen argumentteihin. Muiden ominaisuuksien ohella, joita tämäntyyppiset kielet tarjoavat, toiminnallinen ohjelmointi tarjoaa äärimmäisen pienen ja pienikokoisen menetelmän ohjelmien koodaamiseen, mukaan lukien suuret abstraktiomenetelmät niiden rakentamiseksi, ja se tarvitsee ajattelutavan, joka osaa sanoa matematiikan matkalla, joka tukee ohjelmien päättelyä, hieman samanlainen kuin lauseet.

Tällaiset kielet johtavat ohjelmointikielisuunnittelun kehittämiseen. Kaikki muut ohjelmointikielet, kuten PHP, Basic, C ++, Java Python, Ruby, JavaScript ja Scala; kaikki nämä ovat korkean tason ohjelmointeja, jotka ilmaisevat lambda-lausekkeita tai sulkemisia.

Puhtaat funktionaaliset kielet tuovat esiin täysin muuttumattomia rakenteita, eikä näillä toiminnoilla ole minkäänlaisia ​​sivuvaikutuksia. Mitä tämä funktio tekee, se vie kaikki muuttumattomat rakenteet yhdessä jonkinlaisena tulona ja luo sitten uuden samanlaisen rakenteen kuin annettu lähtö.

Esimerkkejä kokonaislukujen lisäämisestä:

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 todella mahtava ohjelmointikieli. Se on matematiikkaa, joka on erittäin monimutkainen ja suoraviivainen toisin kuin muut, joissa ohjelmien ei voida osoittaa olevan oikeita ja useimmiten täällä, Haskellissa, ne voivat, ja jos ne kootaan, ne suoritetaan ilman mitään ongelmia. Tämä tuo kuitenkin uusia haasteita.

Sanotaan esimerkiksi, että et voi muuttaa edes yhtä varia täällä (var tarkoittaa muuttujaa). Rekursio on avain kaikkeen tähän. Mutta sinun ei tarvitse huolehtia. Kun olet hankkinut sen, tunnet olosi kotoisaksi kirjoittamalla sovelluksia Haskellissa. Ainoa osa, josta sinun pitäisi huolehtia, on kun sanoin: "Jos he kääntyvät". Hehehe…, se on Haskellin vaikein osa: ”Kääntäminen”.

Suositellut kurssit

  • XML-koulutuskurssit
  • CCNA-tentti-kurssit
  • UNIX- ja Linux-käyttöjärjestelmäkurssi
  • Online HTML 5 -kurssi

Miksi Haskell-ohjelmointikieli?

Edellä esitetystä kysymyksestä kysyn: “Miksi ei?” Haskell on pohjimmiltaan hyvä kieli opittavaksi. Tässä koodisi on yksinkertainen ja itsenäinen. Täällä ei ole hässäkkää tai tarpeettomia sisennyksiä. Haskell-ohjelmointikieli toimii myös ideoiden kanssa hyvin. Sinulla on kohtuullinen määrä kokemusta kirjoittaa ohjelmia sekä korkean tason että matalan tason ohjelmointimuodoissa.

Yhdessä paikassa, jossa Haskell on loistava tapa oppia matematiikkaa, toisaalta, päinvastoin, se on myös tehokas rinnakkaisohjelmointiin haskell-ohjelmassa, joka antaa sinulle hyvän määrän hallintaa algoritmien palasista kuinka tyyppiäsi rakennetaan muistiin . Suurimman osan ajasta ihmiset menettävät kehittyneen Haskell-ohjelmointikielen, koska se näyttää liian matalalta, mutta jos katsot sen positiivista huomautusta, se osoittaa, että Haskellin toiminnallisella ohjelmoinnilla on skaalautuvat ominaisuudet sekä alhaisella että korkealla tasolla.

Haskell on hyvä aloitus kielen valintaan. Monet esteet, joita ihmiset kohtaavat Haskellin oppimisen yhteydessä, johtuvat siitä, että he ovat tottuneet muihin korkean tason kieliin, kuten Python tai Ruby, mutta Haskell-ohjelmointikieli on liian erilainen kuin he. Siksi, jos et tiedä mitään ohjelmoinnista, sinulla ei ole mitään ongelmia sen oppimisella ensimmäisenä kielenä.

On myös paljon helpompaa siirtyä Haskellista oppimaan jotain muuta kuin tekemään päinvastoin. Nyt saatat ajatella, että alussa sanoin, että tämä kieli ei ole tarkoitettu aloittelijoille. Kyllä, sanoin sen, koska halusin varmistaa, ettet tuhlaa 30 minuuttia lukemistasi. Jos olet jo sijoittanut niin paljon aikaa lukeaksesi Haskellista, se tarkoittaa, että sinulla on vahva päättäväisyys oppia. Ja se on mitä sinun täytyy oppia tämä kieli.

Huonot puolet

Haskell on hieno kieli, mutta kuten kaikilla muillakin kielillä, Haskell Programming Langaugella on omat piirteensä. Esimerkiksi työkalut, virhesanomat ja sen järjestelmän rakenne ovat monimutkaisempia kuin niiden on oltava. Jos työskentelet GHCi: ssä, huomaat varmasti, että virhesanomat eivät ole tässä niin hyödyllisiä kuin Python, Golang tai Scala.

Puhumattakaan siitä, että osa tästä tehdään parhaillaan. Haskell-alusta on pieni ja helppo asentaa. Haskell puolestaan ​​tarjoaa vakaamman REPL-kokemuksen. Paketinhallinnalla on täällä viime aikoina merkittäviä muutoksia, ja ne ovat edelleen paranemassa. Jopa Emacs-ohjelmat saisivat pian aikaan myös paljon parannuksia ja uusia ominaisuuksia.

Vaikka haskell kuulostaa liian ankaalta aloittelijan kielenä, mutta kun sinulla on perusasiat oikein, se on todella helppo siirtää joko matalan tai korkean tason kielille erittäin joustavien ominaisuuksiensa takia, toisin kuin kieli, kuten python tai perl, jos opit sen ensin, et todennäköisesti koskaan ajattele matalan tason kielten oppimista sen vieraantuneen koodirakenteen vuoksi.

Haskell on huomattavasti suuri kieli, jonka avulla voidaan oppia yksityiskohtaisesti. Yleensä sanoisin, että Haskell on hieno ensimmäinen kieli, jonka opitaan. Ainoa huolestuttava asia on se, että se saattaa tarvita enemmän pyrkimyksiä aloittaaksesi ja jatkaaksesi jatkuvasti jatkuvasti työkalujensa takia, etenkin jos haluat rakentaa mielenkiintoisen ohjelman.

Jos haluaisin opettaa Haskell-ohjelmointikielen ihmisille, panostuin enemmän tekemään asennuksesta vaivattomampaa. Tarvitset oikean moduulijoukon, oikean version asennettuna, jotta GHCi on määritetty oikein kääntämään ongelmat.

Haskell-ohjelmointikielen oppiminen tarkoittaa, että sinun on ajateltava toimivasti. Monet uudet ohjelmointikielet sallivat ohjelmoinnin funktionaalisen tyylin, mutta useimmat kehittäjät eivät hyödynnä näitä ominaisuuksia täysimääräisesti, koska ajattelevat enemmän oliopohjaista mallia, koska heidän taustansa tulee C- tai C ++ -oppimisesta.

Kaikkein odotettu kysymys

Nyt odotetuimmalle kysymykselle … Mitkä ovat Haskellin käytännön käytöt?

Haskelliä käytetään varmasti paljon teollisuudessa, mutta ei niin yleisesti kuin C # tai Java. Joten jos haluat oppia sen vain auttamaan haskell-ohjelmointityötä, se saattaa olla ajanhukkaa. Parempi syy oppia Haskellia on perehtyä funktionaaliseen tyyliin. Tämä tapahtuu paljon nopeammin Haskellin kanssa kuin toisen funktionaalisen kielen, kuten F # tai Scala, kanssa. Voit tarkistaa myös seuraavan blogini Haskell vs. Scala.

Tämä johtuu siitä, että jos käytät liian vihaisesti toiminnallista tyyliä, muilla kielillä on mahdollisuus siirtyä oliopohjaiseen lähestymistapaan. Mutta niin ei Haskellin tapauksessa. Haskell-ohjelmointikielellä on rakenne, joka pakottaa sinua kirjoittamaan vain funktionaalisesti, koska muuta lähestymistapaa ei ole käytettävissä. Viimeinen asia, jonka voit tehdä, on menettää hakemuksen kirjoittaminen.

johtopäätös

Koko tämän blogin loppupiste on, jos etsit työtä Haskellissa; odota, kunnes NASA tai NSA aloittaa Haskell-ohjelmoijien palkkaamisen työhön. Jep! Se on kuinka harvinaista se on. Mutta jos opit, koska pidät haasteista, Haskell on tie. Se tekee koodista paljon paremman millä tahansa kielellä.

Se antaa sinun ymmärtää ongelmasi oikein, hajottaa ne oikeisiin osiin ja tehdä virheenkorjauksen tarpeesta mahdollisimman pieni. Jos opit Haskellia ja myös joitain muita ohjelmointikieliä, Haskell sopii parhaiten sinulle. Koska se tekee viisasta ohjelmoijaa.

Ensimmäinen kuvan lähde: pixabay.com

Aiheeseen liittyvät artikkelit:-

Tässä on artikkeleita, jotka auttavat sinua saamaan lisätietoja Haskell-ohjelmointikielestä, joten mene vain linkin läpi.

  1. Ohjelmointikielen edut
  2. Korkean tason kielet vs. matalat kielet-Kuinka ne ovat erilaisia
  3. Kattava ohjelmaohjelmointikielen opas
  4. Paras valinta ohjelmointikielet algoritmien oppimiseen
  5. 10 mielenkiintoista Java-ohjelmointikieltä
  6. Ura R-ohjelmoinnissa