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.

About these ads

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…

    Reply
    • 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.

      Reply
      • 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!

        Reply
    • 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?

      Reply

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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s

Trackback this post  |  Subscribe to the comments via RSS Feed


Recent Posts

Feeds

April 2012
M T W T F S S
« Mar   May »
 1
2345678
9101112131415
16171819202122
23242526272829
30  

Blog Stats

  • 878,761 hits

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

Join 2,781 other followers


Follow

Get every new post delivered to your Inbox.

Join 2,781 other followers

%d bloggers like this: