LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Programming (https://www.linuxquestions.org/questions/programming-9/)
-   -   Is Perl still relevant for IT professionals? (https://www.linuxquestions.org/questions/programming-9/is-perl-still-relevant-for-it-professionals-4175650374/)

young_jedi 03-19-2019 06:23 PM

Thanks all for your responses! But I havent been convinced Perl is still popular.. If I can go back in time I would probably learn Python instead, but I already bought an Oreilly Perl Llama book and spent like 3 months reading it, so ill stick with Perl for now. Its not feasable I dont think for me to learn both as I have already alot to learn (AWS, Docker, ELK stack, Golang, Openstack, Nagios, and the list goes on). The last thing I want to do is learn two seperate techonologies that do more or less the same thing.. My concern is that as a sysadmin, my teamates are all using Python and so I wont be able to effectivly collaberate with them unless they know Perl.. I hoping I can get around that through Ansible modules which abstract the programming language through YAML.. I guess I should probably learn how to atleast read Python... What started me on this was I heard alot of core Amazon stuff is built on Perl (as Python was still in its infancy back then), but now their having a hard time maintaining it cause not alot of people know Perl anymore. And so now their trying to rewrite it all over to Python..

freemedia2018 03-19-2019 07:18 PM

Learning to read Python will not be difficult. Within a few days you could have the basics down, along with some of the advanced stuff. For a truly beginner-friendly intro (probably not what you need) there is Think Python, free download from Green Tea Press.

For beginner-to-advanced, there's Let's Learn Python on Youtube. There are several other books, which will probably take longer to read. But if all you want to do to start is be able to understand it, you can start with practically anything.

wpeckham 03-19-2019 07:32 PM

Quote:

Originally Posted by young_jedi (Post 5975631)
Thanks all for your responses! But I havent been convinced Perl is still popular.. If I can go back in time I would probably learn Python instead, but I already bought an Oreilly Perl Llama book and spent like 3 months reading it, so ill stick with Perl for now. Its not feasable I dont think for me to learn both as I have already alot to learn (AWS, Docker, ELK stack, Golang, Openstack, Nagios, and the list goes on). The last thing I want to do is learn two seperate techonologies that do more or less the same thing.. My concern is that as a sysadmin, my teamates are all using Python and so I wont be able to effectivly collaberate with them unless they know Perl.. I hoping I can get around that through Ansible modules which abstract the programming language through YAML.. I guess I should probably learn how to atleast read Python... What started me on this was I heard alot of core Amazon stuff is built on Perl (as Python was still in its infancy back then), but now their having a hard time maintaining it cause not alot of people know Perl anymore. And so now their trying to rewrite it all over to Python..

Code tools are not a popularity contest. At one time there were only 26 people writing python, and look where it is now. The question is more about how appropriate the tool is to solve yoour problems, in your environment. And PERL is still the "Swiss Army Chainsaw" of languages. There are problems for which it is not an appropriate tool: just not many.

Pick one and learn. When you feel you are getting VERY good, pick another and learn. Nothing goes to waste.

Well, except perhaps the time you waste trying to figure out what NOT to learn.

TB0ne 03-20-2019 08:59 AM

Quote:

Originally Posted by young_jedi (Post 5975631)
Thanks all for your responses! But I havent been convinced Perl is still popular.. If I can go back in time I would probably learn Python instead, but I already bought an Oreilly Perl Llama book and spent like 3 months reading it, so ill stick with Perl for now. Its not feasable I dont think for me to learn both as I have already alot to learn (AWS, Docker, ELK stack, Golang, Openstack, Nagios, and the list goes on). The last thing I want to do is learn two seperate techonologies that do more or less the same thing.. My concern is that as a sysadmin, my teamates are all using Python and so I wont be able to effectivly collaberate with them unless they know Perl.. I hoping I can get around that through Ansible modules which abstract the programming language through YAML.. I guess I should probably learn how to atleast read Python... What started me on this was I heard alot of core Amazon stuff is built on Perl (as Python was still in its infancy back then), but now their having a hard time maintaining it cause not alot of people know Perl anymore. And so now their trying to rewrite it all over to Python..

Learn whatever you'd like, but you seem to be missing the point. You've got numerous very experienced sysadmins telling you that perl *IS* good, useful, and very much alive, and that Python is more of a buzzword. Yet you're saying you should use Python only? Perl has grown a good bit, and version 6 adds even MORE features to it. A few years back, everyone wanted Ruby/Ruby-on-Rails....good luck getting far with that skill-set only these days.

Any programming language do 'more or less the same thing'...they make the computer do what you ask. If you're looking to learn one language, then you're not in the right field. The other things you listed above are NOT languages, but programs, and yes the list does go on. You will never STOP learning. As said, if you want to be effective, you learn BOTH perl and python, along with bash scripting, and any other language you encounter.

cantab 03-20-2019 09:51 AM

Relevant, yes. Mega-popular, not so much. Perl has a reputation as a write-only language, and though that's really more the fault of the coder I can see it putting off admins and devs from using it for new projects.

ehartman 03-20-2019 10:31 AM

Quote:

Originally Posted by young_jedi (Post 5975631)
Thanks all for your responses! But I havent been convinced Perl is still popular.. If I can go back in time I would probably learn Python instead, but I already bought an Oreilly Perl Llama book and spent like 3 months reading it, so ill stick with Perl for now. Its not feasable I dont think for me to learn both

You may as well ask: why do IT professionals still have to be able to work in C although therer are more modern OOP varieties like C++ or C# out there?
You'll find that most applications (and i.e. the Linux kernel) are still mostly C code.

Samsonite2010 03-20-2019 10:47 AM

I learned Perl along with Java and a few other languages at university, but Perl was never used in any job or technology company I came across. Python landed on my desk as a language at work about 6+ years ago and seems to be more heavily used each year. It seems to be #1 for AI and it is even used to do AI for video games in some cases. It's not a bad language and is pretty easy to learn - plenty of tutorials. I had turned my nose up at Python when I graduated (partly as I had never heard of it at the time), but funny how things work out. It certainly has helped my career to know it.

Although there is advice here to the contrary, I would learn both at the same time, but that is easy enough when you have already learned about 20 languages - point being that once you get the knack for a few languages, you can learn new ones much more quickly.

dugan 03-20-2019 11:06 AM

Quote:

Originally Posted by young_jedi (Post 5975631)
My concern is that as a sysadmin, my teamates are all using Python and so I wont be able to effectivly collaberate with them unless they know Perl.. I hoping I can get around that through Ansible modules which abstract the programming language through YAML.. I guess I should probably learn how to atleast read Python...

You need to ask about that at the job interview.

scasey 03-20-2019 11:48 AM

Food for thought: It's still possible to be gainfully employed coding and supporting COBOL.

A +1 to Samsonite2010's thought about different languages. I have been hired more than once as a developer to work with languages I'd never seen or even knew about. The hiring managers knew I'd have to learn the language before I could be productive, but I had demonstrated that I know how to think logically about software development and was familiar with SDLC (Software Development Life Cycles)

I once had a Jr. developer ask me how I seemed to see how to develop solutions so easily. I (perhaps flippantly) replied that I had learned computer logic wiring punch boards on IBM Punched Card Accounting Machines (PCAM). Languages only differ in their syntax...what they do is subject to the same rules.

Samsonite2010 03-20-2019 11:58 AM

Quote:

Originally Posted by scasey (Post 5975875)
Food for thought: It's still possible to be gainfully employed coding and supporting COBOL.

A +1 to Samsonite2010's thought about different languages. I have been hired more than once as a developer to work with languages I'd never seen or even knew about. The hiring managers knew I'd have to learn the language before I could be productive, but I had demonstrated that I know how to think logically about software development and was familiar with SDLC (Software Development Life Cycles)

I once had a Jr. developer ask me how I seemed to see how to develop solutions so easily. I (perhaps flippantly) replied that I had learned computer logic wiring punch boards on IBM Punched Card Accounting Machines (PCAM). Languages only differ in their syntax...what they do is subject to the same rules.

You put it more eloquently than I did - the skills learned in coding Perl should help with other languages too.

To the OP, it is not throwing away Perl experience if you learn another language, you are using that experience and in fact expanding your skill set. If I was in your situation, I would learn Python because it seems your colleagues use it and would show a bit of initiative - as a manager I would commend that in your situation. Trying to work around the situation because you are more comfortable with Perl is not necessarily the wisest move.

TB0ne 03-20-2019 11:59 AM

Quote:

Originally Posted by scasey (Post 5975875)
Food for thought: It's still possible to be gainfully employed coding and supporting COBOL.

A +1 to Samsonite2010's thought about different languages. I have been hired more than once as a developer to work with languages I'd never seen or even knew about. The hiring managers knew I'd have to learn the language before I could be productive, but I had demonstrated that I know how to think logically about software development and was familiar with SDLC (Software Development Life Cycles)

I once had a Jr. developer ask me how I seemed to see how to develop solutions so easily. I (perhaps flippantly) replied that I had learned computer logic wiring punch boards on IBM Punched Card Accounting Machines (PCAM). Languages only differ in their syntax...what they do is subject to the same rules.

Yep..same thing I told the OP too...don't just learn one. TCL on VAX'en was great...but useful for what it was. Every tool has its place. If I have to chew up and spit out a huge chunk of data, I'd probably go with Perl. Something else may get Python...or a bash script. Javascript/PHP? Sure, why not? MATLAB? FORTRAN? Yep..go for it. All depends on the environment, constraints, and needs.

It's like building a house; you don't say "I need ONE TOOL to do this, what should I buy?" You need lots, along with power and hand tools. Maybe some heavy equipment, but you don't just go get a hammer with a screwdriver in the handle and go "Well, THIS ought to do it!"

ondoho 03-20-2019 03:32 PM

Quote:

Originally Posted by young_jedi (Post 5975631)
I havent been convinced Perl is still popular..

please have a look at all the software on your computer and how much of it is written in perl.

or maybe easier: see what depends on perl on your machine.
on my machine:
Code:

archlinux-xdg-menu  asciiquarium  automake  avfs  cairo-perl  colorgcc  dillo
fbmenugen  fgallery  fvwm  git  groff  hspell  hwinfo  hyphen  inxi  libwpg
lm_sensors  numactl  obmenu-generator  openssl  openssl-1.0  parallel
rsync  rxvt-unicode-fontspacing-noinc-vteclear-secondarywheel
strace  texinfo

(i have excluded the perl-* packages)

and i don't even code in perl.

young_jedi 03-20-2019 08:20 PM

@freemedia2018 Awesome thanks for suggestions I'll check them out

@wpeckham I disagree, if that were true everyone would be using Perl cause of how much better it is than Python.. I agree with using the
appropriate languages, e.g. C/C++ for low-level stuff, Perl/Python for userland stuff, Javascript/PHP/Go/Ruby for website stuff

@TBOne Thing is I know there are also some very experienced sysadmins who say its all about Go/Ruby/Python these days, and that Perl is god awefull (I know its not, its the bad coding practices of many Perl coders). It was one of the authors of the Linux Administration Handbook (watch the interview on YouTube if you want: https://youtu.be/3pwD3BgKm1s).. But they have a point: Python is being used to develope AI and Configuration Management tools (CM tools, e.g. Ansible), and Ruby is also being used to develope CM tools (e.g. Puppet and Chef).. Go is being to develope containers.. Perl is not being used to develope anything anymore... And one of the things that I listed is a language (its Golang = Go).. Bash, Go, and I thought Perl would be all I need to learn, but its probably rather Bash/Go/Python... Dont want to sound like im complaining, im just saying it kinda sucks i may have wasted some time

@ehartman well its too late to rewrite the kernel in another language like Rust/Go.. But I have nothing against C, I actually wanna learn it someday to write drivers...

@ondoho I use Alpine Linux, but know what you're saying but im not going to maintain those Perl programs..

scasey 03-20-2019 08:26 PM

Quote:

Originally Posted by young_jedi (Post 5976066)
i may have wasted some time

It is never a waste of time to learn something...just sayin’

young_jedi 03-20-2019 08:35 PM

Quote:

Originally Posted by scasey (Post 5976067)
It is never a waste of time to learn something...just sayin’

Im going to learn basket weaving then.. Just kidding, but life is short and there are more productive ways to live it than
learning a bunch of random things.. You go to be smart and look at where things are going, so that you can make
educated decisions..


All times are GMT -5. The time now is 05:06 PM.