Hacker News new | ask | show | jobs
by djaque 2072 days ago
It isn't a problem in Julia editors.

You input characters using the same notation as latex (IE \mu or \hbar) and then tab autocomplete to unicode. Even jupyter notebooks support that convention. Most people in Julia's target audience know latex already and so there is zero learning curve.

It did hugely simplify my scientific code where I already had variable names like hnu, omega_squared, and k_prime_prime which become arduous when checking against long equations.

3 comments

> Most people in Julia's target audience know latex already

Is Julia's target audience really that small? Either that or you'd be surprised how many people don't use LaTeX but do write scientific code and papers.

Even if you don't use Latex, all the equation editors in e.g. word etc use more or less the same latex symbol names Julia does (I remember typing things in by name in MS-Word 2007 long before I started latex). Even if they don't use more latex than that.

And if the people don't use enough symbols in their papers to memorise the type-able names, they probably don't want to use them in their code in the first place.

I don't know Latex and find it difficult to learn, but have found that it's almost trivial to remember the Latex names for these symbols, especially since it's often a small subset of these that you use, depending on your field. They've been pretty quick to get into my muscle memory.

Just like with natural languages unrelated to yours, it's the grammar that really does your head in, needing just the vocabulary is Easy mode.

What else do people use to write scientific papers? A word processor?
There exist journals who accept only Word documents (and then translate it to LaTeX after the editor accepts the paper).
All of my university colleagues (physics dept) knew how to use latex.
For physics, I think that's true. For other fields in general, it probably varies a lot (I'd love to see some numbers). We live in bubbles but we should try to remember that our bubbles don't represent the whole world.
Or they have a secretary that does ;)
Writing in the non-Julia world, my standard keyboard input is set to Unicode character interpretation so I can enter math symbols (mostly predicate logic and Z notation). I can believe it. Just enough to translate the algorithm of interest is enough for it to make sense.
IMO the people whose scientific papers are equation-heavy will have someone else do the editing, or the publisher will have a template. Latex could use a disruption, but who will do it...?
k'' is better than k_prime_prime, sure. But there's still lots of notation that isn't just a sequence of characters. And Latex-style representations are restricted to sequences of characters. A big formula in Latex code is hard to read compared to the rendered version. LyX would be a nicer representation.
So you need a special editor to write code in Julia?
no, the comment is the included REPL has it, and that most editor plug-ins (of which they exist for vim, emacs, sublime, Atom, VS-Code) intended for julia, add the same unicode shortcuts, as well as the usual syntax highlighting, keyword completion etc.

If you don't want to use the, but do want to enter unicode, then you can do it the normal way. But I feel like the fact that you want to enter unicode but don't want to install a plugin to make it easier is pretty weird. I guess it could come up if editting someone elses code. As a general rule most libraries (including the standard libary) make very limitted use of unicode in their APIs, so you don't have to use unicode to work with the library.

I would go so far as to say if a library requires you to use unicode you should open an issue, and get them to add a ascii alias for that function. (julia standard library had just such an issue opened a few versions ago about the compose operator ∘ and not we have a `compose` function to match).

I would also say internally most packages make very limitted use of unicode also. Even with the plugins it is still a bit annoying to type. Plus often it would be a less meaningful variable name. E.g. why say: θ, when you could be saying `departing_assent_angle` or something else that conveys context specific meaning. Its nice to have the option for when it is clear, but I think pleasingly people only use it in moderation.