[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