What do scientists want in a programming language? New Julia language seeks to be the C for scientists

April 30, 2012 at 9:31 am 4 comments

What I liked best about this interview was the exploration of the (implicit) question, “What do scientists want in a programming language?”  It sounds like the answers are (explicitly) performance and broad applicability, for the applications that scientists care about (e.g., numeric processing, linear algebra, and statistics), but also (implicitly) ease of reading/writing. On the Julia Language page, there is discussion about how much easier it is to read and write Julia compared to similar C++. The language looks surprisingly Python-like.  

And I have to admit that what most interested me on the Julia Language page were the statistics on JavaScript.  Really?  It’s that fast now?!?

InfoWorld: When you say technical computing, to what type of applications are you specifically referring?

Karpinski: It’s a broad category, but it’s pretty much anything that involves a lot of number-crunching. In my own background, I’ve done a lot of linear algebra but a fair amount of statistics as well. The tool of choice for linear algebra tends to be Matlab. The tool of choice for statistics tends to be R, and I’ve used both of those a great deal. But they’re not really interchangeable. If you want to do statistics in Matlab, it’s frustrating. If you want to do linear algebra in R, it’s frustrating.

InfoWorld: So you developed Julia with the intent to make it easier to build technical applications?

Karpinski: Yes. The idea is that it should be extremely high productivity. To that end, it’s a dynamic language, so it’s relatively easy to program, and it’s got a very simple programming model. But it has extremely high performance, which cuts out [the need for] a third language [C], which is often [used] to get performance in any of these other languages. I should also mention NumPy, which is a contender for these areas. For Matlab, R, and NumPy, for all of these options, you need to at some point drop down into C to get performance. One of our goals explicitly is to have sufficiently good performance in Julia that you’d never have to drop down into C.

via New Julia language seeks to be the C for scientists | Application Development – InfoWorld.

Entry filed under: Uncategorized. Tags: , .

Facts on women in IT careers Collaborative Floundering trumps Scaffolding

4 Comments Add your own

  • 1. Greg Wilson  |  April 30, 2012 at 9:37 am

    Why are you surprised that it would look like Python? As far as I know, it (Python) is one of the few languages whose syntax is based on empirical study of human factors…

    • 2. Mark Guzdial  |  April 30, 2012 at 9:43 am

      As I said, because it reflects a value for readability and understandability. I live in a College where high performance computing is praised. I’ve never heard those folks talk about readability. They value MATLAB and C, and Fortran, in a pinch. It’s a pleasure to see computational scientists being willing to move toward human concerns.

      • 3. nickfalkner  |  April 30, 2012 at 6:07 pm

        I agree that readability is an underrated value but the inability to use curly braces (or same syntax equivalent that is not whitespace) where they would reduce ambiguity or enhance function was a sticking point for me when I last seriously used Python. (For me, the fact that you can’t write multi-line lambda functions indicates one of the key break points where the decision to be so proscriptive about ‘braces or equivalent’ should have been questioned. Whether you _should_ write multi-line lambda functions, I leave as an exercise to the reader. 🙂 )

        Thanks for the link to Julia. I look forward to delving into it, especially as I’m about to launch a new advanced course for high-end students that is using Processing and R for large scale analysis and visualisation. Looks like Julia might be in there, too!

    • 4. chaikens  |  April 30, 2012 at 10:54 am

      I didn’t know that about Python. Can you post a link for us to find out more?

      Besides syntax, how is effective use tied to the data and programming model?


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Trackback this post  |  Subscribe to the comments via RSS Feed

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 9,026 other followers


Recent Posts

Blog Stats

  • 1,986,881 hits
April 2012

CS Teaching Tips

%d bloggers like this: