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 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.  
* 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... :-)
* 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?
 
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

Reply via email to