Язык программирования для домашнего использования
А вот посоветуйте мне, коллеги-айтишники, какой-нибудь язык программирования для домашних нужд. Хочется чего-нибудь в меру мощного, но непритязательного, чтобы можно было легко решать сиюминутные задачки по принципу "создал файл - написал несколько строк - запустил - получил результат".
Обычно всякие вычислительно-рисовательные задачи легко решает Эксель и его бесплатные аналоги; для большинства процедурно-скриптовых задач обычно за глаза хватает джаваскрипта в ближайшем браузере. Но ни тот, ни другой, к примеру, не могут напрямую работать с файловой системой. Мне как раз недавно потребовалось распарсить текстовый файлик и разобрать его на кучку других маленьких текстовых файликов. Так что я сделал: я вспомнил, что у меня на домашнем сервере крутится Апач, а его веб-каталог расшарен по локальной сети - поэтому, недолго думая, я написал скриптик на PHP, тут же рядом положил оперируемый файлик и запустил скрипт через браузер. Знаю, что это извращение :) Поэтому и прошу совета.
Итак, какими характеристиками должен обладать искомый язык:
1. Быть интерпретируемым, поскольку не хочется захламлять жесткий диск бинарниками, да и лишний шаг в виде компиляции мне тоже как-то ни к чему.
2. Быть кросс-платформенным: например, может так статься, что какое-нибудь удачное решение захочется переселить на Linux-сервер на ПМЖ.
3. Не слишком отличаться по синтаксису или идеологии от языков, на которых я вырос и когда-то неплохо знал: C++ и Java. Мне как-то уже тяжеловато с головой погружаться в новые языки, особенно с учетом того, что я уже сто лет толком не программировал. Хотя, если есть на примете какой-нибудь несложный и эффективный функциональный язык, готов попробовать.
4. Быть достаточно высокоуровневым. Т.е. я ожидаю, что он не заставит меня с нуля строить механизмы поиска/замены в строках и не будет ругаться на малейшее несоответствие типов. В конце концов, я не за́мки возводить собираюсь.
5. Быть простым в инсталляции, сопровождении и переносе на другие системы. В идеале хотелось бы чтобы всякие внешние модули, не входящие в базовую функциональность языка, можно было подложить тут же, рядом с рабочим скриптом.
6. Не откажусь и от IDE (особенно если там будет встроенный дебаггер), но не слишком монстрообразной и не в ущерб кроссплатформенности.
Пока что под все эти требования лучше всего подходит Python. Там, конечно, есть проблемы с совместимостью между версиями, там не совсем прозрачная (я бы даже сказал - совсем непрозрачная для меня) процедура установки модулей, да и идея значимых отступов меня, старообрядца, первое время приводила в возмущение - но во всем остальном язык вполне приятный: в меру мощный, с кучей готовых библиотек, и легкий в освоении. Но, может, в природе есть что поинтереснее?
Слышал про людей, способных свернуть горы одним только башем - но это все-таки язык для гиков, и, боюсь, я уже упустил время, когда можно было его изучить. Да и кроссплатформенность его (да, я знаю про cygwin) все-таки довольно сомнительна.
Есть еще VBScript... но меня, честно говоря, воротит с этого, с позволения сказать, языка. Иногда приходится по долгу службы использовать, и все время не отпускает ощущение, что вот сейчас скрипт навернется на ровном месте.
Слышал про Perl и про Ruby, но про них я вообще ровным счетом ничего не знаю - не доводилось сталкиваться.
Кто чем еще пользуется?
Комментарии
SolarWind
Пн, 2011-08-08 12:52
Link
Re: Язык программирования для домашнего использования
Perl уж очень страшный и избыточный. Я за Python. :-)
myx
Пн, 2011-08-08 12:56
Link
Re: Язык программирования для домашнего использования
Засчитано, спасибо! :)
Sergey Batishchev
Ср, 2011-08-17 15:54
Link
Re: Язык программирования для домашнего использования
Сам я думаю попробовать 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
Чт, 2011-08-18 00:35
Link
Re: Язык программирования для домашнего использования
Спасибо за развернутый ответ!
Groovy помню только как эпизод своего двухнедельного пребывания в 1N :) Тогда, помнится, это еще был просто язык вставок в XML для Canoo :)