Vigtige ting at vide om Haskell programmeringssprog

Indholdsfortegnelse:

Anonim

Haskell-programmeringssprog - Du har måske læst om en masse sprog. Men når du hører om Haskell, er den første ting, der kommer i tankerne, "Her kommer et andet såkaldt wannabe-sprog". Det første spørgsmål, der kommer til at tænke på er; HVORFOR? Hvorfor er der behov for så mange sprog? Hvorfor skal det være så svært? Hvorfor er python eller Ruby så let i sammenligning med C eller Java? Og hvad pokker er Haskell?

Bare rolig. Jeg er her i dag for at besvare alle dine spørgsmål. Men først ting først, hvad er Haskell? Normalt ville du ikke finde meget mennesker, der lærer eller taler om dette sprog. Årsagen er, at Haskell ikke er så enkel som C eller Python. JA! Jeg sagde C. Jeg har været programmør i C siden de sidste 4 år, og jeg synes faktisk det er meget interessant. Men det er ikke det samme tilfælde med Haskell.

Jeg lærte Haskell, fordi jeg synes det er meget udfordrende i modsætning til C eller Python.Python er et ekstremt fantastisk sprog og meget fleksibelt. Du kan næsten gøre hvad du vil med det. Din fantasi er kun grænsen i Python. Lad os starte med Haskell i stedet for at jeg praler om Python. Fordi det er det, vi er her for, ikke?

Men før du fortsætter med at læse yderligere, så lad mig advare dig. Dette sprog er ikke for begyndere; mindst ikke for absolutte begyndere. Hvis du ikke har nogen tidligere erfaring med programmering, vil Haskell give dig fornemmelsen af ROCKET SCIENCE. Og det er med fed skrift. Programmerere vil forstå det.

Haskell programmeringssprog er et rent funktionelt sprog. Eller det rette udtryk ville være matematisk. Enhver, der kan lide matematik, vil være yderst behagelig med Haskell dynamisk programmering, især med sætninger.

Men hvad er funktionel programmering?

For at være mere specifik, i det funktionelle programmeringssprog er den originale beregningsmetode introduktionen af ​​funktioner til argumenter. Ud over andre funktioner, som disse typer sprog giver, tilbyder funktionel programmering ekstrem lille og kompakt metode til kodning af programmer, herunder store abstraktionsmetoder til at strukturere dem, og det har brug for et tankesæt, der ved, hvordan man ord kan gå rundt i matematik, der understøtter resonnement til programmer, noget ligesom sætninger.

En sådan type sprog er førende inden for udvikling af programmeringssprogdesign. Alle andre programmeringssprog som PHP, Basic, C ++, Java Python, Ruby, JavaScript og Scala; alle disse er programmering på højt niveau, der udtrykker lambda-udtryk eller lukninger.

Rene funktionelle sprog introducerer fuldstændigt uforanderlige strukturer, og disse funktioner har ikke nogen form for bivirkninger. Hvad denne funktion gør, er at den samler alle uforanderlige strukturer sammen som en slags input og skaber derefter en ny lignende struktur som den givne output.

Eksempler på tilføjelse af heltal i:

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 er faktisk et fantastisk programmeringssprog. Det er matematik er ekstremt kompliceret og lige til det punkt i modsætning til andre, hvor programmer ikke kan bevises at være korrekte og i de fleste tilfælde her i Haskell kan de, og hvis de kompilerer, vil de køre uden problemer. Dette introducerer imidlertid nye udfordringer.

Lad os sige, for eksempel kan du ikke ændre selv en enkelt var her (var betyder variabel). Rekursion er nøglen til alt her. Men du behøver ikke bekymre dig. Når du først får fat på det, vil du faktisk føle dig hjemme og skrive ansøgninger i Haskell. Den eneste del, hvor du skulle bekymre dig, er, da jeg sagde: "Hvis de samles". Hehehe …, det er den mest vanskeligste del i Haskell: 'Compiling'.

Anbefalede kurser

  • XML-træningskurser
  • CCNA eksamenskurser
  • UNIX & Linux OS-kursus
  • Online HTML 5-kursus

Hvorfor Haskell programmeringssprog?

Med hensyn til ovenstående spørgsmål spørger jeg: ”Hvorfor ikke?” Haskell er dybest set et godt sprog at lære. Her er din kode enkel og uafhængig. Der er ingen besvær eller unødvendige indrykk her. Haskell programmeringssprog fungerer også godt med ideer. Du med en anstændig mængde erfaring kan skrive programmer i højt niveau såvel som på lavt niveau programmeringsformater.

På et sted, hvor Haskell er en fantastisk måde at lære matematik, omvendt på den anden side, er det også kraftfuld til parallel programmering i haskell, hvilket giver dig en god mængde kontrol over dine stykker algoritmer med hensyn til, hvordan dine typer er struktureret i hukommelsen . Det meste af tiden fratager folk avanceret Haskell-programmeringssprog, fordi det ser ud for for lavt niveau, men hvis man ser på dets positive note, så beviser dette, at Haskell Functional Programming har de skalerbare egenskaber på såvel lavt som højt niveau.

