LINUX.ORG.RU
ФорумTalks

А что для изучения Perl почитать?


1

2

Здравствуйте, хочу начать изучать Perl. Покажите, какие на данный момент самые актуальные книги по языку. Могу взять книгу «Как программировать на Perl (1-е издание) Харви Дейтел 2005года» Но смущает год издания...

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

Знание английского не показатель интеллекта, скорее даже наоборот - идиотам английский дается легче

Английский это язык всех стран. В любой чуть более развитой, западной стране, по английски, хоть и с жестами, но понимают. Любой софт изначально пишется на английском, комментарии в коде только на английском, латинские символы во всех кодировках отображаются. Имена функций, классов, переменных, все это на английском должно быть, что бы не было peremennaya = Zhivothiye::Koshka.new

И идиоты и разум здесь непричем.

это конечно минус

Я бы сказал наоборот, ибо ООП само по себе не может быть минусом, если хочется почитать конструкции вида func(func2(func5()),func3(funct(6)),func4()) то welcome to perl & python

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

>Быдлокод противоречит условиям б) и в)

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

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

>func(func2(func5()),func3(funct(6)),func4()) то welcome to perl & python

чушь не говори - не один питонщик так писать не будет.
собственно вот тебе сайт - http://github.com там есть 100500 проектов на питон, найди хоть один, где будет такая чушь в коде. не найдешь - ты лжец! даю тебе 2 дня.

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

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

>Английский это язык всех стран. В любой чуть более развитой, западной стране, по английски, хоть и с жестами, но понимают. Любой софт изначально пишется на английском, комментарии в коде только на английском, латинские символы во всех кодировках отображаются. Имена функций, классов, переменных, все это на английском должно быть, что бы не было peremennaya = Zhivothiye::Koshka.new

Дай я угадаю, ничего сожнее манов ты на английском не читал? ;)

ибо ООП само по себе не может быть минусом


Для скриптов из 1-10-100 строк ООП излишне

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

>а как овладеть инженерной культурой?

Много практики. Штудировать матчасть и изучать чужой хороший код. Неплохо бы иметь широкий кругозор по части красивых инженерных решений вообще.

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

> func(func2(func5()),func3(funct(6)),func4())

Вот это как раз и есть быдлокод. Когда начинается одним глазом в мануал другим в TODO без особых измыслений по поводу стека и обработки ошибок.

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

Дай я угадаю, ничего сожнее манов ты на английском не читал? ;)

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

Для скриптов из 1-10-100 строк ООП излишне

100 строк это почти ничто, когда только начинаешь писать скрипт, 100 строк набираются за 20 минут, с начала думаешь ничего большого писать не будешь, а там глядишь и 500 строк набираются моментально, так что.

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

толстенький. раби тормознее намного

Ну 1.8 может быть.

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

собственно вот тебе сайт - http://github.com там есть 100500 проектов на питон,

Конечно, прям сейчас начну, если петун уныл, то никакие ровные руки это не исправят.

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

> Много практики. Штудировать матчасть и изучать чужой хороший код.

А как человек без «инженерной культуры» поймёт чей код хороший? У Васи Пупкина спросит? А откуда Вася Пупкин знает что это он хороший код посоветовал. Выбрось эту дрянь из головы про «культурный код».

1. Есть простые критерии оценки качества кода, такие как структурированность, эффективность (отсутствие избыточности).

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

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

>А как человек без «инженерной культуры» поймёт чей код хороший?

Обычно в основных библиотеках код хороший.

Выбрось эту дрянь из головы про «культурный код».

О какой культуре речь идет? Инженерная культура - это когда минимумом затрат достигается максимальный результат. Обычно такой незатратный код еще и понятен, что идет бонусом.

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

б) Быть читаемой и хорошо поддерживаемой.

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

в) По возможности работать быстро.

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

Быдлокодер, что сказать.

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

> Честно на данный момент выбираю между Perl, Phyton и Ruby..

О Питхоне забудь сразу, это чудо инженерной мысли с обязательными отступами обречено на провал. Бейсик современности. Руби просто ненужен. А Перл?.. А только Перл и остаётся.

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

>и полностью обьектно ориентировочный

обьектно


ориентировочный


Запомни, школьник, простые слова:
ЛИНУКС.ОРГ.РУ ОТУПЕЛ ОТ ТЕБЯ.

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

>> Знание английского не показатель интеллекта, скорее даже наоборот - идиотам английский дается легче

Перевожу: «я не осилил английский, но только потому, что страшно умён, а те, кто осилил — идиоты».

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

> Знание английского не показатель интеллекта, скорее даже наоборот - идиотам английский дается легче

Смешно пошутил. Мне понравилось.

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

>Вообще то читал много книг по программированию таки на английском

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

100 строк это почти ничто, когда только начинаешь писать скрипт, 100 строк набираются за 20 минут, с начала думаешь ничего большого писать не будешь, а там глядишь и 500 строк набираются моментально, так что.


вот поэтому ООП и не нужно

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

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

А что там такого тяжелого О_о?

вот поэтому ООП и не нужно

Казалось бы, при чем здесь ООП?

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

>А что там такого тяжелого О_о?

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

Казалось бы, при чем здесь ООП?


ООП излишне многословно в данном случае

DNA_Seq ★★☆☆☆
()

