LINUX.ORG.RU
решено ФорумTalks

Выучить perl 6

 , ,


0

4

Привет! О себе: не знаю нормально ни одного языка программирования, но с грехом пополам кодил на c++, c#, bash, perl 5. Хочу выучить нормально perl 6. Как это сделать правильнее и эффективнее? Я вижу для себя такие варианты:

  1. Спокойно пройти путь «Learning Perl» -> «Intermediate Perl» -> «Programming Perl» и жить – не тужить, а потом воспользоваться «Migrating to Perl 6».
  2. Курить на инглише «Learning Perl 6», а инглиш я не люблю :(
  3. Курить «Think Perl 6». Похоже, это то, что мне нужно, и даже в свободном доступе.
  4. Бросить все эти книжки для нубов, изучить https://perl6intro.com/ru/ и заняться практикой.

@Lilly, посоветуешь? :) P.S. Не нашел книги по perl 6 от Ларри. Он отходит от дел?



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

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

Мне хочется стабильный язык, а не тот, который превратится в тыкву. Питоны рождаются и умирают, а пёрл живёт и здравствует :)

fingolfin
() автор топика

О себе: не знаю нормально ни одного языка программирования

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

Кажется, сейчас в моде языки со строгой статической типизацией, стоит посмотреть в сторону Haskell/Scala.

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

сейчас в моде языки со строгой статической типизацией, стоит посмотреть в сторону Haskell/Scala

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

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

Завезли бы туда аналог scipy-стека, я бы с питона слез!

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

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

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

А что мантры? Я сам собираюсь плотно засесть и изучить питон. Он мне предварительно никогда особо не нравился (как и бейсик), но он так распространен и так много где сейчас используется, что уже просто глупо игнорировать, нравится - не нравится, но его надо знать.

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

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

Сейчас - это практически такой же стандартный язык, как некогда бейсик.

Оооо даааа. Я ещё помню те стародавние времена, когда бейсик был таким-же стандартом, как сейчас питон.... Ну и где сейчас этот самый бейсик ? Сгинул он, примерно так-же как и паскаль.

Зато C и C++ умирать не собираются. Вот их и надо изучать. А в последствии потом можно будет выучить уже что угодно.

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

Меня в питоне больше всего расстраивает производительность. А я-то как погромист на C# знаю толк в тормозах, уж поверьте. ИМХО, хуже прикладного софта на питоне - только электрон. Есть конечно PyPy и подобная маргинальщина... Только она ни разу не drop-in замена обычному питону.

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

Друзья, я вроде не просил советовать язык, ну да и пох, это же ЛОР, да начнётся срач!

сейчас в моде языки со строгой статической типизацией

@kawaii_neko, я считаю, правильно давать программисту выбор, нужна ему эта типизация, или нет. Помню, как я плевался от C#, когда нужно было разобрать json-ответ. Как же по-уродски сделано!

но он так распространен и так много где сейчас используется

@praseodim, многие выбирают язык, что бы устроиться на работу. Мне это не нужно, я же выбрал язык, что бы решать свои практические задачи: от однострочников до проектов на пару тысяч строк. В перспективе и больше.

Зато C и C++ умирать не собираются

@DawnCaster, сишечка - зачет, но я не занимаюсь микроконтроллерами и драйверами. А плюсЫ – я как туда сунулся, там большая и глубокая жопа. Везде несовместимости, непонятные баги, въехать во всё это нереально, а если въехал, придётся оставаться в теме. Так я для себя понял. Если смотреть на плюсы, то лучше обратить внимание на новомодные го, хаскели, d тоже весьма вкусно выглядит.

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

А что мантры? Я сам собираюсь плотно засесть и изучить питон.

Аутотренинговые мантры, значит.

что уже просто глупо игнорировать, нравится - не нравится, но его надо знать.

Знать его не проблема. Проблема в том, что знать его скучно. И писать на нём скучно. Скукота в целом. А потом скукота переписывать на новую версию... В общем, язык как язык, но много бесполезной работы приходится делать.

Я тут недавно скрипт чужой портировал на третий питон... Потратил с полчасика. Вроде не много, но совершенно бесмысленно.

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

Слоооожна просто. А так, освоил второй питон, написал скрипт, переписал на третий, вот он, прогресс!

Deleted
()

Хочу выучить нормально perl 6. Как это сделать правильнее и эффективнее?

Читай книги @ пиши либы. Убьешь двух зайцев.

Deleted
()

Подробная книга Perl 6 Deep Dive, которую Шитов бесплатно отдавал некоторые время назад.

paran0id ★★★★★
()

