Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: Re: Re: There's a level in Hell reserved for ________

by mowgli (Friar)
on Mar 01, 2003 at 11:35 UTC ( #239687=note: print w/ replies, xml ) Need Help??


in reply to Re: Re: There's a level in Hell reserved for ________
in thread There's a level in Hell reserved for ________

people who confuse the usefulness of a language with whether they personally like it.

I concur. To expand on this slightly I should mention this especially applies to highly specialized languages and those in a different paradigm than the programmer is used to. For example, someone who has only programmed in c, java, and perl may think prolog is entirely useless while someone extensively involved in AI programming may think it's the best thing since beer with skittles. Moral of the story: you haven't programmed everything yet (if you have, I have a job for you), so you don't know how useful a given language could be. Oh, and 5 points off for referring to python programmers as zealots (python rocks!).

I'm sure it does - I haven't tried it myself yet, mostly because I'm not fond of the idea that the amount of indentation of a line defining semantics rather than just reflecting them, but I don't really know much about Python at all, so I can't speak on it.

Neither do I want to, btw; I think there is nothing wrong with Python, Python programmers, Python developers or whatever. In fact, the whole zealotry thing is of course not limited to Python at all, but since my personal experiences in this regard have mostly been with Python programmers (who also disliked Perl a lot, to say the least), I mentioned those.

Sorry if I stepped on anyone's toes - I wrote "python zealots" to distinguish them from "python programmers", not to imply that the latter were necessarily the former. :)

Apart from that, I agree that there a lot of cool languages for all sorts of jobs; Prolog is one of them, of course, and Erlang also comes to my mind right now. I think that Perl is usually either a good tool for a given job or can be turned into one relatively easily, but it is not *always* the best tool, and using Perl for everything just because it is Perl would be zealotry as well, I guess. :) Everything has its own linguistical niche (even Malbolge).

Oh, and as far as having programmed in every language is concerned - I guess that's impossible. In one of my introductory courses to computer science (longer ago than I would like to think - goodness, I'm feeling old), the professor mentioned a compilation of known programming languages from 1972 (!) that listed more than 700 of them. I guess a lot of these aren't around anymore today, but I also think that a lot more have been invented, so not even a Leonardo da Vinci would be able to learn them all. ;)

... people who sneer at perl because it is "just a scripting language" instead of a "real" programming language.

Ah, the age old question of Do scripters suffer discrimination? (it's a slashdot link, don't bother). Well, sadly scripters will always be second to us real programmers. Disregard all you here about "programming is programming" the only people who say that are TCL programmers anyways. Real programmers use real languages, like Python and Perl ;-).

TCL - that's another one I have never really looked into (but which I don't feel the need to look into, either). :) On a serious note, the people who I mostly heard this from where the same who thought that languages should be as simple and limited as possible (so the compilers would be less difficult to build) and that functional programming languages were automatically, inherently superior to imperative languages. Now, I do think that functional programming is a cool thing myself, and a very interesting approach, but things like this always leave a bad taste in my mouth - it's basically just slapping labels on things and then arguing on what's better based on what the labels say, rather than based on the inherent qualities and merits of the things themselves. The same happens with regard to computers etc. in general, too (linux vs. *bsd, for example, solaris vs. linux, sparc vs. x86 and all that), and in fact, it's not even limited to computer science-related topics, but I think going further into that would be completely off-topic now. :)

... the decision to not include a proper switch statement in perl. foreach etc. may work, but it looks like an ugly kludge to me (or at least ugly).

I group switch in with goto as ugly, unmaintainable, brute methods of programming. Perl's a very high level language, use it like one!

TMTOWTDI. :) Anyhow, why do you think switch (or goto, for that matter) is a low-level language concept?

... vi.

And emacs, yuck, talk about being left in the 70s. Use kate, take back the mouse!

I personally found joe to be best-suited for my needs - if you ever tried running X applications (KDE or otherwise) over a dial-up line, you'll know why I prefur the console for now. ;)

... software patents, the people who grant them and the people who apply for them

Do not blame those who apply for them, they can't pass up the opportunity when there competitors have it as well. The problem lies with those agencies that grant the patents out of ignorance.

Indeed. But still, even applying for software patents as a purely defensive measure is a dangerous thing at best, not to mention that it shows how fouled-up the situation is, anyway (defensive measures were not exactly the initial idea behind patents, after all). I don't blame companies like Red Hat for getting patents on certain things that came from their labs, but I don't think this is the right way to go, either. In the words of Mahatma Gandhi (not literally quoted), "there is no way to peace - peace is the way", and I think that holds true about software patents as well. The best way to go would be to abolish them altogether; otherwise, if things continue like this, we might end up having to sign NDAs just to attend basic math lectures at universities in 50 years simply because the theorems and results presented are covered by patents and copyrighted all over.

