LINUX.ORG.RU

Perl мертв. Да здравствует Perl!


0

0

JT Смит, президент Plain Black, создатель WebGUI, и однин из незамеченных, но успешно использующих Perl в бизнесе, недавно послал мне это эссе. Он дал мне(O'Reilly) разрешение издать это полностью здесь.

Каждый день, я задумываюсь о том, почему я пишу на Perl а не на PHP, Java, C#, Ruby, Python, или [подставте ваш любимый язык сюда]? Люди говорят что, "Perl не используется больше" или, "Рубин - рулез..."

Есть миллионы программистов Perl во всем мире. Perl 5 активно поддерживается, и Perl 6 находится в развитии. Больше чем 3000 Модулей Perl были выпущены в 2006г, и вдвое больше должны быть выпущены в этом году. Действительность состоит в том, что Perl является совсем не мертвым.

>>> Взято с сайта =>



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

Ответ на: Re: Perl мертв. Долгой жизни Perl... от AlexM

Re: Perl мертв. Долгой жизни Perl...

>Добро пожаловать в будущее.

Спасибо! :D

>Нет только сишных ++ / --

Хз.. может оно и к лучшему. =\

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

А то может лучше потратить больше времени на изучения чего-то более "навороченного" вроде Ruby, зато потом работать легче. :?

anonymous ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от anonymous

Re: Perl мертв. Долгой жизни Perl...

> а лучше напиши пару строк кода на лиспе, чтобы высветилась надпись об отправки тебя в биореактор :)

Не выйдет фокус - у меня диплом по котлам и реакторам, они тухнут от одного моего присутствия :-P

mv ★★★★★ ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от anonymous

Re: Perl мертв. Долгой жизни Perl...

> Вопрос к много и продолжительно пишущим на питоне, т.е. к тем, для кого вопрос "осиливания" уже не стоит: не напрягает ли отсутствие различных "вкусностей" и излишняя? строгость?

не напрягает. напротив дисциплинирует. вот я, к примеру, уже даже бросил курить, выпивать и интересоваться женщинами. и все это благодаря стогостям питона!

anonymous ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от anonymous

Re: Perl мертв. Долгой жизни Perl...

> Ну да, там есть все.

В этом-то и проблема, что оно есть ТАМ. А не ТУТ. В результате когда надо поставить что-то перловое, приходится первым делом выкачивать кучу CPAN модулей.

Aceler ★★★★★ ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от anonymous

Re: Perl мертв. Долгой жизни Perl...

> а комменты не пробовал в код вставлять?

И как это поможет в понимании концепции языка? 
Или мне вот так писать:

@l = ((1,2,3), ('a', 'b'));
#~ Если вы таки думаете, что здесь создается список
#~ из двух списков, то вы не правы!

sv75 ★★★★★ ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от anonymous

Re: Perl мертв. Долгой жизни Perl...

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

anonymous ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от anonymous

Re: Perl мертв. Долгой жизни Perl...

> не напрягает. напротив дисциплинирует. вот я, к примеру, уже даже бросил курить, выпивать и интересоваться женщинами. и все это благодаря стогостям питона!

А как тебя вштырит от Use strict? :()

Aceler ★★★★★ ()

Re: Perl мертв. Долгой жизни Perl...

кстати я не могу не согласиться с автором. И даже при том, что я сам временами начинаю бурчать, мол "время перла уже прошло" -- всё, что не относится к вебу (я имею в виду скрипты и какие-то мелкие гуишные вещи) я по-прежнему пишу на перле (потому что удобно)

jodaka ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от anonymous

Re: Perl мертв. Долгой жизни Perl...

> А то может лучше потратить больше времени на изучения чего-то более "навороченного" вроде Ruby, зато потом работать легче. :?

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

sv75 ★★★★★ ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от mv

Re: Perl мертв. Долгой жизни Perl...

>>> Не выйдет фокус - у меня диплом по котлам и реакторам, они тухнут от одного моего присутствия :-P

крутой поцан! :)

anonymous ()

Re: Perl мертв. Долгой жизни Perl...

