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... 
>>>
>>

Reply via email to