Linux за българи: Форуми

Нетехнически теми => Идеи и мнения => Темата е започната от: elFO в Dec 09, 2012, 00:16



Титла: Съвет за редактор на Perl.
Публикувано от: elFO в Dec 09, 2012, 00:16
Решил съм се да се уча на Perl , но поради простата причина, че съм бос в Linux средата, търся някакъв редактор, който да ми върши работа. Може и да е съвсем проста програма, която да ми показва резултата от изпълнението на един прост ".pl" файл (или скрипт). Може по подразбиране в терминала да има изобилие, точно за Perl , но аз не ги знам. Моля за дребен съвет. И трябва ли ми някаква допълнителна програма примерно като Апачи, ако реша да се развивам в интернет програмирането (примерно някакви web приложения)?

Edit:
Извинявам се за неудобството, че не съм преценил къде да си пусна темата. По-добре е в секцията за начинаещи, където е настройка на програми.


Титла: Re: Съвет за редактор на Perl.
Публикувано от: gat3way в Dec 09, 2012, 02:13
Ако искаш да се занимаваш с уеб програмиране, захвърли perl. Казвам ти го като човек, който на работа се налага да подържа едно уеб-базирано приложение, писано на perl. То е и едно от малкото неща, които са ми докарвали мисли за самоубийство. Ужасно депресиращо е да се занимаваш с мъртъв език с идиотска философия, липсваща (или ужасно _странно_ имплементирана) функционалност, в моят случай е и под формата на CGI скриптове. Template Toolkit-а може и да е било хубаво нещо, но мен ми напомня за 90-те. И като цяло, не не и не. Единственото хубаво нещо е понеже е има 50 начина да направиш нещо и нито един от тях не ти върши работа, почти винаги ти се налага да преоткриваш колелото. Преоткриването на колелото не е толкова лошо нещо, особено ако обичаш да правиш безсмислени експерименти.

PHP примерно, предвид всичките му дефекти и отново сбъркана философия, е на светлинни години от perl по отношение на разработване на уеб приложения. В Perl като език има нещо жестоко сбъркано.


Титла: Re: Съвет за редактор на Perl.
Публикувано от: dejuren в Dec 09, 2012, 03:05
Perl може или да го мразиш като gat3way, или да го обичаш като мен, средно положение няма.

Цитат
Типичната програма на perl изглежда така, като че програмиста си е бил главата в клавиатурата; и най-често така си е било
— Анонимус

Цитат
PHP — това е малко зло, създадено от некомпетентни новаци, а Perl — това е голямо и коварно зло, създано от умели, но извратени професионалисти.
— Jon Ribbens
   

Цитат
Perl (перла, бисер)
1) съкровище, драгоценност, нещо изключително в ред подобни (перла в короната)
2) нещо нелепо, смешно, безсмислено, в частност нелепо изказване (кандидатстудентски бисери)

 ;D

И разбира се нямаше как да мина без двата стълба на Perl:

Код
GeSHi (Perl):
  1. `$=`;$_=\%!;($_)=/(.)/;$==++$|;($.,$/,$,,$\,$",$;,$^,$#,$~,$*,$:,@%)=($!=~/(.)(.).(.)(.)(.)(.)..(.)(.)(.)..(.)......(.)/,$"),$=++;$.++;$.++;$_++;
  2. $_++;($_,$\,$,)=($~.$"."$;$/$%[$?]$_$\$,$:$%[$?]",$"&$~,$#,);$,++;$,++;$^|=$";`$_$\$,$/$:$;$~$*$%[$?]$.$~$*${#}$%[$?]$;$\$"$^$~$*.>&$=`

Код
GeSHi (Perl):
  1. echo "test... test... test..." | sudo perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'

Мислете му, ако пуснете някой от тях. Предупредени са всички, аз си измивам ръцете.


Титла: Re: Съвет за редактор на Perl.
Публикувано от: schemer в Dec 09, 2012, 09:51
Като за начало може да използваш редактора на графичната ти среда (за пример в Gnome 2 това е gedit и може да се настрои да е поносим за писане на код (аз ползвам Emacs)).

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

За уеб програмиране не ти трябва допълнителни външни програми. През cpan инсталираш Catalyst (http://www.catalystframework.org/), което разбира се има и вграден уеб сървър за по-лесен дебъг и тестване, и за по-бърза разработка.

Като съвет ще допълня - преди да учиш различните работни рамки си научи добре основните неща, защото рамките те улесняват, но не премахват писането на код.

@gat3way, ти за коя версия на Perl говориш?

Допълнение:
В терминала пишеш само "perl <script-name>.pl" и си готов. :)


Титла: Re: Съвет за редактор на Perl.
Публикувано от: gat3way в Dec 09, 2012, 13:32
5.8.нещоси.

Искам да поясня, че говоря конкретно за писане на уеб приложения. Иначе като начин за автоматизиране на разни задачи е ОК, има доста предимства пред bash скриптовете (най-малкото има масиви и reference-и примерно :) ). Дори бих казал че ми харесва.

