В настоящее время я в основном программист на D и хочу добавить в свой набор инструментов еще один язык, желательно тот, который поддерживает хаки метапрограммирования, которые просто невозможно сделать на статически компилируемом языке, таком как D.
Я немного читал о Лиспе, и мне бы хотелось найти язык, который допускает некоторые из классных вещей, которые делает Лисп, но без странного синтаксиса и т.п. Лиспа. Я не хочу начинать языковую войну, и я уверен, что у Ruby и Python есть свои компромиссы, поэтому я перечислю то, что важно лично для меня. Скажите, пожалуйста, лучше ли мне подойдет Ruby, Python или другой язык.
Важный:
- Хорошее метапрограммирование. Возможность создавать классы, методы, функции и т.д. во время выполнения. Желательно минимальное различие между кодом и данными в стиле Лисп.
- Хороший, чистый, разумный синтаксис и последовательная, интуитивно понятная семантика. По сути, это хорошо продуманный, интересный в использовании современный язык.
- Множественные парадигмы. Ни одна парадигма не подходит для каждого проекта или даже для каждой небольшой подзадачи в рамках проекта.
- Интересный язык, который действительно влияет на то, как люди думают о программировании.
Немного важно:
- Производительность. Было бы неплохо, если бы производительность была приличной, но когда производительность является реальным приоритетом, я буду использовать D.
- Хорошо задокументированы.
Не важно:
- Размер сообщества, доступность библиотеки и т. Д. Ничто из этого не является характеристикой самого языка, и все может измениться очень быстро.
- Наличие вакансий. Я не профессиональный программист, работающий полный рабочий день. Я аспирант, и программирование имеет косвенное отношение к моим исследованиям.
- Любые функции, которые в первую очередь разработаны для очень больших проектов, над которыми работает миллион кодовых обезьян.