Так заголовок на "... Да здравствует Perl!" никто не поменяет? :-/

sv75 ★★★★★ ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от sv75

Re: Perl мертв. Долгой жизни Perl...

>> а комменты не пробовал в код вставлять? > И как это поможет в понимании концепции языка? > Или мне вот так писать: > @l = ((1,2,3), ('a', 'b')); > #~ Если вы таки думаете, что здесь создается список > #~ из двух списков, то вы не правы!

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

anonymous ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от sv75

Re: Perl мертв. Долгой жизни Perl...

> Так заголовок на "... Да здравствует Perl!" никто не поменяет? :-/

А кроме автора написать подобное ни у кого рука не поднимется - это же откровенное 4.2, ведь перл мертв.

anonymous ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от anonymous

Re: Perl мертв. Долгой жизни Perl...

> может лучше потратить больше времени на изучения чего-то более "навороченного" вроде Ruby, зато потом работать легче.

А что мешает изучить и Питон, и Руби? Это ж тебе не C++, всю жизнь тратить на это не придётся ;) Конечно, недостаточно просто изучить.Нужно попрактиковаться в обоих языках, потом сам определишь что тебе больше подходит.

Hjorn ()

Re: Perl мертв. Долгой жизни Perl...

Туда ему и дорога..

anonymous ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от defmacro

Re: Perl мертв. Долгой жизни Perl...

>основной принцип python -- читабельность

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

Dubrovsky ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от sv75

Re: Perl мертв. Долгой жизни Perl...

> Лучше потратить немного времени на осознания того факта, что Питон и Руби весьма близки концептуально

Я бы так не сказал. К примеру, в них совершенно различные подходы к ООП и к модульности в целом.

Hjorn ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от anonymous

Re: Perl мертв. Долгой жизни Perl...

> интересен питон. Только вот смущает в нем отстутствие операторов ?: и сокращенных += *= и т.п.

+= *= есть уже давным давно.

Тернарный оператор добавили в 2.5, правда там синтаксис несколько оригинальный.

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

Руби вызывает противоречивые чувства. С одной стороны, подчистили застарелые питоновские бородавки. С другой стороны - всё опошлили перловской ковбойщиной.

yk4ever ()

Re: Perl мертв. Долгой жизни Perl...

Год писал на перле. И каждый день плевался. (Писал потомучто за него платят много денег). Язык мощьный бесспорно, но чтобы его мощь заюзать нужно так извратится что всякое желание пропадает. Язык крив до невозможности и представляет собой наслойку сотен грязных хаков и непонятных соглшений. Самое плохое что смотря код программиста, не обладающего достаточной культурой написания кода, легче попасть в дурку, чем понять что он имел ввиду. Различных ньюнсов у самого языка столько, что все их знают наверно только разработчики. Метепрограммирование возможно на хорошем уровне, но никто им не пользуется потомучта очень сложно. На много сложнее чем в том же руби, не говоря о лиспе. ООП конечно "другое", но тому кто работает с ООП кодом не нужно другое а нужно удобное. А оно в перле сильно низкоуровневое, что позволяет каждому прогеру по своему изобретать свои ООП "фичи", отличающиеся в каждом проекте (не tcl конечно, но все же). Про главный аргумент CPAN ананимус замечательно сказали и сравнил с питоновским набором библиотек, +100 ему. Если вам нужен хороший RAD берите питон и его кучу либ, тем более сишными либы он подцепляет намного лучше чем perl с xs. Нужен прогрессивный язык программирования, на котором за последнии 3(!) года написано столько прогрессивных и не встречающихся раньше нигде (ну или тока в академ среде) вещей, которые рельно облегчают жизнь в разы и заставляют переосмысливать подходы к программированию - берите ruby. Перл мертв и нужнен только для поддержания старых проектов. Новые проекты (даже скрипты в несколько строк) создавать на нем смысла нет.

CrazyPit ★★★ ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от Dubrovsky

Re: Perl мертв. Долгой жизни Perl...

> таким образом питон стоит понимать как язык который загоняет программиста в свои узкие рамки

