@Andrey_Openchenko

Какие самые востребованные языки программирования и какие задачи они решают?

Здравствуйте! Расскажите пожалуйста про самые востребованные языки программирования и, самое главное, какие задачи они решают? Было бы хорошо видеть такую структуру ответа "С++ - для того и того -то и т.д. и т.п". Прошу не писать "Смотря для каких целей и что ты хочешь делать...". Спасибо.
  • Вопрос задан
  • 3213 просмотров
Решения вопроса 1
Всякий используемый на практике язык программирования общего назначения является полным по Тьюрингу. Это означает, что написанная на нём программа способна выполнять все действия, какие может выполнить абстрактная машина Тьюринга-Поста - каретка, отмечающая клетки на бесконечной ленте, считывающая отметки на них, и перематывающая ленту в обе стороны. Несмотря на всю сложность всех существующих программных систем, никакой современный компьютер в принципе не может сделать ничего, на что не способна эта каретка.

Другими словами, это означает, что все современные языки программирования по сути своей эквивалентны. Если вы можете написать нечто на одном языке - то по большому счёту ту же функциональность можете получить и на другом.

Да, есть нюансы: нельзя написать операционную систему на JavaScript или отладчик уровня ядра на Python. Да, компьютерные игры пишут на C++, чтобы добиться максимальной скорости, а веб-приложения часто пишут на Python, Ruby или там PHP.

Но в основе своей все эти C, Python, Java, даже Haskell - все они полны по Тьюрингу, все они работают на одной и той же архитектуре фон Неймана. И все они фундаментально эквивалентны. Хорошо написанный код на Python и столь же хорошо написанный код на Go, коли они обладают одинаковой функциональностью, могут отличаться множеством деталей реализации, но суть у них будет одинакова. Если переписать этот кусок кода на Haskell - ну он будет выглядеть сильно иначе, но суть всё равно останется той же.

Поймите это. Нет других языков, кроме полных по Тьюрингу, нет других вычислительных машин, кроме машины фон Неймана. Это всё, что у нас есть, а остальное детали.

Но вы, кажется, начинающий и мучаетесь выбором. Хватит мучиться, возьмите какой-нибудь простой язык, тот же Python, - я его всем советую, - и занимайтесь, чего-нибудь делайте. Если потом окажется, что вы жить не можете без управления указателями - перейдёте на C, ничего страшного. Если вам очень захочется монад и категорий - Haskell или Scala вас ждут. Такова жизнь: решения находятся итеративно, методом последовательных приближений. Действуйте.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
begemot_sun
@begemot_sun
Программист в душе.
Смотря для каких целей и что ты хочешь делать...
Ответ написан
Lerg
@Lerg
Defold, Corona, Lua, GameDev
Неправильно ставите вопрос. Нужно не искать задачу под язык программирования, а искать подходящие языки для конкретных задач.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы