Le samedi 22 novembre 2014 à 19:24 -0800, Christian Peel a écrit :
> Hi all,
>
> I'm excited about Julia because of the speed and open nature of the
> language. I have a couple of suggestions from the past couple of days
> of my time with the language: (1) decrease the JIT time to allow
> faster code changes, (2) automatically detect changed files and reload
> them, again to allow developers to change their code quicker.
> Combine that with the integrated debugger that I believe is coming
> soon, and I think Julia will be much more appealing.
>
> Here are some questions:
> * Have any plans been made on allowing Julia to automatically notice
> that a file has changed and reload it? What is the normal development
> technique for Julia developers? I typically write some code, test it,
> write some more, and test it again. For julia, do you just 'include'
> or 'reload' every time you change a file?
> * It can take a long time (10 seconds on my 2013 Macbook Pro) to do
> the JIT (I guess that's what it's doing) the first time I run my
> simple 500-line toy script after loading it; Putting this in the
> middle of developing high-level code is really awkward. Can you do
> anything to bring this down?
> * Why can't Julia show line numbers every time an error occurs, rather
> than just sometimes? Some errors for which I did not see line numbers
> include "ERROR: BoundsError()" and "ERROR: `*` has no method matching
> *(::Array{Complex{Float64},3}, ::Array{Float64,1})"
I'm not 100% sure, but I think this is currently improving with the new
LLVM versions (in particular on Windows). Anyway that's not going to
remain like this.
> * I guess there is some sort of compilation happening when a file is
> 'included'; can we have that spit out errors, rather than waiting for
> the JIT to work? The sooner we can see errors in my code, the better.
What kind of errors do you think about? (IDeally, can you even provide a
reproducible example?)
> * At the matlab prompt, I can type 'str" then ctrl-P and it finds the
> most recent command in the history that starts with 'str' and puts it
> on my command line. I can then hit enter immediately and execute it.
> It appears that with the current Julia setup, one has to type ctrl-R
> to enter (reverse-i-search), where you can type 'str' and then ctrl-P
> or ctrl-N to move forward and back through the history. On finding an
> entry to execute, one has to type enter twice, once to exit the
> interactive search and once to execute the command. Is it possible to
> configure Julia to have a matlab-style search always active? I tried
> playing around with the "Custom Keybindings" description in the manual
> (http://bit.ly/1uOsoWq), but I didn't know what I was doing.
> * Is there anything like Matlab's 'format'? Something so I don't see
> so many significant digits when using print?
> * Why does string concatenation use the "*" operator and not "+"?
> (yes, this is completely minor, but I'm curious anyway... :-)
This one has been discussed several times on the list already, just
search for "strong concatenation".
> * I'd like to type "exit" instead of "exit()" or "edit myfile" instead
> of "edit("myfile") I can likely get used to this, but right now I'm
> noticing those few extra characters that I'm typing :-) Could
> anyone explain the motivation for this choice?
I guess this is because Julia tries to limit the number of
special-cases, so 'exit' is a function and it's called with exit(), same
for 'edit'. If you start being able to call some functions without
parentheses everything becomes inconsistent an harder to predict.
> This week I ported a 500-line Matlab script to Julia 0.3.2; these
> questions and comments are the result. My main impression is that
> debugging is painful; to be useful as an every-day tool, the
> interaction with the REPL and the write code/debug iteration has got
> to improve.
>
> My best
>
> Chris
>