I don't think Julia's error message situation is particularly worse than C 
(where memory access bugs trigger crashes randomly)  or Mathematica (where 
many bugs end in infinite loops of symbolic computations that eat up all 
available memory).   I also think teaching in Python would be harder, since 
it requires OOP concepts.  Matlab teaches too many bad programming habits, 
hides what's going on from the students, and is not a particularly 
employable skill  (as we've been told by prospective employers).

So while Julia has its quirks, I don't see another language that is clearly 
better.


On Saturday, April 16, 2016 at 12:01:05 PM UTC+10, Peter Kovesi wrote:
>
>
> Sheehan, That's a very nice looking course but I think you are very brave 
> to use Julia at this stage.
> I love the language but (at this stage of the language's development) the 
> error reporting is highly problematic.  For example this morning I made a 
> classic mistake
>
> function foo(a::real)     # Should have been:   function foo(a::Real)
>  ...
> end
>
> The function was defined at line 998, the error was reported at line 433, 
>  565 lines away!  The message was
> "ERROR: LoadError: TypeError: Tuple: in parameter, expected Type{T}, got 
> Function"
>
> Good luck to your students!
>
> Working in Julia requires a practice of defensive incremental coding in 
> the extreme.  Every few lines of code that are added need to be tested 
> before carrying on.  That way you know that any errors are in the few lines 
> of code that were just added and not at whatever spurious location was 
> being suggested.
>
> Let me say again I love the language.  However the error reporting is a 
> source of extreme frustration to me.
>
> A key pathway to getting Julia more widely adopted would be for it to be 
> used for teaching purposes.  However, at the moment I fear that any attempt 
> to do so would surely end in tears.
>
> Peter Kovesi
>
>
> On Friday, April 15, 2016 at 10:17:40 AM UTC+8, Sheehan Olver wrote:
>>
>>
>>
>> I'm currently lecturing the course MATH3076/3976 Mathematical Computing 
>> at U. Sydney in Julia, and thought that others may be interested in the 
>> resources I've provided:
>>
>> http://www.maths.usyd.edu.au/u/olver/teaching/MATH3976/
>>
>> The lecture notes and labs are all Jupyter notebooks.  I've also included 
>> a "cheat sheet" of Julia commands used in the course
>>
>>
>> http://nbviewer.jupyter.org/url/www.maths.usyd.edu.au/u/olver/teaching/MATH3976/cheatsheet.ipynb
>>
>> The course is ongoing (it's about half through) and will continue to take 
>> shape, but any feedback is of course welcome!
>>
>>
>> Sheehan Olver
>>
>

Reply via email to