in reply to Beginner Recommendations

Not too recently I decided to learn Perl myself. I was already quite familiar with C, JavaScript, QBASIC, HTML, and x86 assembly. So, I wanted to jump into Perl quickly. I searched for free online courses. I found one called Teach Yourself Perl in 21 days. Sounds great. I wonder if there's a better one. So, I searched for Learn Perl in Hours, and I found this: Learn Perl in 2 Hrs 30 minutes. I clicked on that one! I read everything as fast as I could. I installed Strawberry Perl on my computer. I wrote example programs. I took notes. I learned as fast as I could, trying to understand the essence of it as quickly as possible. I also found these:

Perl 5 by Example

Getting Started With Perl

Practical Perl Programming

Robert's Perl Tutorial

The volume of free courses and manuals is absolutely mind boggling! There is so much valuable information out there!

I did not look on YouTube, because I wanted to go at my own pace. I wanted to learn fast. If you are watching a YouTube video, you are limited to the pace of the teacher. I usually don't understand their words, because English is my second language. Reading is a lot easier for me. Also, on YouTube, whenever they write an example program, the resolution is so bad that I cannot tell what they are writing or they change the screen so quickly there's not enough time to copy the program. I don't like to pause and rewind all the time. So, I think, YouTube videos aren't the best way to learn a programming language. Of course, some people like them, and that's okay. Use whatever works best for you!

So, anyway, I started to write little programs to see if I can do this and that. Then I didn't understand something and wanted to ask a question. That's when I found PerlMonks! These people here immediately answered my questions and were very friendly. I thought this is the best language! I am really glad I picked this one. So, I haven't been disappointed.

After awhile, I found TinyPerl 5.8 which is a very small compact version of Perl for Windows, and I decided to install that one. Strawberry Perl is like a monster compared to TinyPerl. I like small better. And TinyPerl is good enough for me. So, I have been using that ever since. It's perfectly suited for my needs. I don't use Perl for business. I use it for hobby programming. I write stuff for myself to speed up my everyday life and my work and for fun, of course. I like solving puzzles and thinking about difficult problems, and programming is also a sort of creative outlet for me.

"After some Googling I find that most of the suggested books are from 2010-2017 which leads me to believe the books are either old or Perl itself hasn't been updated in a long time."

Well, Perl is old, but that's not necessarily a bad thing. Imagine what would happen if the "American Association of Language Experts" decided to update the English grammar every year or so. It would drive people nuts. A piece of paper you write today might not pass the spellcheck and grammar check 3 years from now, because today language rules would be considered outdated by then. What makes a language valuable is its stability and popularity. The same thing is true about Perl. I think, the fact that it is old is a good thing! It also means that the internet is full of information about it. If you want to do something in Perl, chances are it's been done before. So, you can either just use someone else's code OR you can study someone else's code and write a better code.

A language also becomes more valuable the more people use it. For example, the English language is used by people in Canada, the USA, England, and Australia. And you can go to a lot of other countries and find people who speak English fluently. So, it has a very wide use. And Perl is similar, because Perl will run on Linux, MacOS, and Windows which are like the three main continents in the computer world. Perl is very well established on all three. Learning Perl is like learning the English language. Not many people speak Hungarian, which is my native language, but as soon as I learned English, it opened the doors for me so I can communicate with almost anyone anywhere. Perl is a gateway to all computer systems. There are languages like JavaScript which limit you to one specific platform or they severely limit what you can and cannot do. If you only speak Hungarian, sure you can visit any country you want, but chances are nobody will understand you, and you won't understand anything they say to you. JavaScript is like that. Sure, you can run JavaScript on any computer device, but you can't read and write files and you can't do a million other things, because you're stuck within the confines of a browser.

A word about language revisions. If you follow news about JavaScript, they are constantly adding new features to it. Unfortunately, these features aren't really essential. I mean there isn't anything new that you couldn't do before. The cool new features just exist to make programming enthusiasts excited, but the disadvantage is that the interpreter is becoming more and more complex. Everybody wants to add new bells and whistles to the language, and nobody seems to care that it comes at a price. It's causing the interpreter to become bloated and slow. I hope that Perl doesn't go that way.

Replies are listed 'Best First'.
Re^2: Beginner Recommendations
by marto (Cardinal) on Jan 24, 2023 at 05:32 UTC

    Please stop recommending TinyPerl, it hasn't been updated in many years. You're missing decades of improvements and bug fixes. It is clearly not suited for OPs requirements. Much of the responses you post start off from the flawed logic of insisting on running software that is out of date and unsafe (Windows XP, TinyPerl). These are not a sound basis upon which to build, suggesting to a beginner that there's any circumstances which this is the case is just wrong given the costless alternatives.

      I don't think I was recommending TinyPerl. I said that I am using it and I described why. I also said that YouTube isn't a good way to learn programming, but I didn't say no one should be using YouTube. The reason I use TinyPerl 5.8 is because it's tiny. lol It's only 448 kilobytes in size. Strawberry Perl, on the other hand, takes up 154 megabytes. And that's just the size of the zip file. (Btw I don't use any of TinyPerl's modules except and and maybe Carp, but other than that, I don't use anything else. So, if the older modules have security issues, I am not affected by those, because I don't use them.)

      " hasn't been updated in many years. You're missing decades of improvements and bug fixes."

      I haven't come across a bug yet. When I do, I'll switch. If something is not broken, don't fix it. :D And that's why I am using XP also by the way. And no, I am not promoting Windows XP. Don't get me wrong. I am just saying that I use Windows XP because it works for me, and I love it. It probably won't be good for somebody else's needs. But I figured out a way to make it safe and secure for myself, so I am fine with it. And I have been using it for a long time. Believe it or not, I think, it has clear advantages over using the newest versions of Windows. Not many, but some. I'll post a link here to an article I wrote about how I do it:
      How To Make Windows XP Safe.

        "But I figured out a way to make it safe and secure for myself"

        From what you've posted, it really doesn't seem so, the illusion of security perhaps.

Re^2: Beginner Recommendations
by soonix (Canon) on Jan 24, 2023 at 09:41 UTC
    If you are into retrocomputing or legacy systems, TinyPerl may be a good thing. For nowadays even "poor" computers, it is well possible to use a more current version, which eases and speeds up not only run time, but also programming itself. From perlunicode, I would infer it should be something like 5.32.
Re^2: Beginner Recommendations
by Nayeem-monk (Novice) on Jan 24, 2023 at 15:53 UTC
    Hi harangzolt33 thanks so much for posting such a detailed reply. I'm also a beginner and want to ask you a question, would PERL be useful in the following situations:
  • Programs and applications development
  • Systems Administration
  • Database development
  • Video game development
  • Web development
  • Secondly, how would you say PERL has the upper hand over other languages, such as Python? Thanks for reading and looking forward to hearing back from you !

      harangzolt33 isn't best placed to respond, since they insist on using decades old tools, and using them arguably badly. To respond to your points in order

      • Yes.
      • Yes.
      • Yes.
      • Not for modern FPS style games.
      • Yes.

      You're probably going to have to ask more specific questions to get a meaningful answer. Better advice already exists in this thread for places to start.

      I don't know Python. I plan to learn it one day, but that day hasnt arrived yet. I feel like marto has provided a better answer than I could. Here you can talk to real programmers who have been doing this all their life, and this is their career. I'm just a hobby programmer, so I can't give you professional advice.