Cynical? I wish it'd be. :)

Okay, now I'm just getting silly. Nice post and goodnight :).

Thanks! The same to you. :)

--
mowgli


Comment on Re: Re: Re: There's a level in Hell reserved for ________
Re: Re: Re: Re: There's a level in Hell reserved for ________
by Anonymous Monk on Mar 03, 2003 at 13:49 UTC
    mostly because I'm not fond of the idea that the amount of indentation of a line defining semantics rather than just reflecting them

    In principle, I'm not fond of it either. However, it has not once inconvenienced me in the slightest. Maybe it's just force of habit that keeps us tied to certain languages. So I'd say try it out, if it does get in your way there are many other obvious alternatives ;-). Also, if anyone has examples of running into whitespace problems in python, I'd be very interested (I haven't been programming in it for that long either).

    Sorry if I stepped on anyone's toes

    Not at all, I meant the "5 points off" bit as a joke :). I know a fair number of python programmers and I'd label about 60% of them 'zealots.' Mind you, I'd probably label about the same number of Perl programmers 'zealots.' Don't even get me started on Java programmers... ;-)

    Oh, and as far as having programmed in every language is concerned - I guess that's impossible

    Yeah, that was a trick. I really work for NIMH. Anyone who claimed they did know every single programming language has been committed (regardless of whether or not they were telling the truth ;).

    Anyhow, why do you think switch (or goto, for that matter) is a low-level language concept?

    Mostly because I've found that using dispatch hashes eliminates the need for them. I'm sure there's still a couple good uses, but sometimes I wonder if when a feature is that abused it wouldn't be better just to eliminate it. Yes, it's catering to the lowest common denominator and It would probably annoy all those write-25000-lines-of-assembly-before-breakfast kind of programmers, but my sanity would greatly appreciate it :).

    Speaking of breakfast, gotta run. Have a nice day :)

      Sorry if I stepped on anyone's toes.

      Not at all, I meant the "5 points off" bit as a joke :). I know a fair number of python programmers and I'd label about 60% of them 'zealots.' Mind you, I'd probably label about the same number of Perl programmers 'zealots.' Don't even get me started on Java programmers... ;-)

      *chuckles* I'll try not to - I've had my own share of experience with Java zealots, although those who actually are Smalltalk zealots and just have to use Java at work even though they despise it deep in their hearts are even worse. ;)

      Oh, and as far as having programmed in every language is concerned - I guess that's impossible.

      Yeah, that was a trick. I really work for NIMH. Anyone who claimed they did know every single programming language has been committed (regardless of whether or not they were telling the truth ;).

      You do? Interesting. :) Anyhow, I can see why these people end up with you (*especially* those were the claim is actually true). ;)

      Anyhow, why do you think switch (or goto, for that matter) is a low-level language concept?

      Mostly because I've found that using dispatch hashes eliminates the need for them. I'm sure there's still a couple good uses, but sometimes I wonder if when a feature is that abused it wouldn't be better just to eliminate it. Yes, it's catering to the lowest common denominator and It would probably annoy all those write-25000-lines-of-assembly-before-breakfast kind of programmers, but my sanity would greatly appreciate it :).

      Mmmm, I can't recall any assembly that features a switch instruction right now, unless you want to count C in as assembly (which has been described as an optimizing macro assembler with automatic register allocation in the past *g*). Seriously, though, I think that switch isn't that bad really; not all uses of switch boil down to (admittedly horrible, yet strangely fascinating) things like Duff's device. Besides, the Camel says that the main reason for not including switch was simply that there were many alternatives, from labelled bareblocks to foreach loops and from cascaded ?: operators to hashes - nothing hints that the exclusion of a proper switch statement might have been made due to it being too abused (or too easily abusable).

      But IMO, it's all TMTOWTDI anyway - and I encourage languages to give you enough rope to hang yourself with, since that also means you'll have enough rope to tie the most beautiful and elaborate knots.

      Speaking of breakfast, gotta run. Have a nice day :)

      Heh. Thanks, and the same to you! ^_^

      --
      mowgli

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://239687]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (7)
As of 2014-11-21 02:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My preferred Perl binaries come from:














    Results (104 votes), past polls