LINUX.ORG.RU

Помогите выбрать скриптовый ЯП

 , , ,


0

1

На работе я пишу на PHP, использую его по назначению и в последнее время, все чаще мне хочется вещей, которых он не может мне дать без кривых(или ровных) костылей - в основном он не вписывается в одну мою затею связанную с паукописанием. Встал такой нелегкий выбор: Python, Ruby, Perl. Всех щупал, ради саморазвития прочел признанные обществом книги, повествующие об устройстве, удобстве и т.п. Свое предпочтение я отдаю Perl, уж очень мне понравились Lama-book и Camel-book, но в то же время я не хочу снова оказаться в массе из объектного и функционального кода вперемешку. Интересуют именно эти три языка.


Ответ на: комментарий от KRoN73

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

minakov ★★★★★
()
Ответ на: комментарий от minakov

Некогда мне правильно на питоне отступы соблюдать

А это в любом нормальном редакторе, хотя бы в mcedit, автоматически выходит.

KRoN73 ★★★★★
()

во первых, спасибо за грамотный вброс - технический тред более 20-ти сообщений, уже достижение на нынешном лоре.

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

во всём нелёгком означенном выборе «Python, Ruby, Perl» достаточно средств для spider`а. Оказаться «в массе из объектного и функционального кода вперемешку» можно в любом случае если слушать местных аналитиков :)

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

ps Когда-то делал распределённого «паука» на tcl - в принципе мог его переписать на php. Или даже на C. Web-spider не та задача, под которую выбирается язык.

MKuznetsov ★★★★★
()
Ответ на: комментарий от KRoN73

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

minakov ★★★★★
()
Ответ на: комментарий от nanoolinux

tcl уже советовали?

кстати, да:

package require Tk
package require http
wm title . "Погода"
set id "G27612"; # Москва 

proc getup {url img wn} {
  set tok [::http::geturl $url -blocksize 4096]
  image create photo $img -data [http::data $tok]
  label .$wn -image $img -bd 1 -relief sunken
  pack .$wn -side top -padx .5m -pady .5m
  ::http::cleanup $tok
}

# График температуры
set url "http://informer.gismeteo.ru/$id-1.GIF"
getup $url image1a l
# График ветра
set url "http://informer.gismeteo.ru/$id-W1.GIF"
getup $url image2a m
# График давления
set url "http://informer.gismeteo.ru/$id-P.GIF"
getup $url image3a n
anonymous
()

Как, уже вторая страница, и никто не посоветовал COMMOИ ЛNСП?

Ох не торт ЛОР, ох и не торт! А всего-то полгодика не захаживал. :)

Kuka ★★
()
Ответ на: комментарий от Spirit_of_Stallman

Ерунда. Ява имеет C-like производительность. Ее успешно используют для написания low-latency трейдинговых приложений (занимаюсь этим сейчас). Тормозят только корявые eclipse и idea, не надо судить по этим монстрам. Лучше напиши бенчмарк и не занимайся пересказыванием мифов.

dizza ★★★★★
()
Последнее исправление: dizza (всего исправлений: 1)
Ответ на: комментарий от KM155TM2

Приветствую!

что в Руби есть похожего на Bottle.py?

Есть sinatra :)

что понравилось в языке?

Как не смешно, но понравился именно синтаксис … Для меня показался удобным и интересным. Во многих вещах Ruby «заставляет думать иначе», а код на выходе красивый и аккуратный.

Расскажи, с чего начинал …

С книги «Изучаем Ruby» - М.Фитцджеральда

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

Документация есть и её много - вперед! ;)

PS: sudo cast special-k

renya ★★★★★
()
Ответ на: комментарий от dizza

Ерунда. Ява имеет C-like производительность. Ее успешно используют для написания low-latency трейдинговых приложений

жезть какая..то-то многовато рекламы трейдинговых систем :) а им оказывается просто нехватает денег на C/C++ - только на маркетинг :)

MKuznetsov ★★★★★
()

возьми tcl.

anonymous
()
Ответ на: комментарий от dizza

на последней low-latency трейдинговой платформе, которую я видел, гарбаж коллектор периодически вешал нахрен всю систему на некоторое время. По 5 раз в день. Настройка JVM - это весьма нетривиальная вещь, мой друг, и больше всего она похожа на шаманство с бубном у костра.

anonymous
()

perl — искусство, остальное — для сапожников ;)

upd: tcl не остальное :)

chg ★★★★★
()
Последнее исправление: chg (всего исправлений: 1)
Ответ на: комментарий от dizza

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

Spirit_of_Stallman ★★★
()

которых он не может мне дать без кривых(или ровных) костылей

А конкретнее?

Python, Ruby, Perl

А что они умеют, что не умеет PHP?

VirRaa ★★★
()
Ответ на: комментарий от anonymous

Мой друг, у нас есть дефолтовый конфиг, который используется на практически всех приложениях и все работает отлично. Для ultra-low-latency, там где GC впринципе и может вылезти, у нас юзают С++ вместо Java, таких проектов один процент. И уж точно это не коснется ТС с его пауком.

Короче теоретики такие теоретики.

dizza ★★★★★
()

Вроде говорили, что Луа стал очень быстр.

geometer
()
Ответ на: комментарий от MKuznetsov

Рекалама трейдинговых систем? Мда. Самому не смешно?

dizza ★★★★★
()

Питон, для паука ещё nodeJS отлично подходит. Остальное - хлам.

anonymous
()
Ответ на: комментарий от Seraph

А так ли нужны нити или процессы? Тут в треде пролетела годная мысль, что обработка данных приложением, занимает гораздо меньше времени, чем ожидание ввода-вывода, и получается что нить или процесс больлшую часть времени проводит в состоянии iowait или спит. И тут на сцену выходит аснихронное программирование, когда мы вешаем обработчик на данные, которые еще не получены (callback) а поток управления бежит дальше, и как только наши данные прийдут, обработчик выстрелит. Питон тут имеет много козырей: фреймворк twisted, замыкания и генераторы, которые позволяют питать элегантный код, без лапши из коллбеков в js стиле.

Yur4eg ★★
()
Ответ на: комментарий от Yur4eg

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

Seraph
() автор топика
Ответ на: комментарий от Yur4eg

Чо? Если у вас нет тредов, то callback выстрелит только если в ожидании событий/цикле обработке сообщений или еще в чем-то таком. Потому поток управления дальше не побежит. Раз он один. Ну еще вариант в тот самый «цикл» передать callback с оставшимся кодом и тогда он действительно побежит, если данные от i/o операции еще не готовы. Но тогда мы все равно не сможем обработать данные только тогда, когда он добежит(или опять что-то передаст в «цикл»).

anonymous
()
Ответ на: комментарий от anonymous

Чо? Если у вас нет тредов, то callback выстрелит только если в ожидании событий/цикле обработке сообщений или еще в чем-то таком. Потому поток управления дальше не побежит.

Гугли по словам «event loop», «unblocking io». Суперцикл строиться вокруг системного вызова select, или более современных реализаций выбора из пачки открытых сокетов того, в который пришли данные, например epoll в линукс.

Yur4eg ★★
()
5 августа 2013 г.
Ответ на: комментарий от dizza

Чем чем ты там занимаешься? Ахахаха, прекрати ...

anonymous
()
Ответ на: комментарий от dizza

Можео и дотнет, в теории. Но вы себе представляете в продакшне сервак на винде?

Окромя майкрософтовых сайтов только stackoverflow на ум приходит. Ну ведь кто-то же покупает виндовые серверные лицензии? Про моно даже не знаю кто его в продакшене пользует.

Мне лично С# нравится. Серверов не делаю. В яве я так и не осилил как можно быстро вызывать нативный код. В дотнете это просто как грабли. Может чего сейчас изменилось?

ebantrop
()
Ответ на: комментарий от ebantrop

Ну ведь кто-то же покупает виндовые серверные лицензии?

Для ASP.NET-та и MsSQL-я, насколько я понимаю.

В яве я так и не осилил как можно быстро вызывать нативный код.

Через JNA (http://en.wikipedia.org/wiki/Java_Native_Access) более-менее нормально.

dizza ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.