Ken said:
On Fri, 18 Feb 2011 07:52:47 +0000, Andreas Leitgeb wrote:
On Wed, 09 Feb 2011 15:14:45 +0000, Andreas Leitgeb wrote:
You're applying the same rationale that you criticized. (joke?)
[someone] assumed, that a query for "j" alone would be inherently
not amenable. Ok, he was wrong with his assumption
Nope. "Results 1 to 10 of about 2,910,000,000".
Once you got really used to google, you'll have learnt that the total
number of hits is more of a pseudo-random number that shouldn't be
overrated. If you advance to the next page of hits, usually that
number shrinks by an order of magnitude.
But even if it is a biiiig haystack, often enough a needle shines out
to you within the first couple of glances at it - in the case at hand,
a useful hit was on position three,
If you're referring to "J (programming language) - Wikipedia, the free
encyclopedia", I saw that at position two, but for all I knew *at the
time* that could have been something else. Suppose I'd made the same
search in a counterfactual world where there was an APL IDE named J
that the poster had been referring to *and*, separately, a J
programming language utterly unrelated to APL?
The name's so short it's *easily* plausible it could have been used
more than once for things related to IT.
[ SNIP ]
I'll admit I could have qualified my reference to "J". It never really
occurred to me, because as part of professional development I tend to
keep up on programming languages. Over the decades I suspect I've
professionally used several dozen, experimented with several dozen more,
and have at least read up on enough others that the total number of
languages of which I have at least a vague idea of what they are about
is perhaps a hundred. This is simply where I personally expect a
professional software developer who has been working for 2 or more
decades to be.
Then you expect wrong. Plenty of professional software developers have
focused on only a few, chiefly mainstream, languages.
I used "expect" in the sense of (using
http://www.thefreedictionary.com/expect) of 2. to consider reasonable or
due, maybe even tending towards the sense of 3. to consider obligatory.
In the sense of 1. to look forward to the probable occurrence of, no, I
don't expect it at all...I think the rest of my post below may have
informed you of that.
Most would rather spend 5-10 hours doing something productive that
advances one of the projects they're currently working on, which is
almost always going to be in one (or more) of C, C++, C#, Objective-C,
Java, Python, Ruby, Perl, shell, Java/ECMAScript, Pascal, Delphi, Lua,
Common Lisp, OCaml, Haskell, Scala, Clojure, Fortran, or PHP.
But if they are ever going to be in a position of having to choose an
appropriate language for a project, then they are often ill-prepared to
do that. For example, if all you know are class-oriented languages like
Java or C++, and maybe some Perl or Python, you're hampered. I'm not
saying that such a programmer will have professional problems, seeing as
how the state of the industry is pretty mediocre, but the point is that
they will be _contributing to, and perpetuating_, the mediocrity of the
industry.
And yet it is not a mainstream language, or even close. Clearly it is
quite possible to go many years working in Java, Lisp, and other
mainstream language families and have only a vague awareness that APL
exists and no knowledge whatsoever of J. It must depend on exactly what
you do and which circles you move in.
This is simply the difference between a 9-5 M-F working coder, and a
craftsman. This is a choice everyone has when they decide to work as a
programmer - whether to be a technologist, or whether to be an engineer
or scientist. I think decades of software construction are showing that
technologists don't fare too well in our profession.
[ SNIP ]
Busting on an undeserving target is wrong whether it is "in particular"
or as part of a larger group being busted on.
I'm not busting on a _undeserving_ target, Ken. That's the point. There
are way too many programmers that don't cut the muster, and it's hurting
the profession.
Just a short time ago you were expecting "the typical programmer" to know
about 100 languages. Which is your real expectation?
No, I believe I said:
"Over the decades I suspect I've professionally used several dozen,
experimented with several dozen more, and have at least read up on
enough others that the total number of languages of which I have at
least a vague idea of what they are about is perhaps a hundred."
At this point in time I am probably not that different from you in terms
of how many languages I am fluent in, and how many I can ramp up in quickly.
There are those of us in between the two extremes. I have:
[ SNIP ]
See my above, I'm about the same as you in terms of what I am fluent or
moderately accomplished at, at any given point in time.
However, one point I'll return to is that I retain enough knowledge of a
bunch of other languages that I've used at least somewhat in the past,
to be able to include them in an assessment of what might be suitable
for a new project. That's one reason why it's good not to be handcuffed
to just 2 or 3 or 4 languages. I'm not expecting that someone is fluent
in dozens of programming languages at any given time.
The usual source of handcuffing on Windows is Windows. No native
scripting facility worth a damn and doing anything nontrivial requires
either booting up a JVM or mucking around with MSVC++ and friends and the
big, ugly MFC API. Thanks, but no thanks.
[ SNIP ]
The way I look at it is that we professional programmers don't often
call the shots - or all the shots - as to what software gets used. I'm a
consultant myself, and only rarely do I get to recommend all or most of
a technology stack. Most of the time clients already have this stuff
picked out.
One can pick apart a language, like Mr d'Oliveiro is picking apart Java,
but I find that attitude rather pitiable. And one can moan about the
strictures placed upon one by an OS, but that's rather amateurish too,
in my opinion. What we should do, and to my way of thinking are
professionally required to do, is suck it up when it comes to what tools
are often given us, and just make them work.
And for the record I don't feel handcuffed by Windows. It's not my
favourite OS, not by a long shot, but I've had to use it since 3.1, and
as a result I've developed my techniques and tools for getting the job
done on Windows. None of us get paid for whining about an OS that the
majority of the planet uses, after all.
AHS