Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #107205 > unrolled thread

Re: [OT] Java generics (was: Guido sees the light: PEP 8 updated)

Started byChris Angelico <rosuav@gmail.com>
First post2016-04-18 09:30 +1000
Last post2016-04-18 11:17 +1000
Articles 3 — 2 participants

Back to article view | Back to comp.lang.python

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [OT] Java generics (was: Guido sees the light: PEP 8 updated) Chris Angelico <rosuav@gmail.com> - 2016-04-18 09:30 +1000
    Re: [OT] Java generics (was: Guido sees the light: PEP 8 updated) Steven D'Aprano <steve@pearwood.info> - 2016-04-18 11:03 +1000
      Re: [OT] Java generics (was: Guido sees the light: PEP 8 updated) Chris Angelico <rosuav@gmail.com> - 2016-04-18 11:17 +1000

#107205 — Re: [OT] Java generics (was: Guido sees the light: PEP 8 updated)

FromChris Angelico <rosuav@gmail.com>
Date2016-04-18 09:30 +1000
SubjectRe: [OT] Java generics (was: Guido sees the light: PEP 8 updated)
Message-ID<mailman.123.1460935859.6324.python-list@python.org>
On Mon, Apr 18, 2016 at 8:02 AM, Tim Delaney
<timothy.c.delaney@gmail.com> wrote:
> I also wouldn't describe Java as a
> "perfectly good language" - it is at best a compromise language that just
> happened to be heavily promoted and accepted at the right time.
>
> Python is *much* closer to my idea of a perfectly good language.

"Java" was originally four related, but separate, concepts: a source
language, a bytecode, a sandboxing system, and one other that I can't
now remember. The published bytecode was way ahead of its day, and
coupled with the sandbox, it made Java into the one obvious language
for web browser applets (until the rise of Flash, and then the
increase in power of JavaScript etc).

If the source language and bytecode+sandbox had been more
disconnected, and the latter more standardized, Java might have been a
hugely popular language because of one important role (web browser
applets) that can also be used elsewhere. Instead, it made a promise
of "write once, run everywhere" that didn't really hold up (the
Australian Taxation Office let you file corporate taxes either on
paper or using their Java application - and it didn't run on OS/2
Java) and lost a ton of potential marketshare. Imagine how the world
would be today, if languages like NetRexx had had a chance to shine -
completely different source code language, compiling to the same Java
bytecode.

Jython might have been the one most popular language for applet development...

ChrisA

[toc] | [next] | [standalone]


#107215

FromSteven D'Aprano <steve@pearwood.info>
Date2016-04-18 11:03 +1000
Message-ID<57143273$0$1610$c3e8da3$5496439d@news.astraweb.com>
In reply to#107205
On Mon, 18 Apr 2016 09:30 am, Chris Angelico wrote:

> "Java" was originally four related, but separate, concepts: a source
> language, a bytecode, a sandboxing system, and one other that I can't
> now remember. 

The virtual machine? Or is that what you mean by bytecode?

The Java Virtual Machine is probably the most successful part of Java, as it
has spawned a whole lot of new languages that are built on the JVM,
including Clojure, Groovy and Scala, as well as JVM implementations of
Python, Ruby, Javascript, Perl6, TCL, Fortran, Oberon, Pascal and more.

https://en.wikipedia.org/wiki/List_of_JVM_languages

One of the more interesting approaches is of Fantom, a new language designed
from the beginning to run on top of any of the JVM, the .Net CLR, or a
Javascript VM.



-- 
Steven

[toc] | [prev] | [next] | [standalone]


#107216

FromChris Angelico <rosuav@gmail.com>
Date2016-04-18 11:17 +1000
Message-ID<mailman.130.1460942252.6324.python-list@python.org>
In reply to#107215
On Mon, Apr 18, 2016 at 11:03 AM, Steven D'Aprano <steve@pearwood.info> wrote:
> On Mon, 18 Apr 2016 09:30 am, Chris Angelico wrote:
>
>> "Java" was originally four related, but separate, concepts: a source
>> language, a bytecode, a sandboxing system, and one other that I can't
>> now remember.
>
> The virtual machine? Or is that what you mean by bytecode?

Could be. I can't remember where it was that I read about the
four-part name overloading on "Java", but it doesn't much matter. The
VM and bytecode go together, and the sandboxing is the thing that
makes that better than just compiling to machine code.

> The Java Virtual Machine is probably the most successful part of Java, as it
> has spawned a whole lot of new languages that are built on the JVM,
> including Clojure, Groovy and Scala, as well as JVM implementations of
> Python, Ruby, Javascript, Perl6, TCL, Fortran, Oberon, Pascal and more.
>
> https://en.wikipedia.org/wiki/List_of_JVM_languages

Yes, but how long did it take before they came along? I didn't click
on all the links, but the five that Wikipedia lists as "High Profile"
are all post-2000. By that time, Flash had already established a
strong footing. NetRexx, in contrast, dates back to 1996, when the
battle was on. It could have been Java's game entirely if there'd been
enough interest in the early days.

> One of the more interesting approaches is of Fantom, a new language designed
> from the beginning to run on top of any of the JVM, the .Net CLR, or a
> Javascript VM.

I hadn't heard of that one specifically, but there have been some
extremely interesting forays into language layering. (PyPyJS, I'm
looking at you.) Code is code, compilers are compilers, you can
implement anything in anything. Although sometimes it's just for the
sake of showing off ("hey look, I just compiled Firefox to asm.js and
ran it inside Firefox!")... but that's fun too :)

ChrisA

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web