Важливі речі про мову програмування Haskell

Зміст:

Anonim

Мова програмування Haskell - Ви, можливо, читали про багато мов. Але коли ви чуєте про Haskell, перше, що спадає на думку, - це "тут з'являється ще одна так звана мова wannabe". Перше питання, яке спадає на думку, - це; ЧОМУ? Чому потрібна стільки мов? Чому це потрібно бути таким важким? Чому python або Ruby так прості в порівнянні з C або Java? А який чорт Хаскелл?

Не хвилюйся. Я сьогодні тут, щоб відповісти на всі ваші запитання. Але спочатку все, що таке Haskell? Зазвичай ви не знайдете багато людей, які вивчають та розмовляють цією мовою. Причиною тому, що Haskell не такий простий, як C або Python. ТАК! Я сказав, що я програміст для C з останніх 4 років, і мені це дуже цікаво. Але це не той самий випадок з Haskell.

Я дізнався Haskell, тому що вважаю це дуже складним на відміну від C або Python.Python - надзвичайно дивовижна мова та дуже гнучка. З цим ви можете майже все, що завгодно. Ваша уява - лише межа в Python. Тепер замість того, щоб похвалитися Python, давайте почнемо з Haskell. Тому що, саме для цього ми тут, правда?

Але перш ніж продовжувати читати далі, дозвольте мені ПОПЕРЕДЖЕНО вас. Ця мова не для початківців; принаймні не для абсолютних новачків. Якщо у вас немає попереднього досвіду програмування, Haskell подасть вам відчуття ROCKET SCIENCE. І це жирним шрифтом. Програмісти це зрозуміють.

Мова програмування Haskell є чистою функціональною мовою. Або правильний термін був би математичним. Будь-яка людина, яка любить математику, буде надзвичайно комфортна з динамічним програмуванням Haskell, особливо з теоремами.

Але що таке функціональне програмування?

Якщо конкретніше, то в функціональній мові програмування оригінальним методом обчислення є введення функцій до аргументів. Поряд з іншими функціями, які надають ці типи мов, функціональне програмування пропонує надзвичайно малий та компактний метод кодування програм, включаючи великі методи абстрагування, щоб їх структурувати, і йому потрібен розум, який знає, як сформулювати шлях до математики, який підтримує міркування програм, дещо схожий на теореми.

Такі мови є провідними у розвитку дизайну мови програмування. Усі інші мови програмування, такі як PHP, Basic, C ++, Java Python, Ruby, JavaScript та Scala; все це - програмування високого рівня, які виражають лямбда-вирази або закриття.

Чисті функціональні мови вводять повністю незмінні структури, і ці функції не мають ніяких побічних ефектів. Ця функція полягає в тому, що вона бере всі незмінні структури разом як певний вхід, а потім створює нову подібну структуру, як даний вихід.

Приклади додавання цілих чисел у:

Пітон:

>>>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. Єдине, де вам потрібно буде хвилюватися - це коли я сказав: "Якщо вони збираються". Hehehe…, ось найскладніша частина Haskell: «Компіляція».

Рекомендовані курси

  • Навчальні курси XML
  • Курси навчальних іспитів CCNA
  • Курс UNIX та Linux OS
  • Онлайн-курс HTML 5

Чому мова програмування Haskell?

Щодо вищезазначеного питання, я запитую: «Чому ні?» Хаскелл - це в основному хороша мова, яку потрібно вивчити. Тут ваш код простий і самостійний. Тут немає жодних клопотів чи зайвих відступів. Мова програмування Haskell також добре працює з ідеями. Ви, маючи пристойний досвід роботи, можете писати програми у форматах високого та низького рівня.

В одному місці, де Haskell - це чудовий спосіб вивчити математику, навпаки, з іншого боку, він також потужний для паралельного програмування в haskell, який дає вам хороший контроль над вашими алгоритмами щодо того, як ваші типи структуровані в пам'яті . Здебільшого люди позбавлені вдосконаленої мови програмування Haskell, тому що вона виглядає як занадто низький рівень, але якщо ви подивитесь на її позитивну ноту, то це доводить, що Haskell Функціональне програмування має масштабовані функції як низького, так і високого рівня.

Haskell добре почати підбирати як першу мову. Багато перешкод, з якими стикаються люди, коли вивчає Haskell, тому що вони занадто звикли до інших мов високого рівня, таких як Python або Ruby, але річ у тому, що мова програмування Haskell занадто відрізняється від них. Таким чином, якщо ви взагалі нічого не знаєте про програмування, у вас не буде проблем із вивченням його як першої мови.

