Haskell Programming Language - Може да сте чели за много езици. Но когато чуете за Haskell, първото нещо, което ви идва на ум е „Тук идва друг, така наречен wannabe език“. Първият въпрос, който идва на ум, е; ЗАЩО? Защо има нужда от толкова много езици? Защо трябва да е толкова трудно? Защо python или Ruby са толкова лесни, в сравнение с C или Java? И какво по дяволите е Хаскел?
Не се притеснявайте. Днес съм тук, за да отговоря на всички въпроси. Но първо първо, какво е Haskell? Обикновено няма да намерите много хора, които учат или говорят на този език. Причината е, че Haskell не е толкова проста, колкото C или Python. ДА! Казах, че съм програмист на C от последните 4 години и всъщност ми е много интересно. Но това не е същия случай с Haskell.
Научих Haskell, защото ми е много предизвикателно за разлика от C или Python.Python е изключително страхотен език и много гъвкав. Почти можете да направите всичко, което искате с това. Въображението ви е само границата в Python. Сега, вместо да се хваля с Python, нека да започнем с Haskell. Защото точно за това сме тук, нали?
Но преди да продължите да четете по-нататък, позволете ми да ви ПРЕДУПРЕЖДА. Този език не е за начинаещи; поне не за абсолютни начинаещи. Ако нямате предишен опит в програмирането, Haskell ще ви даде усещането за ROCKET SCIENCE. И това е с удебелен шрифт. Програмистите ще го разберат.
Haskell Programming Language е чист функционален език. Или подходящият термин би бил математически. Всеки човек, който харесва математиката, ще бъде изключително удобен с динамичното програмиране на Haskell, особено с теоремите.
Но какво е функционално програмиране?
За да бъдем по-конкретни, във функционалния език за програмиране оригиналният метод на изчисление е въвеждането на функции в аргументи. Наред с други функции, които тези типове езици предоставят, функционалното програмиране предлага изключително малък и компактен метод за кодиране на програми, включително големи методи за абстракция, за да ги структурира, и се нуждае от мислене, което знае как да сложи по пътя си към математиката, което поддържа разсъждения за програми, донякъде подобни на теоремите.
Такъв тип езици са водещи в развитието на дизайна на езика за програмиране. Всички други езици за програмиране като PHP, Basic, C ++, Java Python, Ruby, JavaScript и Scala; всичко това са програми на високо ниво, които изразяват лямбда изрази или затваряния.
Чистите функционални езици въвеждат напълно неизменни структури и тези функции нямат никакви странични ефекти. Това, което прави тази функция е, че взема всички неизменни структури заедно като някакъв вход и след това създава нова подобна структура като дадения изход.
Примери за добавяне на цели числа в:
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 всъщност е страхотен език за програмиране. Математиката е изключително сложна и директна дотам, за разлика от другите, където програмите не могат да се докажат, че са правилни и в повечето случаи тук, в Haskell, те могат и ако компилират, те ще работят без никакви проблеми. Това обаче въвежда нови предизвикателства.
Нека кажем, че например не можете да промените дори нито един var тук (var означава променлива). Рекурсията е ключът към всичко тук. Но няма нужда да се притеснявате. След като се спрете на това, всъщност ще се почувствате като у дома си да пишете приложения в Haskell. Единствената част, от която трябва да се притеснявате, е, когато казах: „Ако те компилират“. Хехехе …, това е най-трудната част в Хаскел: "Съставяне".
Препоръчителни курсове
- Курсове за XML обучение
- CCNA Курсове за изпитни курсове
- UNIX & Linux OS курс
- Онлайн HTML 5 курс
Защо Haskell език за програмиране?
Що се отнася до горния въпрос, аз питам: „Защо не?“ Хаскел е основно добър език за изучаване. Тук вашият код е прост и самостоятелен. Тук няма караници или ненужни вдлъбнатини. Haskell Programming Language също работи добре с идеи. Вие, с приличен обем опит, можете да пишете програми във високо и ниско ниво на програмиране.
На едно място, където Haskell е чудесен начин да научите математика, обратно, от друга страна, той е мощен и за паралелно програмиране в haskell, което ви дава добър контрол върху парчетата ви алгоритми по отношение на структурата на типовете ви в паметта, През повечето време хората лишават усъвършенствания Haskell програмен език, защото изглежда като твърде ниско ниво, но ако погледнете положителната му нотка, това доказва, че Haskell функционалното програмиране има мащабируеми характеристики на ниско и високо ниво.
Haskell е добре да започнете да избирате като първи език. Много препятствия, с които се сблъскват хората при изучаването на Haskell идва, защото те са твърде свикнали с други езици на високо ниво като Python или Ruby, но нещо е Haskell Programming Language е твърде различен от тях. По този начин, ако изобщо не знаете нищо за програмирането, няма да имате проблем да го научите като първи език.
Освен това е много по-лесно да преминете от Haskell да научите нещо друго, а не да правите обратното. Сега може би си мислите, че в началото казах, този език не е за начинаещи. Да, казах това, защото исках да се уверя, че не губите 30 минути от четенето на това. Ако вече сте инвестирали толкова много време в четене за Haskell, това означава, че имате твърда решимост да се научите. И това е, което трябва да научите този език.
Минусите
Haskell е чудесен език, но като всеки друг език, Haskell Programming Langauge има свой набор от черти. Например инструментариумът, съобщенията за грешки и начинът, по който е изградена системата му са по-сложни, отколкото трябва да бъдат. Ако работите в GHCi, със сигурност ще забележите, че съобщенията за грешки не са толкова полезни тук, както са в Python, Golang или Scala.
Да не говорим, че по част от това в момента се работи. Платформата Haskell е малка и лесна за инсталиране. Haskell, от друга страна, предлага по-стабилно REPL изживяване. Управлението на пакетите тук има значителни промени в последно време и те все още се подобряват. Дори Emacs скоро ще получи много подобрения и нови функции.
Въпреки че haskell звучи прекалено грубо като за начинаещ език, но след като имате правилните основи, всъщност е лесно да мигрирате или към езици с ниско ниво, или към езици от високо ниво, поради силно гъвкавите си характеристики, за разлика от езиците като python или perl, ако научиш това първо, вероятно никога няма да се сетиш да научиш езици на ниско ниво поради отчуждената му структура на кода.
Haskell, е значително голям език за изучаване в детайли. Като цяло бих казал, че Haskell е чудесен първи език за изучаване. Единствената част, която си струва да се притеснявате, е, че може да се наложи повече усилия, за да започнете и да продължите непрекъснато, поради проблемите с нейните инструменти, особено ако искате да изградите интересна програма.
Ако имах за цел да науча Haskell език за програмиране на хората, бих положил повече усилия да направя процедурата за инсталиране по-безболезнена. Човек трябва да има правилен набор от модули, инсталирана правилна версия, така че те да са правилно конфигурирани GHCi за компилиране на проблеми.
Изучаването на Haskell Programming Language означава, че трябва да мислите по функционален начин. Много нови езици за програмиране позволяват функционалния стил на програмиране, но повечето разработчици не използват пълноценно тези функции, тъй като мислят за по-обектно ориентиран модел, като причината е техният произход да се научи на C или C ++.
Най-чаканият въпрос
Сега, за най-чакания въпрос … Какви са практическите приложения на Haskell?
Haskell със сигурност се използва много в индустрията, но не толкова често като C # или Java. Така че, ако просто искате да го научите, за да ви помогне да получите задания за програмиране на haskell, това всъщност може да е загуба на време. По-добра причина да научите Haskell е да се запознаете с функционалния подход за стил. Това ще стане с много по-бързи темпове с Haskell, отколкото с друг функционален език като F # или Scala. Можете също да проверите следващия ми блог на Haskell срещу Scala, за да знаете разликата.
Причината за това е, защото ако сте прекалено ядосани с функционалния стил, другите езици имат възможност да преминат към обектно ориентирания подход. Но това не е така с Haskell. Haskell Programming Language има конструкция, която ви принуждава да пишете само във функционален стил, тъй като няма друг подход. Последното нещо, което можете да направите, е да забраните да напишете заявление.
заключение
Крайната точка на целия този блог е, ако търсите работа в Haskell; изчакайте, докато NASA или NSA започне да наема начинаещи програмисти Haskell за работа. Мда! Ето колко рядко се среща. Но ако се учите, защото харесвате предизвикателства, тогава Haskell е начинът. Това ще ви направи код много по-добър на всеки език.
Това ще ви накара да разберете правилно проблема си, ще ги раздели на правилни части и ще направи необходимостта от отстраняване на грешки възможно най-малко. Ако изучавате и Haskell и някои други езици за програмиране, Haskell е най-подходящ за вас. Защото това ще направи мъдър програмист.
Първи източник на изображения: pixabay.com
Свързани статии:-
Ето няколко статии, които ще ви помогнат да получите повече подробности относно Haskell Programming Language, така че просто преминете през линка.
- Предимства на езика за програмиране на схемата
- Езици на високо ниво спрямо езици с ниско ниво - как са различни
- Изчерпателно ръководство за езика на програмиране на схеми
- Най-добър език за програмиране на избор за изучаване на алгоритми
- 10 интересни неща за езика за програмиране на Java
- Кариери в R програмиране