Языков программирования масса, так что назвать прям в точности самый простой и самых сложный не представляется возможным. Но кое-что всё же можно сказать.
Есть такой класс языков программирования, как эзотерические. На них редко пишут серьёзные программы, их цель - реализовать интересный концепт, поиграться с фундаментальными принципами программирования, а иногда - просто поржать. HQ9+ - отличный пример языка для "поржать", написать на нём почти ничего нельзя. Так вот, среди таких языков есть и те, что созданы для того, чтобы на них было можно, но адски сложно писать код. Ярким представителем таких является язык Malbolge. Он не только устроен очень запутанно и непонятно, но и текст на нём приходится писать в зашифрованном виде, так что код выглядит, как случайный набор символов.
Кстати, среди тех же эзотерических языков можно найти и супер-простые. Так, синтаксис языка Brainf*ck состоит всего из 8 команд, каждая из которых - лишь один символ. Правда, из-за такой простоты на языке сложно писать что-то по-настоящему полезное, а код выглядит нечитаемо, но освоить синтаксис можно за 10 минут.
Из "нормальных" языков особо сложным считается Ассемблер (это не совсем язык, а скорее семейство языков, ну да ладно). Этот язык используется для написания низкоуровневого кода для исполнения на процессоре. Его сложно учить, на нём сложно писать, но временами без него не обойтись. Ещё есть языки, несущие в себе сложную идею. Например, язык Haskell использует парадигму Функционального программирования, которая очень сильно отличается от привычных нам концепций. Изучать его тоже непросто.
Относительно простых языков много. Считается, что Python очень прост, и с этим сложно не согласиться: синтаксис довольно минималистичен, сложные компоненты языка упрятаны подальше от пользователя, чтобы он, так сказать, не думал о плохом. Есть другие языки, похожие по сложности: PHP, Javascript, Pascal (на Pascal почти никто ничего не пишет, но его до сих пор изучают во многих российских школах, как раз из-за его простоты), Ruby и другие.
Ага, жабоскрипт можно понять практически без опыта, ага. :) Хороший вброс, поржал. :)
Наверное, самый лучший ответ
Одним из самых сложных языков программирования считается Malbolge (https://ru.wikipedia.org/wiki/Malbolge).
Язык разработан с целью быть максимально сложным для написания программ. Получил своё название от Malebolge, восьмого круга ада Данте.
Довольно трудно выделить один конкретный язык, так как под классификацию "самый сложный" попадают многие языки класса "Эзотерические", которые в большенстве своём являются пародией на другие языки или являются шуткой.
Самый известный язык из этого класса называются Brainfuck, а под самым сложным можно выделить Malbolge, который был создан специально для максимального усложнения написания кода. Такие языки даже имеют свою собственный подкласс с названием "Чёрный ящик"
Самыми сложными с точки зрения того, какие операции они позволяют делать, являются языки высокого уровня. На данный момент их 3: С++, Java и С#. Любители Apple скажут, что есть ещё Objective C, но он есть только для iOS.
Исторически С++ появился раньше всех. Код, написанный на С++, можно скомпилировать в любой операционной системе. Однако С++ не обладает большой частью функциональности, реализованной в Java и C#, плюс, с точки зрения программиста на последних двух языках, его "синтаксис" подчас чересчур громоздок и во многом устарел. Существуют различные расширения С++, типа Qt, которые пытаются устранить этот разрыв, но у этих расширений не очень-то получается.
Одна из причин, по которой С++ сохраняет свою популярность, заключается в том, что в С++ нет так называемого "сборщика мусора" - программы, автоматически чистящей память от неиспользуемых объектов. Это ставят С++ в преимущество, потому что программист получает ручной контроль за памятью. Поэтому С++ любят использовать для тех процессов, где расход памяти кажется настолько критическим, что автоматический сбор мусора не кажется вариантом. На деле, сборщики мусора в Java и С# заметно продвинулись со времён первых версий. Так что преимущество становится всё более сомнительным, особенно на фоне того, что а) для каждого объекта в С++ приходится писать дополнительный код деструктора, освобождающего память, б) не уничтоженные вовремя объекты - постоянные источник трудно отлавливаемых багов, в) в Java и C# есть методы, позволяющие прямо указать, что объект должен быть удалён в конкретном месте.
Java более проста в своём синтаксисе, чем С++, на Java написано куча программ для интернета вещей. Как и С++, Java изначально была многоплатформенной. Тем не менее, большая часть функциональности, которая есть в С#, на Java реализуется внешними пакетами, поддерживаемыми полутора программистами и потенциально рискующими конфликтовать друг с другом. Плюс, синтаксис Java кажется мне всё-таки более громоздким, чем у C#.
Как вы уже поняли, моим фаворитом был, есть, и вот уже 17 лет остаётся C#. Это язык с наиболее чистым синтаксисом, позволяющий изящно писать программы. Вся та функциональность, которая в Java достигается встраиваемыми пакетами, в С# уже есть. Плюс, пакеты туда тоже можно встраивать.
Многие программисты любят не любить C#, и связано это с его историей. C# - детище Microsoft, а Microsoft в целом имел имидж жёсткого копираста. Изначально на C# программы можно было писать только под Windows, что ограничивало его применимость по сравнению с Java. Плюс, единственным редактором, в котором можно было писать на C#, долгое время оставался Visual Studio.
Тем временем, всё это давно уже изменилось. Майкрософт стал распространять многие свои приложения бесплатно - в частности, есть бесплатная версия Visual Studio, по функциональности мало отличающаяся от платной. Xamarin сделал программы, написанные на C#, конвертируемыми в другие операционные системы. Наконец, появились и другие редакторы C# и вообще среды .NET, к примеру Rider.
Кроме того, C# выгодно отличается от Java тем, что прошёл ISO-стандартизацию.
В общем, для большого, сложного проекта, который делает устоявшаяся фирма, я бы всячески рекомендовал С#.