Haskell er en god start på at samle op som førstesprog. Mange forhindringer, som folk står overfor, når de lærer Haskell kommer, fordi de er for vant til andre sprog på højt niveau som Python eller Ruby, men ting er, at Haskell-programmeringssprog er for anderledes end dem. Så hvis du overhovedet ikke ved noget om programmering, har du ikke noget problem med at lære det som et første sprog.

Det er også meget lettere at gå fra Haskell til at lære noget andet i stedet for at gøre vice versa. Nu tænker du måske, at i starten sagde jeg, dette sprog er ikke for begyndere. Ja, det sagde jeg, fordi jeg ville sikre dig, at du ikke spilder 30 minutter på din læsning af dette. Hvis du allerede har investeret så meget tid i at læse om Haskell, betyder det, at du har en stærk vilje til at lære. Og det er hvad du har brug for for at lære dette sprog.

Ulemperne

Haskell er et fantastisk sprog, men som alle andre sprog har Haskell Programming Langauge sit eget sæt træk. F.eks. Er værktøjet, fejlmeddelelserne og den måde, dets system er bygget på, alle mere komplekse, end de har brug for. Hvis du arbejder i GHCi, vil du helt sikkert bemærke, at fejlmeddelelser ikke er så nyttige her, som det er i Python, Golang eller Scala.

For ikke at nævne, at noget af dette i øjeblikket arbejdes på. Haskell-platformen er lille og let at installere. På den anden side tilbyder Haskell en mere stabil REPL-oplevelse. Pakkehåndteringen her har betydelige mellem ændringer for nylig, og de forbedrer stadig. Selv Emacs vil snart også få en god del forbedringer og nye funktioner.

Selvom haskell lyder for hårdt som et begyndersprog, men når du først har det grundlæggende, er det faktisk let at migrere til enten sprog på lavt niveau eller sprog på højt niveau på grund af dets meget fleksible egenskaber, i modsætning til når det gælder sprog som python eller perl, hvis du lærer det først, vil du sandsynligvis aldrig tænke på at lære sprog på lavt niveau på grund af dens fremmedgjorte kodestruktur.

Haskell, er et betydeligt stort sprog at lære detaljeret. Generelt vil jeg sige, at Haskell er et fantastisk førstesprog at lære. Den eneste del, der er værd at bekymre sig, er, at det muligvis kræver større indsats for at komme i gang og fortsætte med at fortsætte konstant på grund af problemerne med dets værktøjer, især hvis du vil opbygge et interessant program.

Hvis jeg havde til formål at undervise i Haskell programmeringssprog til folk, ville jeg gøre en større indsats for at gøre installationsproceduren mere smertefri. Man skal have et ordentligt sæt moduler, den rigtige version installeret, så de korrekt har konfigureret GHCi til at kompilere problemer.

At lære Haskell-programmeringssprog betyder, at du er nødt til at tænke på en funktionel måde. Mange nye programmeringssprog tillader den funktionelle programmeringstilstand, men de fleste udviklere bruger ikke fuldt ud disse funktioner, da de tænker i et mere objektorienteret mønster, fordi deres baggrund kommer fra at lære C eller C ++.

Det mest ventede spørgsmål

Nu, til det mest ventede spørgsmål … Hvad er de praktiske anvendelser af Haskell?

Haskell bruges bestemt meget i branchen, men ikke så almindeligt som C # eller Java. Så hvis du bare vil lære det for at hjælpe dig med at få haskell programmeringsjob, kan det faktisk være spild af tid. En bedre grund til at lære Haskell er at gøre dig bekendt med funktionel stiltilgang. Dette vil ske med en meget hurtigere hastighed med Haskell end med et andet funktionelt sprog som F # eller Scala. Du kan også tjekke min næste blog om Haskell vs Scala for at kende forskellen.

Denne grund til dette skyldes, at hvis du bliver for irriteret over den funktionelle stil, har andre sprog en mulighed for at skifte til den objektorienterede tilgang. Men det er ikke tilfældet med Haskell. Haskell programmeringssprog har en konstruktion, der tvinger dig til kun at skrive i funktionel stil, da der ikke er nogen anden tilgang tilgængelig. Den sidste ting, du kan gøre, er at miste at skrive en ansøgning.

Konklusion

Endepunktet på hele denne blog er, hvis du leder efter et job i Haskell; vent indtil NASA eller NSA begynder at ansætte nybegynder Haskell-programmerere til job. Jep! Sådan er det sjældent. Men hvis du lærer, fordi du kan lide udfordringer, er Haskell vejen. Det vil gøre dig kode meget bedre på ethvert sprog.

Det vil få dig til at forstå dit problem på en ordentlig måde, opdele dem i rigtige dele og gøre behovet for fejlfinding så mindre som muligt. Hvis du også lærer Haskell og nogle andre programmeringssprog, er Haskell bedst egnet til dig. Fordi det vil gøre en klog programmerer.

Første billedskilde: pixabay.com

Relaterede artikler:-

Her er nogle artikler, der hjælper dig med at få mere detaljeret information om Haskell programmeringssprog, så bare gå gennem linket.

  1. Fordelene ved schema-programmeringssprog
  2. Sprog på højt niveau vs sprog på lavt niveau - hvordan de er forskellige
  3. Omfattende guide til schema-programmeringssprog
  4. Bedste valg Programmeringssprog til læring af algoritmer
  5. 10 interessante ting ved Java-programmeringssprog
  6. Karrierer inden for R-programmering