LINUX.ORG.RU

За что взяться?

 , ,


0

1

На работе я быдлокодю на C++, но часто бывает, что нужно написать какой-то мелкий скрипт: распарсить кучу файлов, переименовать кучу файлов и тд. Раньше для этого я использовал perl. Его знаю на очень примитивном уровне - код пишу «со словарём».

Появилось свободное время и я решил совладать с каким-нибудь из скриптовых языков. Собственно, вопрос: что изучать олдскульный perl или популярный python?

Перемещено JB из talks



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

Perl прокачивай. Для мелких задач он идеален и удобно объединять с bash-скриптами.

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

почему в популярных скриптовых языках нет прямых аналогов sscanf()?

http://docs.python.org/2/faq/programming.html#is-there-a-scanf-or-sscanf-equi...

Для скриптов — ИМХО изпушкиворобьино.

ну почему же, как раз в скриптах самое то. Кстати, а как scanf внутри работает?

Ну а так я писал некое подобие scanf. Не шибко сложно.

true_admin ★★★★★
()

Нет так важно что именно, если сразу возьмёшься за изучение элементов функционального программирования - можешь начать с анонимных функций (lambda-functions), они вроде бы и там и там есть.

Ну и если коллеги жалуются на кривое оформление тобой кода, то однозначно питон - он хотя-бы учит правильному обращению с отступами :)

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

идите к чертям учить APL с его спецсимволами.

Вполне можно обойтись J - там и без спецсимволов всё отлично :)

Lennart
()

Perl и Python. Просто разберись в них обоих.

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

плюсую метаязыки, алсо Баш никто не отменял пока не заюзаешь КЛисповый или метаязыковый какой шелл

sanaris
()

Собственно, вопрос: что изучать олдскульный perl или популярный python?

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

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

Да вы уже заелюбили со своим синтаксисом

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

x_hash
()

если за мерило популярности брать востребованность а не белый шум, то Перл в разы популярнее Питона и Руби вместе взятых.

кроме того они оба олдскульные с разницей в позрасте год или два

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

питон - он хотя-бы учит правильному обращению с отступами :)

Как только питонисты не обзовут сей фейл синтаксиса, только бы скрыть правду, надо ж было так придумать-то гордо «правильному обращению с отступами» — громкий смех си-подобных, переходящий в истерику.

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

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

Мне бы твои проблемы.

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

если за мерило популярности брать востребованность а не белый шум, то Перл в разы популярнее Питона и Руби вместе взятых.

Внимание, голос далекого прошлого в треде!

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

Как только питонисты не обзовут сей фейл синтаксиса, только бы скрыть правду, надо ж было так придумать-то гордо «правильному обращению с отступами» — громкий смех си-подобных, переходящий в истерику.

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

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

Пробел не отвалился еще? Предлагаю выпустить клавиатуру с золотым пробелом — будет пользоваться большим спросом среди «питонистов-пробелоклацкеров» :]

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

чем тупым предметом по морде от коллеги, делающего код-ревью.

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

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

Да вот только в систему контроля версий исходники должны попадать в одном-единственном стиле, будь ты хоть сам Маяковский, остальных членов команды твои предпочтения не €б¥т.

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

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

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

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

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

pawnhearts ★★★★★
()

шелл, авк и сед! бегом!!

val-amart ★★★★★
()
Ответ на: комментарий от pawnhearts

ruby style, yeah. вот по-этому и ненавижу копаться в рубикоде, когда он внезапно умирает в продакшене.

val-amart ★★★★★
()

Python / Ruby. Мне Ruby нравится больше. Наверное, я хипстер.

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

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

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

ТС знает си и перл ему особо не сдался, т.к. баш решает 90% задач.

Перл восстребован, точно также как и лисп, хаскель и т.п. просто потому что кто-то решил, что код на этих яп это круто и удобно, а то что гиков гуру по ним почти нет и не появится забыли. Продали свой быдло код, раскрутились слегка и теперь ищут и ищут спецов, которые будут поддерживать их код, вместо того чтобы переписать все на си. Назови хоть один русский ВУЗ или ПТУ где изучают перл. Если сишнек уходит в перл, то это регрессия. Исключая того случая когда сишнек пишет код ядра приложения только в xs (а это еще более востребовано чем сам перл).

