[SOLVED] Is Perl still relevant for IT professionals?
ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
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..
Last edited by young_jedi; 03-19-2019 at 06:26 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.
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.
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.
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.
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.
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.
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...
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.
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.
Last edited by Samsonite2010; 03-20-2019 at 11:58 AM.
Reason: Punctuation
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!"
@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..
Last edited by young_jedi; 03-20-2019 at 08:29 PM.
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..
Last edited by young_jedi; 03-20-2019 at 08:54 PM.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.