LINUX.ORG.RU

Посоветуйте язык программирования


0

1

Имеется множество скриптов на bash (в основном - обработка текста, а также поиск и другие операции с файлами; многие операции обернуты в zenity). Захотелось обеспечить работу и на винде. Пока вижу 3 возможности:
1) Подкручивать костыли в виде эмулятора bash. Вероятно, самый простой путь, но не знаю, как это будет все работать.
2) Найти какой-нибудь транслятор из bash в другой кроссплатформенный скриптовый ЯП. Пока ничего не нашел.
3) Полностью переписать на новом ЯП. Самый временно-ресурсозатратный вариант, но, может быть, освою что-нибудь новое и интересное :)

Предложите что-нибудь. Если это новый ЯП, то нужен со следующими характеристиками:
- кроссплатформенный
- «сам в себе» (минимальное использование стандартных внешних утилит вроде ls, find, grep)
- желательно (но необязательно) достаточно легко читаемый и простой в изучении (имею навыки в bash, в С и С-подобных не разбираюсь, но при необходимости разберусь)

Пока что смотрю ruby. Интересно было также взглянуть на Powershell, но он только на .NET.

Deleted

Последнее исправление: Deleted (всего исправлений: 2)

Ответ на: комментарий от iMushroom

Си сложнее учится)

по сравнению с питоном - да. С tcl - нет.

хотя по количеству батареек - вне конкуренции

я не думаю, что ТСу не хватит батареек питона. Вот руби - не знаю. В руби акромя RoR больше вроде ничего и нет, а RoR для скриптов не пойдёт.

drBatty ★★
()
Ответ на: комментарий от drBatty

по сравнению с питоном - да. С tcl - нет.

Вы сами хотя бы на tcl что-то писали? Это один из самых простых языков, какие я видел, с точки зрения обучения. Рабочие скрипты пишутся через пару часов туториала+мана.

я не думаю, что ТСу не хватит батареек питона. Вот руби - не знаю. В руби акромя RoR больше вроде ничего и нет, а RoR для скриптов не пойдёт.

С какого это в Ruby только RoR стал? о_0

iMushroom
()

Перл же! Есть нормальный интерпретатор под офтопик, идеология скриптинга сохранена.

Но сейчас, если бы стояла такая задача, я бы, пожалуй, выбрал «костыли в виде эмулятора bash». Поковыряться с Cygwin должно быть интересно.

hobbit ★★★★★
()
Ответ на: комментарий от drBatty

а ты первый пост читал?

В котором ТС просит посоветовать ЯП, чтобы переписать свои скрипты с баша? Читал, а что?

anonymous
()
Ответ на: комментарий от iMushroom

В Tcl все есть строка изначально. Не список, а строка.

Ну, да. Tcl --- это lisp для малаграмотных. (с) vsl.

anonymous
()
Ответ на: комментарий от bhfq

«как получить PWD»

Либо знаешь как это делается в конкретной оси, либо нет - язык тут не факт что поможет :) В любом случае интерпретатор за тебя думать не будет.

slackwarrior ★★★★★
()
Ответ на: комментарий от drBatty

Че-то тебя циклит на сборке :) Не надо под виндой ничего собирать

slackwarrior ★★★★★
()
Ответ на: комментарий от iMushroom

Вы сами хотя бы на tcl что-то писали?

я писал на expect. Скрипты несколько более сложные, чем вход на FTP. Но не слишком сложные.

Это один из самых простых языков, какие я видел, с точки зрения обучения. Рабочие скрипты пишутся через пару часов туториала+мана.

угу... Я ещё не видел такого укуренного синтаксиса. Перловка куда логичнее и очевиднее.

кстати, вот что пишет вика:

Сейчас по быстродействию Tcl не сильно отличается от PHP[25], хотя заметно уступает таким скриптовым языкам как, например, Python или Lua. Сложные или критические по времени выполнения участки кода рекомендуется выполнять в виде внешних модулей на C/C++.

Tcl/Tk, отличает непривычность синтаксиса для программистов на «традиционных» языках.

Хотя Tcl обладает всеми свойствами функционального языка, его интерпретатор до версии 8.6 не производил оптимизацию хвостовой рекурсии, что затрудняло использование чисто функционального стиля, уменьшало его эффективность.

По количеству разработанных для Tcl библиотек расширений и инструментальных средств несколько уступает Питону, а тем более Перлу, но вряд ли вы столкнётесь с их нехваткой. Чего, правда, нельзя сказать о количестве документации и литературы по Tcl, особенно — русскоязычной.

drBatty ★★
()
Ответ на: комментарий от slackwarrior

Зачем собирать? Поставил готовый Сygwin или иную готовую сборку из выдачи гугла :) оффтопик-вей же

я как-то пробовал - не осилил.

drBatty ★★
()
Ответ на: комментарий от slackwarrior

Не осилил запустить setup.exe?

осилил. Сам setup без проблем отработал, а вот то, что я там поставил - не взлетело. Это уже давно было, много лет назад. Т.ч. помощь не нужна - венды нет под рукой. И я не помню, что я там запускал.