пункт 4 ну и вопросы в телеграмм группе modernperl там и шитов тоже есть

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

пёрл живёт и здравствует

Детка, да ты же лопнешь!

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

Я ещё помню те стародавние времена, когда бейсик был таким-же стандартом, как сейчас питон

В том смысле, что вас заставляли его учить на уроках информатики?

Manhunt ★★★★★
()
Последнее исправление: Manhunt (всего исправлений: 1)
Ответ на: комментарий от Manhunt

Ага. На советских клонах MSX. Не помню, правда, в школе или уже нет.

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

В том смысле, что вас заставляли его учить на уроках информатики?

А сейчас на уроках информатики вы какой ЯП проходите по стандартам РФ образования?

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

Мне хочется стабильный язык, а не тот, который превратится в тыкву.

Это Паскаль!

saahriktu ★★★★★
()

Спокойно пройти путь «Learning Perl» -> «Intermediate Perl» -> «Programming Perl» и жить – не тужить, а потом воспользоваться «Migrating to Perl 6».

Скажи нет наркотикам!

Бросить все эти книжки для нубов, изучить https://perl6intro.com/ru/ и заняться практикой.

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

Введение это хороший источник, ещё мне в своё время помог https://learnxinyminutes.com/docs/perl6/ как быстрая шпаргалка, когда синтаксис ещё не в руках.

Потом начинаешь писать простые скрипты, по типу «А переименуй мне все картинки в каждой поддиректории по нужной схеме». Можно накостылять какой-нибудь сайтик/сервис на Cro, если душа лежит в эту сторону. Когда я начинал, Cro ещё, ээ, наверное, был в плане, но ещё не было.

Можно садиться писать какие-нибудь либы, т.к. незанятых ниш ещё много, и для себя полезно и не велосипед (в больших экосистемах это всегда напрягает, т.к. всё возможное уже написано) и для сообщества. Будет, конечно, страшненько (смотрю на какой-нибудь https://github.com/Altai-man/perl6-Config-Netrc/blob/master/lib/Config/Netrc.pm6 и надеюсь, когда-нибудь обновлю), но это всегда так.

Можно спрашивать ревью кода на freenode, канал #perl6, спрашивать на каком-нибудь codereview.stackexchange, тег ставишь и хорошо.

Писать можно либо биндинги к нативу (so, dll) через NativeCall, это вопрос того, насколько ты можешь читать .h файл сишной либы и переписывать сигнатуры в соответствии с NativeCall. Для простых либ это вполне посильная задача, но gstreamer не бери. И gtk тоже не бери (да и они уже заняты, на самом деле).

Либо можно портировать что-нибудь / писать что-нибудь своё, проверяешь на https://modules.perl6.org/ нет ли уже готового и вперёд.

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

Есть Advent of Code, там бывают самые разные статьи от жести с макросами до «Первые шаги в Perl 6», с прошлого года что-то типа этого или этого может быть полезно, когда с синтаксисом освоишься.

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

Не нашел книги по perl 6 от Ларри. Он отходит от дел?

Скорее да, чем нет. Насколько я в курсе, он занимается своим здоровьем и своей «непрограммистской» жизнью, что довольно правильно.

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

А сейчас на уроках информатики вы какой ЯП проходите по стандартам РФ образования?

В экзаменационной работе ЕГЭ несколько заданий требуют знания языка программирования. В задачах 8, 11, 19, 20, 21, 24 требуется понять и проанализировать текст программы, в задаче 25 требуется написать фрагмент программы. В формулировке задачи на выбор предоставлены следующие языки: Бейсик, Паскаль, Си, Алгоритмический язык, Python, Естественный язык.

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

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

Потому что ничем не лучше Python/Ruby, зато позволяет писать адовый говнокод в админских скриптах.

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

Мне хочется стабильный язык, а не тот, который превратится в тыкву. Питоны рождаются и умирают, а COBOL живёт и здравствует :)

поправил

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

Мне интересно, под этим заявлением есть какие-то истории неуспеха, критерии, сравнения, анализ? Знаю, что не по лоровским традициям это будет, но всё же.

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

Perl6 нигде не используется

Таки есть компании, которые используют Perl 6 для своих сервисов, люди пользуются для автоматизации, какой-нибудь биоинформатики, эволюционных алгоритмов, написания парсеров-компиляторов, веб-сайтов, вот прям суровый энтерпрайз для расчётов страхования по европейским стандартам с небольшим нетьюринг полным языком для тысяч формул и красивыми формочками с обновлением на вебсокетах для клиента. Слайды здесь, начиная со слайда 65, хотя и до этого показываются интересные вещи (как найдёшь настолько же интуитивную конструкцию в других языках - звони).

