Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Изучение Perl


Автор: DoDo 28.1.2007, 16:44
Всем Добрый Вечер!
Интересует вопрос насчёт изучения этого языка (Perl), вопрос в том, какие должны быть знания (что нужно знать?) перед изучением этого языка?
Так же интерес еще один момент, если на нем учиться писать под Windows, а не под UNIX, то это нормально? Слышал, что лучше на нём писать под UNIX, а не под Windows..

Жду от Вас ответов!
Всем Огромное Спасибо!

Автор: nerezus 28.1.2007, 17:06
DoDo, прежде, чем будешь его учить, сто раз подумай, надо ли тебе оно?

Касательнно себя считаю, что время, затраченное мной на перл — это попусту потраченное время.

Цитата

Слышал, что лучше на нём писать под UNIX, а не под Windows..
 Именно так.

Автор: HalkaR 28.1.2007, 17:15
1. Время затраченное на изучение любого языка не может быть затрачено впустую.
2. Перл сейчас не очень распрастранен, но найти работу вполне можно.
3. ПОд Windows писать вполне можно особенно если вас более привлекает web разработка, а не системное программирование.
4. Ечли вас более интересует web разработка - учите что-нибудь другое.

Автор: DoDo 28.1.2007, 20:24
nerezus, спасибо, приму к сведению..
Если не секрет, то почему под UNIX можно писать на Perl, а под Windows нельзя? Уже не первый человек это утверждает..

HalkaR, спасибо, меня интересует системное программирование, им (системным программированием) можно заниматься на Perl под Windows?
Кстате, а вообще писать на Perl под Windows актуально? Или только под UNIX?
Как я понимаю дополнительных знаний перед изучением этого языка не требуется?

Буду ждать еще других мнений..

Автор: Hidrag 28.1.2007, 21:39
nerezus, ярый не любитель перла smile ...наверное стоит в религиозных войнах тему создать про перл, аналогичную теме о делфи и дпть тебе возможность высказать все о нем smile

Автор: Nab 29.1.2007, 06:04
Ну ответы на этот вопрос не думаю что стоит обсуждать, иначе "holy war" не избежать, учитывая как написан первый ответ, но свое мнение могу высказать....

Конечно многие задачи можно решать любым средством, практически всегда есть альтернатива. И каждый человек выберет более ему знакомый, поэтому DoDo, воспринимайте советы с оглядкой на то, что люди которые что-то НЕ советуют, скорее всего в реальности ЭТО не поняли и не прочуствовали.... Практически на любом языке общего назначения можно решить любую задачу.

Я считаю что нужно выбирать инструмент под задачу, и четко понимать что языки есть разного уровня... 
Ассемблер, С, Pascal - языки более низкого уровня чем PERL, с другой стороны PHP наверно более высок, я не говорю про Java, потому как не знаю smile Это означает что для решения задачи , которая записана в одну коротенькую строчку на perl, на С прийдется написать немного больше, но работать она будет скорее всего чуть быстрее... А если попытаться решить на ассемблере, то писать прийдется раз в 20 больше, а чтоб добиться переносимости как у перла то еще больше smile но выиграш в скорости можно получить еще больший... 

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

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

По поводу платформы, то это вообще не имеет значения, можно писать на любой...
Просто под *nix перл как правило поставляется в составе дистрибутива, и сразу готов к работе.
У меня гдето валяется сборка под DOS, а вот о php под DOS, или Java я не слыхал smile Я уже не говорю про всякие другие экзотические платформы...

Зато под Java я помню был, а может и есть, процессор не требующий никаких виртуальных машин а выполняющий прям java код... Да и во всяких мобилках оно сейчас применяется ... Хотя perl для кпк тоже имеется smile

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

Автор: Shaggie 29.1.2007, 07:16
DoDo
Цитата(DoDo @  28.1.2007,  16:44 Найти цитируемый пост)
Интересует вопрос насчёт изучения этого языка (Perl), вопрос в том, какие должны быть знания (что нужно знать?) перед изучением этого языка?

Желательно знать еще хотя бы один язык программирования. Увы, именно так. Перл как язык программирования довольно специфичен, одним это нравится, другим нет... но кодить на Перле с нуля я не советую, некоторую базу программинга нужно иметь. Nab правильно заметил, на любом ЯП можно сделать все, что пожелаешь. Более важно, понравится ли тебе вольный и многосмысленный стиль данного языка!
Цитата(DoDo @  28.1.2007,  16:44 Найти цитируемый пост)
Так же интерес еще один момент, если на нем учиться писать под Windows, а не под UNIX, то это нормально? Слышал, что лучше на нём писать под UNIX, а не под Windows..

