LINUX.ORG.RU

Тут должен быть ответ «Python». Но всё же Perl 5.

digitaldark
()

Поверь на слово, просто не изучай ни тот, ни другой. Пятая версия еще живет как скриптовый язык на всяких юниксах, мейнфреймах и прочих пережитках прошлого, ну или иногда(ОЧЕНЬ редко) используется в вебе.

Если говорить про веб - то вакансий таких ты вообще не найдешь, разве что где-то в Европе.

Если про юниксы и тд - то перл тут просто приятный бонус к основной работе. К примеру устраиваешься админом и должен знать работу ОС, сеть, виртуализацию(ну и море всего еще), еще должен знать скриптование на bash/python/perl/lua. Вакансии обычно так и выглядят, то есть знаешь все что надо для работы - все ок, знаешь еще и перл - ну ладно, не знаешь - опять же ладно, всем плевать.

Шестой же появился не так давно, ну и он мертворожденный(ИМХО). Синтаксис сложен и непонятен, совершенно не похож на 5 версию, то есть фактически новый язык. Ну и еще он под веб заточен, это во время питона, жабаскрипта и всего прочего, рынок уже перенасыщен такими продуктами.

Я это все знаю потому что с ним работал последние года 3, ну и вот собственно мой опыт.

Kronick
()

Что легче для изучения и использования?

Perl 5 - мертвый язык. Умер в коммерческой разработке в 2005м году. Учить и использовать рекомендуется другие ЯП с динамической типизацией. В 2007м году начал использовать его в коммерческих проектах (довольно масштабных), знаю о чем говорю.

Perl 6 - мертворожденный язык. Нет библиотек, довольно высокий порог входжения, низкая производительность, нет коммьюнити, нет нормальных книг/блогов/подкастов.

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

Ну и еще он под веб заточен

Сейчас любой ЯП, способный сходить в БД, достать данные и отдать в виде JSON, считается заточенным под WEB.

В остальном верно.

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

другие ЯП с динамической типизацией

Питон? Или есть что-то получше? Хотелось бы, чтобы не было очень сложно для изучения. С другой стороны практичность тоже важна. У perl очень много готовых модулей с хорошей документацией.

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

Питон? Или есть что-то получше?

После 10 хардкорных лет с Perl5, выбрал Python3. Питон очень легко учится, модулей хватает, документация обычно хорошая.

outtaspace ★★★
()

Зачем изучать этот шлак? Изучай Python, Julia, R.

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

Ну тогда да, тогда питон. Я его конечно сам не учил, но он используется в таких задачах повсеместно, он пришел на смену перлу. Там и модулей и документации навалом, куча всяких форумов. В плане изучения - на нем сейчас вроде как CS изучают в Европах и Америках. Если бы язык был тяжел для изучения - пользовались бы другим. А так все преподавание сейчас идет на нем, в универах так точно.

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

Я его конечно сам не учил

Учится элементарно, особенно после Perl. Сперва ленивое и неспешное чтение книг (в метро под музычку), затем практика в виде простых задачек.

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

Да мне особо и не нужно, я перешел на С/С++. Если что - то на перле скриптик уж накидаю, хоть какой-то толк от этих знаний

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

Тут лучше у outtaspace спрашивать я думаю, ну или может кто еще что скажет. Мои знания о питоне ограничиваются тем, что я выше написал.

Kronick
()

perl 5 и 6

Perl6 для твоих задач не подходит. Это другой язык.

