Limbă de programare Haskell - Este posibil să fi citit despre multe limbi. Dar când auzi despre Haskell, primul lucru care îmi vine în minte este „Aici vine un alt așa-numit limbaj wannabe”. Prima întrebare care îmi vine în minte este; DE CE? De ce este nevoie de atâtea limbi? De ce trebuie să fie atât de dificil? De ce este atât de ușor Python sau Ruby, în comparație cu C sau Java? Și ce naiba este Haskell?
Nu-ți face griji. Sunt astăzi aici pentru a vă răspunde la toate întrebările. Dar în primul rând, ce este Haskell? În mod normal, nu ai găsi multă lume care învață sau vorbește despre această limbă. Motivul fiind, Haskell nu este la fel de simplu ca C sau Python. DA! Am spus C. Sunt programator pentru C din ultimii 4 ani și mi se pare foarte interesant. Dar nu este același caz cu Haskell.
Am învățat Haskell pentru că mi se pare foarte dificil, spre deosebire de C sau Python.Python este un limbaj extrem de grozav și foarte flexibil. Aproape că poți face orice vrei cu asta. Imaginația ta este doar limita în Python. Acum, în loc să mă laud cu Python, să încep cu Haskell. Pentru că, pentru asta suntem aici, nu?
Dar înainte de a continua să citiți mai departe, lăsați-mă să vă avertizez. Această limbă nu este destinată începătorilor; atleast nu pentru începători absoluti. Dacă nu aveți experiență anterioară în programare, Haskell vă va da senzația de ROCKET SCIENCE. Și asta este îndrăzneț. Programatorii o vor înțelege.
Limbajul de programare Haskell este un limbaj funcțional pur. Sau termenul potrivit ar fi Matematic. Orice persoană care îi place matematica va fi extrem de confortabilă cu programarea dinamică Haskell, în special cu teoreme.
Dar ce este programarea funcțională?
Pentru a fi mai specific, în limbajul de programare funcțional, metoda originală de calcul este introducerea funcțiilor în argumente. Alături de alte caracteristici pe care le oferă aceste tipuri de limbaje, programarea funcțională oferă o metodă extremă mică și compactă pentru programele de codificare, incluzând metode mari de abstractizare pentru a le structura și are nevoie de o mentalitate care să știe să vorbească în jurul modului de matematică, care susține raționamentul pentru programe, oarecum similar cu teoreme.
Un astfel de limbaj conduce în dezvoltarea proiectării limbajului de programare. Toate celelalte limbaje de programare, cum ar fi PHP, Basic, C ++, Java Python, Ruby, JavaScript și Scala; toate acestea sunt programări la nivel înalt care exprimă expresii lambda sau închideri.
Limbile funcționale pure introduc structuri complet imuabile și aceste funcții nu au niciun fel de efecte secundare. Ce face această funcție este că ia toate structurile imuabile împreună ca un fel de intrare și apoi creează o nouă structură similară cu ieșirea dată.
Exemple de adăugare de numere întregi în:
Piton:
>>>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 este de fapt un limbaj de programare minunat. Matematica este extrem de complicată și directă spre punct, spre deosebire de altele, unde programele nu se pot dovedi corecte și, în majoritatea cazurilor, aici, în Haskell pot, și dacă compilează, vor rula fără probleme. Totuși, aceasta introduce noi provocări.
Să spunem, de exemplu, nu puteți schimba nici măcar o singură var aici (var înseamnă variabilă). Recursiunea este cheia tuturor lucrurilor de aici. Dar nu trebuie să vă faceți griji. După ce obțineți un astfel de lucru, vă veți simți de fapt acasă pentru a scrie aplicații în Haskell. Singura parte în care va trebui să vă faceți griji este când am spus: „Dacă ei compila”. Hehehe…, asta este cea mai complicată parte din Haskell: „Compilarea”.
Cursuri recomandate
- Cursuri de formare XML
- Cursuri de perfecționare la examen CCNA
- Curs UNIX și Linux OS
- Curs HTML 5 online
De ce limbajul de programare Haskell?
În ceea ce privește întrebarea de mai sus, îmi pun „De ce nu?” Haskell este practic un limbaj bun de învățat. Aici, codul dvs. este simplu și de sine stătător. Nu există dificultăți sau indentări inutile aici. Haskell Programing Language funcționează de asemenea bine cu ideile. Voi, cu o experiență decentă, puteți scrie programe la nivel înalt, precum și formate de programare la nivel scăzut.
Într-un loc, unde Haskell este o modalitate excelentă de a învăța matematica, invers pe de altă parte, este de asemenea puternic pentru programarea paralelă în haskell, care vă oferă o cantitate bună de control asupra componentelor dvs. de algoritmi cu privire la modul în care tipurile dvs. sunt structurate în memorie. . De cele mai multe ori, oamenii privesc limbajul avansat de programare Haskell pentru că pare un nivel prea scăzut, dar dacă aruncați o privire asupra notei sale pozitive, atunci acest lucru dovedește că programarea funcțională Haskell are caracteristicile scalabile atât la nivel scăzut cât și la nivel înalt.
Haskell este bun început să ridice ca primă limbă. Multe obstacole cu care se confruntă oamenii când învață Haskell vine pentru că sunt prea obișnuiți cu alte limbi la nivel înalt, cum ar fi Python sau Ruby, dar lucrul este că limbajul de programare Haskell este prea diferit de ele. Astfel, dacă nu știți nimic despre programare, nu veți avea nicio problemă în a-l învăța ca primă limbă.
De asemenea, este mult mai ușor să mergi de la Haskell la învățarea altceva decât să faci invers. Acum este posibil să vă gândiți că la început am spus, această limbă nu este pentru începători. Da, am spus asta pentru că am vrut să mă asigur că nu pierzi 30 de minute din citirea ta. Dacă ați investit deja acest timp în citirea despre Haskell, atunci înseamnă că aveți o hotărâre puternică de a învăța. Și asta trebuie să înveți această limbă.
Contra
Haskell este un limbaj minunat, dar ca toate celelalte limbi, Haskell Programarea Langauge are propriul set de trăsături. De exemplu, instrumentarea, mesajele de eroare și modul în care este construit sistemul său sunt mult mai complexe decât trebuie. Dacă lucrați în GHCi, atunci veți observa cu siguranță că mesajele de eroare nu sunt atât de utile aici, cum este în Python, Golang sau Scala.
Nu mai vorbim de faptul că unele dintre acestea sunt lucrate în prezent. Platforma Haskell este mică și ușor de instalat. Pe de altă parte, Haskell, oferă o experiență REPL mai stabilă. Gestionarea pachetelor de aici a avut o mulțime semnificativă de modificări recent și încă se îmbunătățesc. Chiar și Emac-urile vor primi o sumă bună de îmbunătățiri și funcții noi în curând.
Deși haskell sună prea dur ca limbă începătoare, dar odată ce aveți drepturile de bază, este foarte ușor să migrați fie în limbi de nivel scăzut, fie în limbi de nivel înalt, datorită caracteristicilor sale extrem de flexibile, spre deosebire de cazul unor limbi precum python sau Perl, dacă înveți asta mai întâi, probabil că nu te vei gândi niciodată să înveți limbi de nivel scăzut din cauza structurii sale de cod alienate.
Haskell, este un limbaj considerabil de mare de învățat în detaliu. În general, aș spune că Haskell este o primă limbă excelentă de învățat. Singura parte care merită să vă faceți griji este că poate avea nevoie de mai mult efort pentru a vă începe și a continua în continuare constant, din cauza problemelor cu instrumentele sale, mai ales dacă doriți să construiți un program interesant.
Dacă aș avea scopul de a învăța oamenilor limbajul de programare Haskell, aș depune mai mult efort pentru a face procedura de instalare mai nedureroasă. Unul trebuie să aibă un set adecvat de module, versiunea potrivită instalată astfel încât să configureze GHCi în mod corespunzător pentru a compila problemele.
Învățarea limbajului de programare Haskell înseamnă, trebuie să vă gândiți într-o manieră funcțională. Multe limbaje noi de programare permit stilul funcțional de programare, dar majoritatea dezvoltatorilor nu utilizează pe deplin aceste caracteristici, întrucât cred că într-un model orientat mai mult pe obiecte, motivul fiind că fundalul lor vine din învățarea C sau C ++.
Cea mai așteptată întrebare
Acum, pentru cea mai așteptată întrebare … Care sunt utilizările practice ale lui Haskell?
Haskell este cu siguranță folosit foarte mult în industrie, dar nu la fel de frecvent ca C # sau Java. Deci, dacă doriți doar să îl învățați pentru a vă ajuta să obțineți locuri de muncă de programare haskell, s-ar putea să fie o pierdere de timp. Un motiv mai bun pentru a învăța Haskell este să vă familiarizați cu abordarea stilului funcțional. Acest lucru se va întâmpla într-un ritm mult mai rapid cu Haskell decât cu un alt limbaj funcțional precum F # sau Scala. Puteți verifica, de asemenea, următorul meu blog pe Haskell vs Scala pentru a afla diferența.
Acest motiv din spatele acestui lucru se datorează faptului că, dacă sunteți prea iritat cu stilul funcțional, alte limbi au opțiunea de a trece la abordarea orientată către obiect. Dar nu este cazul cu Haskell. Haskell Programing Language are o construcție care te obligă să scrii numai în stil funcțional, deoarece nu există o altă abordare disponibilă. Ultimul lucru pe care îl puteți face este să renunțați la scrierea unei cereri.
Concluzie
Punctul final al întregului blog este, dacă sunteți în căutarea unui loc de muncă în Haskell; așteptați până când NASA sau NSA începe să angajeze programatori Haskell pentru începători. Da! La fel de rar este. Dar dacă înveți pentru că îți plac provocările, atunci Haskell este calea. Vă va face codul mult mai bun în orice limbă.
Vă va face să înțelegeți problema dvs. într-o manieră corectă, să le împărțiți în părți corespunzătoare și să faceți nevoia de a depana cât mai puțin. Dacă înveți și Haskell și alte limbaje de programare, atunci Haskell este cel mai potrivit pentru tine. Pentru că va face un programator înțelept.
Prima sursă de imagine: pixabay.com
Articole similare:-
Iată câteva articole care vă vor ajuta să obțineți mai multe detalii despre limbajul de programare Haskell, așa că treceți doar prin link.
- Beneficiile limbajului de programare a schemei
- Limbi la nivel înalt față de limbi de nivel scăzut - Cum sunt diferite
- Ghid complet pentru schema Limbaj de programare
- Cea mai bună alegere a limbilor de programare pentru învățarea algoritmilor
- 10 lucruri interesante despre limbajul de programare Java
- Cariere în programare R