Is Julia the Next Big Programming Language? MIT Thinks So, as Version 1.0 Lands (techrepublic.com) 386
Julia, the MIT-created programming language for developers "who want it all", hit its milestone 1.0 release this month -- with MIT highlighting its rapid adoption in the six short years since its launch. From a report: Released in 2012, Julia is designed to combine the speed of C with the usability of Python, the dynamism of Ruby, the mathematical prowess of MatLab, and the statistical chops of R. "The release of Julia 1.0 signals that Julia is now ready to change the technical world by combining the high-level productivity and ease of use of Python and R with the lightning-fast speed of C++," says MIT professor Alan Edelman. The breadth of Julia's capabilities and ability to spread workloads across hundreds of thousands of processing cores have led to its use for everything from machine learning to large-scale supercomputer simulation. MIT says Julia is the only high-level dynamic programming language in the "petaflop club," having been used to simulate 188 million stars, galaxies, and other astronomical objects on Cori, the world's 10th-most powerful supercomputer. The simulation ran in just 14.6 minutes, using 650,000 Intel Knights Landing Xeon Phi cores to handle 1.5 petaflops (quadrillion floating-point operations per second).
Comment removed (Score:5, Funny)
Re: (Score:2)
Apparently Julia moves quick and has been used by a lot of people in the last 6 years. I think I know Julia.
Obligatory Betteridge's Law Post. (Score:3, Interesting)
Re:Obligatory Betteridge's Law Post. (Score:4, Interesting)
To save people effort googling:
https://en.wikipedia.org/wiki/... [wikipedia.org]
Re: (Score:3)
To save people the effort of opening a new tab;
Betteridge's law of headlines is an adage that states: "Any headline that ends in a question mark can be answered by the word no."
Let's make something to meet everyone's use cases! (Score:4, Insightful)
Great.. (Score:5, Insightful)
Great... Just what we need... another language.. oh wait, that will need a new package manager.. and new frameworks.. and..
screw it I'll just stick to C++.
Re: (Score:3)
Having languages to choose from is a good thing. Saying Julia is the perfect language may be pushing it, because it may be the perfect Language for MIT, and research and education. It may not be a good language for businesses who may want more CRUD applications, and/or Heavy Database work and reporting.
Julia seems to trying to compramise on the fight within MIT whose better. C++,Python, R and Ruby (Currently the most popular languages Outside of Java* ). They basicly took the key strengths of the differe
Take A Look At Crystal (Score:5, Interesting)
There is always going to be argument about which language is the best, which Linux distribution, which web framework, and systemd.
I have been using Crystal [crystal-lang.org] and the Lucky Web Framework [luckyframework.org] for a large project, and it's been great. Crystal's handling of types, and the fact that you get all of the error-killing power of tight typing while you often don't have to specify the types at all because they are inferred, has make my code cleaner and easier to write, with fewer bugs and less need for testing. You write it like an interpreted language (it follows Ruby syntax, but treats typing and metaprogramming differently) and it has compiled speed (uses LLVM).
Re: (Score:2)
it follows Ruby syntax
That's supposed to be a selling point?
Re: Take A Look At Crystal (Score:3)
Re: Take A Look At Crystal (Score:3)
Occam is also whitespace sensitive, as part of the logic for determining design bugs. I don't mind it, although it's not everyone's preference. Occam is one of the few languages in which programs are provable, so I'm careful about arguing about design defects.
Re: Take A Look At Crystal (Score:2)
Re:Take A Look At Crystal (Score:5, Insightful)
I have been using Crystal [crystal-lang.org] and the Lucky Web Framework [luckyframework.org] for a large project, and it's been great. Crystal's handling of types, and the fact that you get all of the error-killing power of tight typing while you often don't have to specify the types at all because they are inferred, has make my code cleaner and easier to write, with fewer bugs and less need for testing. You write it like an interpreted language (it follows Ruby syntax, but treats typing and metaprogramming differently) and it has compiled speed (uses LLVM).
I'm sure your employer (or contractor) is ecstatic about the fact that they'll have to pay 3x the going rate to find devs that can work on the project you've built. Well actually that's not true. They'll have to pay someone to completely re-write the project when they can't find anyone to work on it and / or the niche framework you've picked is no longer supported / evolved.
Maybe it was a pet project though.
Re: Take A Look At Crystal (Score:2, Interesting)
Re: Take A Look At Crystal (Score:4, Insightful)
Your viewing this from the perspective of the sort of programmer who is hired like an interchangeable cog.
If you are telling me that you develop in a way that isn't easily picked up by another engineer, I don't think you are the master you think.
Software engineering is... engineering. That means it's well documented, easily understood standard practices. Part of that is choosing a language, toolchain, and development environment that is stable and well understood.
They are probably more concerned with time-to-market than anything else.
Probably? So you explained it to them right? They probably don't understand the implications of your choices.
Re: Okay, slightly less bad than julia. (Score:2)
Re: Okay, slightly less bad than julia. (Score:2)
No. (Score:5, Informative)
C is lightning fast and is the tool for when you know what you're doing.
Python is .. for everything else.
Everything else just turns into a clusterfuck over time. C and Python have somehow avoided turning into clusterfucks by being simple, while building an unstoppable freight train of reference work.
Julia solves lots of problems in a specialized domain, but most programming is laughably mundane.
Re: (Score:2, Flamebait)
Everything else just turns into a clusterfuck over time.
Exactly, try looking at ANY fully functional Julia code (not the trivial examples from docs & tutorials) - it's ALREADY a giant clusterfuck, it's unreadable gobbledygook on any kind of usable scale that isn't a trivial demo.
Re: (Score:2, Insightful)
Python is a clusterfuck. Not enough people recognize it in time.
Convolution Evolution (Score:2)
Almost all programming languages that end up in common use become messy as features and adjustments based on practical experience and industry changes are added over time. The originators cannot anticipate all future needs and trends/fads*.
C# used to be relatively simple because it applied to hard lessons of Java, but has grown screwier over time to keep up with the Jones' (along with Java).
Just try to do reflection on nullable C# types
Re: (Score:2)
when you want to automate class/schema mapping between layers
I honestly don't even know what this means. All I have is some vague idea. Do you have a practical example?
Re: (Score:2)
Re: (Score:2)
While I definitely agree the fad driven additions cause a lot of headaches in languages, playing devil's advocate, some of the features are added because of a growing need from the user base and no one wants to rewrite their codebase just because a whole new language was designed for one feature (even a big feature). I mean, C++ was basically just C with class support tacked on originally so that code would easily port into it, and look how popular C++ remains.
To borrow your example, C# has had some very m
Re: (Score:3)
Just try to do reflection on nullable C# types, for example. It's a WTF moment. When you investigate why it's that way, you learn that nullable types are an ugly hack on top of the existing dynamic type sub-engine.
In what way? Aside from some magic around implicit type conversion, Nullable types were added to the language through the Nullable<T> generic struct and some new language syntax to support the int? syntactic sugar (instead of Nullable<int>). Detecting and reflecting on a nullable type is just a matter of using Nullable.GetUnderlyingType(Type), or if you want to do it the long way you can always use the IsGenericType, IsValueType, GetGenericTypeDefinition(), and GenericTypeArguments on the Typ
Re:No. (Score:5, Insightful)
C is lightning fast and is the tool for when you know what you're doing.
Python is .. for everything else.
So Python when (a) you don't need fast and (b) you don't know what you're doing. :-)
[ And when you don't want C, but want fast and you know what you're doing, use Perl. ]
Re: (Score:2)
So Python when (a) you don't need fast and (b) you don't know what you're doing. :-)
[ And when you don't want C, but want fast and you know what you're doing, use Perl. ]
Actually . . . I prefer to use a language that let's others, who don't know what they are doing . . . understand what I am doing, who ends up doing it for them.
Folks who don't know what they are doing . . . usually end up not doing anything, anyway.
Re: (Score:2)
Actually . . . I prefer to use a language that let's others, who don't know what they are doing . . . understand what I am doing, who ends up doing it for them.
That's largely a factor of the programmer, not the language. One can write (un)readable code in any language. For example, just because Perl allows one to write cryptic code, doesn't mean one must and doesn't mean one can't add documentation when appropriate and/or to clarify cryptic code when used.
For example, several of my co-workers have mentioned that they can identify a piece of my code in (say) C, Java, Ksh and Perl by my style, structure, clarity and documentation and have no problems following m
Packages, build, editors (Score:2)
My impression is that for every language other than C/C++, there are three things more important than almost any feature of the language or runtime:
(1) the package system - how you search+download+reference them, how dependencies+conflicts are managed, how updates are managed
(2) the build system
(3) editor integration, be it Emacs or Sublime or VSCode
I like Python, but it is something of a cf (Score:2)
I use Python much more than C or C++, but seriously. The complication between Python 2.x and 3.x compatibility is immense. And then there are the third-party libraries that frequently are no platform independent. To try to address this nightmare, the concept of Python virtual environments has been created as a hacky workaround.
For these reasons, I cannot agree with y
R.I.P. Python (Score:2, Insightful)
Python 2.x to 3.x incompatibility is a total clusterfuck, and it's why I left the language.
At this point I only trust people if can define their language up front in a way that can be safely extended and hopefully standardized. I'm not going to muck with Python again only to have it break in some version 4 or version 5. (Yes, I still have code in production with K&R prototypes even though ANSI C has been around for nearly 30 years.)
Languages that offer useful pure functional programming are the future w
Re: (Score:2)
Functional languages are great, but difficult for a lot of people to wrap their heads around. I still routinely see people completely misuse even the simple C# lambda expressions because they don't understand the paradigms of that type of programming. Granted the lambdas in C# are confusing to understand how they execute under the hood just due to the nature of how they implemented the feature (and people assuming just because a generic functions is defined it must be the best one for their particular nee
Re:No. (Score:5, Insightful)
C is lightning fast and is the tool for when you know what you're doing.
C is a lightning fast tool for people who are obsessed with micromanaging things which can be easily automated. If yu want lightning fast performance (often faster) but don't really want to do things by hand that a computer can be easily taught how to do then there's C++.
Everything else just turns into a clusterfuck over time. C and Python have somehow avoided turning into clusterfucks by being simple
C moves the complexity of the language into every single project that uses it. So the language per-se might not be a cluster fuck, but it is the epicentre of a custerfuck of biblical proportions.
Re: (Score:2)
My [limited,
Julia solves lots of problems in a specialized domain, but most programming is laughably mundane.
This.
Programming is a tool. There needs to be a problem to solve... I find too many coders fail to see that and get lost in how clever they're trying to be.
Re: (Score:2)
Ouf... mangled.
I can't summon the brain power to think of what I initially wrote down.
Re: (Score:2)
"C is lightning fast and is the tool for when you know what you're doing."
No one knows what they're doing.
Re:No. (Score:4, Interesting)
Re: (Score:2)
C is lightning fast and is the tool for when you know what you're doing.
C's good for situations where your development machine or target for some reason can't handle a smarter compiler. Its actually *too* low level for best optimization, as it forces the user to specify too much detail and provides too much unnecessary aliasing capabilities.
It just looks blazingly fast if you only compare it to interpreted or VM-based languages.
To quote Julia (Child)... (Score:4, Funny)
Full unicode variable names are a mistake (Score:3)
I can see perhaps adding some greek symbols to ascii for variable names, function names, but allowing full unicode is a disaster of a design decision since it permits all kinds of deliberately obscured code.
Languages need to be about well-chosen constraints to guide creativity, not about absolute freedom. Libertarian languages are a bad idea, since code is maintained and extended collectively.
Unicode for string data, yes, of course. But entity names in the language, no, no, no.
Re: (Score:2)
Re: (Score:2)
But these are a consequence of allowing mixed case identifiers, something you WANT to do. The other is a consequence of something you don't want to do. A feature or capability without redeeming qualities shouldn't be done simply because it can be. Doing the right thing isn't about whose responsibility it is.
Re: (Score:2)
But these are a consequence of allowing mixed case identifiers, something you WANT to do.
True
The other is a consequence of something you don't want to do.
False, it's a consequence of something you seem to think someone else could use wrongly. Other people already have useful cases in mind.
A feature or capability without redeeming qualities shouldn't be done simply because it can be.
True, and the fact that someone else can think of redeeming qualities, but that you cannot, is a personal issue. Still not a fault of the language.
Doing the right thing isn't about whose responsibility it is.
True, but not an argument against allowing something optional.
Re: (Score:2)
Language should guide you to good practices (Score:3)
and try to limit the egregiousness of bad code.
One example. Languages should probably enforce the presence of a method header comment.
If you still choose to make it a useless comment, you're just advertising your complete misfit / incompetent status.
Language made it easier to do the right thing and harder to do a bad practice.
Same goes for meaningful indenting enforcement. It's a good thing, because it doesn't hurt, and encourages comprehensible code.
The freedom you NEED as a programmer is freedom to
- organ
Re: (Score:2)
Re: (Score:3)
I can see perhaps adding some greek symbols to ascii for variable names, function names, but allowing full unicode is a disaster of a design decision since it permits all kinds of deliberately obscured code.
do they allow full unicode. C++ allows unicode[*], but it specifies which character ranges within unicode can form part of an identifier. So you can have a poop emoji as an identifier, but not a thin space.
[*] which is to say it doesn't and does sort of, in the most C++ish way possible. C++ is defined in
Re: (Score:2)
Yes and no. Within an organization those problems can be solved with a style guide that is enforced properly. Now, in the open source community and development at large you have a solid point though. Still, I would argue some of it could be curved with generally accepted guidelines just like how camel case is the norm for lots of function/method naming, hungarian notation is still heavily used in dynamic type languages, and almost universally it seems everyone uses caps for constants. These are things t
Re: (Score:2)
Cryptocurrency is going to be the implementation mechanism for global universal-basic-income, once the AIs and robots take most of the jobs.
Welcome to non-labor-based neosocialism.
the usability of Python (Score:2)
So complete dumpster fire then - got it
The next language will be called "Popplar" (Score:2, Troll)
Because almost all the other names have been taken: https://en.wikipedia.org/wiki/... [wikipedia.org]
After that, all we have left is "Zittzers".
If you don't get the reference, you don't belong here.
Re: (Score:2)
A good Matlab replacement, not the next big thing. (Score:5, Insightful)
If MIT had been having its way, we'd all be using Scheme.
Julia is a better Octave (open source Matlab replacement) - good for computer scientists, but software engineers will not be interested. Question is, will the scientific community create enough definitive libraries to provide alternatives for Matlab toolboxes. Not enough seem to have attended the Octave party.
Also, computer scientists don't define popular adoption of programming languages. Else, we'd be using Haskell/Scheme by now.
Re: (Score:2)
Yes, Python is the current replacement.
However, Python is just not an array programming language by design.
https://github.com/malmaud/Ten... [github.com]
Julia is Python + Numpy + Numba, without GIL, with metaprogramming features to make the code more symbolic than is possible with Python.
It's community also tries to work along side Python, rather than compete. There are packages to call both ways.
If you write only occasional linear algebra code, Julia is not worth the effort. But for those who write a lot more math code
Re: (Score:2)
If you look for Python in Julia, you will be disappointed. When I first tried Julia, a few years ago, on a slow machine without an SSD, the plot package, Gadfly, took minute(s) to load.
This was likely due to the JIT. Startup times are not a key factor for its target audience. This is not a typical scripting language. People fire up the interpreter and leave it running all day or all week, as they test snippets in it. It is used like Matlab or like a Jupyter notebook session. Scientific packages in Python ta
Re: (Score:2)
> Even in older machines I still had to come to a python package that didn't load in a fraction of a sec
Spacy would take a while to load the english model. Pandas + Scikit-learn used to take a few seconds some years ago, without an SSD (~1 sec each now). So did matplotlib. With SSDs and modern hardware though, things got a lot better.
Only some of Julia's packages were heavy. Gadfly was the worst then. When I first looked at it, the slow startup stood out for me as well. But I can tolerate 5 sec for a la
Okay. Let's do this ... (Score:5, Funny)
... for developers "who want it all" ...
I want: local/global "goto" operations; unchecked pointers and arrays; brace *and* white-space (for you Python freaks) block delineation; weird operators like "+-+", "=!=", "-+/*" and "..."; support for casting on the *left* side of the assignment (ya, I did that on 4.3 BSD w/K&R C); random requirements for some variable to be in UPPER case and/or start with specific letters (for you FORTRAN fans) ...
Feel free to add to this; I'll be back after I get a fourth cup of coffee.
Four cups of coffee (Score:3, Funny)
..are you having a day off?
I would like (Score:5, Funny)
the readability of Perl with the brevity of COBOL.
Re: (Score:2)
weird operators like "+-+", "=!=", "-+/*" and "..."
Just out of curiosity, what should those operators do ? Do they exist in some languages ?
Re: (Score:3)
Well "..." is the spread [mozilla.org] operator in Javascript, here's =!= [stackoverflow.com], it seems plausible that "+-+" might be interpreted as x+(-(+y)) which collapses to "x-y". Not sure about -+/* but Ruby should get a honorable mention for %/% [statmethods.net]. The most annoying thing about operators though is not each one, it's the precedence rules. For example in SQL "WHERE a OR b AND c = 1" when you mean "WHERE (a OR b) AND c = 1. I really, really wish some smart language would say "fuck that, we're not making obscure rules nobody remembers/noti
Re: (Score:2)
I want: local/global "goto" operations...
Right. The language designers are clearly aware of this issue, they have created a library macro that kind-of does goto. But it is lame, I tried it. It is ugly with weird limitations. Obviously, the macro just tries to translate the goto into an equivalent using the existing structures, and that fails in many common cases. Plus @goto just plain looks ugly. This half measure is not enough. Doing the job properly is not rocket science.
Re: (Score:2)
C has such lovely arcane features, and I cut my teeth doing bare-metal programming with it. Good times indeed.
If you haven't shipped at least of few thousand lines of production C you don't know what the fuck you're doing.
Not that writing that little C makes you a Torvalds or Wietse Venema, but at least you are demystified on a number or essential things for which the average "masters degree" graduate that hasn't seen anything the preceded Java and Javascript are entirely unqualified.
Why? (Score:2)
Re: (Score:3)
It is the only array programming language with a decent JIT.
It is a high-level array programming language like Matlab/Octave/R, while executing at about the speed of a native language like Fortran.
If you prototype a lot of linear algebra functions in an interactive environment, this is the language for you. The thunder is somewhat stolen by newer tools like tensorflow, which give you GPU performance, while still providing a high-level language (Python).
Still, Julia has meta-programming features. So it can d
Re: (Score:2)
Native C interface is a huge feature, this gives immediate access to a huge number of libraries. It mystifies me why so many language projects drop the ball on this one (most definitely including Java, if you don't agree then you just don't know JNI)
MatLab eh.. (Score:4, Funny)
the mathematical prowess of MatLab
Like arrays starting at index 1?
Re: (Score:2)
Link to a critic's view (Score:2)
Like most of the comments here, not impressed... See the comments under the article for rebuttals. They have some good points, but I think this will only suit a niche user if it survives in the longer run.
No thanks (Score:2)
No curly braces? Asymmetric 'end' doesn't work for me.
No switch control statements? Seriously?
Garbage collected = ick.
Socket interface was written by mickey mouse. No protocol family? Apparently only works with IP (TCP/UDP only) and domain sockets. To say that Sockets.setopt is lacking is the understatement of the year.
Included function library way too weak to take seriously.
Julia is actually a lot better than I thought it would be. Was expecting typical academic snobbery. Yet it fails to bring anyth
Julia is Hot (Score:3)
Next big language (Score:2)
1-based arrays (Score:3)
I read through the docs and was really liking what I was seeing... right up until the part that it says arrays are 1-based. Ah well, nevermind then.
Re: (Score:2)
Zero-based counting in computers has evolved from a useful efficiency trick during an era of scarce resources into an almost elitist vestigial organ that needs to be chopped off. All it leads to is more intense thought processes and off-by-one bugs.
Re: (Score:2)
Zero-based counting in computers has evolved from a useful efficiency trick during an era of scarce resources into an almost elitist vestigial organ that needs to be chopped off. All it leads to is more intense thought processes and off-by-one bugs.
Actually, the opposite is true - zero-based indexing can help eliminate off-by-one bugs (see https://en.wikipedia.org/wiki/... [wikipedia.org]). It's also not true that the reasoning for it is efficiency (in addition to the wikipedia article, see Dijkstra's take on it - http://www.cs.utexas.edu/users... [utexas.edu])
Re: (Score:2)
This is the Right Way.
According to who? Of course you are aware that the concept of zero was a relatively late development in the time line of mathematical history. Can you see how that might extend to your own preconception?
Like OP, I view 1-based arrays as a flaw. Main reason: code written around zero based arrays tends to have fewer boundary conditions than one-based, as any skilled developer knows. I hope that the language designers are smart enough to address this, otherwise it is just going to keep coming back to haunt the
Already installed (Score:2)
Installed Julia as a result of some earlier Slashdot post. Installed and played with it a bit and didn't get immediately pissed off by anything blatant, that's already good. Looked a bit deeper, found that it has extensible types but does not have methods on types, instead it has signature-based function dispatch. For me, the jury is still out on just how well it works. Otherwise, this one looks really promising.
Like many others, I have been casting around for a great language for casual programming that al
Yawn... (Score:2)
Re:Julia? (Score:5, Insightful)
Re: (Score:2)
Re: (Score:2)
Except those handful of people in the world whose first language isn't English.
Japanese? (Score:2)
I have a copy of Romeo and Juliet in Japanese and her name is not Julia in it.
Indeed, looks like "Romio to Djurietto"
Latin languages, etc. (Score:2)
And we can continue, in most latin languages (and slavic and several others), she tends to be called after the Italian "Giulietta" (and local transcriptions there of).
(Which is again different than Juliett - and would even make sense in the context given that's how is the language where the action is supposed to take place.
Note that these will also tend to pronounce her lover "Romeo", again closer to Italian)
So no, not the whole planet is calling them by the Shakespear's original english.
Germans just use wh
Juliette is Italian (Score:2)
It's like the story of Johann and Margaret, you know, those two kids who got abandoned in the forest and tried to follow breadcrumbs to get home.
Re: (Score:2)
Software engineers hate R.
Statisticians love R and find it very easy to learn and use.
Different target audience.
Re: (Score:2)
For someone who is taking a shot at bootcamp coders, you are evaluating Julia with the syntax superficiality of someone who learnt programming last year.
Re: (Score:2)
People who currently write Matlab/Octave code.
It is trying to be familiar to its community of computer scientists writing vector code. You are clearly not the target audience.
This is like wailing at design choices of R without understanding its S legacy.
Also people who used Algol based languages in the past. Just be thankful, the begin wasn't also added.
Re: (Score:2)
Re:The "dynamism" of Ruby? (Score:5, Informative)
Once you get over your newbie tunnel vision with the block syntax, you will find that Julia is a compact (despite the ends), powerful, high-performance, array language with meta-programing features.
No, it is not an academic language like say, Haskell. It is a practical programming language for research into math-heavy algorithms - Artificial Intelligence, Signal Processing, Image Processing etc.
No, it is not a general purpose language for day-to-day scripting or web/business programs. It is not, as you put it, for "bootcamp coders".
"want it all" refers to the historically diametric needs of computer scientists. They need a high-level, expressive, vectorized language like Matlab to prototype and interactively explore data... and a high performance language like Fortran or C++ to implement that algorithm after, on the fastest supercomputers. This gives them both in one tool.
It sounds like your never wrote any significant matrix/math code in your life. Writing any complex matrix code with just loops is like having one's teeth pulled, compared to how it is done in an array language like Julia. The block syntax is the least of one's worries when dealing with high-dimensional data.
Re: (Score:2)
I really like how in Julia how instead of ending a function with a closing brace, or just white space, you type out "end".
I don't know about you, but I actually type "end" faster than "}", because of no need to shift. I'm ok with either brace style or end style. On balance end-style is less ambiguous and less prone to error. I slightly prefer curlies anyway.
Re: (Score:2)
Usually, when a headline asks a question like "Is x the next big thing?" Usually, the answer is no.
Yes, that's Betteridge's law of headlines.
http://betteridgeslaw.com
Is Betteridge a reliable predictor? (Score:2)
We just want to know.
Cat (Score:5, Funny)
...but why {...} ?!? {...} the syntax looks like the bastard child of Fortran and Perl
Because since Python started overtaking Perl, my cats are sad because they can't write fully compliant programs just by random walking across the keyboard anymore.
Re: (Score:2)
Because since Python started overtaking Perl, my cats are sad because they can't write fully compliant programs just by random walking across the keyboard anymore.
At least *someone* is thinking of our feline sysadmins...
HR Posting (Score:5, Funny)
Technologically aggressive company in the expanding AI and Scientific arena is looking for experts in Julia.
Must have at least 5 years hands on experience building applications with Julia in multi-core, machine learning applications and simulations.
Re: (Score:2)
* and 25 years of blockchain experience.
Re: (Score:2)
The language isn't named after the mathematician, though.
My first thought was Julia from Nineteen Eighty-Four, but that's not the case either. From an interview of one of the creators [infoworld.com]:
Re: (Score:2)
julia> else = false
ERROR: syntax: unexpected "else"
That error message should be "Can't assign to a language keyword, you %&#@£!!!"
That's debatable, personally I find that error message more than clear. So you would like it slightly different, I disagree, but in any case I am puzzled about how this justifies a social media rant. And did you really just advocate that the compiler should insult the user?
Re: Human Resources (Score:3)
Address: 147 Rassilon Way, Gallifrey.
Years of experience with Julia: 729