Remix.run Logo
pmdr a day ago

Objective C is by far the weirdest on that list.

saagarjha 20 hours ago | parent | next [-]

Objective-C is basically Java so I wouldn’t call it that weird.

gnabgib 20 hours ago | parent [-]

Objective-C is significantly (11 years) older than Java.

1984: https://en.wikipedia.org/wiki/Objective-C

1995: https://en.wikipedia.org/wiki/Java_(programming_language)

saagarjha 20 hours ago | parent [-]

Correct, Java was designed with a strongly influence from Objective-C.

gnabgib 20 hours ago | parent [-]

One might even say Java is basically Objective-C

pjmlp 17 hours ago | parent | next [-]

Kind of, but with C++ syntax to make it more appealing,

https://cs.gmu.edu/~sean/stuff/java-objc.html

saagarjha 17 hours ago | parent | prev [-]

No, Java never took anything good from the language.

pjmlp 17 hours ago | parent [-]

Sun folks disagree,

https://cs.gmu.edu/~sean/stuff/java-objc.html

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

Sure, they could have taken a bit more, like proper AOT instead of it being a feature only available in third party commercial JDKs, or some low level niceties like C#.

saagarjha 16 hours ago | parent [-]

I was talking about good parts of the language

pjmlp 16 hours 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 15 hours ago | parent [-]

Uh, the entire runtime?

jeberle 7 hours 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 13 hours 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 12 hours ago | parent [-]

Swift has that runtime, by the way.

pjmlp 9 hours 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.

watersb a day ago | parent | prev [-]

Smalltalk, but in C