Java > Scala

Caligo iteronvexor at gmail.com
Sun Dec 18 01:03:58 PST 2011


On Sun, Dec 18, 2011 at 12:17 AM, Russel Winder <russel at russel.org.uk>wrote:

> On Sat, 2011-12-17 at 22:45 -0600, Caligo wrote:
> [...]
>
> I thought this thread had finished, but...
> >
> > That's like saying people should take Coke and Pepsi more seriously
> because
> > they have bigger market shares when in reality all you need is water.
> > Money isn't real, you know?
>
> Taking that paragraph out of the context of the previous emails in the
> thread leads to misinterpretation of what was being said.
>
>
Taking things out of context wasn't my intention.  I said what I said
because, based on what you said, it seemed to me that your definition of
the word "success" depended heavily on the size of the market share claimed
by something.


> > D is already a success, a BIG success.  Walter and Andrei (and the
> amazing
> > community, of course) have created a programming language that is light
> > years ahead of C++, Java and Go.
> >
> > I don't think you know this, but every high school student who takes a
> > computer science course is required to learn Java.  It doesn't stop
> there:
>
> I didn't know this, but I guess it is only a factor in the USA.  In the
> rest of the world, it is almost certainly not the case.  It definitely
> isn't in the UK.
>
>
The education system is really bad here in the U.S.  It's a joke, really.
If you question the education system, or anything that the government does
for that matter, you are being un-American.  At one point I was asked to
leave the country when I challenged the education system at the university.

Watch the documentary "Waiting for Superman" to get an idea of how bad it
is, and that's everything before university.  I know certain countries
offer better education, but I still think the issue is global.

I've had professors who have PhDs from big universities like Princeton, yet
they can't speak nor write proper English.  How the hell does that happen?
And then some of them teaching data structures and algorithms or software
engineering without having a clue as to what they are teaching if it wasn't
for the textbooks.



> I suspect the major problem with most educators -- only in USA and Italy
> are all educators called professors, in places like UK, France and
> Germany, professor is a title that has to be earned and is a matter of
> status within the system -- is that they are themselves under-educated.
> Far too many educators teaching programming cannot themselves program.
> Their defensive reaction is to enforce certain choices on their
> students.  Sometimes there is a reasonable rationale -- you don't write
> device drivers in Prolog, well unless you are using ICL CAFS -- but
> generally the restriction is because the educator doesn't know any other
> programming language than the one they enforce.
>

I agree.


> > reason they restrict education to things like Java and C++ has very
> little
> > to do with the fact that those languages have claimed big market share;
> > rather, it's because corporations have had a vested interest in
> > universities in the first place and they receive what they order.  Just
> > look at what Microsoft has been doing in universities: everything from
> > "free" gifts such as free copies of Windows OS and Visual Studio Ultimate
> > that cost thousands of dollars to sponsoring various kinds of events.
>  The
> > students who are influenced by such tactics, to whom do you think they
> are
> > going to be loyal to?
>
> I worry more about what Macdonalds does in primary schools.  Enforcing
> pupils to learn to count by counting BigMacs strikes me as the worst
> sort of indoctrination.
>
> Your description of Microsoft's behaviour is a natural consequence of
> the economic system.  Using marketing budget to indoctrinate people into
> buying your product is all that is going on.  Some companies realize
> that spending that money on molding the minds of 2--12 year olds is the
> way of creating an income stream in the future.
>
>
I agree.


> > The _main point_ here is that if students had been give the choice to
> learn
> > a programming language of their choosing, many of the so called
> > "successful" programming languages would not have been so "successful"
> > today.  So next time you decide to lecture someone on how popular or
> > "successful" Java is, just remember how it got to be so "successful".
>
> The single most important factor here is that people learn to program
> using more than one paradigm of computation and thus more than one
> language -- FOOPLOG and Scala are special case, that are interesting for
> later study but not for initial study.
>
> The importance of multiple paradigms isn't just waffle, the psychology
> of programming folk have been doing longitudinal studies over the last
> 20 years that shows that people learn more, faster and end up being
> better programmers.  People who learn with one language and use that
> language for the rest of their programming lives are in general poorer
> programmers because of it.
>
>
I agree.  Same is true of natural languages.  I speak three natural
languages (4 artificial languages: C++, D, Python, Haskell), and I'm trying
to learn French in my free time.  It wasn't until I discovered D that I
realized how broken C++ is, and it wasn't until I discovered Haskell that I
realized how much I've been missing out on.

I think in the future, say 500 years from now, there will exist only one
natural language for people to speak because people of the world will have
united as one, but I can't begin to imagine what artificial languages will
look like in 100 years.  I think D has a really good chance of being the
The Hundred-Year Language: http://www.paulgraham.com/hundred.html

