Thanks for the comments. Many of these things are on the radar, and contributions are very much welcome and encouraged. As is often the case in open source projects at a relatively early stage, such issues are not technically blocked so much as rate-limited by concerns like "graduation", "tenure", and "sleep". So every little bit helps :) To address a couple points:
Compile time - yes, this is everyone's major peeve. there are several open issues you can read on the julia github tracker. basically there are parallel efforts (including improvements already on 0.4-dev and a number of open PRs) - towards improved caching (general and module-level), and towards compiler improvements (there is an issue called 'compiler improvement tracker') Reloading - see https://github.com/malmaud/Autoreload.jl and http://junolab.org/. the general plan is to make a Julia superbundle with more of these nice things packaged together for one-click-install. hopefully we will have that for the 0.4 release. * Is there anything like Matlab's 'format'? Not sure exactly, but probably @printf does something similar Line numbers - there are several open issues about this, and various pull requests to both Julia and LLVM to improve the situation. I think there might be an open issue or even a PR about getting the `str<ctrl-p>` behavior. Ctrl-p/n work to step through history, without typing ctrl-r On Sat, Nov 22, 2014 at 10:24 PM, Christian Peel <[email protected]> wrote: > 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 >
