Стоит ли выбирать сценарии или скомпилированный код для небольших задач? - PullRequest
5 голосов
/ 10 сентября 2008

Я программист на Java, и мне нравятся мой компилятор, инструменты статического анализа и платформы модульного тестирования как инструменты, которые помогают мне быстро создавать надежный и эффективный код. JRE почти везде, где я бы тоже работал.

Учитывая эту ситуацию, я не вижу причины, по которой я бы выбрал использование сценариев оболочки, сценариев vb и т. Д., Независимо от того, насколько малой будет задача, если я надену одну из моих других шляп, например, мою классную черную федору сисадмина.

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

Ответы [ 11 ]

2 голосов
/ 10 сентября 2008

Все, что вы считаете наиболее эффективным для вас!

У меня был сотрудник, который, казалось, использовал разные языки для каждой задачи; Perl для быстрой обработки текста, PHP для небольших внутренних веб-приложений, .NET для нашего основного продукта, Cygwin для файловой системы. Он предпочел использовать технологию, наиболее специфичную для поставленной задачи.

Лично я считаю, что переключение контекста между технологиями болезненно. Моя повседневная работа ведется в .NET, так что это, в сущности, те термины, о которых я думаю. Для большинства задач я считаю, что эффективнее в C # использовать что-то в SnippetCompiler, чем в PowerShell или в среде сценариев. .

2 голосов
/ 10 сентября 2008

Если у меня есть небольшая проблема, которую я хотел бы быстро решить, я склонен использовать язык сценариев. Налог на кодекс меньше, и, по крайней мере, для меня результат приходит быстрее.

2 голосов
/ 10 сентября 2008

Если вы знакомы с Java и JRE везде, где вы работаете, то я бы сказал, продолжайте использовать ее Однако существуют языки, такие как perl и python, которые особенно подходят для быстрого решения проблем. Я бы посоветовал изучить perl или python, а затем принять решение о том, когда его использовать.

1 голос
/ 10 сентября 2008

Если вы можете написать это быстрее на Java, тогда сделайте это.

Просто постарайтесь понять, на что способны различные языки сценариев.

например. Не создавайте полноценное Java-приложение, если вы можете сделать то же самое с помощью однострочной оболочки bash.

1 голос
/ 10 сентября 2008

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

Однако, очевидно, могут быть задачи, когда специализированные языки более выгодны, чем один язык общего назначения.

1 голос
/ 10 сентября 2008

Как правило, сценарии пишутся быстрее, чем скомпилированные программы. Вам не нужно сильно беспокоиться о переносимости между различными платформами и средами. Сценарий оболочки будет работать практически везде на большинстве платформ. Поскольку вы являетесь разработчиком java и упоминаете, что java есть везде, вы можете посмотреть на groovy (http://groovy.codehaus.org/). Это язык сценариев, написанный на java, с возможностью использовать библиотеки java.

1 голос
/ 10 сентября 2008

Я бы сказал, где это имеет смысл. Если вам понадобится больше времени, чтобы открыть IDE, скомпилировать скрипт и т. Д., Чем редактировать файл скрипта и сделать это, чем использовать файл скрипта. Если вы не собираетесь часто менять вещи и быстрее разбираетесь в Java, то идите по этому пути:)

0 голосов
/ 10 сентября 2008

Я использую скриптовые языки для написания программ, которые, как ожидается, не будут поддерживаться после нескольких исполнений. Большинство из этих языков имеют легкий синтаксис и имеют REPL. Обе эти функции позволяют быстро создавать прототипы.

Поскольку вы уже знаете Java, вы можете попробовать языки JVM, такие как Groovy, JRuby, BeanShell и т. Д. Scala имеет гораздо более легкий синтаксис, чем Java, имеет REPL, статически типизирован и работает на JVM - вы можете сделать это как хорошо.

0 голосов
/ 10 сентября 2008

В конце концов, это вопрос, на который только вы сами можете ответить. Исходя из того, что вы сказали: «Я не вижу причины, по которой я бы выбрал использование сценариев оболочки ...», тогда, вероятно, вы никогда не выберете это прямо сейчас.

Но на вашем месте я выбрал бы язык сценариев, такой как python, ruby ​​или perl, и попытался бы решить некоторые из этих небольших проблем с этим языком. Со временем вы начнете чувствовать, что более уместно написать быстрый сценарий, чем создать полноценное решение.

0 голосов
/ 10 сентября 2008

Конечно, главная директива должна заключаться в том, чтобы «использовать то, что вам удобно». Если Java выполняет работу правильно и вовремя, придерживайтесь ее. Но многие скриптовые языки могут сэкономить вам время, потому что они настроены на разные проблемы. Если вы используете регулярные выражения, языки сценариев хорошо подойдут. Если вы переходите к командам оболочки, сценарии хороши.

Я склонен использовать сценарии Ruby всякий раз, когда пишу что-то маленькое, потому что это быстро, легко поддерживать и (с Gems) легко использовать дополнительные функции без необходимости использования JAR или чего-либо еще. Ваш пробег, конечно, будет меняться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...