drBatty ★★
()
Ответ на: комментарий от slackwarrior

Дело в том что авторы powershell про pwd вспомнили только в версии 2.0 и ввели какой то костыль ужасного написания.

а про то как получить директорию (не workdir), а ту где лежит ps1 файл ещё мудреннее.

bhfq ★★★★★
()
Ответ на: комментарий от iMushroom

tcl/tk - нельзя, немодно... будешь «не в тренде». Да и Штольман заругает...

anonymous
()
Ответ на: комментарий от drBatty

tcl сложнее С? Дружище, вам следует показаться мозгоправу, возможно эту болезнь назовут вашем именем.

anonymous
()
Ответ на: комментарий от iMushroom

0936y

Вы сами хотя бы на tcl что-то писали? Это один из самых простых языков, какие я видел, с точки зрения обучения. Рабочие скрипты пишутся через пару часов туториала+мана.

А ты писал что-то на питоне? Рабочие скрипты пишутся через полчаса туториала+мана, спустя дня два на тех же торнадо и боттле можно писать уже суровые вещи.

anonymous
()
Ответ на: комментарий от anonymous

tcl сложнее С? Дружище, вам следует показаться мозгоправу, возможно эту болезнь назовут вашем именем.

большинство программеров и даже многие администраторы _уже_ знают C (возможно не очень хорошо, но это лучше, чем никак).

drBatty ★★
()
Ответ на: 0936y от anonymous

А ты писал что-то на питоне? Рабочие скрипты пишутся через полчаса туториала+мана, спустя дня два на тех же торнадо и боттле можно писать уже суровые вещи.

и это правда. Даже если пайтон впервые видишь. Он действительно простой и логичный.

drBatty ★★
()
Ответ на: комментарий от drBatty

Ну, логичный за исключением ".join, как правильно заметил один невменяемый товарищ.

anonymous
()
Ответ на: комментарий от drBatty

угу... Я ещё не видел такого укуренного синтаксиса. Перловка куда логичнее и очевиднее.

А вот ИМХО ничего логичнее, чем синтаксис tcl нет и не было.

Сейчас по быстродействию Tcl не сильно отличается от PHP[25]

Вот это бред наркоманов. Если брать не числодробилки - то tcl очень быстр (где-то рядом, в треде о выходе 8.6 кто-то тесты по моему приводил даже).

Tcl/Tk, отличает непривычность синтаксиса для программистов на «традиционных» языках.

Опять же не согласен. Что считать стандартным синтаксисом?

Хотя Tcl обладает всеми свойствами функционального языка, его интерпретатор до версии 8.6 не производил оптимизацию хвостовой рекурсии, что затрудняло использование чисто функционального стиля, уменьшало его эффективность.

Изначально язык не был функциональным, но позволял писать в функциональном стиле. Сейчас у него с ФП все отлично.

По количеству разработанных для Tcl библиотек расширений и инструментальных средств несколько уступает Питону, а тем более Перлу, но вряд ли вы столкнётесь с их нехваткой. Чего, правда, нельзя сказать о количестве документации и литературы по Tcl, особенно — русскоязычной.

А с каким питоном тут сравнивали? ^_^ Если с python2.x - то да, есть некоторые моменты (к примеру обрабатывать .doc-файлы через жопу и руками), а вот если с python3.x - то я не вижу недостатка.

И да, давно википедия стала аргументом? (^_^)

iMushroom
()
Ответ на: 0936y от anonymous

А ты писал что-то на питоне? Рабочие скрипты пишутся через полчаса туториала+мана, спустя дня два на тех же торнадо и боттле можно писать уже суровые вещи.

Писал. Писал и на tcl и на python. И tcl мне было легче учить и применять. У него дизайн локаничнее и логичнее.

iMushroom
()
Ответ на: комментарий от drBatty

большинство программеров и даже многие администраторы _уже_ знают C (возможно не очень хорошо, но это лучше, чем никак).

Вот с этим не согласен. Лучше никак не писать код на Си, чем писать говнокод, который будет течь и криво работать. Тогда лучше брать скриптоту.

iMushroom
()
Ответ на: комментарий от drBatty

большинство программеров и даже многие администраторы _уже_ думают, что знают C

А лучше б не знали.

Tcl учится до их уровня знания С дня за два максимум при наличии хотя бы небольшой программерской подготовки. Это раз.

Ты предлагаешь скрипты на С писать? Ой, мама. Врача! Нам срочно нужен врач.

anonymous
()
Ответ на: комментарий от iMushroom

Так и запишем, «lisp не знает, болен тиклем головного мозга».

Впрочем, можем перевести интереса ради дискуссию и на более высокий технический уровень.

anonymous
()

bash это не язык программировая. Предлагаю самый простой\быстрый\безгеморойный метод: поставь на винду cygwin установи туда bash и необходимое окружение и все будет работать. Переписывать на си баш скрипты..... ты либо очень хороший программер либо ничего не смыслишь в програмировании потому что мега геморой

