Live data from Hacker News

Think Julia: How to Think Like a Computer Scientist

benlauwens.github.io

1–10 of 74 posts

Re: Think Julia: How to Think Like a Computer Scientist

#2
You might contrast the approach here with say an Engineering textbook. This manual on a particular tool (Julia) seems to imply that it is the one way to engage with an entire discipline. An Engineering textbook might mention various tools for a particular job and even endorse one over the others but in general it will start with the problem and not the solution.

That said:

$ aurman -S julia

(rolls up sleeves)

Re: Think Julia: How to Think Like a Computer Scientist

#5
post #3

If I don't care about parallelism nor speed, is there a reason to learn Julia?

It seems to be one of several lingua franca in the scientific computing community, and growing in popularity. In that context, its accessibility to people who don't have time to be software experts is another feature.

Re: Think Julia: How to Think Like a Computer Scientist

#6
post #4
post #3

If I don't care about parallelism nor speed, is there a reason to learn Julia?

Not caring about neither parallelism nor speed is queer. What're you optimizing?

Just to throw a few possibilities out there: Correctness? Ease of writing? Portability?

Re: Think Julia: How to Think Like a Computer Scientist

#7
post #3

If I don't care about parallelism nor speed, is there a reason to learn Julia?

Yes. I don't do any scientific computing but I still really like Julia. The speed is there if you need it, but what attracts me more is how "ergonomic" the language is. To put it differently: Julia makes it really easy for me to map my thoughts into code. I have a habit of trying out many different languages across different paradigms and IMHO no one has come close in that regard. There is no one thing I can point to that is responsible for this. I believe it is due to a cohesive set of design decisions by the creators. The only downside is that currently there are not many Julia 1.0 packages available for general purpose programming (understandable given that 1.0 just came out).

Disclaimer: I recently started contributing to Julia (but I wouldn't have bothered in the first place if I didn't think it was so cool ;) )

Re: Think Julia: How to Think Like a Computer Scientist

#8
post #3

If I don't care about parallelism nor speed, is there a reason to learn Julia?

I find Julia to be a wonderfully expressive language to write in, without sacrificing any speed. The abstractions allowed me to write less code (especially boilerplate), and maintain cleaner code structure -- mapping to my understanding of the problem. Feels much friendlier than Python to me, but YMMV. (My experience basically revolves around prototyping various numerical/ML algorithms for exploration and understanding, and not the kind where you just call a library to solve a task. Projects mostly in the range of 20 to 2000 lines of code. Having used both Python and Julia for such tasks, I lean towards Julia when I have the choice)

A couple of my previous HN comments on Julia's indexing: https://news.ycombinator.com/item?id=15472933 and https://news.ycombinator.com/item?id=15473169

Plus, I found it exciting to read community discussions for a language growing towards 1.0, to understand the different approaches that were considered, and why certain choices were made. From what I've seen, the whole development process was quite transparent, and the developers have always indulged sincere questions/suggestions from participants, dealing in concrete examples instead of sweeping generalizations and polemic. I don't know what standard to compare this to, but I've enjoyed the experience.

Re: Think Julia: How to Think Like a Computer Scientist

#9
PSA: The goal of the Julia 1.0 release was to stabilize language constructs for library authors to build upon. It will take time for them to update their libraries to be compatible with v1.0 -- so if you want to get a feel for the language, and things are breaking, stick to v0.7 for the near future.

Re: Think Julia: How to Think Like a Computer Scientist

#10
post #2

You might contrast the approach here with say an Engineering textbook. This manual on a particular tool (Julia) seems to imply that it is the one way to engage with an entire discipline. An Engineering textbook might mention various tools for a particular job and even endorse one over the others but in general it will start with the problem and not the solution. That said: $ aurman -S julia (rolls up sleeves)

Can you explain that last part?
Post reply on HN