Так что востребованность в данном случае не стоит. Чел знающий си и так восстребован, а копаться в недоязыках это только по любви (сколько раз сломали совместимость в питоне? а в руби? а когда появятся нормальные потоки в перле?).

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

Собственно, вопрос: что изучать олдскульный perl или популярный python?

Ну если ты на плюсах пишешь, то изучай либо java либо C#. Нафиг тебе рвать шаблон, привыкая к «не такому как все» синтаксису питона?

Иногда надо написать что-то какую-нибудь очень маленькую утилитку - скриптовые языки позволяют решить эту проблему гораздо проще.

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

tcl

Брось страдать никрофилией - perl не нужен, он давно мертв и разложился. Реализация парадигм в нем - это вообще отдельная жесть. Такой кривой реализации всего кроме регулярок можно разве что в самом уродливом недоязке - лиспе. Сейчас, кстати понабигут его адепты и будут показывать вибр...массу способов вычислить факториалы через макросы.

Второй вариант - пистон - тоже не подходит. Он постепенно деградирует и умирает. Скоро деградирует до лишпа, а потом может опуститься по градусу ненужности до уровня цпп.

В общем - хочешь писать чистый код, который можно использовать как клей или как самостоятельный язык программирования, гибкий, удобный, с массой библиотек, красивым и простым тулкитом - бери tcl/tk.

anonymous
()

Конечно же, перл! Одно ощущение свободы и прикосновения к хакерской культуре чего стоят. Культуре, которая не запрещает тебе самовыражаться так, как тебе хочется, ограничивая тебя «единственно правильным способом». Культуре, рассчитанной на людей, любящих изучать что-то новое, и не боящихся «странно выглядящего» синтаксиса, который, внезапно, после изучения оказывается довольно стройным и логичным. Развитие перла делаются людьми, без проблем осиливающих такие концепции как многострочные лямбда-функции и reduce, и следящими за обратной совместимостью, поэтому можно не бояться изменений от версии к версии интерпретатора. Очень рекомендую читать документацию по перлу и книгу «Programming Perl» на английском --- они пересыпаны хакерским юмором и читаются легко и с удовольствием (русский перевод не читал, но думаю, что большинство каламбуров перевести сложно).

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

сколько раз сломали совместимость в питоне?

один. хочешь попробовать откомпилить код из семидесятых современным компилятором?

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

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

Какой культуре, она умирает с каждым днем все сильнее. сейчас главное 0 бабло.

Культуре, которая не запрещает тебе самовыражаться так, как тебе хочется, ограничивая тебя «единственно правильным способом».

Ога, который ты сам через пол года забудешь.

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

Perl не странный, он просто уродлив и был придуман под упорином.

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

Которые уже n-количество лет так и не могут собрать вменяемое ООП и доделать таки perl6.

Очень рекомендую читать документацию по перлу и книгу «Programming Perl» на английском --- они пересыпаны хакерским юмором и читаются легко и с удовольствием (русский перевод не читал, но думаю, что большинство каламбуров перевести сложно).

Человеку работать, а не петросянством заниматься.

anonymous
()

Столько комментов и никто ещё не предложил haskell. А ведь парсить текст на нём гораздо приятнее чем на чём-либо ещё. Кроме того не нужно плакать кровавыми слезами из-за динамической типизации.

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

Кроме того не нужно плакать кровавыми слезами из-за динамической типизации.

В скриптах статическая только мешает.

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

Какой культуре, она умирает с каждым днем все сильнее. сейчас главное 0 бабло.

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

Ога, который ты сам через пол года забудешь.

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

Которые уже n-количество лет так и не могут собрать вменяемое ООП и доделать таки perl6.

Есть Moose, но у меня пока минимален опыт его использования. Система не ниже уровня CLOS. perl6 --- это скорее платформа для отработки идей, которые потом переносятся в perl5. Не факт, что его вообще когда-то доделают. К тому же разница между perl6 и perl5 --- как между C++ и C: это де-факто разные языки, хотя и похожие.

