Solidity: rename Julia

Created on 23 Nov 2017  路  23Comments  路  Source: ethereum/solidity

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.

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.

All 23 comments

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:

  1. julia and iulia are visually very similar in both uppercase and lowercase forms;
  2. 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.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

chriseth picture chriseth  路  3Comments

hiqua picture hiqua  路  4Comments

AnthonyAkentiev picture AnthonyAkentiev  路  3Comments

Dohtar1337 picture Dohtar1337  路  4Comments

chriseth picture chriseth  路  3Comments