LINUX.ORG.RU

Разработчики Google начинают тестировать Perl в Google Applications Engine

 , ,


0

0

Разработчики Google добавляют поддержку Perl в систему хостинга web-приложений Google App Engine, пока в тестовом режиме.

Поисковик обещает в скором времени добавить в платформу поддержку ещё нескольких языков программирования, в рейтинге "желаемости массами" которых Perl занимает 4-е место, уступив при этом Java+Groovy, PHP и Ruby.

>>> Подробности

anonymous

Проверено: Shaman007 ()

> переведут с Python-а на Perl

> добавляют поддержку Perl

ы?

Joe_Bishop
()

Google Applications Engine будет поддерживать Perl

Исправьте заголовок.

anonymous
()

Заголовок новости поправте.

oc
()

добавить "поддержку" и "перевести на" разные вещи, автор убей себя :)

alt0v14 ★★★
()

Лучше бы добавили Руби или Пыхпых на худой конец. И еще, пристрелите, кто-нибудь, Шамана.

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

> или Пыхпых на худой конец

Похапэ лучше Perl'а? Мсье ацетончику выпил штоле?

Вот возьмем простую задачу, относительно типичную для web.
Есть словарь/хэш/ассоциативный массив, надо сгенерить из него
query-аргументы.

Т.е. было {foo: "1", bar: "2", baz: "3"}, хотим "?foo=1&bar=2&baz=3".

Отложив готовое url.urlencode(query) на Python мы будем иметь:
'?' + '&'.join( url.quote(k) + '=' + url.quote(v) for k, v in query).

На Perl мы будем иметь:
'?' . join('&', map { uri_escape($_) . '=' . uri_escape($query{$_}) } keys %query)
Синтаксис на любителя, но есть уметь его читать и не заниматься
обфускацией кода — вполне понятен.

А на похапэ мы будем сосать с:
$res = array();
foreach($query as $k => $v) {
  $res[] = urlencode($k) . '=' . unlencode($v);
}
$res = '?' . implode('&', $res);
Потому что больше, в общем-то, никак. Привет трем новым временным
переменным, итерациям вместо map-reduce и кучам строк кода.

Вариант
'?' . implode('&', array_map(create_function(
  // This code is naive. $query[$k] obviously WILL fail.
  '$k', 'return urlencode($k) . "=" . urlencode($query[$k]));'
), $query))
Сольет потому что нет замыканий, и даже если бы он работал — выглядит
он исключительно мерзко.

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

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

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

Ой, т.е. не «), $query))», а «), array_keys($query)))», конечно же, в последней строке.

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

Замыканий нет, генераторов нет, ленивости нет, модульности нет¹, стандартов именования функций нет, воды нет, жизни нет, населена индусами.

_____
¹) Неймспейсы в 5.3 и 6 никого не волнуют. Срач в глобальном пространстве имен был, есть и будет.

anonymous
()

Пройдите по ссылке!

Это просто мелкая заметка перл-хакера о том, что ему дали поиграться "на посмотреть" с движком.

To be clear: I'm not a member of the App Engine team and the App Engine team is not promising to add Perl support. They're just saying that I (along with other Perl hackers here at Google) are now allowed to work on this 20% project of ours out in the open where other Perl hackers can help us out, should you be so inclined.

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

>Потому что больше, в общем-то, никак. Привет трем новым временным >переменным, итерациям вместо map-reduce и кучам строк кода.

Эхъ, ну прям воообще никак.... без вариантов. http://ua.php.net/manual/en/function.http-build-query.php

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

> Вот возьмем простую задачу, ...

Эмоции в комментариях в твоем примере рассчитаны на определенный менталитет, тяготеющий к DSL. Уверяю, многим приведенный код на пыхпыхе придется по душе больше, чем на питоне/перле. Пыхпыхеры мыслят иначе, и не факт, что хуже: чисто субъективно, сайты на пыхпыхе получаются почему-то лучше и работают быстрее.

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

> Уверяю, многим приведенный код на пыхпыхе придется по душе больше, чем на питоне/перле.

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

Dselect ★★★
()
Ответ на: комментарий от Die-Hard

> чисто субъективно, сайты на пыхпыхе получаются почему-то лучше и работают быстрее.

Работают — да, соглашусь. Но чисто субъективно их сложнее и менее приятно поддерживать. Да и тот же бардак в порядке аргументов и именовании функций чести языку никак не делает.

> Ага, многим почему-то приятно осознавать, что они делают что-то офигеть как сложное и непонятное.

Не выдумывайте. Ничего «сложного и непонятного» тут нет. Описанный Вами синдром бывает только у впечатлительных товарищей вчера прочитавших что есть, оказывается, такая функциональная парадигма, так что теперь они все-все будут писать на Lisp и Haskell.

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

Точнее можешь определить критерий фукнции ?

Я вот к примеру подумал что вот у меня есть nautilus-cd-burner
и есть пакет python-nautilus-cd-burner
тоесть я из проги на питоне могу писать через нау-либу диски ...

Это для ПХП есть ? Или ты имел ввиду что то другое ?

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

