Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic

Re: Programming Languages

by samizdat (Vicar)
on Aug 15, 2008 at 13:29 UTC ( [id://704534] : note . print w/replies, xml ) Need Help??

in reply to Programming Languages

It sounds like you have been expecting to have magic happen, sstevens. Think about what you were trying to do. You want to have an OS set up, a webserver with an on-board embedded interpreter, AND a back-end interpreter behind that. Woof!

Just think about it for a bit. Even with Perl, setting up multi-layer web processing systems is no kiddie project. I agree that more of the rough edges have been sanded off with Perl, at least for mainstream deployments, but you still need to have some understanding to make it happen. Let's see: you want to set up an OS you don't understand, with a webserver you don't understand, with a module you don't understand, for a language you don't know, to do something you haven't figured out yet.

Sorry to be so rough on you -- even with > 27 years at it I STILL don't deeply understand all of the above -- but really, hubris can get you in trouble faster than anything. Larry Wall can have all the hubris in the world, because he WROTE Perl. Have you, by chance, studied the source code of any of the pieces you cavalierly tossed together? If you haven't, may I humbly suggest that you take one simple piece, like a symbolic LISP interpreter, and learn what it takes to make even that one little piece of the magic happen. There are dozens out there, even one written in Perl. Once you grok that fully, then maybe take a look at something a little more complex like the Ruby interpreter. Talk about awesome, there's some slick C code.

Speaking of Ruby, you ding Rails, once again without taking the time to understand it. The old adage about any powerful technology being indistinguishable from magic is applicable here, but IMHO Rails is the _most_ accessible framework out there, as well as being one of the most potent. Every line of code, every single class definition, and every API is available for your inspection and is cross-indexed and documented on the Web. The only pain I encounter with Rails comes from the complexity of the Web, not from Rails itself. ANYTHING that blends HTML with Javascript with CSS with SQL with UN!X is going to be complicated, no fooling!

Your mistake is that you equate understandable with easy. Just because you can succeed in getting a Perl-centric webserver set up with less grief, does that imply that you understand it better? Does that imply that it IS better?

We all like to write nodes about goshwhata pearl is Perl -- I'm not immune either -- but let's go back and look at such nodes and use them to help us shore up our inadequacies. Deal? :D

Don Wilde
"There's more than one level to any answer."

Replies are listed 'Best First'.
Re^2: Programming Languages
by sstevens (Scribe) on Aug 15, 2008 at 14:10 UTC
    I didn't mean to say that anything I mentioned was bad, or that I could do a better job implementing it.

    With Lisp, I said I was fighting it because I don't have the Lisp mindset. I'm sure if I spent more time with it, I'd really grow to like it. I know that Apache, mod_lisp, Hunchentoot, and Lisp itself are especially intricate and well-engineered. I can't imagine ever being at a level to implement even a piece of what the people behind those technologies have implemented.

    I certainly did not mean to ding Rails. Far from it. When I was working with it, I was amazed at everything it does for you. I merely meant that I would rather work with something simple (again, relatively. By no means do I mean "so simple that I could do it, or that I even understand it") than use a framework like Rails (or maybe even Catalyst -- I've never played with it). I'm not saying that the MVC design pattern is stupid or overrated. I've played with it before in school and I actually think it's fan-freaking-tastic. I'm also not saying that I want to do everything myself -- if that were true, I'd have to make my own language, interpreter, OS, computer, transistor, etc.

    I never said I understand the inner workings of Perl or that Perl is better than anything else. I simply said I like it more.

    I do think Perl is a pearl. I make my living (as do most of the monks here, I'm guessing) by writing programs. Perl makes it easy for me to do that. That's all there is to it. No reading between the lines or taking this to mean that all other languages suck. Of course other people can get more done with languages other than Perl. That's fine! If I was going to make a multi-purpose robotic simulator that demonstrates a Q-Learning agent's ability to learn as it navigates and adapts to indoor and outdoor environments, I might not choose Perl as the language to write it in.
      I did read more into what you said than you intended; it just seemed to me like you hadn't put a lot of effort into understanding what was going on.

      We all stand on the shoulders of giants; be they Larry Wall or John McCarthy. It pays to remember that as we try to be worthy of their efforts. :D

      Don Wilde
      "There's more than one level to any answer."