Не знам, има няколко неща, свързани с уеб програмирането, които в perl направо вбесяват. Примерно и CGI модула, и Template Toolkit-а са ужасно дървени и в крайна сметка рано или късно стигаш дотам да принтиш HTML код. Има доста библиотеки, които почти правят това, което искаш, но не точно както искаш и накрая се оказва че не ти вършат работа и трябва да си правиш сам нещата (обикновено това става след като си започнал с тях).

Другото, което нервира е DBI-а, там има различни DBD драйвери и понеже искат нещата да стават горе-долу по същия начин, някои неща са нагаждани. В PHP има отделни библиотеки за работа с различните бази - сега може би това има недостатъци, но предпочитам подхода на PHP, където поне си сигурен че като правиш нещо, става точно това, което трябва да стане.

JSON се парсва/генерира по-криво на Perl, отколкото с json разширението на PHP.


И такива работи.


Титла: Re: Съвет за редактор на Perl.
Публикувано от: Naka в Dec 09, 2012, 14:58
Kate - най обикновен текстови редактор от kde.

Perl води до мозъчни поражения.
Иначе PHP е 1000 пъти по-добър избор. На мен например в PHP страшно много ми допада изключително добрата документация - че даже и подкрепена с примери и много добри коментари.

Единственото хубаво нещо на perl е Perl Compatible Regular Expressions, но това е отделна библиотека и се използва и от PHP. Т.е няма нещо от Perl Regular Expressions, което да не можеш да направиш с PHP.

PHP примерно, предвид всичките му дефекти и отново сбъркана философия
Какво имаш в предвид за сбъркана философия?

Цитат
Типичната програма на perl изглежда така, като че програмиста си е бил главата в клавиатурата; и най-често така си е било
— Анонимус

Типичната програма на perl също изглежда така все едно котка се е разходила по клавитурата. Ако щете вярвайте ама като си пуснете котката по клавиатурата (особено в горният и край) и излиза вярна програмка на perl. :o

А относно писането на конзолни скриптове PHP е страшно добър избор. От една-две години пиша само конзолни скриптове на PHP и не виждам никакво ограничение от страна на PHP спрямо Perl. Не мога да разбера защо никой не пише конзолни скриптове на PHP - сигурно са някакви предрасъдаци или мода. Щото видите ли PHP бил само за ВЕБ.

 


Титла: Re: Съвет за редактор на Perl.
Публикувано от: radoulov в Dec 09, 2012, 15:45
[...]
Не мога да разбера защо никой не пише конзолни скриптове на PHP - сигурно са някакви предрасъдаци или мода. Щото видите ли PHP бил само за ВЕБ.

Една от причините, според мен, е, че default конфигурацията на повечето Unix варианти не предлага php interpreter.
Virtually всички модерни Unix варианти предлагат POSIX shell, Unix utilities и Perl, които са повече от достатъчни.


Титла: Re: Съвет за редактор на Perl.
Публикувано от: schemer в Dec 09, 2012, 16:21
Naka, моля те, дай линкове към научните изследвания, които доказват, че Perl уврежда мозъка и PHP е 1000 пъти по-добър избор. :)

Ето една от любимите ми статии, които представят PHP - http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/ :)

Останалите неща няма да ги коментирам - субективни са.

Само да припомня част от философията на Perl - "Има повече от един начин да направите нещо". По принцип казват, че Perl се опитва да ви предложи всички начини, но ако той не е достатъчен, то може да пробвате някои от тези езици - http://search.cpan.org/modlist/Language_Extensions/Inline :D

Допълнение :
Ама какви неща/оправдания/ може да измислят хората, когато ги мързи да научат нещо ново...  :)


Титла: Re: Съвет за редактор на Perl.
Публикувано от: b2l в Dec 09, 2012, 18:51
Ето една от любимите ми статии, които представят PHP - http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/ :)

Това е статия в блог. Ако в моя блог напиша, че Perl е говняв език ще е също толкова достоверно колкото тази твоя любима статия.


