Live data from Hacker News

Think Julia: How to Think Like a Computer Scientist

benlauwens.github.io

31–40 of 74 posts

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

#31
post #3

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

Julia is increasingly becoming better than R and Stata for data cleaning. Many of its metaprogramming tools beat `dplyr` in syntax and features. So if the data-cleaning to regression stack (which i would guess is different than scientific computing) is your thing, then i would recommend trying Julia out.

[deleted]

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

#32
post #12
post #3

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

As somebody who appreciates Julia, my opinion is - probably not. That is, unless you want the opportunity to create a killer library that shows how the language features map well to other domains. But, I think a lot of people in scientific computing are tired of the typeless mess that Python/Numpy/Scipy code-bases evolve to be. And for those people, I think it has a lot of merit. At the end of the day, the language w…

Since you seem to have the same quarrels with MATLAB as me, have you figured out a good way to run it in batch mode, without having to open the interactive console?

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

#34

Never wrapped my head around Julia. I like it, and I've used it for a couple things, but I've never had a use case compelling enough to keep at it.

It's elegant and powerful; there are very few coding constructs that are widely used that aren't in Julia, and those that are (like Classes) aren't there because the authors of the language don't think that they are useful, as opposed to "it's hard to implement". But YMMV, the downside is that the ecosystem is evolving, and it's just hit 1.0 so expect things to be smooth in 6mths to a year. The upside is that I find that the Julia code I write appears from the keyboard easily, quickly and in a form that I can understand a few weeks or a few months later.

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

#35
post #3

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

I've only been learning for about a week, but I think if you're a nerd for language design, you will appreciate it on an aesthetic level as a very tight design around a powerful concept. Common Lisp also has multiple dispatch, but I feel the integration of it into all the nooks and crannies of Julia really pays off. Julia's performance doesn't appear as a side effect of building on the LLVM or because they over-optim…

there's an interesting issue wrt. maths and Juila; yesterday there was a story : https://news.ycombinator.com/item?id=17781475 on unmaintainable code. One of the clauses mentions the use of non standard characters as variable names : δ σ π ρ for example and cites the issue as having to deal with the code in a simple text editor.

I recently wrote a simulator intended as the demonstration of some issues in a paper. I found that using non standard characters enabled me to create a clearer implementation of the calculations in the paper in the code - so I think that it's a great thing that you can do this in Julia and that it should be encouraged.

In 2017 programmers have access to super powerful computers - some cycles to render and enable the manipulations are appropriate? What do people think?

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

#36
post #12

Earlier quoted context omitted.

As somebody who appreciates Julia, my opinion is - probably not. That is, unless you want the opportunity to create a killer library that shows how the language features map well to other domains. But, I think a lot of people in scientific computing are tired of the typeless mess that Python/Numpy/Scipy code-bases evolve to be. And for those people, I think it has a lot of merit. At the end of the day, the language w…

Having spent years working with numpy and Cython, then switching to Scala for years as well, I much prefer dynamic typing. Strong type safety is mostly just a waste of time.

Ohhh… I really disagree; I find that strong typing allows me to get the compiler to check that the work that's going on in the various branches of my code is at least allowed - even if it's wrong. I wish that my test cases really did test all of these corners, but realistically I just don't believe that I am good enough at writing test cases to get everything. From another perspective using strong typing like this saves me lots of time in terms of writing finicky test cases. I'm not saying that dynamic typing is wrong - in fact it is brilliant in terms of not having to write reams and reams of dangerous and maintenance heavy boilerplate!

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

#37
post #6
post #4

Earlier quoted context omitted.

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?

maintenance, readability, extensibility, reuse :)

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

#38
post #34

Never wrapped my head around Julia. I like it, and I've used it for a couple things, but I've never had a use case compelling enough to keep at it.

It's elegant and powerful; there are very few coding constructs that are widely used that aren't in Julia, and those that are (like Classes) aren't there because the authors of the language don't think that they are useful, as opposed to "it's hard to implement". But YMMV, the downside is that the ecosystem is evolving, and it's just hit 1.0 so expect things to be smooth in 6mths to a year. The upside is that I find…

> those that [aren't in the language ] (like Classes) aren't there because the authors of the language don't think that they are useful

From what I understand it's more that the combination of other features in the Julia language (like multiple dispatch) makes classes redundant.

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

#39
post #3

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

I don’t use Julia for speed but because it is so easy to use and powerful.

Haskell e.g. is very powerful and elegant but time consuming and hard to learn. LISP is easy to learn and powerful but has kind of clunky syntax.

Ruby has quite nice syntax and is quite powerful but also kind of messy. Python is quite clean and easy to use but not as powerful.

Julia I would say has hit a sweet spot between all these languages. It is quick to learn and understand while also allowing you to write clean easy to read code. That may describe python. But with macros and multiple dispatch I would say it is a much more powerful language.

I also find it much nicer than Python to use as a script language as you got way more functionality out of the box.

I am a C++ developer professionally, and write little Julia script to help me with various boilerplate coding inn C++, processing assets etc. Julia is really quick to drop into when you need it.

With python I always forget which module some functionality is in. The name of a function etc. Julia has much better naming most useful stuff is already invluded in the automatically loaded base module.

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

#40
post #35

Earlier quoted context omitted.

I've only been learning for about a week, but I think if you're a nerd for language design, you will appreciate it on an aesthetic level as a very tight design around a powerful concept. Common Lisp also has multiple dispatch, but I feel the integration of it into all the nooks and crannies of Julia really pays off. Julia's performance doesn't appear as a side effect of building on the LLVM or because they over-optim…

there's an interesting issue wrt. maths and Juila; yesterday there was a story : https://news.ycombinator.com/item?id=17781475 on unmaintainable code. One of the clauses mentions the use of non standard characters as variable names : δ σ π ρ for example and cites the issue as having to deal with the code in a simple text editor. I recently wrote a simulator intended as the demonstration of some issues in a paper. I f…

The only issue here is with input devices. The Greek alphabet is standard Unicode, so it's not more expensive to render or manipulate for your text editor compared to standard latin.
Post reply on HN