white_ghost
()

хотя если на то пошло веселье посмотри исходники баша может его можно просто собрать под венду?

white_ghost
()
Ответ на: комментарий от Kuka

И да, призываю не воспринимать всерьез укурочную клоунаду паясничающего в треде Ловсанчега :) Кстати, привет, Дим.

Почему ламеры так озабочены этим лавсаном? Не понимаю. Иногда попадаю на разные местечковые тусовочки, оторванные от реального мира, типа жж, чанов, жуиков - и там народ почему-то считает его какой-то важной фигурой от Лиспа, «уходящей эпохой» и прочей фигнёй.

Лавсан же всего лишь глупый позёр, алкаш и подкаблучник. Ничего нового и интересного он не рассказывал. Всё это обсуждалось уже лет десять назад на старом ЛОРе vsl'ем и другими интересными личностями.

На ЛОРе в стиле vsl каждый второй анонимус троллит.

anonymous
()
Ответ на: комментарий от yyk

я как то пытался переписать скрипт на си через сутки когда меня осенило что винрар на си я не напишу забил на это дело и просто написал скрипт с нуля для венды за пол часа.

white_ghost
()
Ответ на: комментарий от white_ghost

я не разбираюсь в извращениях

угу, но при двух существующих и работающих «извращениях» ты предлагаешь попытаться сделать ещё одно?

yyk ★★★★★
()
Ответ на: комментарий от anonymous

Tcl - изначально правильно сделаный язык. Говнолисперы не имеют права подмазываться, Tcl к их какашкам никакого отношения не имеет в принципе.

anonymous
()
Ответ на: комментарий от drBatty

Ты - редкостно невменяемый кусок говна. Минимальный cygwin ставится за три минуты. Msys и того быстрее. Работает везде и моментально. А у тебя руки даже не из жопы растут, их у тебя просто нет.

anonymous
()
Ответ на: комментарий от Kuka

Во-первых, поддерживаю всех, кто рекомендует Cygwin. Он может послужить в качестве «времянки».

Cygwin во многих серьезных, очень сильно виндоориентированных конторах работает в продакшене годами. Обычно как часть системы сборки, если продукт конторы унаследован (лет дцать назад) с юниксов и с тех пор никому не хочется заморачиваться портированием скриптовой части. В таком виде cygwin отлично сочетается с CL.EXE.

Так что не надо про «времянку». Отличное, проверенное временем решение.

Также поддерживаю идею реализации системы с нуля на современном ООП-языке

PowerShell же ж.

anonymous
()
Ответ на: комментарий от anonymous

Потому что Лисп мощнее всех существующих языков

Этому анониму больше не наливайте, у него белочка началась.

anonymous
()
Ответ на: комментарий от iMushroom

Не надо сравнивать Tcl с Лиспом. Такое сравнение оскорбительно. Tcl - язык. Лисп - говно. Глупо сравнивать язык с говном.

anonymous
()
Ответ на: комментарий от drBatty

я как-то пробовал - не осилил.

Любой недоумок осилит, а ты вот не осилил. Даже до недоумка не дотягиваешь, стало быть.

anonymous
()
Ответ на: комментарий от anonymous

Лавсан же всего лишь глупый позёр, алкаш и подкаблучник.

Лавсан - аллегорическая фигура лиспера. Эдакий средний, типичнейший, стандартнейший адепт говнолиспа. Говорим лавсан - подразумеваем всех говнолисперов разом.

На ЛОРе в стиле vsl каждый второй анонимус троллит.

Быть идиотом намного проще, чем быть умным. Вот и косят все под идиотов, даже те, кто мог бы быть умнее.

anonymous
()
Ответ на: комментарий от anonymous

Не надо сравнивать Tcl с Лиспом. Такое сравнение оскорбительно. Tcl - язык. Лисп - говно. Глупо сравнивать язык с говном.

Согласен, готов подписаться под каждым словом! Прошу прощения у тиклеров за такое ущербное сравнение.

iMushroom
()
Ответ на: комментарий от anonymous

Минимальный cygwin ставится за три минуты. Msys и того быстрее.

возможно. У меня просто нет необходимости юзать маздай.

drBatty ★★
()
Ответ на: комментарий от anonymous

Cygwin во многих серьезных, очень сильно виндоориентированных конторах работает в продакшене годами.

нет ничего постояннее, чем наше советское «временно». совка уже нет, а привычки не меняются...

drBatty ★★
()
Ответ на: комментарий от anonymous

Глупо сравнивать язык с говном.

лисп не говно. Это скорее ты говно, раз всё непонятное с говном мешаешь.

drBatty ★★
()
Ответ на: комментарий от anonymous

Любой недоумок осилит, а ты вот не осилил. Даже до недоумка не дотягиваешь, стало быть.

десятки _нормальных_ ЯП я осилил. А tcl - да. Не нужен. Зачем мне язык недоумков и говна?

drBatty ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.