It *is* also a very generous language ;-) It gives us very nice facilities for writing performant code generically in rather few LOC - that seems generous to me!
On Thursday, May 26, 2016 at 11:34:43 AM UTC-4, Ford Ox wrote: > > :-D :-D :-D > > add generous language: I have meant general purpose language of course. > > > Dne čtvrtek 26. května 2016 16:50:16 UTC+2 Chris Rackauckas napsal(a): >> >> As mentioned, the goal is for it to be a general purpose language with a >> scientific focus: >> >> Scientific language - It already has that down. It's easy to do >> mathematics with it, it's fast to prototype algorithms, and the code has >> very high performance. This is what most scientists are looking for. >> >> Generous language- ? >> >> Scripting language- Because of the foundations of Julia, it has become by >> default a good scripting language. It by default handles unicode well, has >> really good interop, can solve tedious tasks succinctly with >> metaprogramming and multiple dispatch, and once again is fast. There are >> still some major improvements here, mostly related to startup compilation >> time (static compilation) and reducing the bloat of the base library. These >> are planned to be fixed up before 1.0. >> >> Easily scalable language- Julia has features which other scripting >> languages don't which is useful for scaling. For example, even though it is >> dynamically typed, one can (and should) add type declarations to make >> library code basically be statically typed. In addition, the parallelism is >> built directly in the foundation of the language, making it easy to scale >> to larger systems, computers, and problems. >> >> So the goal of Julia 1.0 is to be an insanely powerful and flexible >> language that will be easily to prototype and deploy on large-scale >> problems (large-scale has always been the goal due to the focus on >> performance). >> >> It might be better then to try to understand what Julia is not. I would >> say Julia is not a language which is trying to be simple. Rather, it is a >> language which is trying to be syntactically simple, but at the same time >> very deep in its features. So while Julia's code may look simple, it's >> front page says things like "LLVM-based Just In Time (JIT) compiler", >> "Lisp-like macros", "Unicode", i.e. things that more experienced >> programmers would find enticing, but are certainly not phrases targeted at >> beginning programmers looking for a first language. In fact, if you go look >> at online "critiques" of Julia, most of them are about the fact that the >> language is so powerful yet so syntactically simple, that experienced >> developers can work too fast for mere mortals to comprehend (I'm not even >> joking, this has been mentioned a lot). This can make the language >> intimidating to beginners. >> >> However, I believe that this issue will be defunct when Julia becomes >> more integrated with undergrad education. Right now, schools are confused >> about trying to get people started with a scripting language (usually >> Python) because it's easy, but then switch to C/Java to teach about more >> core computational ideas. Julia has it all; you can teach it as dynamically >> typed, then teach what static types are via decalarations, how to do things >> object(/type)-oriented, do some metaprogramming/functional programming >> (Lazy.jl), implement data structures, do some documentation and unit >> testing, parallelism/MPI, teach some LLVM and how to read assembly... >> again, it's insane how deep you can go. I am sure the math departments will >> join in once they need new MATLAB licenses, and with CS/Math departments >> unified many science departments will follow suit (or they may even lead). >> Give it 10 years. >> >> >> On Thursday, May 26, 2016 at 4:25:49 AM UTC-7, Ford Ox wrote: >>> >>> How should be julia 1.0 seen when it is finished? >>> >>> Purpose: >>> Scientific language only? >>> Generous language? >>> Scripting language? >>> Easily scalable language? >>> Add yours... >>> >>
