A few days ago, I ran a short "introduction to Julia" talk and tutorial for the Institute of Astronomy at the University of Cambridge. The audience consisted mostly of other students, with a few post-docs. Astronomers as a group use a wide range of programming tools, from Fortran through to Python, and for the research I'm doing during my PhD I have found that Julia hits the right spot. Many of us also don't really have much formal programming training (I certainly never had more than a few classes on Matlab and had to find my own way from there) and so anything that lets us write fast code with a nice syntax will definitely be appreciated. So the talk and tutorial was for me to share my experiences with Julia and sum up where I thought it was useful in astronomy and where it wasn't so useful.
Although I don't think I have convinced anyone that Julia is for them (and that's fine!), it was nice to hear some feedback. The comments I got were along these lines: * People generally seemed to think that multiple dispatch sounds like a train-wreck waiting to happen. I think they are worried about the potential for writing conflicting or contradictory definitions with slightly different call signatures and having difficulty debugging them. After showing a couple of examples, though, I think I gave a better sense of how useful it is. I suspect it's especially powerful in astronomy for those who deal with data from many different sources, all of which need to be processed in ways that are conceptually similar but procedurally different. * Along those lines, the need for a nice debugger was mentioned. Looking forward to seeing how this evolves over time. * Many positive comments about the ease of using C and Python from within Julia. Astronomy has really converged on Python over the past few years, which i think is great, so many popular packages are already written there. * There were concerns from those who work in collaborations where they hope to share their work, along the lines of "Sharing Python or C code is easy - will it be as easy to share Julia and get people on board with that?" But that applies to using any uncommon language, I guess. * Great reactions to some simple stuff like the Unicode support, the simple function syntax, and how similar it was to other languages that people are familiar with. * People loved the IJulia/Jupyter notebook, and I used the slideshow feature of nbconvert for the first time to make the talk - it's nice! In case you were interested, I made notebooks of the talk and tutorial available <https://github.com/swt30/ioa-julia-tutorials>. It's not much and it's probably a bit scattered because of the target audience and the time we had, but it might serve as inspiration for anyone writing a similar tutorial. And if you see anything that's obviously misleading and think it should be fixed now that I've made this available to a larger audience, please let me know. Cheers, Scott