Абсолютно нормально. Перл - язык мультиплатформенный. Принцип работы в чем-то схож с java - есть код, а есть интерпретатор перл, заточенный под конкретную платформу, и почти не важно, что в твоем коде - интерпретатор сдюжит его запустить (увы, "почти"...). К тому же нигде больше в винде нельзя так быстро создать маленькую и шуструю программку с поддержкой регулярных выражений (в них сила Перл, из них он вырос).
Цитата(DoDo @  28.1.2007,  16:44 Найти цитируемый пост)
Всем Огромное Спасибо! 

Надеюсь, что помог smile 

Автор: nerezus 29.1.2007, 10:15
Цитата

наверное стоит в религиозных войнах тему создать про перл, аналогичную теме о делфи и дпть тебе возможность высказать все о нем
 http://forum.vingrad.ru/topic-134327.html

Цитата

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

Цитата

К тому же нигде больше в винде нельзя так быстро создать маленькую и шуструю программку с поддержкой регулярных выражений (в них сила Перл, из них он вырос).
 Неправда:
Код

>>> re.findall('WIN\w+', open('c:/boot.ini', 'r').read())
['WINXP', 'WINDOWS', 'WINXP', 'WINDOWS']

 smile 

Автор: nitr 29.1.2007, 10:51
Не в укор сказано, куда смотрят модеры smile ?
Это чистой воды флейм выходит... все "нормальные" программеры, которые уважительно относятся к своим так сказать "коллегам", не будут здесь отвечать, типа это хорошо, а это плохо smile

Крошка сын к отцу пришёл,
И спросила кроха -
 "Что такое хорошо, а что такое плохо?"
...
Практически вопрос изчерпан ответом:
Цитата(Nab @  29.1.2007,  06:04 Найти цитируемый пост)
Я считаю что нужно выбирать инструмент под задачу, и четко понимать что языки есть разного уровня... Ассемблер, С, Pascal - языки более низкого уровня чем PERL, с другой стороны PHP наверно более высок, я не говорю про Java, потому как не знаю smile Это означает что для решения задачи , которая записана в одну коротенькую строчку на perl, на С прийдется написать немного больше, но работать она будет скорее всего чуть быстрее... А если попытаться решить на ассемблере, то писать прийдется раз в 20 больше, а чтоб добиться переносимости как у перла то еще больше smile но выиграш в скорости можно получить еще больший... 

и многими другими в других топиках такого содержания...


nerezus, ты мною замечен тут:
Цитата

Наибольшая активность в
Форум: Религиозные войны
Сообщений: 293 (30%)


Добавлено @ 10:53 
можно и сюда заглянуть - http://forum.vingrad.ru/topic-132126.html

Автор: DoDo 29.1.2007, 11:25
Прочитал все Ваши ответы и мне стало многое понятно, всем Вам огромное спасибо!
Появился еще маленький вопрос, почему Perl считают языком для Web, но ведь на нем можно создавать консольные приложения? Не могу одного понять, Perl можно использовать как системный язык программиования и как язык для Web?
Кстате, а как изучать Perl под Windows, если много документации по Perl заточено под UNIX, что получается нужно будет примеры редактировать самому под Windows? Примеры обычно изначально заточены под UNIX.. Я просто не видел примеров которые были бы изначально даны для Windows..

Автор: nitr 29.1.2007, 11:36
Ух... DoDo, нет слов, снова начинается, вы просто "пройдитесь" по форуму!!!
http://forum.vingrad.ru/topic-131764/kw-%F1%F0%E0%E2%ED%E5%ED%E8%E5-%F4%E0%E9%EB.html гляньте, да и вообще просто просмотрите все топики smile , для того, чтобы понять где там Веб и где там неВеб smile тем много... и они дааалеко не все про Веб ;)

Добавлено @ 11:38 
DoDo, там доки ввиде html-документов =) В сети полно...

Добавлено @ 11:40 
путь_до_перла/html/ и читайте...
в Пуск->Выолнить perldoc perlre (пример)

Добавлено @ 11:41 
И ещё, уже сказано - что перл есть практически под любую ОСь, или тут выше "пустой разговор" ?

Автор: Nab 29.1.2007, 11:52
DoDo, видно что Вы плаваете во многих вопросах.
Давайте чтоб мы понимали о чем Вы говорите, ответьте, что в Вашем понимании "под Web", что в Вашем понимании "системное програмирование"? 