Титла: Re: Съвет за редактор на Perl.
Публикувано от: schemer в Dec 09, 2012, 19:16
b2l, ако я напишеш така убедително, както е написана "PHP: a fractal of bad design" - ще ѝ повярвам :)


Титла: Re: Съвет за редактор на Perl.
Публикувано от: gat3way в Dec 09, 2012, 20:43
Цитат
Ето една от любимите ми статии, които представят PHP - http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/

Всичко описано там е вярно, на места малко пресилено, но е вярно. Проблемът е че човек ако тръгне да се възмущава от същите неща в perl, ще му трябват няколко такива статии.

С това не искам да създавам спорове perl <-> php. Искам само да кажа, че PHP е по-подходящ избор в доста случаи. Апропо навремето и аз имах навика да пиша конзолни скриптове на PHP. В момента предпочитам Perl за целта, особено ако не се налага някой да гледа какви съм ги пляскал вътре.


Титла: Re: Съвет за редактор на Perl.
Публикувано от: Naka в Dec 09, 2012, 22:07
В момента предпочитам Perl за целта, особено ако не се налага някой да гледа какви съм ги пляскал вътре.

А след месец-два можеш ли да си разбереш кода. Щото аз даже и след седмица не мога. То това беше главната причина за зе****ба Perl... Щото след това ми трябваха огромни усиля да разбера собственият си код.... А за чужд код да не говорим.


Титла: Re: Съвет за редактор на Perl.
Публикувано от: elFO в Dec 09, 2012, 22:27
Виждам, че има интерес към темата, което ме радва. Решил съм да уча езика, а това означава, че ако езика предоставя възможност за Web приложения, значи, че вероятно един ден ще ми се наложи да се сблъскам и с тях. Не виждам какво лошо има да решиш един проблем по 50 начина. Все пак ако имаш акъл в главата си всеки път ще го решаваш, вместо да учиш наизуст определени конструкции. PHP общо взето не мога да го дишам, но на който му е удобен, приятен и интуитивен да си го ползва. Все пак въпроса ми е свързан с Perl. Като начало и простата команда "perl "/path/name_script.pl" " върши някаква работа. В началото ще са прости скриптове. Преди време, като новина на сайта (на този) се появи, че някаква група започва превод на ръководство за Perl на български. Идея имате ли до къде е стигнал проекта и за коя версия на езика става въпрос, че аз имам един материал, но е за версия 3.0.0 и още в самото начало с едни единични кавички ' . ' в конзолата ми даде някаква грешка. Въпросните единични кавички трябва да крият резултата (до колкото разбрах де). В случая нещо не се получиха нещата и в терминала ми се изписа грешка на въпросният ред. Предполагам, че е от остарялата версия и нещо са променили в езика. Затова да не се пуля тъпо и предано пред терминала за напред, вероятно ще ми е нужно малко по-актуално ръководство. Пробвах да си инсталирам Komodo (редактор на доста езици включително и Perl), но ми дава някакви проблеми с някакви зависимости с Java6 пакети, при което при опит да ги инсталирам ми дава, че липсват други пакети, а когато опитам и другите пакети да инсталирам пак ми дава, че има някакви неоправени зависимости на пакети и влизам в някакъв омагьосан кръг, в който не мога да инсталирам 2 различни пакета, защото са взаимно зависими и двата едновременно липсват. Пробвах да ги инсталирам едновременно (и пак не стана :d).
А този cpan през, който трябва да инсталирам Catalyst , нищо не ми говори (това със web сървъра ме заинтригува). Просто искам да знам, че ще си реша проблема още сега с една среда и че в последствие няма да ми се налага да се ровя, за да намеря дебъг за някое web приложение, ако се наложи разбира се.


Титла: Re: Съвет за редактор на Perl.
Публикувано от: gat3way в Dec 09, 2012, 23:17
Цитат
А след месец-два можеш ли да си разбереш кода. Щото аз даже и след седмица не мога. То това беше главната причина за зе****ба Perl... Щото след това ми трябваха огромни усиля да разбера собственият си код.... А за чужд код да не говорим.

Може, но трябва да си наложиш правила как да го пишеш и да си ги спазваш :) Което е големият проблем когато няколко човека работят върху едно и също - става каша.