:-)


>
> [...]
> > I do see the entirety of the economic system of the world, and, no, it's
> > NOT called capitalism.  It's called the Monetary System.  Capitalism,
> > Socialism, Communism, etc,... they are all inherently the same because
> they
> > are all based on the Monetary System.  Money is created out of debt, and
> > money is inherently scarce.  Differential advantage and exploitation is
> > name of the game, regardless of the form of government you have.  And as
> > far as I know, India isn't even in the top five;  USA, China, and Japan
> are
> > in the top three.
>
> I beg to differ on the detail, but this is almost certainly not the
> forum to have this debate.  You are right that the obvious political
> labelling is not the whole story, but neither is the analysis using the
> monetary system.  It is a multi-dimension problem.
>
> In the end though people in positions of power will do their very best
> to exploit those who are not.
>

The Monetary System is in fact the root cause of all the world's problems.
It's an invention that has outlived it's usefulness, and it needs to go.
But you are right, this isn't the place for such discussions.


>
> [...]
>
> > I choose to ignore Java for technical and non-technical reasons.  Unlike
> > you, I don't need to spend years of my life doing Java programming to
> > realize what a joke it is, and I have never seen a case where Java was
> just
> > as fas as C++.  This is one of those myths, or corporate propaganda,
> that's
> > been propagated by educated idiots.  I and the teams I've been a member
> of
>
> Have you actually done the benchmarks to back up this claim.  I have.  I
> really rather object to being labelled an educated idiot.
>
>
Everything I have experienced has shown that Java sucks when it comes to
performance: everything from my Android phones (I've owned three so far,
and I'll be switching to either iPhone or landline next time) to all the CS
problems that I've solved and to all the desktop applications I've used
that are written in Java.  I mean, how much more proof does one need?  I
can agree that in certain situations Java is just as fast as C++, but I
don't understand why it's being used for almost everything else(oh wait, I
forgot corporations and money have control over common sense).  It just
produces bad results.  I mean, I have a Samsung Galaxy S running Android
2.2.  More than half the time the phone is a pain in the butt to use: it's
sluggish and sometimes I have to wait 10-20 seconds for the thing to become
responsive.  It's a bloody slide show.  The iPhone, on the other hand, is
smooth and usable.  I hate to advertise iPhone, but I think Google made a
mistake by going with Java for Android.


>
> > have solved countless CS problems that have required every kind of data
> > structure and algorithm, and not once have I seen Java come close to
> > C/C++.  On average, Java has been about 20 times slower than C++ and
> > requiring on average 50 times more memory when it came to solving those
> > problems.  If you honestly believe that Java can be just as fast as C++,
> > then go to http://www.spoj.pl/ and pick a problem and submit a solution
> in
> > Java that's no more than 3 times slower than C/C++ and requires no more
> > than 10 times more memory.
>
> Java certainly does use appalling amounts of memory, no argument there.
>
> For the reason you (should) know perfectly well Java is never going to
> perform well on the sort of benchmarks these sites look at because they
> use a protocol of testing that is inherently and systematically biased
> in favour of running a program from start.  C, C++, D will always thrash
> Java in this context.
>
> Where Java competes very well with C, C++ and D is in long running
> computations.
>
> If you want to look at even more biased benchmarking look at
> http://shootout.alioth.debian.org/ it is fundamentally designed to show
> that C is the one true language for writing performance computation.
>
>
o.k.  I don't know what else to say, really.


[...]
> > I'm not easily offended, and I've learned to let go.  I love to be proven
> > wrong because that's when I learn something new.  I think you are having
> a
> > harder time with this than you realize, and it's easy to understand why:
> > you have spent years of your life with pointless creations such as Java,
> > and they are now part of your identity.  Of course you are going to get
> > upset when someone labels Java as something of a joke because you take
> that
> > statement personally and see it as an attack on who you are.  It's okay.
> > Just learn to let go.  You still have time.
>
> You really have totally missed where I am coming from, so I think it
> best you simply stop trying to analyse my position.
>
> I am not even going to try and defend myself against the slur you have
> made against me, it is not true, and if you had read my emails rather
> than trying to be an amateur psycho-analyst, you would already know
> this.
>
>
You reacted to my original comment about Java the same way Bob reacted when
I told him that Ford pick-up trucks suck.  If someone takes something
personally, that tells me that it's part of their identity.  That's pretty
good for an amateur, wouldn't you say?  But I'm glade I was wrong, because
I've learned something new.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111218/d67b5c58/attachment-0001.html>


More information about the Digitalmars-d mailing list