Он не используется в гугле или в десяти тысячах компаний, но то, что не используется вообще это 4.2.

библиотек нет

Странно, json и прочие msgpack-и есть, веб-фреймворки есть, тестирование есть, шаблонизаторы есть, ORM есть, бинды к БД есть, http клиенты есть, бинды к ncurses, curl, mongo, openssl, архиваторам, какому-нибудь обскурному libpcap есть, наверное, только в моём воображении? Открываем это и смотрим.

Да, это не миллион пакетов, но говорить, что прям нет ни одной библиотеки нет это 4.2.

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

программирование на нем — боль и унижение

Можешь показать на кукле, где болит? Давай с более-менее объективными критериями по фичам, синтаксису и так далее, не просто «X bad, $whatever-i-use good».

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

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

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

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

язык, а не экосистема

В этом основное заблуждение. Сами по себе языки редко бывают плохими. Основные проблемы лежат в качестве экосистемы.

Ну вот хахахачкель, например. Язык в целом неплох, но инфраструктура — полный мрак. Чего стоят три альтернативных подхода к композиции монад.

kirk_johnson ★☆
()
Последнее исправление: kirk_johnson (всего исправлений: 1)
Ответ на: комментарий от kirk_johnson

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

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

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

Язык в целом неплох, но инфраструктура — полный мрак

Ну как знать, мне вот stack нравился в былое время, hackage большой, Yesod даже в чём-то симпатичный, TemplateHaskell, конечно, уже не очень. Хугл опять таки. Какой-нибудь hlint довольно умненький. Комьюнити не сильно злое, мне в былое время ради фана профессора из калифорнийского помогали с работой, когда тыкал в LiquidHaskell, на вопросы на SO люди отвечают резво и по делу. Тут я бы всё-таки сказал, что виноват подход, не слишком всё гибкое.

Чего стоят три альтернативных подхода к композиции монад

Ну так TimToady! Почему их наличие беспокоит? Берёшь тот, который по контексту удобнее, и вперёд.

Выбор, конечно, порождает проблемы, но идея «Есть один способ» рано или поздно приводит к тому, что у ребят потом несколько операторов присваивания появляется. Если изначально эту мантру не читать, можно хотя бы более-менее однообразно всё сделать, не ad-hoc конструкциями сбоку привинчивать.

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

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

0. Полюбить инглиш.

Информации на великом и могучем вполне достаточно для популярных технологий. Для маргинальщины всё ещё необходимо учить английский.

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

Выучи технику глубоко минета и иди в порно-актеры. Даже это лучше, чем perl6.

kirk_johnson знает о чём говорит. (с)

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

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

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

Для D уже запилили? А то вроде ещё пять лет назад хотели плюсы опрокинуть.

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

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

Все то же самое можно сделать на Go, быстрее и с сопоставимым количеством багов.

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

Благодарю за консультации. Начну с практики, а книжки потом посмотрю, если будет желание/необходимость.

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

Я тут недавно скрипт чужой портировал на третий питон… Потратил с полчасика. Вроде не много, но совершенно бесмысленно.

А с Perl 5 на Perl 6 не придётся? Или то, что он позиционируется как иной язык, всё меняет?

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

А с Perl 5 на Perl 6 не придётся?

А зачем делать ненужные вещи? Если питон лишается поддержки, то пёрл живёт как и жил 28 лет, или я чего-то не понимаю?

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

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

Lilly
()
Последнее исправление: Lilly (всего исправлений: 1)
Ответ на: комментарий от fingolfin

Ну, если смотреть с точки зрения поддержки легаси – то тогда да, Perl 5 будет жить дольше, чем Python 2 (наверное).
Но так можно и Python 2 форкнуть и обтираться им неопределённо долгое время, принципиально сие ситуацию с Perl 6 и Python 3 не поменяет.

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

С 2/3 питоном сравнивать немного некорректно, в питоне много косметического было типа print/print(), ну и некоторые другие штуки отломали типа юникодных строк.

Между 5/6 есть ООП изкоробки вместо moose/moo/что там ещё, юникод на уровне графем, метаобъектный протокол, канкаренси из коробки, исправили логику сигилов, есть нормальные экспорты, NativeCall вместо XS, починили регулярки, мультиметоды с late binding-ом вот это вот всё, снизили linenoise, практически всё другое. Он только не позиционируется, как другой язык, это другой язык, который по историческому недоразумению имеет цифру в названии.

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