Какой Язык сценариев является лучшим? [закрытый]

Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:

  1. Вызов метода экземпляра объекта null.
  2. Доступ или изменение поля объекта null.
  3. Принимая длину null, как если бы это был массив.
  4. Доступ или изменение слотов null, как если бы это был массив.
  5. Бросок null как будто это было значение Throwable.

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

Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html

18
задан Mansfield 6 June 2012 в 23:32
поделиться

21 ответ

Ответ: Безотносительно лучших соответствий задание!

Мое эмпирическое правило;

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

Perl - что-либо, чтобы сделать с некоторой обработкой текста или обработкой файла, особенно если это - то прочь. Просто сделайте грязный противный сценарий жемчуга и быть сделанными с ним

Python - Если это - что-то, что Вы могли бы хотеть сделать снова или что-то в точности как он. Затем, по крайней мере, у Вас есть шанс способности снова использовать сценарий.

37
ответ дан 30 November 2019 в 06:02
поделиться

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

я не рекомендовал бы это как начальную точку хотя!

-4
ответ дан 30 November 2019 в 06:02
поделиться

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

-3
ответ дан 30 November 2019 в 06:02
поделиться

На Linux? Выберите свой яд в основном. Мне нравятся Python, другие Ruby, все еще Perl других. Выберите один и пойдите для него. :-)

-2
ответ дан 30 November 2019 в 06:02
поделиться

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

-1
ответ дан 30 November 2019 в 06:02
поделиться

Если Вы стремитесь иметь простую программу сценария, "управляющую" другим (командная строка, конечно) программа, то необходимо рассмотреть Tcl/Tk, особенно его диалект ожидает - они просты и ориентированы к той цели - очень легко создать сценарий, который управляет ftp и даже делает su с ними!

Awk, очень хороший в файлы текста процесса - не столь мощный как жемчуг, еще намного более простой и простой (и без ужасного синтаксиса).

, Конечно, Ваш пробег может варьироваться, таким образом, я предполагаю, что лучший ответ должен был бы спросить Вас: для чего Вы хотите записать сценарии? И затем: действительно ли Вы знакомы с какой-либо сценарий языка? Ответы на эти вопросы укажут на Вас на язык сценариев, который необходимо использовать, по данным профессионалов/недостатков каждого и их основной цели.

-1
ответ дан 30 November 2019 в 06:02
поделиться

Я второй Python - мощный, простой, производительный, и... на самом деле довольно забавный, по сравнению с жемчугом или ударом. Также, если Вы будете знать это, то Вы найдете другое использование, это используется в большом количестве проектов. И не так же, как "классический" язык сценариев, возьмите, например, скрученный проект. Это правда для Perl также я предполагаю, но мне нравится Python лучший порядок величин самому

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

-1
ответ дан 30 November 2019 в 06:02
поделиться

Зависит от того, что Вы хотите сделать, я регулярно использую всех их:

  • Shell для простой пакетной обработки команд с, возможно, циклом или оператором "if".
  • Perl, когда я громко жую файлы и делаю некоторую текстовую замену и souch вещи.
  • Python, когда потребность больше логики.

Под *отклоняют Вас, должен использовать правильный инструмент для правильной работы, которая может быть трудна для новичка, так как это - столько вещей учиться (после того, как приблизительно 15 лет как *отклоняют пользователя, я все еще нахожу новые вещи). Моя рекомендация состоит в том, чтобы посмотреть на все языки быстро для наблюдения то, что они могут сделать и затем запустить с использования оболочки для всего, когда сценарии становятся неуклюжими, перемещают их во что-то еще.

-1
ответ дан 30 November 2019 в 06:02
поделиться

Просто запишите свои команды один за другим, поместите его в файл и петляйте с

promp> bash file

, и у Вас есть своя первая автоматизация. Затем узнайте о переменных удара, циклах и управляющих структурах.

-1
ответ дан 30 November 2019 в 06:02
поделиться