Очень советую - Изучаем Perl http://www.ozon.ru/context/detail/id/4593925/ - книжка очень проста и есть на русском языке,далее могу посоветовать уже изучаем Рэндал Л. Шварц, Брайан Д. Фой и Том Феникс
Perl. Изучаем глубже

Из веб-ресурсов - http://perlmonks.org/
IDE - Padre

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

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

У меня ничего не проходит, ЧЯДНТ?

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

Ты не пробовал думать. Попробуй, может понравится

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

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

Бред кошачий, если ты обобщаешь эту проблему на всех.

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

> Честно на данный момент выбираю между Perl, Phyton и Ruby.. Что перспективнее..

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

Ну и perl5 пока ещё крылья не расправил ☺

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

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

Вы можете сколько угодно закрывать на эту проблему глаза и утверждать, что её не существует, но она реально имеется. Родной язык ничем не заменишь (в 99.99% случаев).

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

>Learning Perl by Randal Schwartz

+1 к «изучаем perl». Для изучения языка лучше всего.

ЗЫ. если тебе perl нужен для написания скриптов, не слушай этих торговцев деревянными членами, python и ruby его не заменят, т.к. отвлекают от сути задачи своими ООП заморочками.

А вот для написания программ Perl - не лучший выбор. ИМХО, разумеется

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

Родной язык

Замени на «речь незнакомой местности». Мне иногда трудно понять других людей, на каком бы языке они не говорили или писали, но я пытаюсь.

Xenesz ★★★★
()

Все зависит от задач. Если нужен инструмент сродни shell, sed, awk, но с большей гибкостью и функциональностью, то пиши скрипты на perl. Я его использую для работы с бд вкупе с обработкой текстовых данных. Если умеешь программировать на каком-нибудь языке, то книга не нужна, достаточно постановки задачи и perl.org. Если у тебя ООП в скриптах это основное (очень редко бывает) — тогда python.

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

> Замени на «речь незнакомой местности».

Игра словами. Не более. Родному языку, ты, как носитель, обучался с рождения (а это десятки человеколет). Это не заменить уроками иностранного языка в школе (не более 1-2 человекомесяцев в случае обычной школы), только если в школе не говорят на языке другой местности (иными словами ты живёшь среди носителей иного языка).

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

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

по возможности лучше устранить необходимость разбираться

Ага, переложив эту необходимость на переводчика. Если он переврёт концепцию, на то воля Господня.

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

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

Если уже имеется некое «ядро» представлений о предмете то дальнейшую информацию можно получать и на английском. Однако изучение предмета с нуля на неродном языке это очень неэффективное занятие, во первых куча времени зря уходит, во вторых очень затрудняется критическая получаемого материала. Если хотя бы 10% материала знакомо для чтения то понимание текста на неродном языке облегчается на порядок. Короче, маны по библиотекам на английском читать можно и нужно а вот осваивать основы языка (именно парадигмы, философию и прочую болтологию) по ангоязычной литературе прямой путь к быдлокоду

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

> Ага, переложив эту необходимость на переводчика. Если он переврёт концепцию, на то воля Господня.

Как правило, переводчики таких книг обладают гораздо более высокой квалификацией, чем читатель. Можно сделать и плохой перевод по куче разных причин, но нет необходимости для изучения предмета выбирать именно его. Если по топику, то «Изучаем perl» переведён вполне качественно и годен для введения в тему.

Ну и такая мелочь: можно не только переводить, можно и самому книги писать.

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

>Мне иногда трудно понять других людей, на каком бы языке они не говорили или писали

Понять людей говорящих на малознакомую тему - сложность A,
Понять людей говорящих на малознакомом языке - сложность B,
Понять людей говорящих на малознакомую тему на малознакомом языке - сложность A*B =)

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

/s/критическая получаемого/критическая оценка получаемого/

DNA_Seq ★★☆☆☆
()

1. Я никогда особо не интересовался Perl'ом, но когда пробежал взглядом пару страниц «Изучаем Perl» Рэндала Шварца загорелся желанием его изучить.

2. Преимущества ООП перед остальными парадигмами программирования сильно преувеличены. За неумеренное рвение применять его для решения любых задач нужно обливать смолой и вываливать в перьях.

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

Однако изучение предмета с нуля на неродном языке это очень неэффективное занятие

Если теория создавалась с нуля носителями языка, этот язык больше подходит для её изучения. В другие времена, в другой Галактике считалось, что немецкий язык больше подходит для изучения философии, например.

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

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

«Peter Abel. IBM PC Assembler Language and Programming.»

«Питер Абель. Язык Ассемблера для IBM PC и программирования» >_<

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

>Если теория создавалась с нуля носителями языка, этот язык больше подходит для её изучения.

Руби создавался японцем. Всем учить японский?

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

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

Просто английский для философии не подходит совершенно. А так в современных англоязычных статьях не-английских фамилий существенно больше трети

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

>«Peter Abel. IBM PC Assembler Language and Programming.»

«Питер Абель. Язык Ассемблера для IBM PC и программирования» >_<


Это ты гуглтранслейтом переводил?

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

>Ради одного руби однозначно нет.

А если работа заключается исключительно в написании программ на Руби? ;)

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

> Ради одного руби однозначно нет.

Ну тогда Руби «точно» выпадает из языков программирования, которые следует изучать, так как ты «обречён читать» исключительно нелюбимые тобой переводы и компиляции источников с японского.

P.S. Твои передёргивания несколько напрягают. Смирись — ты не прав.

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