|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
(jcwren) RE: Disadvantages of Perl?
by jcwren (Prior) on Jun 13, 2000 at 19:04 UTC | |
For decades, there have been people who say "Oh if you learn that language first, you'll never be able to write decent code for the rest of your life." BASIC was one of the earlier culprits of that thinking. BASIC, like most languages, has it's time and place. Under Windows, for example, you can prototype a GUI faster in Visual Basic than Perl/TK, and it will look more like a Windows application. Different languages have different strengths and weaknesses. One of the skills you should have as a programmer is knowing several language, and know which one to use when. Perl is an excellent general purpose langage, and especially strong in text processing. Forth, on the other hand, has none of the intrinsic string handling that Perl has, but it's a lot smaller and faster (complete Forth interpeters WITH editors have been done in 4K of memory). 'C' is more suitable for operating system work, and assembly is the tool for when you really need get down to the bare metal. Learn Perl, but not only Perl. Learn 'C', Java, and a few others. Know when to use them, and don't become emotionally attached to a language. Learn how to implement common algorithms in all the languages you learn. Often you'll see how to write better code in one language by playing with another. Perl can let you develop sloppy habits. So can every other language. As I like to say periodically "You can write Fortran in any language". Don't condemn languages you haven't used (except for COBOL...). They were all developed for a reason, and have all certain strengths. Don't sneer at Visual Basic because it's BASIC. More interactive production applications ship in VB than in Perl (Perl is not really good for writing word processors and spreadsheets). I think you see the point I'm driving at. Perl is as good a first language as any. It will allow you to rapidly express your concepts, there's a huge base of user written modules, and there's a lot of information available (witness perlmonks.org. Tried to find COBOLmonks.org lately?) But it's not the only language, and it's not always the right language. --Chris | [reply] |
by JanneVee (Friar) on Jun 13, 2000 at 19:58 UTC | |
Pure Genius... When you get more mature. Learn SQL too and how to Normalize databases. Get into OO concepts. | [reply] |
by Poetic Justice (Monk) on Jun 18, 2000 at 09:52 UTC | |
| [reply] |
by redmist (Deacon) on Jun 13, 2000 at 20:20 UTC | |
Another good point that you had was about the ability to make mistakes in other languages. I suppose one just has to be concious about what is going on behind the scenes if one is using a certain method or practice that has any significant impact on the program. redmist | [reply] |
|
RE: Disadvantages of Perl?
by Ovid (Cardinal) on Jun 13, 2000 at 20:36 UTC | |
Perl can be a great first language to learn if you're not prone to the "you have a hammer and everything looks like a nail" trap. I have a friend of mine who's a brilliant sysadmin and a Perl guru who is not overly familiar with other programming languages. As far as he is concerned, the entire Web should be HTML3.2 and Perl. He is a Perl Zealot and this is a Bad thing. I'm not suggesting that you face the same fate, but be forewarned that the advice that jcwren gave about learning other languages is more than just a good idea. If you don't, you only have a hammer in your toolbox. Forget the wrench, the pliers, or any other tool that's useful. Need to get that nut off that bolt? Hand me the hammer. That being said, another reason I would suggest learning other languages is to appreciate what Perl offers. I've worked in a whole grab bag of different languages, some of them being so obscure I doubt most have heard of them (no, I'm not some computer God, I've just been tossed from project to project). None of those languages allowed me the syntax flexibility of Perl. Most of them didn't offer concepts like regexes, hashes, or $_. But then, they're often designed for different purposes for which the aforementioned tools may not be appropriate (though I think regex should be in virtually every language). As for your two friends, I am curious as to how well they know Perl in comparison to other languages. I don't think you'll regret Perl as a first language, but you should regret it if it's your only language. Update: I was thinking about when I first was learning VB (forgive me) and I was so excited about how easy it was to create GUI apps for Windows. Now, I look back and realize that I was actually so excited about being able to create a bug. (bah dum bumm, <cymbal|symbol crash>) Hmmm... guess that last comment would be my entry into the obfuscated humor contest. | [reply] |
by redmist (Deacon) on Jun 13, 2000 at 20:53 UTC | |
| [reply] |
|
RE: Disadvantages of Perl?
by le (Friar) on Jun 13, 2000 at 14:00 UTC | |
| [reply] |
|
RE: Disadvantages of Perl?
by Odud (Pilgrim) on Jun 13, 2000 at 14:00 UTC | |
| [reply] |
|
RE: Disadvantages of Perl?
by turnstep (Parson) on Jun 13, 2000 at 14:32 UTC | |
Well, they kind of have a point, but Perl is certainly a fine *first* language. The more languages you know, the stronger your skills will be in all of them. Having a C background, in particular, will make you a better perl programmer. C is more "low-level" and forces you to worry about things (e.g. pointers and memory allocation) that perl takes care of "behind the scenes." Once you have learned about such things, you gain a greater appreciation for all that perl really does, and how it makes it look easy while doing so :). Perl is great because you can make it as simple or as complex as you want. You can write good, working programs with a few simple keywords and concepts, yet you can still dive in deeper and deeper by eventually learning about modules, references, typeglobs, embedding perl in C (and C in perl), and eventually reading perlguts for pleasure and checking out the regex engine. :) | [reply] |
|
RE: Disadvantages of Perl?
by jjhorner (Hermit) on Jun 13, 2000 at 15:49 UTC | |
I think Perl is great. When I try to code C, lately, I find myself wishing for a garbage collection routine. From a system admin point of view, I don't want to have to worry about compiling. I want a script that works quickly to save me a headache. If I want something more complex, perl can "scale" to that end of the spectrum. As the old saying goes: Perl makes easy things easier and impossible tasks possible. Don't let code bigotry affect you. People have their favorites, and you will too. If you are going to be a philosophical programmer, you will be interested in the inner workings, but if you are going to be a practical programmer, you will be interested in making your code work. J. J. Horner Linux, Perl, Apache, Stronghold, Unix jhorner@knoxlug.org http://www.knoxlug.org/ | [reply] |
|
RE: Disadvantages of Perl?
by t0mas (Priest) on Jun 13, 2000 at 14:39 UTC | |
In this respect, Perl is a good language to start with, because you can start with simple and clear syntax and advance to more obscure and more efficient later. Most languages doesn't let you do that. You start with a complex syntax and you end with a complex syntax - that's all they offer. /brother t0mas | [reply] |
|
RE: Disadvantages of Perl?
by chromatic (Archbishop) on Jun 14, 2000 at 04:14 UTC | |
Perl doesn't enforce good habits on you unless you ask it to (-w, use strict), but most of the Perl gurus certainly do. If you want to understand what's going on, get in the habit of reading good code. Check out CPAN modules, try to come up with your own solutions to posted questions, read about algorithms and do take some time to explore a few other languages here and there. Once you see the same thing implemented three or four different ways (in different languages and by different people), the essentials will start to stick out, and you'll begin really understanding it. Perl's a great language for beginners, because it's expressive, forgiving, powerful, and very scalable. You can do just about anything with it (though there are plenty of things you probably shouldn't), and you get the results back very quickly. My advice is to keep learning Perl, but be prepared to branch off into other things if you want to be a serious programmer. The more tools you have in your belt, the better your solutions and the more problems you can handle. | [reply] |
|
RE: Disadvantages of Perl?
by JanneVee (Friar) on Jun 13, 2000 at 16:20 UTC | |
My point: If you really want to see what is going on under the hood learn to program Assembler. And what too forgiving when you screw up. No it's not!
Didn't come with on the first version of this message for some unknown reason: | [reply] |
|
RE: Disadvantages of Perl?
by aedificum (Sexton) on Jun 13, 2000 at 20:00 UTC | |
| [reply] |
|
RE: Disadvantages of Perl?
by el-moe (Scribe) on Jun 14, 2000 at 01:03 UTC | |
I speak English as my first language. Some might say it's too flexable when they're attempting to learn. Others may point out the strange spelling exceptions and scoff. But I have no problem speaking and communicating with other English speakers. I have a few friends that grew up speaking Spanish. They speak Spanish *and* English. I have other friends that spoke German at home and English at school. Ok I''m rambling... let me get to my point. It doesn't matter what language you begin with. The first language will be your native tongue... the others will be enhancments to your repitoir. I prefer Perl to other languages because it's just so cool to code *Perlish* things. It is flexable. There may be too much documentation for a beginner. But with a little perseverance you will realize flexability and forgivness are *features* of the language. Did I make my point? I just want to impart to you that Perl is a fine language to start with. Don't fear the flexability... it's there to help. El Moe | [reply] |
by JanneVee (Friar) on Jun 14, 2000 at 02:16 UTC | |
And as for my English. Well judge me by my writings if I'm any good. As for computer languages. In order that I learned them.
When it comes to programming languages I'm a Jack-of-all-trades. -> master-of-none. But also this. I wouldn't have continued with it if no enjoyment was there. The only risk you take IMHO is picking a booring language for a first programming language. | [reply] |
by Macphisto (Hermit) on Jul 14, 2000 at 23:08 UTC | |
| [reply] |
|
RE: Disadvantages of Perl?
by Greener (Sexton) on Jun 13, 2000 at 20:13 UTC | |
Right now I'm rewriting a Fortran program in Perl and I've never seen Fortran before in my life. If it wasn't for a C background I think understanding fortran would be alot harder. | [reply] |
|
RE: Disadvantages of Perl?
by Anonymous Monk on Jun 13, 2000 at 20:56 UTC | |
The reason for this is that you can't truly appreciate Perl's ease of use until you've encountered other (horrible) languages such as C. But on the other hand, it does give you the basic required knowledge: variables, loops, if constructs and so on. | [reply] |
by Eugene (Scribe) on Jun 13, 2000 at 21:25 UTC | |
The very first thing that made me like Perl were the pop and push functions. When I tried them out, i just set there with a silly smile on my face, thinking about the page of stack code in C++. | [reply] |
|
RE: Disadvantages of Perl?
by ishamael (Beadle) on Jun 14, 2000 at 07:08 UTC | |
charlie schmidt ishamael@themes.org www.diablonet.net/~ishamael/ | [reply] |
by jcwren (Prior) on Jun 14, 2000 at 08:07 UTC | |
Instead, think about how you would implement what you *don't* have, or how you would write code without that language feature. Trying to write Perl in 'C' is futile, just like trying to write BASIC in assembly, or Forth in Perl. It's your learning technique that needs to be revised, not the order in which you learn the languages. --Chris (who hates language and OS bigotry) | [reply] |
by Jonathan (Curate) on Jun 14, 2000 at 19:40 UTC | |
| [reply] |
|
RE: Disadvantages of Perl?
by BigJoe (Curate) on Jun 14, 2000 at 02:32 UTC | |
But it is always fun to do the stuff in PERL though. Because of all the cool features and simple data structures. --Joe | [reply] |
|
RE: Disadvantages of Perl?
by Anonymous Monk on Jun 15, 2000 at 00:42 UTC | |
| [reply] |