Хороший язык динамического программирования для [закрытой] рекомендации .NET

Окончательное рабочее решение:

# Pull in isolated code block for each individual query and write to unique file.
TEMP='temp_file'
while read -r line; do
    if [[ $line =~ ^#[[:space:]]Query[[:space:]][0-9].* ]]; then
        new_query='1'
        ((counter++))
        echo "$line" > ${TEMP}_${counter}
    else
        new_query='0'
        echo "$line" >> ${TEMP}_${counter}
    fi
done < "${LONG_RUNNING_QUERIES}"

# Remove first file, as it only contains query statistics for all long running queries.
rm ${TEMP}_0

# For all files that don't contain the IP, group them together in one file.
QUERIES_TO_GRAB='master_file'
> $QUERIES_TO_GRAB
for i in $(ls -v1 temp_file_*); do
    match=$(grep "${IP_ADDY}" "$i")
    if [ -z "$match" ]; then
        cat $i >> $QUERIES_TO_GRAB
    fi
done
9
задан Ned Batchelder 16 July 2010 в 19:23
поделиться

7 ответов

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

Для незнакомых с Шиканьем, это очень похоже на Python, но включает вещи, которые Python не делает (как строковая интерполяция и синтетические макросы). Можно скомпилировать программы Шиканья или использовать Шиканье через "Шиканье Интерактивный Shell" booish.

Между прочим, мне не нравился IronPython также, когда я посмотрел на него пара несколько лет назад. Мне это было похоже на прямой порт Python к CLI, но насколько я мог сказать, что это не включало новые возможности, которых требует типичная разработка.NET.

Править: IronPython, действительно кажется, прогрессировал, так как я сначала посмотрел на него (спасибо за Curt, указывающего на это). Однако я не потрудился смотреть на IronPython снова, так как я нашел Шиканье.

7
ответ дан 4 December 2019 в 09:39
поделиться

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

Почему люди предлагают Шиканье? Это - статически типизированный язык, который не является тем, что просит этот вопрос. Да, я знаю, что это имеет дополнительный утиный ввод, но действительно если Связанная с шиканьем информация приемлема для автора вопроса затем, вопрос должен действительно быть отредактирован, чтобы ясно дать понять.

Относительно IronPython Вы сказали, что Вам не нравился он, но действительно нет никакого ответа, который я могу дать критическим комментариям, которые так неопределенны :)

С другой стороны, я предложил бы, чтобы Вы смотрели на cPython. Пара точек:

  • Вы можете, создавая .exe файлы с py2exe и другими инструментами.
  • Намного больший доступ к сторонним библиотекам Python и платформам
  • Доступ к Windows APIs через pywin32
  • Расширение Python, записанное в C, применимо (в отличие от IronPython, хотя существуют усилия в стадии реализации для улучшения этой ситуации),

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

7
ответ дан 4 December 2019 в 09:39
поделиться

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

Если Вы еще не видели его, необходимо проверить IronPython Studio.

1
ответ дан 4 December 2019 в 09:39
поделиться

Вы говорите, что хотите "динамичный", но если мотивация только для предотвращения "всего этого синтаксического мусора", необходимо взглянуть на F#. Это со статическим контролем типов, но имеет легкое чувство синтаксиса динамического языка, а также интерактивный режим (цикл REPL).

5
ответ дан 4 December 2019 в 09:39
поделиться

Я снизился на подобный путь. Проверенное Шиканье, dotLISP, IronPython, и т.д.

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

После того как у Вас есть понимание CPython, IronPython будет намного легче понять. Конечно, все еще необходимо понять некоторый C# и иметь доступ к документации.Net SDK. Без него IronPython чрезвычайно трудно получить покончили, полезные вещи.

1
ответ дан 4 December 2019 в 09:39
поделиться

Можно также смотреть на язык Fan. Это не чисто динамичный, это - смесь обоих статических и динамических. И как большинство более новых языков, это - чистое OO со смесью функциональных в нем. Это также работает и на JVM и на платформе CLR.

Синтаксис, мудрый, это ближе к C# с большим количеством сахарного синтаксиса, таким образом, это отчасти похоже на смесь C# с Ruby/Python.

Так как язык является новым, только 3 года, его производительность еще не является звездной.

Обновление 21 февраля 2014: Вентилятор изменил его имя на Фантом

1
ответ дан 4 December 2019 в 09:39
поделиться

Take a look at Clojure. The CLR version is still in the early stages, but you could probably get the java version working in .Net via IKVM

0
ответ дан 4 December 2019 в 09:39
поделиться
Другие вопросы по тегам:

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