Live data from Hacker News

TruffleC: A C implementation on top of JVM (2014)

dl.acm.org

81–90 of 93 posts

Re: TruffleC: A C implementation on top of JVM (2014)

#81

Earlier quoted context omitted.

Absolutely correct. And frankly I don't understand the hate people have against Java. Especially the new generation developers. Maybe the language part only. But have seen much hate towards JVM too. With projects like loom, valhalla, graalVM, JVM/Java is everything a modern language/runtime needs, plus a lot lot more. I frankly believe the only other commercially viable language that has similar philosophy to JVM dev…

My opinion: people dislike the Java platform mainly for the language, perhaps too ceremonial and verbose for today's trends. Also older developers remember Java from the J2EE/Struts/applets days as something overarchitected, slow and with cumbersome tooling, but that would not apply to the younger cohorts. Maybe a new programmer just sees Java and thinks "legacy", and we love to feel we are on the edge of technology.

We also remember that when compared with CORBA and DCOM, it was a pleasure to work with.

Re: TruffleC: A C implementation on top of JVM (2014)

#82

Way over my head here , but can someone perhaps explain the value and/or use-case of running c within a jvm?

Benefit of the JVM without the bloat of the Java language. I suspect particularly for resource constraint systems, RAM in particular. Not particularly convinced myself!

Graal is a JVM implemented in Java....

Re: TruffleC: A C implementation on top of JVM (2014)

#83

Earlier quoted context omitted.

Downvoted, I suspect because people don't believe Java was originally invented for STB aka Interactive TV https://www.javatpoint.com/history-of-java there are other references to this on the web too. I am possibly conflating JVM with Java, however I was under the impression they was designed as one to begin with.

The language, the compiler, and the JVM were developed at Sun starting in the early 90s at Sun under the leadership of James Gosling.

Gosling started more abstractly based on virtual machines he had built in the past for some pretty bizarre hardware. This was to be general-purpose.

Set top boxes were a very early use case. It coincided with the boom of these types of systems that were growing past the traditional “embedded” boundaries. Gosling and the team were working on that when it was still Oak and hadn’t been branded.

There’s an amazing video of him telling the story. I think it’s on YouTube.

Re: TruffleC: A C implementation on top of JVM (2014)

#84

Earlier quoted context omitted.

The side-bar says 'highly influential' but the badge lower down says 'highly influenced' which sounds like a bad thing doesn't it?

Probably meant as "[this paper has] highly influenced [citing paper]".

Semantic Scholar is calling out when it thinks the researchers were using drugs.

Re: TruffleC: A C implementation on top of JVM (2014)

#85
post #71
post #48

Earlier quoted context omitted.

The RISC-V post is gonna be shipped in Java 19.

Nice! Is it still interpreter only, or will we have C1 and C2 JIT support as well?

All of them. Basically, JEP 422 is merely merging it into OpenJDK. Caveat: only the RV64GV (general-purpose 64bit with vector instructions) is supported.

https://openjdk.org/jeps/422

Re: TruffleC: A C implementation on top of JVM (2014)

#86

JVM was originally designed for set top boxes (STB) I believe, the problem there being a variety of architectures, thus a Virtual Machine solved the problem of write code to the virtual machine and not the physical machine and applications could run on various STB's. OpenTV provided such a 'middleware' where the main language was C on such a VM, and was (possibly still is) widely used.

Yeah, the information superhighway was NOT originally the web. Many influential people, like BillG, thought interactive TV and other such innovations would be the “big thing” until Netscape came out and began to completely transform the industry. Then, after a short bit, Netscape began supporting Java Applets and the world was made slightly crappier than it might otherwise have been.

EDIT: I say crappier due to security flaws that were present with JVM and Applets early on

Re: TruffleC: A C implementation on top of JVM (2014)

#87

Earlier quoted context omitted.

The JVM is an absolutely beautiful constructed software and protocol. I hope it stands for millennia, just like the colosseum, even if not in active use.

