4 ms·
GraalVM dev here. Note that Java on Truffle is fully Open Source and available on Github. If you can read Java code and you are interested in how it is impleme
by grashalm 6y ago
GraalVM dev here. Note that Java on Truffle is fully Open Source and available on Github.
If you can read Java code and you are interested in how it is implemented start reading here:
https://github.com/oracle/graal/blob/espresso/espresso/src/com.oracle.truffle.espresso/src/com/oracle/truffle/espresso/nodes/BytecodeNode.java#L634 https://github.com/oracle/graal/blob/espresso/espresso/src/c...
If you are interested in a deep dive into the Truffle technology and are interested in why it makes sense to implement a language on top ofTruffle checkout my recent Rebase talk for a really long answer:
https://youtu.be/O4icaN9khp4 https://youtu.be/O4icaN9khp4
If you don't have enough time for an 1h talk checkout my summary tweet:
https://twitter.com/grashalm_/status/1212763944043139072 https://twitter.com/grashalm_/status/1212763944043139072
- grashalm 6y agoAlso join us on Slack if you have questions: https://www.graalvm.org/slack-invitation/ https://www.graalvm.org/slack-invitation/
- jarym 6y agoHey, I absolutely love Graal and where it is going. Big problem for me has been the license: GPLv2+CPE. On its own this is not a problem but coming from Oracle it makes people nervous. I think if there's ever room to move towards Apache 2 or similar license it would be really welcome.
- deleted 6y ago[deleted]
- pwdisswordfish5 6y agoThere's no reason to think that you're safe even if it were Apache-licensed. One of the things that was made clear in Oracle v. Google is that Oracle effectively treats litigation as an essential expense for exploring all revenue sources, leaving others susceptible to suits whether they have merit or not. Compounding this latter concern was that another thing made clear is that the terms of the respective licenses is something that Oracle doesn't consider important. Refer to McNealy testifying for example that commercial use of even GPL-licensed work is prohibited (despite the terms of the license not supporting this stance).
- kaba0 6y agoAnd there is no reason the spread FUD. Oracle v. Google has nothing to do with it (Java’s licence at the time explicitly disallowed mobile usage) Do you have an examples that give rise to any sort of concern about the usage of GPL-licenced code (regardless of code owner)?
- pwdisswordfish5 6y agoIt's like we're not even having the same conversation. McNealy, founder of Sun, testified under oath that GPL doesn't permit commercial use. What was unclear about this the first time it was stated?
- sideeffffect 6y ago> GPL doesn't permit commercial use That is alarmingly false. Do you have a source that McNealy indeed has said that? I couldn't find anything by googling.
- pwdisswordfish5 6y agoScott McNealy, under direct examination on 2012 April 26: "you can't license GPL code and then resell it for a profit" Source: Official Reporters for the US District Court for the Northern District of California (regarding Oracle v. Google, 3:10-cv-03561)
- logicchains 6y agoA question: how does a company allegedly so lawyer-first, tech-second manage to develop such cutting edge software? Oracle isn't normally a name that comes to mind when people think of programming language research.
- grashalm 6y agoGraalVM was born in Oracle Labs, the spiritual successor of Sun Labs. There are many great innovations coming from Oracle Labs: https://labs.oracle.com/pls/apex/f?p=94065:INTRO https://labs.oracle.com/pls/apex/f?p=94065:INTRO::::::
- chrisseaton 6y ago> Oracle isn't normally a name that comes to mind when people think of programming language research. Oracle has a very large, well-funded, and long-term PL research lab that consistently produces top-tier papers, and funds and collaborates with many academics. If it doesn't come to mind when thinking about PL research then I can't think you're reading much PL research.
- ksec 6y ago>so lawyer-first, tech-second manage to develop such cutting edge software? Most DBA I met would not argue against Oracle having the best Database. Whether they would choose to use it for their projects is entirely different though. Something that is objectively good has zero to do with whether you like or dislike the company. The amount of work that is going into JVM and VM research is absolutely insane. One VM to Rule them All, [1], that was submitted to HN in 2013. [1] https://news.ycombinator.com/item?id=6232240 https://news.ycombinator.com/item?id=6232240
- exabrial 6y agoQuestion for you, but first I just want to say thanks! The technology is awesome. That Tetris game is that a command line thing? If so what library are you using to manipulate the console? I've wanted to create interactive command line utilities with the JVM for a long time and it's always been not supported.
- shelajev 6y agothat's this tetris: https://github.com/kt97679/tetris/blob/master/Tetris.java https://github.com/kt97679/tetris/blob/master/Tetris.java ncurses I think. There's an issue with how jconsole and tetris work together, so when tetris exits, jshell does too.
- mukel 6y agoIt's a Linux-only trick: https://github.com/kt97679/tetris/blob/52dfb3a703e4dd5b379902ecbe30b9dfd45fdef1/Tetris.java#L45 https://github.com/kt97679/tetris/blob/52dfb3a703e4dd5b37990...
- exabrial 6y agoOk what on earth is going on there... It's launching a shell but I'm not sure what the stty does
- jgalt212 6y ago> A new compiler or GC optimisation often requires years of work. With GraalVM that work does not need to be replicated for every language. Isn't this only true for GCC code that operates above the GENERIC form level?
- moonchild 6y agoNot sure what you're saying here. The ‘GC’ refers to garbage collector, not GCC. It is true that you can write a compiler frontend targeting a generic backend (like GCC), and take advantage of existing optimizations. Truffle's somewhat unique value prop is that you can write a basic interpreter (not compiler) and get performance approaching that of a top-end JIT.
- yarg 6y agoAny chance of a wasm and/or llvm backends?