Это зависит, на котором типе автоматизации Вы делаете как то, если это тестирует Perl автоматизации, предлагается, потому что Perl является большим количеством мощных дополнительных модулей через CPAN, материально-технические ресурсы модуля Perl онлайн. Если Вам только нужен удобный инструмент для завершения простого исходного файла, awk очень удобен. Если Вы планируете использовать сценарии для автоматизации большого проекта, Perl является лучшим выбором с большим количеством функций. Снова Python был разработан от запуска как объектно-ориентированный язык. Perl 5 имеет некоторые o-o прибавляемые функции, но он смотрит на меня как неловкая модификация. Python хорошо реализовал o-o функции множественного наследования, полиморфизма и encapsulation.n сводки, мне кажется, что Python доминирует над Perl в большинстве приложений за исключением довольно коротких видов сценария оболочки приложений, и там они примерно сопоставимы.

0
ответ дан 30 November 2019 в 06:02
поделиться

Я обычно говорил бы, что тот, который Вы знаете лучше всего, который может достигнуть результатов, которые Вы хотите. Как все религиозные войны, и после изучения большого количества языков, Вы понимаете, что можно сделать большинство вещей на большинстве языков (Обратите внимание, что я действительно говорил больше всего). Я использую Perl. Это, возможно, не столь актуально как Python или Ruby, но это действительно сделало, чтобы крупная библиотека поддерживала от CPAN. И я не нашел ничего, что я еще не могу сделать в нем. Когда я сделаю я посмотрю на другие языки для обнаружения, какой может заполнить тот разрыв.

, Если бы я запускал сегодня, возможно, я выбрал бы Python или Ruby, но я не знаю достаточно о них для создания личного выбора. Сделайте любой из Ваших друзей/коллег знает языки сценариев. Это могло помочь Вам в широком масштабе как поддержке при узнавании, что новый язык очень важен.

Удача

1
ответ дан 30 November 2019 в 06:02
поделиться

Я рекомендовал Python все время. Это, как предполагается, позволяет Вам сделать что-либо. Для небольших задач я использую сценарии оболочки все же.

1
ответ дан 30 November 2019 в 06:02
поделиться

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

, Если у меня должна быть сложная логика, я обычно использую Python. Комплексом я имею в виду что-либо, что имеет больше чем два, если - операторы =)

Perl хорошо для его исходной цели, но быть предупрежденным, что многие perlisms Вы учитесь, не применимы больше нигде.

Python и Ruby примерно эквивалентны. Я рекомендовал бы, чтобы Вы изучили один из них хорошо и проверили учебное руководство на другой. Я предпочитаю Python, но он действительно сводится к персональному предпочтению.

Для суммирования: Изучают основы сценариев оболочки. Изучите, по крайней мере, Python или Ruby хорошо.

2
ответ дан 30 November 2019 в 06:02
поделиться

Зависит от сложности и проблемной области задачи под рукой.

сценарии Bash быстры и грязны для простых системных задач автоматизации. Для более сложных вещей, чем перемещающиеся файлы и рабочие команды, я лично сказал бы, что Perl затем в гармонии как системный администратор defacto goto средство автоматизации. Для большего количества внимания на повторное использование кода и удобочитаемость/пригодность для обслуживания я хотел бы ступить он он до Python или Ruby.

PHP может также использоваться для автоматизации задач, однако он широко не принят с этой целью, по моему опыту.

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

3
ответ дан 30 November 2019 в 06:02
поделиться

Я использую Perl для чего-либо вне чрезвычайно простых сценариев.

я также 'use warnings', 'use strict', избегаю обратных галочек, называю систему как 'system($command, @and_args)'. И потому что мне нравится, когда это удобно в сопровождении: IPC:: Выполненный (для каналов), File::Fu (для имен файлов, tempfiles, и т.д.), YAML (для конфигураций или misc данных), и Getopt:: Полезный (таким образом, я могу помнить, каковы опции были.)

4
ответ дан 30 November 2019 в 06:02
поделиться

Я рекомендовал бы удар, awk, и sed.