И было бы интересно взглянуть на примеры, которые Вы под винду править собрались.... smile
И кстати кто кроме Вас считает что Perl язык для Web?

Автор: Zuzu 29.1.2007, 12:01
Цитата(DoDo @  28.1.2007,  19:44 Найти цитируемый пост)
Интересует вопрос насчёт изучения этого языка (Perl), вопрос в том, какие должны быть знания (что нужно знать?) перед изучением этого языка?


Тоже не советовал бы в качестве "первого" языка программирования. А так - нужны базовые знания по программиованию, как дисциплине. Как собственно, для любого языка программирования.

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


Автор: korob2001 29.1.2007, 12:37
Цитата(DoDo @  29.1.2007,  08:25 Найти цитируемый пост)
Появился еще маленький вопрос, почему Perl считают языком для Web, но ведь на нем можно создавать консольные приложения? Не могу одного понять, Perl можно использовать как системный язык программиования и как язык для Web?

Можешь писать и CGI и системные программы.
Цитата(nerezus @  28.1.2007,  14:06 Найти цитируемый пост)
Именно так

Сколько работаю с Perl, сотолько же и с Виндой.
Цитата(nerezus @  29.1.2007,  07:15 Найти цитируемый пост)
Хм... очень многое работает только под никсой, хотя их можно делать и под виндой.

Угу. То, что относится непосредственно к системе. Точно так же как и под никсами не будет работаь код юзающий модуль Win32::..... .

ЗЫ: Я никогда ещё не пожалел о том, что учил Perl. Сейчас, можно сказать, живу за его счёт. Всё что пишу, пишу именно на Perl + ООП, под WEB. Ниразу ещё не встретил работодателя, который попросил бы, заменить Perl на PHP или Python. Единственный раз пришлось писать проект на PHP, но и то это была моя личная инициатива, просто нужно было попрактиковаться. Заказчику отдал его на болванке, дальнейшая его судьба мне не известна.

Автор: DoDo 29.1.2007, 16:07
nitr, хорошо, приму к сведению..

Nab, под словом Web, я имел ввиду различные скрипты и работа со страницами.
Под системным, я имел ввиду обычные программки, так сказать не Web.
Насчёт примеров, я подразумевал не конкретные примеры которые у меня есть, а то большинство примеров которые попадаются достаточно часто в документациях..
А что на Perl нельзя ничего писать связанного с Web? Помойму можно..
Как я понимаю, что не нем можно писать обычные программки и что-то связанное с Web страницами..?

Кстате, какой Perl-редактор посоветуете под Windows, от ActiveState или от DzSoft?

Автор: Nab 29.1.2007, 16:39
А "помойму", "Чукча не читатель, чукча писатель..." (с) из анекдота.... smile

Добавлено @ 16:45 
korob2001, плиз закрывай тему, а то она до добра не доведет smile

Автор: sharq 29.1.2007, 16:52
Ребята, сколько можно разговаривать о перле?
лучше пишите на нем и эти разговоры отпадут сами собой!

Я уже давно просматриваю форум и сил отвечать на "некорректные" вопросы нет, поэтому давно не постю.

Давайте кодить на Perl и все станет на свои места  smile 
И толковые вопросы появятся!

 smile 

Автор: DoDo 29.1.2007, 17:35
Всем Большое Спасибо! Я нашел ответы на свои вопросы! Всем Вам Огромное Спасибо!
Данную тему можно закрывать!

Автор: tishaishii 29.1.2007, 17:36
А это ты сам поймёшь.
Можно писать хоть где и как, лишь бы тебя устраивало.
А для виндовс есть Win32::OLE.
Веб-приложения - тоже приложения, которые тоже можно писать на Perl. Я, например, пытался на чтом-то ещё (как основной язык), большого проекта не выходит.

Автор: Materium 29.1.2007, 19:51
DoDo всё оч просто. Если нужно системное программирование на Перл, изучи сначала *nix. Чтобы не получилось изучения *nix из-за Перла по ходу. Если нужно CGI программирование, сначала должен прекрасно знать хотя бы HTML. HTML по-любому. В идеале какой-то уровень VBS и JS. Хотя бы начальный уровень JS. Я вот не знаю толком JS и сейчас страдаю. Толку что я могу что-то написать на Перл если для CGI у меня встала необходимость перед JS!
Как правильно выше сказали под винду пользуй модуль Win32

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)