I will be honest, I actually used \Upsilon instead of Y in one of my code and they look exactly the same. Actually, I used both of them that time, and only I know which of the two chatacters is intended for what.
But this is a piece of code nobody cares about, so nobody has ever noticed that I did this.
Just to clarify, the exercise I am proposing is creating a programming language which has nearly sane syntax, then making whitespace significant in some obscure way.
Julia chickened out very early with some minor whitespace corner cases in the parser. Python looks promising, but it is actually reasonably consistent.
I’m also a mathematical epidemiologist. I moved over from C++/Octave (why didn’t I use R?!) after a colleague (an economist / epidemiologist) suggested it. As soon as I tried it I found it was lovely to work with and the repl + good performance meant I could proceed at a far faster pace than with C++, even if at the time I was getting only about 1/5th the C++ performance in my models.
I haven’t come across any other language where it’s as easy to express the logic as in Julia. It’s no wonder that it’s gained quite some popularity at our department who are otherwise mostly R or Java users.
Yeah, thats very similar to my department. C++ / R / MATLAB have been mainstays, with Julia (rapidly) increasing in popularity.
Python is a quite marginal language amongst maths epi people that I’ve met, although I don’t make any claim that this is universal. But the wide-spread claims about Python being incredibly expressive haven’t seemed to penetrate epi modelling in the same way as it has other fields.
I think the success of Julia in epi modelling is mainly down to DifferentialEquations.jl.