| ▲ | tombert 3 days ago |
| Apple used Java in a ton of backend stuff. At least the entire backend for iTunes (Jingle) was written in Java and very very small amount of Clojure. |
|
| ▲ | steve1977 3 days ago | parent | next [-] |
| There was a time (around the beginnings of Mac OS X) when Java was considered a first class citizen in Mac OS X, next to Objective-C. Some NeXT products like WebObjects got ported to Java (and ran not only the iTunes backend but also things like the original Dell online store) and there was something called the Java bridge which allowed you to program Cocoa applications with Java. https://developer.apple.com/library/archive/documentation/Co... Oh, and with Yellow Box for Windows, this was also possible on Windows. If you look at the screenshots here, it's mostly Windows 2000:
https://developer.apple.com/library/archive/documentation/Le... |
| |
| ▲ | giobox 3 days ago | parent [-] | | It wasn't just Apple, in the late 90s/early 2000s there was a not insignificant number of folks in business/academia who thought Java would take over the world. Windows XP also shipped with an embedded JVM for running Java apps out of the box at one stage too, just before Microsoft doubled down on c#/.NET. Along with MacOS X, Apple's Xcode IDE even had native java project support briefly in this era as well. | | |
| ▲ | steve1977 3 days ago | parent | next [-] | | There was even a Microsoft Visual J++ (and later J#). It was definitely the thing for a while. Although I remember my very first steps with Java and Swing and my primary impression was "this is so slow". | |
| ▲ | jug 3 days ago | parent | prev | next [-] | | Yup, this brings back my academia years in 1998, sitting with KDE 1.0 and Java 1.1. It was mostly Java, then Perl as this fabulous scripting/glue language, teeny bit of C and MIPS Assembler for the low level courses. We didn't touch a fairly esoteric language called Python much. Because we saw the future. Java and IPv6 was about to change everything. | |
| ▲ | bombcar 3 days ago | parent | prev [-] | | Java really could have taken over the world, and it can be performant, too. One of the versions of the most popular game in the world is written in Java, and it's quite capable of being very fast. | | |
| ▲ | steve1977 2 days ago | parent | next [-] | | Well this must have been around Java 1.2 or 1.4 IIRC, I'm not even sure if Hotspot was a a thing back then. I just remember that GUI programming with Swing felt like molasses compared to native GUIs at that time (i.e. Win32/MFC, Cocoa, Motif). But of course the cross-platform aspect was cool and since I did quite a bit with Solaris back then, Java got of course pushed a lot by Sun. | |
| ▲ | CyberDildonics 3 days ago | parent | prev [-] | | Are you talking about minecraft? Minecraft was known for working only because it is so simple graphically compared to other games. It was said to allocate and deallocate hundreds of megabyte of memory every frame. | | |
| ▲ | bombcar 2 days ago | parent [-] | | Minecraft still runs, and it may look graphically simple but it's actually pretty complex (as it has millions of blocks in memory at any time and has to cull which to not render, etc). Minecraft does do some horrible things to the JVM, but it's strong and can take it. | | |
| ▲ | CyberDildonics a day ago | parent [-] | | it may look graphically simple Because it is graphically simple. That's not even a CPU issue. millions of blocks in memory at any time and has to cull which to not render, etc). 128x128x128 is already 2 million voxels. Minecraft and any other game like that can use an octree or some variation to not individually deal with blocks. When things are in the distance or occluded or empty space you cull a courser level of the octree. Java can be fast compared to scripting languages but I don't know why minecraft would be an example. It is a simple game that was poorly written and had to be re-written in C++ for other platforms. It got by on being simple and but running on full PCs at the same time. |
|
|
|
|
|
|
| ▲ | jen20 3 days ago | parent | prev | next [-] |
| One only need look at the job postings for Apple to see quite how common Java backend is there. |
| |
|
| ▲ | rbanffy 3 days ago | parent | prev | next [-] |
| > Clojure Apple should do more of that - they make cool computers, and should use cool languages. |
| |
| ▲ | tombert 3 days ago | parent | next [-] | | Yeah, I wish they did more Clojure as well. As far as I could tell, it was kind of snuck in about ~12 years ago, and it kind of grew from there. To be fair, I know people hate on it, but I honestly do kind of think Objective C is kind of a cool language. I think it's ugly but I think the message-passing style semantics are kind of neat. | | |
| ▲ | jimbokun 3 days ago | parent | next [-] | | Adding Smalltalk message passing as an extension to C was very clever and allowed writing very efficient code and dynamic high level UI code in a single language. The semantics were kept clear by the distinctive syntax of message passing. And allowed access to any existing C libraries. | |
| ▲ | duskwuff 3 days ago | parent | prev [-] | | Objective C is neat inasmuch as it managed to add a simple but practical object system to C without all the added baggage of C++. It wasn't without its downsides - in particular, the overhead of a method call was significantly higher than in C++ - but I still appreciate it for its minimalism. |
| |
| ▲ | Wowfunhappy 3 days ago | parent | prev [-] | | Back in the day, Objective-C was considered a cool hip language, wasn't it? |
|
|
| ▲ | adolph 3 days ago | parent | prev | next [-] |
| > entire backend for iTunes (Jingle) was written in Java Wasn't that because iTunes started out as a NextStep WebObjects application? WebObjects started on Objective C, transitioned to a framework for Java in early 2000's, came to Apple with the Next acquisition. |
|
| ▲ | somewhereoutth 3 days ago | parent | prev [-] |
| iCloud is mostly Java (or was, about 10 years ago when I was there) |