Absolutely correct. And frankly I don't understand the hate people have against Java. Especially the new generation developers. Maybe the language part only. But have seen much hate towards JVM too. With projects like loom, valhalla, graalVM, JVM/Java is everything a modern language/runtime needs, plus a lot lot more. I frankly believe the only other commercially viable language that has similar philosophy to JVM dev…

For my part the problems with the JVM are manifold:

- it’s a heavyweight blob that you have to ship with your binary. It can be many times the size of the thing I’m trying to run.

- it’s a word salad of technologies that apparently I’m supposed to care about

- many of the claims of how great it is are really just ongoing claims of how great it’s going to be.

To the latter point, value types (discussed in this thread) have been discussed since I was still using Java - a quick Google shows results from 2014. I haven’t written Java code commercially since 2018. I can’t find anything suggesting it’s here yet.

Keeping track of all these technologies and trying to understand when they will arrive and make my day to day life better was a nightmare.

Compared to that, I can build a Go binary, scp it to some machine and run it. That’s not possible in the JVM world, at least not without a level of calisthenics I’m simply no longer willing to deal with.

GraalVM and friends may be wonderful technologies, but honestly I don’t care. I don’t want to have to thread the needle of this ecosystem every time I have work to get done.

Re: TruffleC: A C implementation on top of JVM (2014)

#88
post #73
post #72

Earlier quoted context omitted.

No, but it's hard to define what .NET is, because while there has been something called .NET for 20 years, it hasn't quite been the same thing. Is .NET now (.NET Core) the same platform as .NET of 2005? Also .NET is not as popular, and its adoption is also a little weird. It's quite popular overall, but doesn't dominate any domain. It's used on the server but not nearly as much as Java; it's used on the client, but n…

Java surely hasn't taken any bite out of .NET desktop development, or the game industry, with exception of Minecraft. Regarding defining what Java is, what about Android Java, real time Java, Java on mainframes, forks like microEJ, Graal, OpenJ9, Azul.... Just as hard to define.

I never said Java took a share of .NET's desktop, but the dominant client-side platform these days is neither Java nor .NET. And by Java I mean the 27-year-old Java SE specification (real-time Java makes up for a negligible portion of Java's market share, and while JavaCard is incredibly popular, I count it separately).

Re: TruffleC: A C implementation on top of JVM (2014)

#89
post #88
post #73

Earlier quoted context omitted.

Java surely hasn't taken any bite out of .NET desktop development, or the game industry, with exception of Minecraft. Regarding defining what Java is, what about Android Java, real time Java, Java on mainframes, forks like microEJ, Graal, OpenJ9, Azul.... Just as hard to define.

I never said Java took a share of .NET's desktop, but the dominant client-side platform these days is neither Java nor .NET. And by Java I mean the 27-year-old Java SE specification (real-time Java makes up for a negligible portion of Java's market share, and while JavaCard is incredibly popular, I count it separately).

You're right, it is Android Java, which isn't Oracle's Java.

On a .NET/Java shop and we have like 50% of both stacks in every, single, project.

Nowadays I tend to spend most of my time on the .NET side, because I get to enjoy Valhalla, Vectors, async/await, TPL, since years now, instead of waiting for what might never come.

I get to be on both sides of the coin, which would be advisable to the Java team to better know the competition.

Re: TruffleC: A C implementation on top of JVM (2014)

#90
post #83

Earlier quoted context omitted.

The language, the compiler, and the JVM were developed at Sun starting in the early 90s at Sun under the leadership of James Gosling.

Gosling started more abstractly based on virtual machines he had built in the past for some pretty bizarre hardware. This was to be general-purpose. Set top boxes were a very early use case. It coincided with the boom of these types of systems that were growing past the traditional “embedded” boundaries. Gosling and the team were working on that when it was still Oak and hadn’t been branded. There’s an amazing video…

What sort of bizarre hardware? That sounds interesting!
Post reply on HN