Хм... Питон загоняет в узкие рамки.... Интересно узнать ваше мнение о яве, думаю я узнаю много новых выражений....

sv75 ★★★★★ ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от mv

Re: Perl мертв. Долгой жизни Perl...

> Ещё б с питоном чего-нибудь сотворили, чтобы он работал хотя бы со скоростью перла

если только вместо c2d впендюрить c2q

anonymous ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от anonymous

Re: Perl мертв. Долгой жизни Perl...

> А кроме автора написать подобное ни у кого рука не поднимется - это же откровенное 4.2, ведь перл мертв.

Ну и отлично, глядишь постов 500 хоть будет %)

sv75 ★★★★★ ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от CrazyPit

Re: Perl мертв. Долгой жизни Perl...

> Различных ньюнсов у самого языка столько, что все их знают наверно только разработчики.

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

"The key to performance is elegance, not battalions of special cases" (с) не помню кто

Hjorn ()

Re: Perl мертв. Долгой жизни Perl...

Perl можно ругать сколько угодно. Но CPAN питоновская библиотека заменить пока не в состоянии, даже близко.

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

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

Так что хотя бы из-за этого перл будет жить еще долго. Ну и отчасти из-за того что очень много проектов уже написаны на перле. А перл - это не кобол, и далеко не все кинутся переписывать свои бизнес-процессы на другом языке. А многие так и будут продолжать дорабатывать свое перловое. Попутно с этим процессом будут появляться новые CPAN модули.

anonymous ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от mv

Re: Perl мертв. Долгой жизни Perl...

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

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

http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=perl&am...

CrazyPit ★★★ ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от anonymous

Re: Perl мертв. Долгой жизни Perl...

Зато с потреблением памяти дела ой как плохи

http://shootout.alioth.debian.org/sandbox/benchmark.php?test=all&lang=pyt...

http://shootout.alioth.debian.org/sandbox/benchmark.php?test=all&lang=psy...

А ведь именно от недостатка пямяти и наблюдаются всякие speed degradation

Даже пролог по потреблению памяти его обходит.

http://shootout.alioth.debian.org/sandbox/benchmark.php?test=all&lang=pyt...

anonymous ()

Re: Perl мертв. Долгой жизни Perl...

Итак игра
Найдите 10 отличий:


---------------------------------------------
action1 = New Microsoft.Office.Tools.Word.Action( _
    "Convert to Celsius")
smartTag1.Actions = _
    New Microsoft.Office.Tools.Word.Action() {action1}
    Me.VstoSmartTags.Add(smartTag1)
End Sub
Sub action1_Click(ByVal sender As Object, _
    ByVal e As Microsoft.Office.Tools.Word.ActionEventArgs) _
    Handles action1.Click

    Dim value As String = e.Properties.Read("number")
    Dim fahrenheit As Double = Convert.ToDouble(value)
    Dim celsius As Integer = Fix(fahrenheit - 32) * 5 / 9
    e.Range.Text = celsius.ToString() + "C"
End Sub



---------------------------------------------

#!/usr/local/bin/python

import string, sys

# If no arguments were given, print a helpful message
if len(sys.argv)==1:
    print 'Usage: celsius temp1 temp2 ...'
    sys.exit(0)

# Loop over the arguments
for i in sys.argv[1:]:
    try: 
        fahrenheit=float(string.atoi(i))
    except string.atoi_error:
	print repr(i), "not a numeric value"
    else:
	celsius=(fahrenheit-32)*5.0/9.0
	print '%i\260F = %i\260C' % (int(fahrenheit), int(celsius+.5))



----------------------------------

Господа извращенцы, дисциплинируйте себя на визуалБейсике пожалуйста! и модулей у него больше и работает он явно быстрее чем ваш удав. К тому же судя по вот этому:
Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)] on win32

Винда - ваш дом родной.

anonymous ()

Re: Perl мертв. Долгой жизни Perl...

Читаешь эти комментарии, и грустно становится - откуда столько людей с психическими отклонениями в профессии программиста.

anonymous ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от anonymous

Re: Perl мертв. Долгой жизни Perl...

