At the same time, Lincoln Stein's book on Perl network programming is a work of pure genius. And I get the impression that if I learned the craft then I could do anything networky in Perl that others do in Java.
My questions: Are there any Perl guys out there who are getting paid to do network programming in Perl? Is Perl network programming likely to be widely used over the next few years? Will it significantly enhance one's marketability to know it?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
(jeffa) Re: Perl Network Programming: A Dying Craft?
by jeffa (Bishop) on Jun 30, 2001 at 19:34 UTC | |
I forsee a lot of Python and Java in my future . . . so I bought Java Network Programming. As for Java network programming, it's a bunch of classes that abstract everything down to streams and filters. For me, that's boring, but it does lend to rapid application developement for medium to large size teams. If you are worried that learning how to program networking applications in Perl is a waste of time and effort - DON'T! The Perl way is closer to the actual guts of networking than Java, which abstracts the details away. Here is an example, it takes about 5 times as many lines to open a pipe to a system call and dump the output to STDOUT in Java than it does Perl. You have to create a stream object, attempt to open it via exceptions, create another stream object, possibly a filter object, catch them in exceptions . . . so on. My advice - learn the Perl way (which is just a minor abstraction from the C way), and then learn the Java way if you think it will add value to your skill set. The more ways you know, the better. Jeff
| [reply] |
|
Re: Perl Network Programming: A Dying Craft?
by crazyinsomniac (Prior) on Jul 01, 2001 at 05:17 UTC | |
Depends on who you're talking to. Now don't get me wrong, learning true socket is something every programmer should do, and perl is a good language to learn it in, but as for marketability in the business world, seems kinda insignificant (at least for the majority of the busines market). Why, because one of the reasons Java was made was for real-business type network applications, and perl simply wasn't. I'm talking about enterprise-wide network application, Remote Method Invocation and stuff like that. While I am talking out my a$% most of the time, in general, Java applications are easier to maintain, develop, and debug, particularly because of the 'abstraction' Jeffa mentiones, which while not being particularly exciting, and limiting, provides a sense of safety from real bugs. Java also makes scalability, granularity, and distribution easier. A lot of programmers like to get away from the dirty details, and business people like their programmers to concentrate on the important details, like adding numbers, and not reimplementing already stable components. One of the reasons people are moving away from perl for quicky network applications is because they don't want them to be just quicky applications, and java makes making that distinction easy.
>Will it significantly enhance one's marketability to know it? But some kind of manager, business non-programmer person type, will once again go for the buzz words, and he won't be particularly interested that you know some arcane technical details. So, in conclusion, learning Perl Network Programming is a dying 'craft', but one which will get you respect from real programmers, and a few laughs from the business ones. However, while it may seem a dying craft, people still program in COBOL, but them jobs are few and far between (not true for perl quite yet, but the tide is turning). It can't really hurt to know important details, even if it might appear that way. And don't forget, some c/c++ programmer had to write Java, and the many Java Native Interface extensions, as Java can't handle everything (whereas perl pretty much can, network programming wise at least, and easier than c/c++). I would like to remind you of my little disclaimer, so do take some of this with a grain of salt, as it is an extremist view coming from an extreme (and biased) programmer with limited experience (after all, aren't all/most human beings such creatures?-).
update:
update: | [reply] |
by sierrathedog04 (Hermit) on Jul 01, 2001 at 05:40 UTC | |
And just because I am programming Perl for a living now doesn't mean these jobs will always be around. So if I need to learn network programming, and we all need to learn it, then I can learn it using Perl if I like. However, I will probably need to learn Java also to really apply network programming skills for corporate and government clients. On the other hand maybe Perl will surprise us all, and Java will slip. One thing I believe is that Perl is truly open source, and Java is not. And no one knows what is going to happen, and whether Sun's fairly tight control of Java compilers will backfire on it. | [reply] |
by mugwumpjism (Hermit) on Jul 01, 2001 at 14:37 UTC | |
While I agree with Jeffas points, I do think that in the general business market, perl is still gonna be regarded as hackerish (and it is), while Java, which is geared towards business, will be regarded as more cost-effective with shorter development time and less proneness for serious bugs (and it is). I think you mistyped old school as general, and marketed as geared. I'm not sure how Java could be regarded less prone to serious bugs; surely that is up to the skill of the programmer. About the only reason that Java might win is on the strength of type checking. | [reply] |
by shotgunefx (Parson) on Jul 02, 2001 at 13:18 UTC | |
I think the flexibility and shear momentum of the Perl community will keep Perl gaining ground. I don't think utilizing Perl for network programming is a dying craft at all. Then again, that's just my opinion. -Lee "Then again WDIK. ™" | [reply] |
|
Re: Perl Network Programming: A Dying Craft?
by mattr (Curate) on Jul 02, 2001 at 09:59 UTC | |
To me this is particularly true if you are studying Perl, Linux, GNU, and Open Source tools together. You learn how things work and are not afraid of C/C++ tools. You have a low barrier to Python if necessary, and you laugh at ASP. So far I have seen a number of projects which have spent tons of money on Java programmer teams and Java application servers, then the money left over is only enough to do something in JSP that could have been done just as easily with Perl. Perl is not the answer to every single problem but it is so extensible, it seems to be applicable to more than any other. Also I find Perl gives you a laboratory for learning about computing, and it gives you weapons of knowledge which help you be intelligently critical of new systems, whereas intentionally drinking at the trough of watered down corporatespeak you may end up on the receiving end of a lot of b.s. A number of companies still rely on the b.s. rather than listening to their programmers, whether they are writing Java, Perl or something else. I think those companies are going the way of the Dodo. If your goal in life is to be working on enterprise software in a large organization, you probably want Java. Otherwise, I'd try to take in a swath of things, and learn Perl and go everywhere it takes you. Learn a little Java too so you know what is going on.. though it will take longer to become able to do something useful with it than it may with Perl. You can master programming in either language but I'd say what you want to work on is polishing your systems skills regardless of the language in which you operate. If you understand the foundations of programming and computing you can switch into other programming systems (which frequently appear) without losing your investment. | [reply] |
|
Re: Perl Network Programming: A Dying Craft?
by dthacker (Deacon) on Jul 02, 2001 at 08:16 UTC | |
Good Learning! Dave | [reply] |
|
Re (tilly) 1: Perl Network Programming: A Dying Craft?
by tilly (Archbishop) on Jul 03, 2001 at 15:40 UTC | |
What 5 years ago people would have written as a quicky network application they now write as a quicky web application. Frequently in Perl. So when you look at network applications being written, the balance is shifting away from Perl. But lots of work is being done by Perl - people just aren't reinventing wheels that Apache does an acceptable job for. | [reply] |
|
Re: Perl Network Programming: A Dying Craft?
by ritontor (Acolyte) on Jul 03, 2001 at 17:39 UTC | |
In situations like this, it's not up to your management as to what tool you use to achieve the task, it's a 20 minute job you do as part of your working day. Perl is the king at throwaway code like this, and especially in a *nix environment, is to my mind, indispensable. It's saved me a lot of time, too :) | [reply] |