Человеку работать, а не петросянством заниматься.

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

anonymous
()

Учи оба, не будь лохом.

anonymous
()

Для скриптинга и однострочников удобнее, наверное, Perl. Тем более, если ты его уже немного знаешь. Осталось только чуть углубить познания. Python с его форматированием всё-таки будет напрягать мозжечок, если вздумается в консольке что-то прикинуть на скорую руку.
P.S. Как же задолбали дебилоиды ЯП-ненавистники. К одним немного п ривыкнешь, другие «иксперты» появляются.

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

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

Докажи на примере, что приятнее. В каких объективных критериях это выражается?

Какой смысл в типизации при обработке текста? Взял текст -> обработал текст -> получил текст. Одни строки во весь рост.

Virtuos86 ★★★★★
()

Смотря что нужно: шашечки или ехать. «Perl - язык, с помощью которого вы сделаете свою работу» (c) Поэтому для практических целей - Perl. Но если есть время и желание изучать что-то новое в программировании - то Python.

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

Идеальный язык-клей.

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

baverman ★★★
()

Scheme

Собственно, вопрос: что изучать олдскульный perl или популярный python?

Быдловопросы. Изучать надо все, и perl и python. Тем более, что учатся эти говноязычки за день.

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

Ню-ню. А что ж Twisted-то так долго портируют? ;)

shimon ★★★★★
()

Учи оба, что за странный вопрос? Кстати, по перлу есть интересная книга «Higher-Order Perl». Без нее впечатление о языке будет неполным.

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

Пробел не отвалился еще?

Вообще-то правильные редакторы (emacs например) умеют автоматически форматировать код в заданном стиле.

P. S> Ты настолько глуп, что это даже забавно - вот уж не думал, что можно испытывать столь лютый баттхёрт от синтаксиса ЯП, которым не пользуешься! :-D

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

В который раз лорчую эту книгу.

anonymous
()

Unix shell.

ЛОР пора закрывать, виндовозное ламерьё уже превысило все пределы.

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

Дык в хорошо отстроенных перловых проектах так и происходит - у всех один стиль. Видимо у вас от безграмотности такое представление об этом ЯП.

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

Если у тебя в жизни главное --- бабло, мне тебя жаль.

Себя пожалей, а то по теме - жрать хочется сегодня, а не завтра.

Получать удовольствие от работы в процессе её выполнения --- залог счастья в жизни.

Тебя доставляет язык или работа, ты уже определись.

Кстати, это также часто ведёт к баблу, хотя бы за счёт наработки скиллов.

Тебе же бабло до лампочки?!

Остальные правила программирования остаются в силе.

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

А при чем тут комментарии и наименование функций и переменных, если большинство искаробочных операторов являются «птичьими»? Да и ТСу нужны однострочники А так - я видел большие проекты на perl, python, tcl, с, с++. Самый отвратительный и грязный код - перлы и кресты.

Есть Moose, но у меня пока минимален опыт его использования. Система не ниже уровня CLOS.

ЦЛОС ущербен. Как и сам лишп.

perl6 --- это скорее платформа для отработки идей, которые потом переносятся в perl5.

Бред сивой кобылы. Это полноценный язык. Который попытался стать tcl. Не склалось. Кишка тонка у перловиков написать такой язык.

Не факт, что его вообще когда-то доделают. К тому же разница между perl6 и perl5 --- как между C++ и C: это де-факто разные языки, хотя и похожие.

Особенно последнее - редкостная бредятина. С++ полноценный язык, который никогда ничего не давал Си. Си дал многое С++, который в итоге начал вбирать все подряд и стал редкостным шлаком.

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

Пока он будет ловить приходы от кода и петросянства, суровые tcl-щики на понятном и простом синтаксисе напишут понятную и работающую программу.

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

Столько комментов и никто ещё не предложил haskell

Подозреваю, что для «мелких скриптов» он не слишком подойдёт. Опять же сам вопрос топикстартера намекает, что изучение Haskell слишком ответственный шаг - для начала неплохо ознакомиться хотя-бы с элементами функциональной парадигмы, имеющимися в перл/питон :)

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