>>> Читаешь эти комментарии, и грустно становится - откуда столько людей с психическими отклонениями в профессии программиста.

программер - это диагноз...неизлечимый синдром...вечный поиск совершенства :)

anonymous ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от anonymous

Re: Perl мертв. Долгой жизни Perl...

>программер - это диагноз...неизлечимый синдром...вечный поиск >совершенства :)

Только это никак не связано с хамством, руганью и матом.

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

anonymous ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от sv75

Re: Perl мертв. Долгой жизни Perl...

> Хм... Питон загоняет в узкие рамки.... Интересно узнать ваше мнение о яве, думаю я узнаю много новых выражений....

О! Я все ждал, когда кто-нибудь вспомнит о яве! :)

Aceler ★★★★★ ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от anonymous

Re: Perl мертв. Долгой жизни Perl...

> недавно долго штудировал языки, смотрел плюсы и минусы, и по-моему python и ruby сильно переоцененны. у них нет ни одного большого плюса по сравнению со старым перлом. а вот у перла есть один плюс - огромный CPAN

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

eugine_kosenko ★★★ ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от anonymous

Re: Perl мертв. Долгой жизни Perl...

Python 2.4.4 (#1, Jun 30 2007, 14:57:02) [GCC 3.3.5 (propolice)] on openbsd4 Type "help", "copyright", "credits" or "license" for more information. >>> i = 1 >>> i += 1 >>> i 2 >>>

anonymous ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от eugine_kosenko

Re: Perl мертв. Долгой жизни Perl...

> и по-моему C и Pascal сильно переоцененны. у них нет ни одного большого плюса по сравнению со старым фортраном

И много ОС написали на фортране? :-/

sv75 ★★★★★ ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от anonymous

Re: Perl мертв. Долгой жизни Perl...

Python 2.4.4 (#1, Jun 30 2007, 14:57:02)
[GCC 3.3.5 (propolice)] on openbsd4
Type "help", "copyright", "credits" or "license" for more information.
>>> i = 1
>>> i += 1
>>> i
2
>>>

better :)

anonymous ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от defmacro

Re: Perl мертв. Долгой жизни Perl...

> а по поводу ?: -- он нах не нужен, никогда его не использовал ибо основной принцип python -- читабельность

Таки нужен, если учесть, что в 2.5 его таки ввели. Сам щас мытарюсь с конструкциями аналогичного типа.

eugine_kosenko ★★★ ()

Re: Perl мертв. Долгой жизни Perl...

не понимаю людей, которые начинают холивар Perl vs. Python. Это приблизительно равные по возможностям средства разработки. Выбор одного из них - дело вкуса или случайности - у кого как. Мне лично питон нравится больше, но я знаю людей, которые программят на руби и перле - это их выбор.

troorl ★★ ()

Re: Perl мертв. Долгой жизни Perl...

ITT: Неосилившие современный Perl.

anonymous ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от anonymous

Re: Perl мертв. Долгой жизни Perl...

> Уважаемый Всеволод Кащенко, не кажется ли Вам, что ОС написанных на питоне/руби, вы так же не найдете?

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

sv75 ★★★★★ ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от troorl

Re: Perl мертв. Долгой жизни Perl...

> не понимаю людей, которые начинают холивар Perl vs. Python. Это приблизительно равные по возможностям средства разработки.

Все средства разработки - *приблизительно* равные по возможностям ;)

sv75 ★★★★★ ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от troorl

Re: Perl мертв. Долгой жизни Perl...

> Афигеть! Где они обсуждаются? Уж не в топике про перл????

Претензии к автору аналогии, которая (как и вес аналогии) довольно кривая.

sv75 ★★★★★ ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от anonymous

Re: Perl мертв. Долгой жизни Perl...

> насколько я помню, обсуждается Перл, а фортраны, Си, и уж темболее удавы с рубинами идут лесом.

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

sv75 ★★★★★ ()
Ответ на: Re: Perl мертв. Долгой жизни Perl... от sv75

Re: Perl мертв. Долгой жизни Perl...

> Все средства разработки - *приблизительно* равные по возможностям ;)

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

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