Для какой-то мелкосистемной автоматизации Perl5 отлично подходит.
Для коммерческой разработки в России лучше брать что-нибудь другое.
Если знаешь какие-нибудь ещё языки (bash там или c), тогда
полистай какой-нибудь букварик по Perl5(Learning Perl например.
Если нет, то наверное бери Python (правда возможно огребешь от сломанной совместимости между 3 и 2).

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

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

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

use strict и perlcritic в помощь

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

Perl 5 - мертвый язык. Умер в коммерческой разработке в 2005м году. Учить и использовать рекомендуется другие ЯП с динамической типизацией. В 2007м году начал использовать его в коммерческих проектах (довольно масштабных), знаю о чем говорю.

Чистая правда. Говорю как писавший на perl5 коммерческие проекты как раз где-то с 2005 по 2007, и мучительно переписывающий легаси перловый код уже совсем в другом месте сейчас.

Perl 6 - мертворожденный язык. Нет библиотек, довольно высокий порог входжения, низкая производительность, нет коммьюнити, нет нормальных книг/блогов/подкастов.

И это тоже.

Учи python или go.

slovazap ★★★★★
()

Проблема Perl'а не в том что на нём можно НЕБРЕЖНО ПИСАТЬ. Так писать можно на любом языке, а перловое TIMTOWTDI напротив служит большей выразительности.

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

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

Илитка подтянулась.

Проблема в том

Это реальность. Вот неприятие реальности — это проблема.

Virtuos86 ★★★★★
()
Последнее исправление: Virtuos86 (всего исправлений: 1)

Перловое TIMTOWTDI это когда подобное:

$foo->do_cool_stuff(
  Foo => $param{Foo},
  Bar => $param{Bar},
  Baz => $param{Baz},
);

Можно написать так:

$foo->do_cool_stuff( %param{qw/Foo Bar Baz/} );

Если ты думаешь что это плохо - пиши на своём $lang_name

anonymous
()

в перле есть ссылки
а в питоне нет

Bad_ptr ★★★★★
()

Перл годен только для работы с текстовыми данными. Работать с симлинками как с симлинками (без дереференса) он не умеет совсем. С бинарными данными им ещё можно работать, но надо уметь.

Если тебе хочется чего-то универсального, то выбирай (мерзкий) питон.

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

Что ты выбрал python или go?

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

Еще есть ruby, clojure, lua.

Можно даже не смотреть. lua это игрушка для встраивания, clojure это маргинальные скобки вместо языка и java вместо целевого использования ресурсов вашей машины, ruby на любителя, по мне так он отстаёт от питона по всем параметрам и имеет отвратный синтаксис.

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

Работать с симлинками как с симлинками (без дереференса) он не умеет совсем

И как это, интересно, вы собрались с ними работать? lstat/readlink/symlink в перле есть, больше для работы с симлинками ничего не надо. Собственно, ничего и нет. Ни в каких языках.

slovazap ★★★★★
()

Perl 6 слишком модный и молодёжный. А вот Perl 5 - хорошо обкатанный торт с кучей самых разных модулей на все случаи жизни.

saahriktu ★★★★★
()
Последнее исправление: saahriktu (всего исправлений: 1)

Я из тех сумасшедших, кто, не слушая советов, освоил пару лет назад Perl 5.

После JavaScript и Erlang мне изучение далось легко.

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

evbogdanov
()

Тред-детектор неосиляторов перла.

DELIRIUM ☆☆☆☆☆
()

Для изучения, тут правильно подсказали, легче не Perl вообще.

Если хочешь получать кайф от кодинга, в полной мере тебе это предоставит Perl. Но к нему лучше подойти после всех скриптовых, если не передумаешь.

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

А скопируй-ка симлинк как симлинк в другое место перлом, а? Не создай такой же, а именно скопируй или перенеси.

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

Ничем. Но могут быть технические проблемы на разных платформах, например, ты не создашь симлинк на вендах, потому надо скопировать/перенести существующий.

r3lgar ★★★★★
()

Цели какие? Может тебе нужна вообще не скриптота.

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

Если ты не в курсе, копирование файла это всегда создание такого же, независимо от языка. А переносится симлинк как симлинк элементарным rename().

# ln -s / 1; perl -e 'rename("1", "2");'; ls -l *
lrwxr-xr-x  1 root  wheel  1 Oct 15 22:21 2 -> /
slovazap ★★★★★
()

Забавно, что старые перлята подались почти все в убогий пытон. Крепко же ушатал пёрл психику.

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

Что значит «зачем»? «Зачем» спрашивают когда копируют ссылку, поскольку когда нужно копировать ссылку - редкий частный случай, когда это действительно и явно нужно (копирование иерархии файлов с локальными симлинками, например). А в общем случае тебе нужны данные файла и тебя никак не должно волновать как к ним указан путь.

К слову, копирование ссылки через такой глупый интерфейс как cp() - абсолютно бессмысленное занятие. Симлинк, на минуту, может быть относительным и абсолютным, а также в пути вообще может быть несколько симлинков. И что с этим делать определяется только логикой программы, о которой cp() ничего не знает.

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

тебе нужны данные

Нет, мне нужен конкретный файл, чем бы он не являлся — симлинком, текстовым, бинарным файлом или ещё чем. И нужен он как есть, то есть даже если это симлинк с относительным путём, он мне нужен с тем же относительным путём.

копирование ссылки через такой глупый интерфейс как cp() - абсолютно бессмысленное занятие

Есть варианты лучше?

И что с этим делать определяется только логикой программы, о которой cp() ничего не знает.

А я не говорил, что cp() передаются данные бездумно.

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

Нет, мне нужен конкретный файл, чем бы он не являлся — симлинком, текстовым, бинарным файлом или ещё чем. И нужен он как есть, то есть даже если это симлинк с относительным путём, он мне нужен с тем же относительным путём.

Нужные тебе функции были перечислены.

А я не говорил, что cp() передаются данные бездумно.

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

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