Well I used Perl (as part of a team of 6) to design and build a networked e-commerce server system where the CGI on the Apache webservers would make calls to a middle tier of perl servers (ie servers written in Perl) which would then either call the bank or call the backend Perl servers which would interface with the database.
Total number of lines - something in the region of 30000 spread across the CGI and the server core. Each server had a custom command set where each command was a dynamically loaded Perl Object.
The project you describe can be done easily in Perl (as I have done something simliar). You just need to read more on networking, OO and serialisation. I would also recommend you get the Networking in Perl book by Lincoln Stein.
You would also do well to look at the Soap::Lite work available from CPAN.
From what you have outlined, it sounds like you need to learn more about OO and modular programming. Moving to Python won't help you as you will still have to overcome the same design hurdles.
And thats the key - it isn't the language but the design that is important here. You would be better off designing the whole thing on paper and then choosing the language.
I'm sure you'll quickly find that not only can Perl do it, but you'll enjoy using Perl to do it too.
Cheers
Simon | [reply] |
The software powering this web site is written in Perl. Looking at a CVS version, counting only the .pm files, not code embedded in nodes but including comments, there are over 30,000 lines of code. Any way you slice it, that's more than 10,000 lines.
Having worked on it, I'm happy to report that not only does it do its job well, there are bits in the code that cannot be done in most other languages. Perl can be used to drive real world projects, and some of those include web sites. | [reply] |
You have my sympathy. It took me a *long* time to get my head around the line-noise factor in Perl. Once I did it became obvious, and I couldn't live without it now. Compared with pointers in C references in Perl are easy and reliable.
Python looks very cute, but I don't think that I can cope with meaningful white space in programs.
Finally I agree with chromatic - design first, and then implement it in anything that amuses you. Think about Forth as an alternative to Perl - it will give you a very different perspective on your design and your choices.
Take care
--
Anthony Staines
| [reply] |
Where did you learn perl from?
A few of the German monks have complained from, time to time, about the Perl being "English" based, and the lack of sufficient documentation in German.
I personally learned perl almost entirely from pod (perlmonks helped a lot).
I speak English (3rd language) pretty well, and am pretty comfortable with reading and digesting perlpod now, which for the most part, is pretty good.
I probably could benefit from a few books (Damian Conways OO Perl, and japhy's upcoming perl regex book, and maybe Network Programming with perl).
Anyway, what I'm trying to say, is maybe you ought to have find a mentor, a colleague, somebody more knowledgable about perl to help, and guide, and sometimes yell at ;), you, while you design and implement this. There is no substitue for experience (or advice from someone experienced), or good program specification (with which comes good design).
Who know, maybe the perlmonks as a community can do you a "solid" if you're nice :) Anyway, just a thought...
and oh yeah, documentation is key (pod pod pod pod pod pod pod pod pod)
| [reply] |