Remix.run Logo
saagarjha 2 days ago

I was talking about good parts of the language

pjmlp 2 days ago | parent [-]

Like [] and @ all over the place, C lack of safety, and manual memory management?

Because I don't see what else good Java has left out, besides AOT in the box and unsigned types.

saagarjha 2 days ago | parent [-]

Uh, the entire runtime?

jeberle 2 days ago | parent | next [-]

I would look to the UCSD p-System as a precedent to the JVM. Both are byte-code interpreted VMs. Gosling used the p-system earlier in his career, prior to joining Sun.

https://en.wikipedia.org/wiki/James_Gosling#Career_and_contr...

The Objective-C runtime is very small: just enough to do late-bound fn calls to a tree of class defs. All on top of C.

pjmlp 2 days ago | parent | prev [-]

I beg to differ, given the engineering effort that went into JVM across various Java vendors, versus Apple and NeXT have done.

Proven by the fact that Swift had to be invented, as there was nothing left to fix Objective-C in a proper way.

saagarjha 2 days ago | parent [-]

Swift has that runtime, by the way.

pjmlp 2 days ago | parent [-]

Nope, Swift interops with Objective-C runtime to ease code migration from legacy Objective-C code, and existing Apple frameworks predating Swift.

A runtime that isn't part of the cross-platform Swift project, with missing functionality being rewriten into Swift.

saagarjha 7 hours ago | parent [-]

Yes, and those platforms are worse off for it.