удар - http://tldp.org/LDP/abs/html/

awk - <забастовка> http://www.uga.edu/~ucns/wsg/unix/awk/

http://www.grymoire.com/Unix/Awk.html

sed - <забастовка> http://www.ce.berkeley.edu/~kayyum/unix_tips/sedtips.html

http://www.grymoire.com/Unix/Sed.html

Просто некоторые идеи.

4
ответ дан 30 November 2019 в 06:02
поделиться

Я думаю, что это зависит от того, насколько сложный задачи - Вы, хотят автоматизировать. Лично, я всегда шел со сценариями оболочки, который позволяет Вам обратиться к awk, sed, grep, найти, ls, кошка, и т.д. который может быть объединен вместе, чтобы сделать в значительной степени что-либо, что можно достигнуть жемчуга использования или Python. С другой стороны, если процессы, которые Вы хотите автоматизировать, будут сложны (например, не только линейная последовательность шагов) затем, то Вы, вероятно, найдете что при записи сценариев в жемчуге или Python (или даже рубин!) намного более быстро и делает их легче поддержать.

4
ответ дан 30 November 2019 в 06:02
поделиться

При выборе языка сценариев, чтобы помочь автоматизировать Linux / среда Unix, самой важной вещью, по-моему, является... замена :-)

, которым я имею в виду следующее / другие системные администраторы, которым, вероятно, придется поддержать сценарии. Я в настоящее время работаю в среде, где ведущий парень Unix является реальным заголовком сценария, но он главным образом ограничил себя к использованию удара с некоторым жемчугом и окнами vbscript добавленный для удачи. По крайней мере, это вынудило меня повторить свой жемчуг.

При согласии с другими комментариями здесь, мое предложение состояло бы в том, чтобы освоить удар - если это возможно, делают как можно больше в ударе, поскольку большинство людей знает это и может поддержать / отлаживают его. И это будет самым портативным. Используйте с sed & awk особенно мощен.

, Когда Вам освоили это, можно ли возвратиться сюда и спросить ли, "Какой язык сценариев я должен изучить после удара?" :-)

JB

8
ответ дан 30 November 2019 в 06:02
поделиться

Пойдите для всех трех из них, запуститесь с bash/awk/sed плюс fileutils (grep, найдите, и так далее), и затем переместите иерархию абстракции вверх с жемчугом и Python.

Тот способ, которым Вы сможете решить для себя, какой соответствует Вашим потребностям лучше всего. Я говорю, запускаются с удара и друзей, потому что они повсеместны, некоторым машинам не установят жемчуг или Python, и Вы будете чувствовать себя беспомощными там, особенно на традиционной земле Unix (т.е., не Linux)

9
ответ дан 30 November 2019 в 06:02
поделиться

Ну, это похоже на это:

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

Python является языком сценариев, который становится все более популярным среди сценаристов. Это (еще) не имеет сообщества как CPAN, но это более читаемо, и легче поддержать. Это с такой скоростью, как жемчуг.

Ruby является новейшей тенденцией в языках сценариев. Ruby является полное ООП, что означает, что все - объект. Его преимущество состоит в том, что код очень читаем, и довольно легко учиться, если Вы - новичок. Основной недостаток является своей скоростью выполнения, который вид s*x.

1
ответ дан 30 November 2019 в 06:02
поделиться

Если вам нужно минималистичное, компактное и быстрое решение (быстрее, чем Python / Ruby), тогда -> выберите язык сценариев LUA: -) Однако скорость Lua и компактность кода достигаются сравнительно небольшим ядром языка Lua, поэтому, если вы хотите, чтобы "батарейки" (также известные как очень большие "стандартные" библиотеки), то Lua не для вас. В остальном, ребятам из мира C / C ++ очень нравится скорость Lua: -)

p.s.

Тест Lua против Ruby 1.9 (вы также можете посмотреть Lua против Python 3):

http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=lua&lang2=yarv

0
ответ дан 30 November 2019 в 06:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: