Live data from Hacker News

Advanced programming languages (2009)

matt.might.net

41–50 of 208 posts

Re: Advanced programming languages (2009)

#41
post #12

This post is very fortuitous for me. I've been looking to learn a functional language and I had more or less narrowed my options to Haskell, OCaml and Scala. I liked the breakdown between these languages and the resources. Can anyone who programs in Haskell or OCaml regularly tell me the current state of standard and third party library support? I'm very attracted to Scala because it has JVM support, which sounds fan…

I've spent some time with both Haskell and Scala. Haskell's big pluses are purity and rigor. Most functions can't affect external state; they can only return results. Haskell also has strict typing, which is great for catching mistakes up front, and takes most of the pain out of using it through really great type inference. Unfortunately the community around Haskell is very small, so if you use it for a project large…

I'd prefer something simpler.

Consider Kotlin: https://kotlinlang.org/docs/reference/comparison-to-scala.ht...

Re: Advanced programming languages (2009)

#42
> It's untyped, which makes it ideal for web-based programming and rapid prototyping. Given its Lisp heritage, Scheme is a natural fit for artificial intelligence.

Why does being untyped and having a Lisp heritage make Scheme suitable for these three tasks?

Re: Advanced programming languages (2009)

#43

After walking in the land of functions for a long time I wonder if there are advanced advanced languages.

There's theorem provers like Coq. I'm pretty comfortable with Haskell, but concepts like the difference between Propositions and Booleans are enlightening to my Haskell the same way Haskell can be enlightening to use of other languages.

Re: Advanced programming languages (2009)

#46

After walking in the land of functions for a long time I wonder if there are advanced advanced languages.

Have you explored languages with dependent type systems such as Agda, Idris, Coq, or Twelf?

You could also explore languages from an academic perspective. Benjamin Pierce has written several high quality texts about topics in programming languages.

Re: Advanced programming languages (2009)

#47

Any reason F# is not in the list?

Writing/deploying F# on a non-Windows machine is a huge pain. Been there, won't do that again.

Though, candidly, OCaml has historically been a pain to deploy on Windows outside of some very Cygwin specific setups. The OCaml group has made a lot of improvement as of late, but so has F# on Linux.

Re: Advanced programming languages (2009)

#48
I need a suitable sized project to implement in a niche language I am learning. I used to use tetris but it isn't big enough. It needs to exercise multi threaded updates of some state consisting of many elements and their relationships based on user or file inputs. I think. I want to write it in c++ then learn Haskell and use that. Then use c++ again and look at the differences.

Re: Advanced programming languages (2009)

#49

> It's untyped, which makes it ideal for web-based programming and rapid prototyping. Given its Lisp heritage, Scheme is a natural fit for artificial intelligence. Why does being untyped and having a Lisp heritage make Scheme suitable for these three tasks?

And of course, it is not "untyped". It is dynamically typed.

Re: Advanced programming languages (2009)

#50

I need a suitable sized project to implement in a niche language I am learning. I used to use tetris but it isn't big enough. It needs to exercise multi threaded updates of some state consisting of many elements and their relationships based on user or file inputs. I think. I want to write it in c++ then learn Haskell and use that. Then use c++ again and look at the differences.

multiplayer tetris?
Post reply on HN