Haskell programski jezik - možda ste pročitali na mnogim jezicima. Ali kad čujete za Haskell, prvo što vam padne na pamet je "Evo drugog, takozvanog wannabe jezika". Prvo pitanje koje mi padne na pamet je; ZAŠTO? Zašto postoji potreba za tolikim jezicima? Zašto to mora biti tako teško? Zašto je python ili Ruby tako jednostavan u usporedbi s C ili Java? A koji je kurac Haskell?
Ne brini. Ovdje sam danas da odgovorim na sva vaša pitanja. Ali prvo, što je Haskell? Normalno da nećete naći puno ljudi koji uče ili govore ovaj jezik. Razlog tomu je što Haskell nije tako jednostavan kao C ili Python. DA! Rekao sam da sam programer za C od posljednje 4 godine i zapravo mi se čini vrlo zanimljivim. Ali to nije isti slučaj s Haskelom.
Haskell sam naučio jer smatram da je to vrlo izazovno za razliku od C ili Python.Python je izuzetno strašan jezik i vrlo fleksibilan. S tim možete gotovo sve što želite. Vaša mašta je samo ograničenje u Pythonu. Sada, umjesto da se hvalim s Pythonom, krenimo s Haskellom. Jer, to je ono zbog čega smo ovdje, zar ne?
Ali prije nego što nastavite čitati dalje, dopustite mi da vas UPOZORAVAM. Ovaj jezik nije za početnike; barem ne za apsolutne početnike. Ako nemate prethodno iskustvo u programiranju, Haskell će vam pružiti osjećaj ROCKET SCIENCE. I to podebljano. Programeri će to razumjeti.
Haskell programski jezik je čisti funkcionalni jezik. Ili bi odgovarajući izraz bio Matematički. Svaka osoba koja voli matematiku bit će izuzetno ugodna s Haskell dinamičkim programiranjem, posebno s teoremama.
Ali što je funkcionalno programiranje?
Da budemo precizniji, u funkcionalnom programskom jeziku izvorna metoda računanja je uvođenje funkcija u argumente. Pored drugih značajki koje nude ove vrste jezika, funkcionalno programiranje nudi ekstremno malu i kompaktnu metodu za kodiranje programa, uključujući velike metode apstrakcije za njihovo strukturiranje, a potreban je i način razmišljanja koji zna kako riješiti put matematike, a koji podržava rasuđivanje za programe, pomalo slična teoremama.
Takve vrste jezika vodeće su u razvoju dizajna programskog jezika. Svi ostali programski jezici kao što su PHP, Basic, C ++, Java Python, Ruby, JavaScript i Scala; sve su to programi na visokoj razini koji izražavaju lambda izraze ili zatvore.
Čisti funkcionalni jezici uvode potpuno nepromjenjive strukture i ove funkcije nemaju nikakvu nuspojavu. To što ova funkcija radi je da uzima sve nepromjenjive strukture zajedno kao neku vrstu ulaza, a zatim stvara novu sličnu strukturu kao dati izlaz.
Primjeri dodavanja cijelih brojeva u:
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 je zapravo sjajan programski jezik. Matematika je izuzetno komplicirana i ravno do točke za razliku od drugih, gdje se programi ne mogu dokazati da su točni i u većini slučajeva ovdje se u Haskellu mogu, a ako ih sastave, pokrenuti će se bez ikakvih problema. To, međutim, uvodi nove izazove.
Recimo, na primjer, da ovdje ne možete promijeniti ni jedan var (var znači varijabla). Rekurzija je ključ svega ovdje. Ali ne morate brinuti. Nakon što to zaključite, zapravo ćete se osjećati kao kod kuće pisanje aplikacija na Haskellu. Jedini dio kojeg biste trebali brinuti je kada sam rekao: "Ako se sastave". Hehehe … to je najzahtjevniji dio Haskella: 'Sabiranje'.
Preporučeni tečajevi
- XML tečajevi
- CCNA tečajevi za ispite
- UNIX i Linux OS tečaj
- Online HTML 5 tečaj
Zašto Haskell programski jezik?
Što se tiče gornjeg pitanja, pitam, „Zašto ne?“ Haskell je u osnovi dobar jezik za naučiti. Ovdje je vaš kôd jednostavan i neovisan. Ovdje nema gnjavaže ili nepotrebnih udubljenja. Haskell Programming Language također dobro funkcionira s idejama. Vi, s pristojnom količinom iskustva, možete pisati programe u visokim i niskim programskim formatima.
Na jednom mjestu, gdje je Haskell odličan način za učenje matematike, obrnuto, s druge strane, moćan je i za paralelno programiranje u haskellu koji vam omogućuje dobru kontrolu nad vašim algoritmima kako su tipovi strukturirani u memoriji, Ljudi većinu vremena uskraćuju napredni Haskell programski jezik jer izgleda previše nisko, ali ako pogledate njegovu pozitivnu notu, to dokazuje da Haskell funkcionalno programiranje ima skalabilne značajke niske i visoke razine.
Haskell je dobro početi uzimati kao prvi jezik. Mnogo prepreka s kojima se ljudi susreću prilikom učenja Haskell dolazi jer se previše koriste drugim jezicima visoke razine poput Python ili Ruby, ali stvar je u tome što je Haskell Programming Language previše različit od njih. Dakle, ako o programiranju uopće ne znate, nećete imati problema s učenjem istog kao prvog jezika.
Također je puno lakše preći iz Haskell-a naučiti nešto drugo, nego raditi obrnuto. Sad možda mislite da u početku, rekao sam, ovaj jezik nije za početnike. Da, rekao sam to jer sam se želio uvjeriti da ne izgubite 30 minuta čitajući ovo. Ako ste već uložili ovoliko vremena u čitanje o Haskellu, to znači da imate čvrstu odlučnost da učite. A to je ono što vam treba da naučite ovaj jezik.
Protivnici
Haskell je sjajan jezik, ali kao i svi drugi jezici, Haskell Programming Langauge ima svoj skup osobina. Na primjer, alati, poruke o pogrešci i način na koji je njegov sustav izgrađen sve su složeniji nego što trebaju biti. Ako radite u GHCi-u, tada biste zasigurno primijetili da poruke o pogreškama ovdje nisu tako korisne kao što su to u Pythonu, Golangu ili Scali.
Da i ne spominjem kako se na nekome trenutno radi. Haskell platforma je mala i jednostavna za ugradnju. Haskell, s druge strane, nudi stabilnije REPL iskustvo. Upravljanje paketima ovdje ima značajne promjene u posljednje vrijeme i još se poboljšavaju. Čak će i Emacs uskoro dobiti dobru količinu poboljšanja i novih značajki.
Iako haskell zvuči prestrogo kao jezik početnika, ali kad jednom budete dobro osnovali, zbog njegovih vrlo fleksibilnih karakteristika lako je preći na jezike niske razine ili na jezike visoke razine, za razliku od jezika poput pythona ili perl, ako to naučiš prvo, vjerojatno nikad nećeš pomisliti da naučiš jezike na niskoj razini zbog njegove otuđene strukture koda.
Haskell, znatno je veliki jezik koji se mora detaljno naučiti. Općenito, rekao bih da je Haskell odličan prvi jezik koji treba naučiti. Jedino što vrijedi zabrinuti je što će možda trebati više napora da biste započeli i stalno nastavljali zbog problema s njegovim alatima, posebno ako želite izgraditi zanimljiv program.
Da sam imao za cilj podučavati Haskell programski jezik ljudima, uložio bih više napora kako bi postupak instalacije bio bezbolniji. Morate imati odgovarajući skup modula, ispravnu verziju instaliranu da bi pravilno konfigurirali GHCi za sastavljanje problema.
Učiti Haskell programski jezik znači, morate razmišljati na funkcionalan način. Mnogi novi programski jezici omogućuju funkcionalni stil programiranja, ali većina programera ne koristi u potpunosti ove značajke, jer razmišljaju o više objektno orijentiranom obrascu, jer je njihova pozadina učenje učenja C ili C ++.
Najviše očekivano pitanje
Sada, za najočekivanije pitanje … Koje su Haskell praktične namjene?
Haskell se sigurno puno koristi u industriji, ali ne tako često kao C # ili Java. Dakle, ako samo želite naučiti to kako biste dobili posao haskell programiranja, to bi zapravo moglo biti gubljenje vremena. Bolji razlog za učenje Haskell-a je upoznavanje funkcionalnog stilskog pristupa. To će se dogoditi s znatno bržim stupnjem Haskell nego s drugim funkcionalnim jezikom poput F # ili Scala. Također možete provjeriti moj sljedeći blog na Haskellu protiv Scale kako biste saznali razliku.
Razlog za to je zato što ako se previše zagrizete za funkcionalni stil, drugi jezici imaju mogućnost prelaska na objektno orijentirani pristup. Ali to nije slučaj s Haskelom. Haskell programski jezik ima konstrukciju koja vas prisiljava da pišete samo u funkcionalnom stilu, jer ne postoji drugi pristup. Posljednje što možete učiniti je izgubiti pisanje prijave.
Zaključak
Krajnja točka čitavog ovog bloga je, ako tražite posao u Haskellu; pričekajte da NASA ili NSA započnu zapošljavanje početničkih Haskell programera za posao. Yup! Tako je rijetka. Ali ako učite jer volite izazove, onda je Haskell način. Učinit će vam kôd puno boljim na bilo kojem jeziku.
Tako ćete shvatiti svoj problem na pravilan način, raščlaniti ih na odgovarajuće dijelove i učiniti potrebu za uklanjanjem pogrešaka što je manje moguće. Ako učite Haskell i neke druge programske jezike, onda je Haskell najprikladniji za vas. Jer će to napraviti mudri Programer.
Prvi izvor slike: pixabay.com
Povezani članci:-
Evo nekoliko članaka koji će vam pomoći da saznate više detalja o Haskell Programming Language-u, pa samo prođite vezu.
- Prednosti jezika programskog shema
- Jezici na visokoj razini u odnosu na jezike niske razine - kako se razlikuju
- Opsežni vodič za programski jezik programa
- Najbolji jezici programiranja za učenje algoritama
- 10 Zanimljivosti o programskom jeziku Java
- Karijere u R programiranju