>найдите, пожалуйста, задачу для которой в похапэ нет готовой функции.

Пожалуйста. Задача: ограбить корованы.

anonymous
()

эмм, автор читал вообще про что там ? Поддержка Perl не официально, он чисто "для себя" ее пишет ...

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

Тогда когда у программеров из МС можно будет потратить
80 процентов рабочего времени на себя ;)

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

groovy:

params = [foo: "1", bar: "2", baz: "3"]
url = "?"+params.collect{k,v->URLEncoder.encode(k) +"="+ URLEncoder.encode(v)}.join("&")

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

> А на похапэ мы будем сосать с:
> $res = array();
> foreach($query as $k => $v) {
> $res[] = urlencode($k) . '=' . unlencode($v);
> }
> $res = '?' . implode('&', $res);
> Потому что больше, в общем-то, никак. Привет трем новым временным
> переменным, итерациям вместо map-reduce и кучам строк кода.

прям уж таки и никак?

$res = ""; foreach($query as $k => $v) { $res .= urlencode($k) . '=' . unlencode($v) }

Только вот важно ли это, когда под этот кусок один раз пишется функция и вызывается в 1000 мест?

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

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

> $res = "?"; foreach($query as $k => $v) { $res .= urlencode($k) . '=' . unlencode($v) . '&' }

Последний знак «&» некошерен. Нам нужно «?foo=bar&bar=baz» получить, а не «?foo=bar&bar=baz&»

In before «да и так все работает чё запариваться-то»

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

> Вот возьмем простую задачу, относительно типичную для web.

Ты из какой пещеры вылез? А потом еще жалуются что пыхпых гавно. И еще называют себя кодерами. Стен на вас на всех не хватит ;(

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

> Эмоции в комментариях в твоем примере рассчитаны на определенный менталитет, тяготеющий к DSL.

Это не "менталитет", это наличие разума.

> многим приведенный код на пыхпыхе придется по душе больше, чем на питоне/перле.

Дуракам, то есть?

> Пыхпыхеры мыслят иначе, и не факт, что хуже

Они не мыслят. Их девиз "некогда думать, трясти надо".

> чисто субъективно, сайты на пыхпыхе получаются почему-то лучше и работают быстрее.

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

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

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

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

anonymous (25.07.2008 16:35:57):

Твое сообщение несет два бита информации.

1. Из содержания следует, что существует анонимус, которому не по душе пыхпых.

2. Из формы подачи этого содержания следует, что прислушиваться к мнению этого анонимуса не стОит.

:-)

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

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

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

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

Я вот вступлюсь за пхп :) Тут дело в другом. Был пхп3 потом доабвили классы стал пхп4 теперь уже пхп5 ...
Так вот сейчас нужно думать и писать на пхп5. А многие думают в рамках
третьего пхп3 те совсем не пхп5, благо язык это позволяет как вздумаються так и лепят ...

P.S. Поди все учились по одному букварю ;) Как то тама на русском
простое приложение на пхп + мю ;)

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

Ну так позиция, которую защищае Die-Hard - это и есть мышление в стиле php3. А абстрактно, на уровне конструкций php5 мыслят те, кто понимает и принимает идею DSLей.

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

> Спасибо Вам за детальный разбор! Очень интересно увидеть пример на Руби

"?"+query.map{|k,v| "#{URI.encode(k)}=#{URI.encode(v)}" }*"&"

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

> "?"+query.map{|k,v| "#{URI.encode(k)}=#{URI.encode(v)}" }*"&"

Беру свои слова обратно, перл - понятный и удобочитаемый язык.

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

>'?' + '&'.join( url.quote(k) + '=' + url.quote(v) for k, v in query).

query.items(), однако

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

Теперь мы понимаем,что PHP и ASP.NET - всегда будут царствовать на Вебе.

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

Еще бы на Лиспе привели.
Даешь функциональные языки в Веб!

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

> эти технологии позволяют программировать на нормальных
> человеческих языках

Не понял ты про что ? К примеру на руби можно записать так :
--------------------------------------------
#!/usr/bin/ruby

$query = {"foo"=>1, "bar"=>2, "baz"=>3 }
$url = '?'

for $key,$value in $query
$url = $url+"#{$key}=#{$value}&"
end

printf $url
---------------------------------------------

И что ?

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

> Ну, die hard, все знают, что ты одарён.

Спасибо за констатацию всенародного признания!

:-)

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

> Не понял ты про что ? К примеру на руби можно записать так :

> $...

EPIC FAIL

Xeron
()

быстрее бы руби добавили, действительно. желательно с возможностью работы рельс.

Xeron
()

лучше пускай обратно дружат с GPL (а терь уже и с MPL)софтмэйкерами. чем - вредят им.

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

>Беру свои слова обратно, перл - понятный и удобочитаемый язык.

Блин, не надо сильно извращаться. Матц завещал писать самым очевидным способом, так что субъективно очевидней будет:

'?' + query.map{|k,v| "#{URI.escape(k.to_s)}=#{URI.escape(v.to_s)}" }.join('&')

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

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