To Perl or Not to Perl
Hi I am going to learn Perl as a good scripting language under Linux, besides it's very portable. However, friends suggest that I should learn the C# and .NET as it's the most powerful platform, thing I don't really beleive. What's my area of interest? Game programming. What would John Carmack recommend to learn, or what languages does he know well for his job (other than C/C++)? Thanks.
Perl is good for system scripting and small applications where complex string handling is required. Not for game scripting and even less for game programming. Perl is not suitable for large applications. If you want something more versatile and easy, use python. But I would recommend trying C++ first of all.
Don't learn Perl. The entire language is being redesigned, which is proof that they've finally conceded that they got it wrong the first time. The delay in actually releasing Perl 6 suggests that they're getting it wrong again.
C# and .NET are powerful, and hold the promise of portability, but it isn't fully realized yet. In the interim, I recommend Python as well. Best of all, there are two Python for .NET implementations in the works, one of which is being authored by the creator of Jython (Python running on the Java VM), who now works at Microsoft on the CLR team. In other words, learning Python lets you get to work right now and move to .NET in the future.
C# and .NET are powerful, and hold the promise of portability, but it isn't fully realized yet. In the interim, I recommend Python as well. Best of all, there are two Python for .NET implementations in the works, one of which is being authored by the creator of Jython (Python running on the Java VM), who now works at Microsoft on the CLR team. In other words, learning Python lets you get to work right now and move to .NET in the future.
Perl is great for system administration and text processing, but it doesn't lend itself to other tasks very well.
---New infokeeps brain running;must gas up!
I often use Perl in game programming - but the Perl code doesn't form part of the finished product.
I find it useful to do little bits of hacky repetitive scripting for stuff - particularly given that I find shell scripts too limited / hacky.
True, Perl may be only a small step up from Shell, but it's a big enough step for the simple stuff I use it for.
I never write games in it though :)
Things I've used Perl for:
- Creating level data file for J2ME breakout game
- Mangling 2d vector graphics formats (various)
- Scripts to do image scaling / packing into data files.
Mark
I find it useful to do little bits of hacky repetitive scripting for stuff - particularly given that I find shell scripts too limited / hacky.
True, Perl may be only a small step up from Shell, but it's a big enough step for the simple stuff I use it for.
I never write games in it though :)
Things I've used Perl for:
- Creating level data file for J2ME breakout game
- Mangling 2d vector graphics formats (various)
- Scripts to do image scaling / packing into data files.
Mark
Perl has largely been superceded by python. It's pretty much legacy now.
I agree. If you want to learn a new language that isn't Java or C/C++, learn Python. Python rocks.
As for john carmack, he writes machine code in his sleep. When he's awake, he just merges with his workstation and the code flows directly from his neural network into the game executable.
As for john carmack, he writes machine code in his sleep. When he's awake, he just merges with his workstation and the code flows directly from his neural network into the game executable.
=========================Buildium. Codium. Fragium.http://www.aklabs.net/=========================
You guys are saying some pretty nasty things about Perl. What did it every do to you?
Perl is a very powerful and, potentially very elegant language. Maybe you should tell Amazon.com that is is a "legacy" language, not suited for large applications.
Perl6 is not evidence 'they' (Larry Wall) 'got it wrong', any more than Java 3 is evidence that Sun 'got it wrong' with Java 2, or php5 means php4 was 'wrong'. That is just silly.
That being said, while Perl is a *great* tool to have in your toolbox, it is *not* very well suited to graphically intensive game programming.
An example Perl/SDL game:
http://www.frozen-bubble.org
Perl is a very powerful and, potentially very elegant language. Maybe you should tell Amazon.com that is is a "legacy" language, not suited for large applications.
Perl6 is not evidence 'they' (Larry Wall) 'got it wrong', any more than Java 3 is evidence that Sun 'got it wrong' with Java 2, or php5 means php4 was 'wrong'. That is just silly.
That being said, while Perl is a *great* tool to have in your toolbox, it is *not* very well suited to graphically intensive game programming.
An example Perl/SDL game:
http://www.frozen-bubble.org
Quote:Plenty. But it's too painful to get into.
Original post by grazer
You guys are saying some pretty nasty things about Perl. What did it every do to you?
Quote:People write large applications in assembly. Doesn't mean it's suited for it; it means it's what they wrote it in. Perl for web applications is an artefact of CGI, while mod_perl is a "re-jiggerification" to eliminate the out-of-proc overhead. Still doesn't make it elegant or well-suited.
Perl is a very powerful and, potentially very elegant language. Maybe you should tell Amazon.com that is is a "legacy" language, not suited for large applications.
But that's not even my beef. No, my beef lies in the language itself. Because of its time and place, it has been eclipsed by advances in programming technology (hello, bless?) The fact that the entire language has to be rewritten, that a VM of sorts (Parrot) is being introduced, that the next version of the language bears just about zero resemblance to its predecessor is a clear indication that they should have just moved on to something new rather than trying to redefine the language. It's like C and C++; there is no way C++ would have succeeded if it was trying to just be the "next version" of C.
Quote:Your analogy is silly, because you don't grasp the crux of mine. It's not versioning, numbskull. It's a major syntactic break. You don't do that. You move on and call it a new language. Why didn't the makers of Java try to pass their language off as C++2 (which was a large part of its intent)? Why wasn't C++, C2? (As for why Coca-Cola named their low-carb version C2, we shall never know.)
Perl6 is not evidence 'they' (Larry Wall) 'got it wrong', any more than Java 3 is evidence that Sun 'got it wrong' with Java 2, or php5 means php4 was 'wrong'. That is just silly.
Perl 6 is evidence that Perl 5, as a logical extension of Perl 1, has reached its limits. At that point, Larry should have made a clean break rather than trying to trade on the name of Perl. I predict failure, particularly because the delay and the costs of transition without the subtle psychological reassurance that you are in unfamiliar territory, have made Perl 6 an inferior choice to Python out of the box for existing Perl programmers. Only time will tell if there's enough effort put into making the language appealing to current non-Perl users.
Quote:
Original post by Oluseyi
People write large applications in assembly. Doesn't mean it's suited for it; it means it's what they wrote it in. Perl for web applications is an artefact of CGI, while mod_perl is a "re-jiggerification" to eliminate the out-of-proc overhead. Still doesn't make it elegant or well-suited.
The same way J2EE is a "re-jiggerification" [sic] of Java? Languages (some languages) evolve. Get used to it.
Quote:
But that's not even my beef. No, my beef lies in the language itself. Because of its time and place, it has been eclipsed by advances in programming technology (hello, bless?)
OO predates Perl.
Quote:
The fact that the entire language has to be rewritten, that a VM of sorts (Parrot) is being introduced,
The language is being cleaned up to address exactly the things you blather on about, why is this a bad thing? And what about a using a VM annoys you?
Quote:
that the next version of the language bears just about zero resemblance to its predecessor is a clear indication that they should have just moved on to something new rather than trying to redefine the language.
'They' are 'moving on to something new', it's called Perl6.
Quote:
It's like C and C++; there is no way C++ would have succeeded if it was trying to just be the "next version" of C.
How is C++ not the 'next version' of C? You whine about hacking up existing languages to add incompatible features, and then use C++ as a counterexample?
Pot->Kettle->Black?
Quote:
Your analogy is silly, because you don't grasp the crux of mine.
I might have grasped your analogy better had you posted one. Try that next time.
Quote:
It's not versioning, numbskull. It's a major syntactic break. You don't do that. You move on and call it a new language.
O.K. Lets call it a new language. I have an idea for a name... "Perl6" what do you think?
Quote:
Why didn't the makers of Java try to pass their language off as C++2 (which was a large part of its intent)?
For various reasons, I'm sure. Not the least of which is marketing. "Java", doesn't that sound snappy?
Quote:
Why wasn't C++, C2?
Because they were trying to be cute (e.g. int C; C++;, get it ?)
Quote:
Perl 6 is evidence that Perl 5, as a logical extension of Perl 1, has reached its limits. At that point, Larry should have made a clean break rather than trying to trade on the name of Perl.
O.K., and Bjarne Stroustrup should have "made a clean break" instead of "cashing in" on C. You are right, Perl5 as a logical extension of Perl 1, has reached its limits. That is why Perl 6 is a redesign. Why do you find this offensive?
Quote:
I predict failure, particularly because the delay and the costs of transition without the subtle psychological reassurance that you are in unfamiliar territory, have made Perl 6 an inferior choice to Python out of the box for existing Perl programmers.
Perl6 has (and will be for a while) an inferior choice, particularly because it doesn't exist yet as an implementation. As for failure, only time will tell.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement