Реклама численних курсів обіцяє зробити з вас програміста всього за кілька місяців (особливо нахабні через пару тижнів), хоча насправді на освоєння мови необхідно значно більше часу, навіть якщо брати найлегші. У цій підбірці ми склали рейтинг 10 найбільш складних мовах програмування в світі, про більшість яких ви напевно чули. Варто зазначити, що складність – поняття умовне. Комусь ту або іншу мову зі списку може датися легко, але в середньому їх вивчення потребує чимало часу.
10. Python
У середині 1980-х років голландський хлопець на ім’я Гвідо ван Россум працював над освітнім проектом по створенню мови для нових програмістів під назвою ABC. В результаті Ван Россум зацікавився мовними дизайном, і саме тоді він почав працювати над Python. Він прийняв кілька незвичайних рішень, які дійсно відрізняли Python від духу часу, і продовжують робити цю мову особливим сьогодні.
Одним з рішень Ван Россума було зробити відступ значущим, що незвично для мов програмування. Критики, які вважали, що це ускладнить використання мови, не дуже добре розуміли цю ідею, але ця особливість є однією з причин того, чому Python є читабельним і популярним. Навіть якщо ви не взяли клас CS, ви все одно можете написати корисний інструмент на Python. Це високорівнева мова, тому вам не потрібно мати справу з низькорівневими аспектами програмування, такими як управління пам’яттю.
9. Delphi
Delphi, офіційно відомий як Embarcadero Delphi, є пропрієтарним мовою програмування і комплектом розробки програмного забезпечення (SDK) від Embarcadero Technologies. Він в основному використовується для створення додатків Windows, але також може використовуватися для створення настільних, мобільних, веб – і консольних додатків, що працюють в операційних системах OS X, iOS і Android.
Delphi поширюється разом з C ++ Builder як частина професійної інтегрованого середовища розробки (IDE) під назвою RAD Studio.
8. C++
C ++ – це мова програмування, розроблений в AT&T Bell Laboratories Бьєрном Страуструпом на початку 1980-х рр. Мова був розроблений з метою об’єднання ефективності і лаконічності C з можливостями об’єктно-орієнтованого програмування SIMULA-67. З часу його створення мову швидко розвивався, і з моменту його первинного випуску в 1985 році було додано кілька нових функцій. З тих пір був створений офіційний комітет ANSI-C ++ (X3J16), щоб допомогти розробити точний і надійний стандарт для мови, який повинен усунути більшість, якщо не всі, неоднозначності в сучасних компіляторах і перекладачах C ++.
За деякими невеликими винятками, C ++ можна вважати надмножеством мови програмування C. Хоча C ++ схожий на C з синтаксису і структурі, важливо розуміти, що ці дві мови радикально відрізняються. Порівняння C з C ++ схоже на порівняння шашок з шахами.
7. Swift
Swift був представлений в 2014 році на всесвітній конференції розробників Apple. Розробка Swift була розпочата в 2010 році Крісом Латтнером з іншими програмістами, такими як Даг Грегор, Джон Макколл, Тед Кременек і Джо Грофф з Apple. Основна ідея Swift була взята з Objective-C, Rust, Haskell, Ruby, Python, C #, CLU і багатьох інших мов програмування.
Перша версія Swift була 1.0, яка зазнала серйозне оновлення до Swift 2 на WWDC 2015. Його оновлена версія 2.2 була зроблена з відкритим вихідним кодом під ліцензією Apache License 2.0 3 грудня 2015 року для платформ Apple і Linux.
6. C
Мова програмування C був розроблений в 1972 році Деннісом Рітчі в лабораторіях AT&T. Він був створений для подолання проблем попередніх мов, таких як B, BCPL і т. д. Спочатку мова C сделели для використання в операційній системі UNIX. Він успадковує багато функції попередніх мов, таких як B і BCPL. Зараз він входить до числа найбільш поширених, так що незважаючи на не самий низький поріг входу, за його вивчення беруться часто.
5. SQL
SQL – це спеціальний комп’ютерний мову програмування, призначений для управління даними, який зберігається в системі управління реляційними базами даних (RDBMS), або для обробки потокових даних у системі управління потоками реляційних даних (RDSMS). SQL спочатку розроблявся на основі реляційного обчислення і реляційної алгебри. Основні компоненти цієї мови включають в себе наступне:
- Мова визначення даних
- Мова маніпулювання даними
- Мова керування даними.
Області, в яких може використовуватися SQL, включають вставку даних, оновлення, запит і видалення, управління доступом до даних, а також модифікацію і створення схеми.
4. Haskell
Haskell – типізований і статистично поліморфно-типізований мову програмування. Вищезазначені характеристики роблять його вельми відмінним від інших існуючих мов програмування, що також додає йому складності.
Мова був названий на честь Хаскелла Брукса Каррі, робота якого в області математичної логіки стала фундаментом для розвитку функціональних мов.
Розробка Haskell була ініційована комітетом на конференції з мов функціонального програмування і комп’ютерної архітектурі (FPCA ’87), яка відбулася в Портленді. Учасники конференції погодилися з тим, що повинен бути введений загальний стандарт для чисто функціональних мов.
3. Javascript
Брендан Айх, програміст Netscape Communications Corporation, створив JavaScript у вересні 1995 року. Айху знадобилося всього 10 днів, щоб розробити мову сценаріїв, тоді відомий як Mocha (наголос на другий склад). Ейч створив його для Netscape Navigator, і він швидко став відомий як LiveScript. Потім команда змінила ім’я на JavaScript, щоб відобразити підтримку Netscape Java в своєму браузері. Хоча це звучить заплутано, у той час це була «маркетингова тактика», щоб підключити новий мову (JavaScript) до популярного у той час мови (Java), хоча нічого спільного у них немає.
2. Assembler
У комп’ютерному програмуванні мова асемблера (ASM) є будь-якою мовою програмування низького рівня, у якому є сильне відповідність між інструкціями мови та архітектурами в машинному коді. Оскільки збірка залежить від інструкцій машинного коду, у кожного асемблера є свій власний мову асемблера, який розроблений спеціально для однієї конкретної комп’ютерної архітектури. Складно і заплутано звучить, чи не правда? А уявіть, як його вчити?
1. Malbolge
Malbolge (названий в честь восьмого кола пекла Данте) – це езотеричний мову програмування. Він був винайдений Беном Олмстедом в 1998 році. Мета полягала в тому, щоб створити мову, який утруднив написання програм. Авторові це вдалося: знадобилося два роки, щоб створити «Привіт, світ!», та фраза була написана не вручну, а за допомогою програми.
Другим за значимістю людиною в історії мови є Лу Шеффер, який зберіг первісний інтерпретатор і специфікацію після того, як оригінальний сайт перестав функціонувати, провів дослідження криптоаналізу мови, створив програму, яка копіює вхідні дані у його висновок і запропонував загальну стратегію написання програм у Malbolge. Грубо кажучи, вивчити цю мову не можна, як і створити на ньому щось серйозне, і не в останню чергу через його неймовірної складності.