Також набагато простіше перейти від Haskell до навчання чомусь іншому, ніж робити навпаки. Тепер ви можете думати, що на початку я сказав, що ця мова не для початківців. Так, я це сказав, бо хотів переконатися, що ти не витрачаєш 30 хвилин на своє читання. Якщо ви вже вклали стільки часу в читання про Haskell, то це означає, що у вас є тверда рішучість вчитися. І це те, що вам потрібно для вивчення цієї мови.

Мінуси

Haskell - це чудова мова, але, як і всі інші мови, у Hasgall Programga Langauge є свій набір рис. Наприклад, інструментарій, повідомлення про помилки та спосіб побудови його системи є складнішими, ніж потрібно. Якщо ви працюєте в GHCi, то ви неодмінно помітите, що повідомлення про помилки тут не настільки корисні, як в Python, Golang або Scala.

Не кажучи вже про те, що над цим над цим зараз працює. Платформа Haskell невелика і проста в установці. Haskell, з іншого боку, пропонує більш стабільний досвід роботи з REPL. Управління пакунками тут нещодавно змінилося, і вони все ще вдосконалюються. Навіть Emacs незабаром також отримає багато вдосконалень та нових функцій.

Хоча haskell звучить занадто суворо, як мова для початківців, але як тільки ви маєте основні права, його насправді легко перейти на мови низького рівня або мови високого рівня через його дуже гнучких характеристик, на відміну від таких мов, як python або perl, якщо ви дізнаєтесь це спочатку, ви, ймовірно, ніколи не подумаєте вивчити мови низького рівня через його відчуженої структури коду.

Haskell, це значно велика мова, яку потрібно вивчити докладно. Загалом, я б сказав, що Хаскелл - це чудова перша мова, яку потрібно вивчити. Єдине, про що варто потурбувати - це те, що для початку роботи та постійної роботи може знадобитися більше зусиль через проблеми з її інструментами, особливо якщо ви хочете створити цікаву програму.

Якби я мав на меті навчити людей програмування Haskell людям, я би доклав більше зусиль, щоб зробити процедуру установки більш безболісною. Потрібно мати належний набір модулів, встановити правильну версію, щоб вони правильно налаштували GHCi для компіляції проблем.

Вивчення мови програмування Haskell означає, що потрібно продумати функціонально. Багато нових мов програмування дозволяють функціональний стиль програмування, але більшість розробників не використовують ці функції в повній мірі, оскільки вони думають про більш об'єктно-орієнтовану схему, тому що їх основою є навчання C або C ++.

Найбільш очікуване питання

Тепер для найочікуванішого питання … Які практичні користі має Haskell?

Haskell, безумовно, використовується в промисловості багато, але не так часто, як C # або Java. Тож якщо ви просто хочете навчитися цьому, щоб допомогти вам отримати завдання програмування haskell, це насправді може бути марною тратою часу. Кращий привід навчитися Haskell - це ознайомитись з функціональним підходом до стилю. Це станеться набагато швидше з Haskell, ніж з іншою функціональною мовою, наприклад F # або Scala. Ви також можете перевірити мій наступний блог на Haskell vs Scala, щоб знати різницю.

Ця причина полягає в тому, що якщо ви занадто розбещені з функціональним стилем, в інших мовах є можливість зробити перехід на об'єктно-орієнтований підхід. Але з Haskell це не так. Haskell Programming Language має конструкцію, яка змушує писати лише у функціональному стилі, оскільки іншого підходу немає. Останнє, що ви можете зробити, це втратити програму.

Висновок

Кінцева точка всього цього блогу - якщо ви шукаєте роботу в Haskell; зачекайте, поки NASA або NSA почнуть наймати програмістів-початківців Haskell для роботи. Так! Ось як це рідко. Але якщо ви навчаєтесь, тому що любите виклики, то Haskell - це шлях. Це зробить вас кодом набагато краще будь-якою мовою.

Це змусить вас зрозуміти свою проблему належним чином, розбить їх на належні частини і зробить необхідність налагодження якомога менше. Якщо ви також вивчаєте Haskell та деякі інші мови програмування, то Haskell найкраще підходить для вас. Тому що це зробить мудрий програміст.

Перше джерело зображення: pixabay.com

Схожі статті: -

Ось кілька статей, які допоможуть вам отримати більш детальну інформацію про мову програмування Haskell, тому просто перейдіть за посиланням.

  1. Переваги мови програмування схеми
  2. Мови високого рівня проти мов низького рівня - чим вони відрізняються
  3. Вичерпний посібник з мови програмування схеми
  4. Кращі мови вибору програмування для вивчення алгоритмів
  5. 10 цікавих речей про мову програмування Java
  6. Кар'єра в програмуванні R