Самый мощный интерпретируемый язык для обработки строк

Тема в разделе "WASM.HEAP", создана пользователем tid, 26 янв 2011.

  1. tid

    tid Member

    Публикаций:
    0
    Регистрация:
    2 дек 2010
    Сообщения:
    57
    Какой на ваш взгляд самый мощный интерпретируемый язык для работы со строками?
    Вопрос о выборе языка программирования стар как мир, и разговоры о том на чем писать обычно больше похожи на религиозные войны. Но все же я спрошу еще раз.
    Хотелось бы услышать в ответ, что то типа: "я работал с таким то языком - столько то времени, с таким то столько, а вот с тем вот столько, из своего опыта могу сказать, что для обработки строк больше подходит вот этот язык". Критерии такие, меня в первую очередь интересует не скорость интерпретации, а возможности быстрой разработки, и быстрой перестройки программы, т.е. я говорю о возможности быстрого добавления новых возможностей. Хотя комментарии о скорости интерпретации тоже интересны.
     
  2. tid

    tid Member

    Публикаций:
    0
    Регистрация:
    2 дек 2010
    Сообщения:
    57
    Google: Phyton
    Facebook: Python, PHP, Ruby
    Twitter: Ruby
    Yandex: Phyton, Perl
    Vkontakte: PHP

    Бегло просмотрел вакансии некоторых компаний
     
  3. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    PERL. Собственно, для этого изначально и разрабатывался.
    Новые возможности - look at CPAN.
    Расширябельность - вплоть до генерации кода в рантайме с последующей её компиляцией.
     
  4. tid

    tid Member

    Публикаций:
    0
    Регистрация:
    2 дек 2010
    Сообщения:
    57
    Спасибо!
    Вы работали с чем то еще кроме Perl?
     
  5. SmanxX1

    SmanxX1 Member

    Публикаций:
    0
    Регистрация:
    18 июн 2008
    Сообщения:
    139
  6. tid

    tid Member

    Публикаций:
    0
    Регистрация:
    2 дек 2010
    Сообщения:
    57
    Спасибо за ссылки!
    Мощный в том плане что он таков, что можно быстро добавить функциональность, без проделывания больших работ по модифицированию всей программы. Мощный в том понимании, что на нем наиболее удобно решать указанный класс задач.
    Приведу пример, возьмем скажем Си и Паскаль, кто из них более мощный, если Вы, скажем, работайте с большим количеством разных структур, таких как бинарные деревья, хэш-таблицы? Ответ очевиден работа со структурами и адресная арифметика в Си гораздо более удобная и этот класс задач Вы будете решать быстрее, в том же Паскале без извращений не передать функции в качестве аргумента массив указателей, да просто массив передать...
     
  7. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    C/C++, Java, немного PHP (web).
    C/C++ - геморно.
    Java - не так геморно.
    PHP - стянули большинство идей с Perl.
     
  8. tid

    tid Member

    Публикаций:
    0
    Регистрация:
    2 дек 2010
    Сообщения:
    57
    спасибо!
     
  9. krabz

    krabz New Member

    Публикаций:
    0
    Регистрация:
    26 май 2010
    Сообщения:
    135
    Передо мной недавно встала задача обработки текстовых данных. Выбрал Python и не пожалел. Рекомендую. С Perl и Ruby к сожалению, не знаком, с PHP знаком - Python впечатлил больше. Масса функций для работы со строками, всё очень удобно и наглядно. Есть поддержка ООП, если нужно, причём довольно адекватная на мой взгляд. Плюс также имеются возможности для создания GUI - встроенные средства слабенькие, но для каких-то задач годятся (например встроенная IDE сделана на них), также один раз делал привязку к Qt - неплохо так получилось. В общем меня очень порадовал этот язык, взял на вооружение.
     
  10. weiden

    weiden pupkin

    Публикаций:
    0
    Регистрация:
    28 окт 2008
    Сообщения:
    17
    Ruby/Perl.
    1) В руби включено почти все из перла + очень мощное ооп, интроспекция все из коробки. У перла многое недостающее ставится из цпана (руби - гемы);
    2) Если важна скорость, не используйте руби;
    3) имхо, учить/знать руби перспективнеее ибо перл отходит + рельсы;
    4) пхп - для веба, cli - не смотрел, ничего не посоветую;
    5) пайтон - вариант неплохой, бросьте монетку;
    6) pcre - встроенная поддержка или путем бибиотек есть во всех более-менее используемых яп (lua не в счет, не та степь), что вам еще нужно? волшебная палочка есть только у начальства.
     
  11. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    weiden
    почему луа нет? поддержка пцре или чего там еще добавляется в него легко в виде пакета (встроенные средства - тоже пакет). это если такого пакета еще нет.

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

    tid Member

    Публикаций:
    0
    Регистрация:
    2 дек 2010
    Сообщения:
    57
    krabz
    weiden
    qqwe
    Спасибо, за обстоятельные ответы.
     
  13. micro

    micro New Member

    Публикаций:
    0
    Регистрация:
    24 июл 2010
    Сообщения:
    121
    Народ, извиняюсь за такую наглую ИМХу, но...
    разве не в Питоне счастье программиста? Хоть веб, хоть прикладуха. Скорость медленнее(немного) чем С, но быстрее, чем другие интерпретируемые(Питон же полуинтерпретируемый). Шикарные библиотеки, никакого гемора с переносимостью, максимально лаконичный синтаксис........ Просто шоколад! Ну разве я не прав? О_о
     
  14. Rainghost

    Rainghost New Member

    Публикаций:
    0
    Регистрация:
    12 янв 2011
    Сообщения:
    228
    не прав... основной язык ща с/c++ ... скока на нем игр (НОРМАЛЬНЫХ, а не жалкое интернетовское г.(к коим я отношу все игры данного класса)) пишут? много =)
    а про быстрое добавление фич... так это сначало надо архитектуру ПРИДУМАТЬ хорошую чтоб потом фичи добавлять...
    и не в голове придумать... а в Visio...
    не будет архитектуры... будешь вновь всплывающие баги править...в формате:
    Код (Text):
    1. while(1)
    2. {
    3. правим_баги(баг1);
    4. }
     
  15. micro

    micro New Member

    Публикаций:
    0
    Регистрация:
    24 июл 2010
    Сообщения:
    121
    Rainghost
    я про интерпретируемые говорю. человек за них ведь спрашивает.
    остальное просто Кэп, извини =)
     
  16. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    micro
    не правы, конечно.
    питон полностью интерпретируемый. без жит
    внутреннее устройство самое растространенное - стеково-словарная машина, те он не может не быть прожорливым тормозом. и он оочень медленнее С. тот же луа легко обходит его.
    многие вещи на питоне реализованы неудобно, многие вообще непонятно как реализовать

    но большая часть синтаксиса и ряд решений очень удобны и наглядны. отчего он так и популярен
     
  17. Cr4sh

    Cr4sh New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2006
    Сообщения:
    668
    У Пайтона есть много альтернативных реализаций, в том числе и с JiT-ом. Вот например:
    http://psyco.sourceforge.net/

    В плане производительности ещё PyPy хвалят:
    http://codespeak.net/pypy/

    Есть даже такая упоротая штука:
    http://pythonnet.sourceforge.net/
     
  18. micro

    micro New Member

    Публикаций:
    0
    Регистрация:
    24 июл 2010
    Сообщения:
    121
    Ну вот конструктивная критика.

    qqwe
    кто бы спорил. строго, да. но компилированные файлы .рус немного отклоняют Питон от классич. интерпрет. языков, в пользу скорости кстати.

    вам виднее..

    А ещё отличная раскрутка и вливание денег от Особо Заинтересованных Лиц. Хотя популярность не всегда от досужего вымысла.
     
  19. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    Cr4sh
    скачайте инферно и погоняйте ее с параметром -c1 . кроме того, ее можно еще пересобрать с оптимизацией (по дефолту стоит без оптимизаций).
    разные жит режимы можно менять по ходу записывая в /dev/jit соотв цифру. влиять оно будет на следующие загруженные модули. потому можно легко иметь одновременно в одном процессе модуля с разными режимами интерпретации-жит компиляции
    есть, конечно, и бэды. например, самопальные спинлоки вместо мутексов. они хорошо жрут время гоняя из ядра и в ядро. но это лечится достаточно легко. файл emu/<ось>/os.c

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

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    micro
    там п-код. как и у жабы, и у нета, и у ллвм, и у флэша, и у многих еще. счас только студенческие поделки базового уровня не используют п-код. вирт машина на нем - простой вайл свитч. все просто. нет смысла отказываться.
    не. думаю, что тут больше объективные достоинства. в нет и жабу вливали куда как больше и пр-щики покруче. но на взлет они пошли тяжельше. и, не исключено, что питон их еще переплюнет.