Титла: Re: Съвет за редактор на Perl.
Публикувано от: Demayl в Dec 10, 2012, 01:38
Аз лично за Perl ползвам Vim, но като за графичен редактор става geany . Perl си е много ок като език и ако го знаеш няма как да не си разбереш кода дори и чуждия .
http://perldoc.perl.org/ ето ти информация за езика ( тук може да немериш всичко за езика )
http://search.cpan.org/ тук си гледаш модулите . Хубаво е да ги инсталираш от дистрибуцията ти, ако не стане - в терминала : perl -MCPAN -e shell и ще ти излезе шела на CPAN и от там си инсталираш .
Хубавото на perl спрямо php за мен е че в perl имаш ~200 функции , а в PHP core са ти 1500+ , но трябва да научиш стотици тънкости  ;D  [_]3 [_]3


Титла: Re: Съвет за редактор на Perl.
Публикувано от: elFO в Dec 10, 2012, 02:15
Аз лично за Perl ползвам Vim, но като за графичен редактор става geany . Perl си е много ок като език и ако го знаеш няма как да не си разбереш кода дори и чуждия .
http://perldoc.perl.org/ ето ти информация за езика ( тук може да немериш всичко за езика )
http://search.cpan.org/ тук си гледаш модулите . Хубаво е да ги инсталираш от дистрибуцията ти, ако не стане - в терминала : perl -MCPAN -e shell и ще ти излезе шела на CPAN и от там си инсталираш .
Хубавото на perl спрямо php за мен е че в perl имаш ~200 функции , а в PHP core са ти 1500+ , но трябва да научиш стотици тънкости  ;D  [_]3 [_]3
Тоя английски като го видя и ми прилошава. Затова попитах за проекта с превод на български на Perl.
Тия модули да не са случайно фреймуърк за Perl. T.e. cpan да е нещо като Rubi on Rails или PHP Frameworк?


Титла: Re: Съвет за редактор на Perl.
Публикувано от: neter в Dec 10, 2012, 02:17
Като ще изброяваме, да спомена Padre ($2). Има си документация - чети, гледай и разцъкай. Но elFO, от по-разпространените езици (ако изключим .Net) няма език, за който има един редактор, който да е любимец на всички. Кой ще е най-удачният редактор за теб можеш да кажеш само ти - твърде много зависи от личните предпочитания и конкретните нужди. Та дори има вероятност да си харесаш различни редактори в различните случаи. Аз ползвам различни редактори на работата и вкъщи, за малки или за големи писания, за web или за в системата... а понякога ги сменям и просто за разнообразието. Хвани един списък с редактори в Интернет, инсталирай, разцъквай, и си намери подходящото. Само гледай да има синтактично оцветяване за Perl - това, може би, е единствената функционалност в редакторите, която се харесва от всички (изключая някои особени личности) :)

P.S.: В зараждащия се спор Perl vs. PHP няма да се намесвам. Винаги съм бил на мнение, че всеки език си има определени цели и не трябва да се смесват, а изказвания от рода на "Еди кой си език не мога да го дишам" звучат крайно непрофесионално. Дори ще ви помоля спорът да се прекъсне още сега в зародиш, тъй като се явява извън темата, а едва ли ще доведе до градивни резултати ;)


Титла: Re: Съвет за редактор на Perl.
Публикувано от: schemer в Dec 10, 2012, 20:20
Затова попитах за проекта с превод на български на Perl.

Това е основното хранилище, в което се синхронизира всичко https://github.com/kberov/modern_perl_book/issues?page=1&state=open .
Като всяко нещо, което се прави доброволно в малкото свободно време... ясно е как стават нещата (при мен поне). За щастие следващата седмица ще имам повече свободно време и ще мога да си доизпълня част от поетите задачи :)

За хостинг услугите не знам как става номера с cpan... винаги съм имал root права или знам кой има root правата и той е инсталирал за мен. Когато инсталираш като root, пакетите са видими за всички потребители, но май можеше и всеки потребител да си инсталира cpan модули локално в домашната си директория. Ето и команда :

Код:
# cpan
cpan[1]> install Catalyst

Предупреждение - ако стартираш cpan за първи път, ще те пита за настройки. Би трябвало да е безопасно да цъкаш Enter за да избереш предложенията по подразбиране.
Същото важи за инсталирането на модулите (не знам как може да му кажеш да инсталира без да пита, но понеже рядко го правя - не ми и трябва (веднъж при преинсталация на ОС)).

Иначе cpan е пакетен мениджър, който се грижи да свали и зависимостите на пакетите, които инсталираш; пуска им автоматичните тестове и има някои други екстри. Не знам какво е Ruby on Rails и не мога да ги сравня. По-скоро е като apt-get в дебиан.


