Please consider renaming the JULIA intermediate language to avoid confusion with the Julia programming language (JuliaLang/julia on GitHub). Julia is currently #35 on the Tiobe language index and has been used to express and evaluate financial contracts, in formal systems specification, as a language for code generation via LLVM, and even as a language for specifying ethereum contracts, so the potential confusion here is significant and will only increase in the future.
We are in the process of renaming it to IULIA.
As a german speaker, those two sound pretty much the same to me (or maybe closer to ijulia, but still confusing). As a fellow programming language person I love the work you're doing and I know naming is hard, but please do consider choosing something with greater phonetic distance.
I'm sure there's a ton of great names out there. Looks like a couple of them were proposed in #2131. I'd also be happy to help brainstorm further on naming, but that's probably not my place. I hope you'll consider this request, so both communities can avoid adding "no, not that julia that's a totally different thing" every time they talk about how cool their technology is.
I don't think there will be much confusion. IULIA is an extremely low-level language that is used internally in Solidity and in the future perhaps some other languages strongly focused on the specific use-case of smart contracts for Ethereum. Julia is a "high-level, high-performance dynamic programming language for numerical computing" - I don't see the blockchain context there even if I pinch my eyes really hard.
Nobody said a thing when we named its predecessor "assembly"...
"Assembly" refers to a class of languages, generally one per architecture. I'm sure people would have been very confused had you used the name "AT&T x86 assembly", despite x86 assembly not being a blockchain. Julia obviously also has an intermediate representation, which is generally called "Julia IR", as well as all the other standard compiler concepts "Julia AST", etc. Several people in #2131 did in fact express confusion. As @StefanKarpinski mentioned, it is entirely possible to use julia as an evm frontend language, though not many people really want to do that right now, because that's not really it's focus. Julia can also compile to wasm, which people are more interested in. I recognize you like the name. I understand. It's a very nice name, but let's please avoid this headache.
To be honest: I landed here because I wanted to see what packages are available for Julia (the "other" Julia) regarding Ethereum. So I guess there is a real potential for confusion. Although, I don't think IULIA would be a problem.
I also thought for month, https://github.com/JuliaLang/julia would be the language you use (as someone now even working for the foundation on JS stuff, but not being too close to solidity compilation stuff). I think renaming to Iuliais not enough, this will inescapebly lead to problems in the future.
(even after the renaming, overlooked this one-letter change)
Just as a short opinion which might hopefully help, have no strong personal stance on this.
I also came upon this thread as someone developing code in Julia and considering writing a Solidity wrapper. I think Julia has huge potential to promote Ethereum smart contracts.
@StefanKarpinski
even as a language for specifying ethereum contracts
Is there anything public you can share about this? I would be interested 馃槉
Is there anything public you can share about this?
No, it was just something I heard from people in passing, probably at the last JuliaCon.
I'll take the bumping of this thread to enquire if there's been any progress on this issue. @chriseth, any news on the rename?
SOLIDIA?
SOLVENT
Please also check the other renaming thread starting from here: https://github.com/ethereum/solidity/issues/2131#issuecomment-297799187
This has been answered in the first comment, I don't see a need to keep this issue open.
I'm a bit confused. The name doesn't seem to have been changed in the code or the documentation. Isn't the idea behind issues to track things that still need to be fixed/changed, which is a category this still seems to be in? Or do you not use GitHub issues that way? Is there another issue tracker that would be more appropriate to follow so that I can be notified when this issue is resolved?
I also find this questionable to close this issue now with so many upvotes on this and the related thread going in another direction.
I have created an issue to update the documentation: https://github.com/ethereum/solidity/issues/3791
Also there have been two comments in this thread which didn't feel Iulia is a big enough change. It would be nice to address these concerns.
There are at least two reasons that iulia does not seem sufficiently different to avoid confusion:
julia and iulia are visually very similar in both uppercase and lowercase forms;julia and iulia are pronounced similarly in most languages and the identically in many.Someone seeing the name "iulia" or "Iulia" in a talk title or hearing it pronounced by many speakers might easily miss the spelling difference or assume that it was a typo or variation in pronunciation and assume that it was intended to refer to the Julia language. Please consider changing the name to one that is both visually and phonetically sufficiently distinct to avoid possible confusion with Julia.
@chriseth just my 2 cents.
I don't mind much whatever choice of name people might have, language names aren't super important to me. It does seem like there is widespread support for changing the name and this is becoming a blocker for adoption.
Decision was to use
yul. Finally :)
From #2131, it looks like the name of the Ethereum IR language has been changed to yul
As mentioned the agreed name was Yul and the documentation and code has been reflected for that: http://solidity.readthedocs.io/en/develop/yul.html
However, since the documentation is versioned and we haven't released 0.5.0 yet, the "stable" documentation for 0.4.25 still show Julia. This should go away once we release 0.5.0 and that becomes the "stable" documentation.
Most helpful comment
"Assembly" refers to a class of languages, generally one per architecture. I'm sure people would have been very confused had you used the name "AT&T x86 assembly", despite x86 assembly not being a blockchain. Julia obviously also has an intermediate representation, which is generally called "Julia IR", as well as all the other standard compiler concepts "Julia AST", etc. Several people in #2131 did in fact express confusion. As @StefanKarpinski mentioned, it is entirely possible to use julia as an evm frontend language, though not many people really want to do that right now, because that's not really it's focus. Julia can also compile to wasm, which people are more interested in. I recognize you like the name. I understand. It's a very nice name, but let's please avoid this headache.