В поисках скриптового языка из мира C - PullRequest
1 голос
/ 08 февраля 2010

Я пришел из мира C-Java-C # ... где круглые скобки были VIP-гражданами, а типы были любимы всеми:)

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

Но иногда мне интересно, как проще было бы написать то же самое на каком-то языке, таком как Python ... или на этих языках DoItSimple:) - при всем уважении.

Так какой язык мне использовать для такого рода задач?

Заранее большое спасибо!

Ответы [ 10 ]

4 голосов
/ 08 февраля 2010

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

Тем не менее, есть кое-что, что можно сказать об инструментах обучения, таких как 'awk' и 'sed', не говоря уже о некоторых расширенных возможностях в 'vim' для выполнения повседневных задач

3 голосов
/ 08 февраля 2010

Я люблю PHP и Perl за эти вещи (по большей части выросшие из sed и awk), но если не исключаю, что оболочка bash (я использую Cygwin's в системах Windows) и даже сценарии Windows язык (да, пакетные файлы все еще существуют) может сделать больше, чем я когда-то думал.

3 голосов
/ 08 февраля 2010

В течение долгого времени вы всегда будете быстрее с теми языками, которые знаете. Однако, если вы просто хотите испытать что-то новое и в конечном итоге иметь еще один полезный инструмент в вашем поясе, я бы попробовал Python. Это очень удобно, и это не слишком далеко от мира C # (если вы когда-либо делали BASIC, это ОЧЕНЬ похоже).

Кстати - AlBlue предлагает использовать awk / sed / vim (макросы / etc) A +. Я часто запрыгиваю на Linux-систему на работе, чтобы справиться с любыми повторяющимися файловыми задачами (в Windows вы можете получить Cygwin, у нас просто нет его на работе)

2 голосов
/ 08 февраля 2010

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

Луа также хорошо зарекомендовал себя; Я написал в другом месте о том, почему я предпочитаю Lua Python.

2 голосов
/ 08 февраля 2010

я говорю Ruby или Python


Мой фаворит - Ruby за его объектную модель высокой чистоты и вообще потрясающий синтаксис и мощность.

Однако Python обладает такими же общими возможностями и примерно в два раза популярнее.

Традиционно Perl используется для автоматизации сисадмина и других задач сценариев, а также, очевидно, sed, awk и sh.

Но языки, такие как Perl и PHP, начинались как специальные интерпретаторы сценариев, тогда как Python и Ruby были реальными объектно-ориентированными языками. С тех пор в Perl и PHP появились объектно-ориентированные ревизии, но теперь они имеют всю сложность первой «хорошей попытки» в сочетании с расширениями «о, мы должны сделать это настоящим языком».

В частности, Ruby - это продукт настоящего разработчика языков, который объединил сверхчистую объектную модель Smalltalk с популистским синтаксисом Perl.

2 голосов
/ 08 февраля 2010

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

1 голос
/ 15 июля 2012

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

Я использую Perl для написания программ CLI, потому что это первый язык сценариев, который я выучил (более 20 лет назад, когда он был языком общения для написания сценариев CGI в зарождающейся WWW). Сейчас я использую PHP для написания веб-приложений, потому что моя последняя работа использовала его для наших интранет-веб-страниц, и он имеет много хороших встроенных функций для веб-программирования и SQL-программирования; но я уверен, что с модулями записи CPAN я мог бы быть столь же продуктивным с Perl.

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

1 голос
/ 15 июля 2012

Как я знаю, PHP является одним из языков сценариев для выполнения таких задач, как: заказать входной файл, отправить программный запрос на сервер ... и PHP является C-подобным синтаксисом и считается самым простым в изучении (вам даже не нужно учиться, прежде чем использовать его, вы просто используете его во время обучения). Но PHP не является языком сценариев общего назначения.

Python является языком сценариев общего назначения и имеет строгую проверку типов, ошибка не похожа на C, боюсь, вам это не понравится.

Я сам больше всего использую PHP для обработки текста, тестирования сети (сокета, HTTP ...). ^ _ ^

1 голос
/ 08 февраля 2010

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

Моя причина предположить это заключается в том, что даже если ваш код Perl структурирован во многом как C, и даже если вы не используете весь синтаксический сахар Perl, вы все равно увидите увеличение производительности. Начиная с C-стиля, Perl позволяет вам использовать идиомы, с которыми вы уже знакомы (например, C-стиль для циклов против foreach Perl), при изучении языка.

1 голос
/ 08 февраля 2010

Google для чего-то вроде "perl vs ruby ​​vs python" или "лучший язык сценариев общего назначения" ... Вы должны найти некоторые сравнения. Мне лично больше всего нравится рубин, потому что ему не хватает неприятных $ перед всеми переменными. Если вы знакомы с c # и .net framework, IronRuby и IronPython предоставят вам доступ ко всем классам, которые вы уже знаете.

...