Титла: Re: Съвет за редактор на Perl.
Публикувано от: bop_bop_mara в Dec 10, 2012, 20:46
Понеже въпросът е за редактор за Perl... В никакъв случай не обвързвай редактора с език, свикни да ползваш един и същи редактор/IDE за всичко - било то обикновени текстови файлове, код на perl или код на каквото друго ти хареса. Редакторът е само средство за създаване на код и той трябва да е удобен на програмиста, не на езика. За изпълнението, ако свикнеш от терминал, ще е супер. Така или иначе графичните добавки към редактори, които пускат програмата, не правят нищо различно в същината си. Да не говорим, че така винаги ще знаеш как да си пуснеш програмата, а няма да се окажеш в ситуация тип "и сега под vim как си компилирам кода?? ???".

Ако решиш да се гмурнеш във vim или emacs, първо поразгледай 1-2 клипчета как хората, които ги познават, ги ползват и правят писането си по-лесно. Например лекциите от OpenFest 2011 и 2012. Целта е да се надъхаш малко, защото първата среща с тях може да е доста плашеща и отказваща. И задължително потърси информация за vimtutor, аналогичното за emacs и някакви други източници на информация за клавишните комбинации. Ако имаш търпението и желанието да избереш някой от тях, освен, че ще се чувстваш като джедай, наистина ще ти бъде от дългосрочна и универсална полза.


Титла: Re: Съвет за редактор на Perl.
Публикувано от: Demayl в Dec 11, 2012, 10:29
Съгласен съм с bop_bop_mara че не трябва да връзваш редактора с език. Аз лично ползвам vim защото се пише много по-бързо на него и не ти трябва графична среда зада пишеш нещо . Иначе vim си е доста материя за запомняне, хубавото че има добра документация. Ако искаш пробвай - отвори vim и напиши :h и разгледай   :o    ;D ;D ;D


Титла: Re: Съвет за редактор на Perl.
Публикувано от: go_fire в Dec 11, 2012, 11:19
Не е като нещото на Руби. Нещото на руби е като сипан. А цпан е като архива на Тех, оти от Тех е тръгнало и се е разпространило чак до Р (статистически език).

На лаптопа дето съм със стабилен Дебиан ползвам Емакс. Най-добрият редактор от „модерните“ е Катето. Най-добрата среда, ако изобщо можем да говорим за среди при Пърл е Падре. Тук има един момент, че в Eпик (модул на затъмнението) има нещо наречено рефакторинг. Същото го има и в Падре. Но понеже аз само на теория знам, какво е това, не мога да сравня работата им.

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

Под една унищожително неадекватна ОС, която ми се налага да ползвам, пиша точно с Падре.

Та обобщението е, че Падре, като всичко друго, не е среда в никакъв случай, но е доста полезен.

По въпроса на Наката. Има модули които могат да те принудят да не правиш свинщини. Но ако сам искаш да пишеш грозен код, никой не може да те спре, включително оня отгоре.

За 5,8 е бая праисторическа версия и няма да я обсъждам. Дори на стабилният Дебиан е 5,10, а тя е средновековна.


Титла: Re: Съвет за редактор на Perl.
Публикувано от: elFO в Dec 13, 2012, 01:48
Благодаря за съветите. Но аз май съм от мазохистите. Вече започнах да изпробвам първите си елементарни скриптове с командата #perl <path><file_name.pl> и за сега върши работа. Пиша в един файл, който съхранявам на десктопа и който го редактирам и общо взето става и е доста вдъхновяващо. Нямам идея на този етап ако някой ден ми се наложи да пиша някакво Web приложение, но вероятно няма да е чак толкова скоро. Като дойде време ще го мислим. До тогава ще си джъткам директно в .pl през същата програмка, с която си отварям .txt файловете.


Титла: Re: Съвет за редактор на Perl.
Публикувано от: c2h5oh в Dec 14, 2012, 00:39
Крайно еротичните (до вулгарност) SMS-си на приятелките ми винаги ги пиша на Perl. Когато жена ми докопа GSM-а ми с цел осъществяване на текущ контрол, първо нищо не разбира от написаното и второ аз се оправдавам че това е средство за автоматизация.  ;D [_]3


Титла: Re: Съвет за редактор на Perl.
Публикувано от: gat3way в Dec 14, 2012, 01:25
Съвсем сериозно в САЩ едната полицейска трибуквена агенция когато арестуват заподозрян и конфискуват техниката, имат софтуер, който прави за всеки файл на диска chi-squared distribution test и ако файлът го мине, следователно обектът е заподозрян че има примерно truecrypt контейнер. В този ред на мисли perl скриптовете са много опасно нещо - защото съм убеден че те също ще минат въпросната проверка. После ще има разправии.