Я собираюсь учиться Рубин , Хаскелл и Пролог в университете.
Теперь мне интересно, что должно привлечь мое внимание. У меня есть пол года, чтобы выполнить все три, а это значит, что мне нужно выбрать один язык, чтобы получить дополнительное время. Остальных я выучу достаточно, чтобы делать очень хорошо в курсе.
Я достаточно знаком с Хаскеллом и Прологом, чтобы знать, что их изучение научит меня нескольким очень важным концепциям информатики. Я не совсем уверен насчет рубина.
Пройдя несколько уроков и представлений, у меня сложилось впечатление, что в рубине много мелкой магии . Теперь я спрашиваю рубиновых людей: что я получу, если я решу никогда больше не использовать его, после того, как я потратил полгода на его изучение, что Python еще не научил меня.
Этот вопрос не предназначен для "обоснования" для рубина, хотя я понимаю, что это потенциальная тема великой аргументации.
Сейчас я использую Python для всей моей работы с CS. Я также сделал немало функционального программирования. Я также уже хорошо знаком с объектно-ориентированным программированием (в Java, Python и C #). И я, как я уже сказал, буду заниматься логическим программированием с помощью Пролога.
Что же тогда Руби научит меня?
Чтобы еще больше разбавить вопрос:
Мне не интересно писать веселье
программы или классные веб-приложения.
Я просто заинтересован в компьютере
Наука биты. Реализация алгоритмов, структур данных и так далее. (Хотя весело, конечно, не повредит)
В идеале обсуждаемые концепции должны быть изучены в течение примерно 1000 часов.
Меня совсем не интересует Rails . Любая технология, которая скрывает сложность, в этом случае вредна.
Я не могу удержаться от аргументации по этому вопросу. Но идеальный ответ на этот вопрос упомянет глубоко важную концепцию теоретической информатики, которая помогает программисту использовать и понимать рубин для получения научно обоснованных знаний.
К кандидатам, которые я придумал, относятся Мета-программирование и Многопоточность. Я не знаю, является ли рубин особенно хорошим, чтобы узнать что-либо из них.