[GTALUG] Google wins over Oracle in Java API copyright suit

Nicholas Krause xerofoify at gmail.com
Thu Apr 8 00:46:49 EDT 2021



On 4/7/21 5:44 PM, Lennart Sorensen via talk wrote:
> On Wed, Apr 07, 2021 at 11:21:52AM -0400, D. Hugh Redelmeier via talk wrote:
>> When I was an undergrad at University of Waterloo, we were required to
>> use FORTRAN (WatFiv).  I hated it.  I liked the notation of Algol
>> better and Algol-W (W for Wirth) was a good implementation for student
>> uses.  I even created a bit of a rebellion, but it was put down.
>>
>> The answer was going to be PL/I.  But PLIWAT never got done.
>>
>> (Luckily, I missed having WatBol (COBOL) imposed on me.  But I was
>> a spear carrier in that project.  I worked on optimizing COMASS
>> execution; COMASS was used to implement Z1, a systems implementation
>> language used to write WATBOL.)
>>
>> In your era, did they forced JAVA on you?  If so, I would understand
>> hating it.
> 
> No java arrived as I was finishing, so I saw the awful plugin for the
> browser and also saw javascript (livescript initially before marketing
> at netscape renamed it to jump on the java bandwagon).  I did soon after
> have to try to deal with people wanting to use java and the comptibility
> issues it had.  It was all hype, and for some reason corporations fell
> for the hype.  Now they have a ton of garbage they can't easily get
> rid of.
> 
>> Why, in particular, do you think JAVA is a bad general purpose
>> language for ordinary programmers?  Note: I don't actually know JAVA.
> 
> It tries to make everything a class, except when it doesn't (like integers
> are not a class, while just about everything else is).  main is a class.
> It takes all the object oriented things C++ got wrong, and borrows
> those, rather than borrowing it from a language that got it right.
> If you have to have object oriented programming, at least do it right,
> not the C++ way.
While I would agree with your other points. The problem is you have two
choices either a) people have to learn a newer way of doing OO or b)
keep doing the same thing for the most part. Unfortunately, when designing
a new language you kinda have the advantage of being more popular if you
do a). Granted one thing that is much better about C++ is templates and now
concepts are expanded at compile time in Java it seems that generics aren't.
This can run into a runtime penalty, through C++ has the issue with try and
catch which is a problem in the embedded or real time world. I would through
not that I like C++'s OO if you've used C++20 considering some of it's
changes like concepts.

Nick
> 
>> I know reasons why you or I might dislike it:
>>
>> - essentially cannot be statically compiled
> 
> Definitely an annoyance at times.  Interestingly golang went the other
> way and essentially can't by dynamically compiled and isn't objected
> oriented (although it allows functions to be associated with types which
> gives you most of the best parts of object oriented programming and
> making types that can work across another set of types).
> 
>> - uses UTF-16 (I think).  The worst representation of UNICODE.
> 
> It does.
> 
>> - the library is a sprawling mess.  I'd guess that it is impossible to
>>    master
>>
>> - traditional JAVA programming style creates a surfeit of
>>    abstractions, making it hard to understand what's actually going on
>>
>> - implementations are very fat.  For performance reasons, jitting is
>>    used.  This adds another layer of separation between your program
>>    and real hardware.
>>
>> - tuning JAVA program performance seems to too-often devolve into
>>    blindly twiddling knobs on the JVM.
>>
>> - JAVA cannot be improved: so much inertia, so horrible governance.
>>
>> What are your reasons?
>>
>> Those reasons don't make it a horrible teaching language, especially
>> if you subset the library.
> 
> There are much better languages for teaching.  Many places have
> fortunately switched to some of them.
> 
> The resources used by a java program are usually terrible, and there
> is often not much you can do about it as a programmer.  The garbage
> collection isn't great (not sure it ever is in any language).
> 
> Java also is rather terrible at interfacing with other languages.
> It wanted to be its own ecosystem that didn't deal with anyone else.
> I guess to do the 'run anywhere' idea required that, even though that
> hardly ever worked.  The fact features keep getting deprecated means
> many older java programs don't run anywhere anymore (good luck if you
> used jfx)
> 


More information about the talk mailing list