Язык программирования для домашнего использования

А вот посоветуйте мне, коллеги-айтишники, какой-нибудь язык программирования для домашних нужд. Хочется чего-нибудь в меру мощного, но непритязательного, чтобы можно было легко решать сиюминутные задачки по принципу "создал файл - написал несколько строк - запустил - получил результат".

Обычно всякие вычислительно-рисовательные задачи легко решает Эксель и его бесплатные аналоги; для большинства процедурно-скриптовых задач обычно за глаза хватает джаваскрипта в ближайшем браузере. Но ни тот, ни другой, к примеру, не могут напрямую работать с файловой системой. Мне как раз недавно потребовалось распарсить текстовый файлик и разобрать его на кучку других маленьких текстовых файликов. Так что я сделал: я вспомнил, что у меня на домашнем сервере крутится Апач, а его веб-каталог расшарен по локальной сети - поэтому, недолго думая, я написал скриптик на PHP, тут же рядом положил оперируемый файлик и запустил скрипт через браузер. Знаю, что это извращение :) Поэтому и прошу совета.

Итак, какими характеристиками должен обладать искомый язык:

1. Быть интерпретируемым, поскольку не хочется захламлять жесткий диск бинарниками, да и лишний шаг в виде компиляции мне тоже как-то ни к чему.

2. Быть кросс-платформенным: например, может так статься, что какое-нибудь удачное решение захочется переселить на Linux-сервер на ПМЖ.

3. Не слишком отличаться по синтаксису или идеологии от языков, на которых я вырос и когда-то неплохо знал: C++ и Java. Мне как-то уже тяжеловато с головой погружаться в новые языки, особенно с учетом того, что я уже сто лет толком не программировал. Хотя, если есть на примете какой-нибудь несложный и эффективный функциональный язык, готов попробовать.

4. Быть достаточно высокоуровневым. Т.е. я ожидаю, что он не заставит меня с нуля строить механизмы поиска/замены в строках и не будет ругаться на малейшее несоответствие типов. В конце концов, я не за́мки возводить собираюсь.

5. Быть простым в инсталляции, сопровождении и переносе на другие системы. В идеале хотелось бы чтобы всякие внешние модули, не входящие в базовую функциональность языка, можно было подложить тут же, рядом с рабочим скриптом.

6. Не откажусь и от IDE (особенно если там будет встроенный дебаггер), но не слишком монстрообразной и не в ущерб кроссплатформенности.

Пока что под все эти требования лучше всего подходит Python. Там, конечно, есть проблемы с совместимостью между версиями, там не совсем прозрачная (я бы даже сказал - совсем непрозрачная для меня) процедура установки модулей, да и идея значимых отступов меня, старообрядца, первое время приводила в возмущение - но во всем остальном язык вполне приятный: в меру мощный, с кучей готовых библиотек, и легкий в освоении. Но, может, в природе есть что поинтереснее?

Слышал про людей, способных свернуть горы одним только башем - но это все-таки язык для гиков, и, боюсь, я уже упустил время, когда можно было его изучить. Да и кроссплатформенность его (да, я знаю про cygwin) все-таки довольно сомнительна.

Есть еще VBScript... но меня, честно говоря, воротит с этого, с позволения сказать, языка. Иногда приходится по долгу службы использовать, и все время не отпускает ощущение, что вот сейчас скрипт навернется на ровном месте.

Слышал про Perl и про Ruby, но про них я вообще ровным счетом ничего не знаю - не доводилось сталкиваться.

Кто чем еще пользуется?

Комментарии

Изображение SolarWind

Perl уж очень страшный и избыточный. Я за Python. :-)

Изображение myx

Засчитано, спасибо! :)

Сам я думаю попробовать http://ru.wikipedia.org/wiki/Groovy. Главное преимущество - это скриптовый язык над стеком Java, т.е. не нужно учить новое API, все концепции знакомы. Но это специфика того, что я все-таки сильно привязан к стэку Java (ANT, MXMLC).

Сейчас для подобных задач я использую Ruby. Мне он очень нравится как язык. Выбор Ruby vs Python - религиозный и непринципиальный. Проблемы в Ruby (насколько я знаю в python они тоже есть в том или ином виде):
- Плохая поддержка Unicode (т.е. не полностью прозрачно как в Java, нужно понимать, что и как делаешь).
- Нет (как в JS) простой нативной поддержки XML.

В ОдинН успешно используется Python и Groovy.

Если забить на кросплатформенность, то под Windows есть Windows Script Host. Его можно использовать и из JavaScript, если не нравится VB script.

Изображение myx

Спасибо за развернутый ответ!

Groovy помню только как эпизод своего двухнедельного пребывания в 1N :) Тогда, помнится, это еще был просто язык вставок в XML для Canoo :)