Live data from Hacker News

Advanced programming languages

matt.might.net

51–60 of 76 posts

Re: Advanced programming languages

#51
post #36

>In academic research and in entrepreneurship, you need to multiply your effectiveness as a programmer, and since you (probably) won't be working with an entrenched code base, you are free to use whatever language best suits the task at hand. I disagree. If you're a startup, you're better off using a more mainstream language. I'm from India and if I start to find a good Haskell or Scala programmer I'll be looking for…

Infinetly Beta would disagree.

I cant comment on the specific case for your startup but given the wide adoption of PHP/Java/Ruby/Python compared to Haskell/Scala, it comes to a simple eq.

  No. of programmers for the former > No. of programmers for the latter
But as someone in the thread already pointed out, definition of 'good' programmer is also subjective and different in each of the languages, so that will fuzz the simplicity of the above equation.

PS: I'm very impressed with tech community in Pune in general. Very vibrant, diverse and passionate.

Re: Advanced programming languages

#52
post #51

Earlier quoted context omitted.

Infinetly Beta would disagree.

I cant comment on the specific case for your startup but given the wide adoption of PHP/Java/Ruby/Python compared to Haskell/Scala, it comes to a simple eq. No. of programmers for the former > No. of programmers for the latter But as someone in the thread already pointed out, definition of 'good' programmer is also subjective and different in each of the languages, so that will fuzz the simplicity of the above equati…

Number of programmers is often not proportionate to the number of good programmers.

By your simple equation, you'd be hiring only Turbo C programmers :D

But I do agree with you - if your startup is not primarily a technology one, then maybe it doesn't matter. Throw enough people at it and it might just work

Re: Advanced programming languages

#53
post #48
post #36

>In academic research and in entrepreneurship, you need to multiply your effectiveness as a programmer, and since you (probably) won't be working with an entrenched code base, you are free to use whatever language best suits the task at hand. I disagree. If you're a startup, you're better off using a more mainstream language. I'm from India and if I start to find a good Haskell or Scala programmer I'll be looking for…

> I'm from India and if I start to find a good Haskell or Scala programmer In general, if you need to find a good programmer for any language (Python, JavaScript, Java, ...), you will be searching for a long time. The only difference is that with Haskell, OCaml and other advanced languages, usually the first programmer you will find is already very good.

However finding that first 'good' programmer is going to be harder for languages like Scala, Haskell etc. compared to finding the first good programmer on more popular languages

Re: Advanced programming languages

#54

I agree with this article but I have to admit I'm tired of learning programming languages after a number of years in this industry. I've had gigs in just about everything and now I'm purposely restricting my efforts to just a couple different languages even if there is money on the table for work in something else. You can do just about everything in any mature language - after a while of so to say exploring the land…

I agree with you here. Several languages (let's call them "advanced"?) are better than other, ok, but actually very few introduce actually "innovative" constructs. Most of the perceived differences in recent languages are actually in the design of the libraries built around the core language, which is underwhelming.

After some years learning "advanced" languages, and having mastered the constructs, the biggest problem becomes becoming acquainted with the libraries. It takes time to re-learn what to use to do something, not how to do it.

Another problem of mine is that a lot of time is spent writing/using bindings to other foreign code, or let alone re-implement the code in the current language. Or see your old code stop working because of new libraries, compilers, etc.

In the end, it feels like you're writing just for the sake of writing instead of actually doing something.

Re: Advanced programming languages

#55
post #45

Earlier quoted context omitted.

Interesting, my question is more though why now? Since LISP has been around for a very long time and FP has had very little mainstream interest until the last year or 2.

Good question. I think its a couple of diffrent things. 1. Java is not really evolving, people are frustrated 2. Multicore is difficulte and FP claim they are better at it. 3. Complexety of ever bigger codebases 4. Java Script not longer the worst language in the world, people start to understand whats powerful about it and want to know what more is possible.

Additionally, I think that Haskell really has to offer something over most other FP languages. Many features of dynamic impure FP languages have already been ported to languages such as Ruby or Python. What Haskell provides over, say Lisp, is exceptionally strong typing and isolation of side-effects. This is a quality that cannot be ported to mainstream languages easily.

So, why didn't Haskell become more popular earlier? I think that's simple: the GHC compilers has improved tremendously over the past years, Hackage has grown considerably, and there are now more books oriented at practical programming.

Re: Advanced programming languages

#56
post #9

Earlier quoted context omitted.

since a large amount of programming is all about state and side effects IANA web developer, but... Doesn't web development typically put state into a database system instead of the scripts the server runs to generate the requested pages? It seems reasonable enough to have a function that takes a page request as input, calls some other functions to look up info from the database, then constructs and returns a page and…

You can do allot with a database sure but sometimes you want multiple transactions within a single request and data will change between them. You may also take input from other sources than a database such as flat files, web APIs emails etc and need to do a bunch of processing between them. Not to mention if you are using Comet or something where you hold a request open for a long time and push and pull allot of data…

We use Erlang to run our (several million messages a day) WebSockets implementation. It's been fine, way more stable and less resource intensive than the equivalent Tornado server.

Re: Advanced programming languages

#57

Earlier quoted context omitted.

I don't know how far over to the functional paradigm arc leans but hacker news is programed in it. I know it's built off common lisp so there is that linage. The naughty dog game studio used a form of lisp in their games starting with Crash Bandicoot until they got purchased by Sony(I think). Though, the language was much more imperative in nature instead of functional. Autocad had autolisp built into it. http://en.w…

I wonder if the lack of state is why I keep getting the "Unknown or expired link" message all the time? I see allot of functional DSLs (Excel for example + autocad as you pointed out). Was crash bandicoot written in Lisp or was this just an internal DSL used for certain operations? I don't have anything against functional languages and I'm sure all good developers should know at least 1 but the article seems to sugge…

> I wonder if the lack of state is why I keep getting the "Unknown or expired link" message all the time?

As front page keeps changing and reordering, the "Next page" link after some time becomes meaningless, so maybe it's because of that.

Re: Advanced programming languages

#58
post #15

All the languages he suggests apart from Scala are or are pretty close to being pure functional languages. I'm not convinced that I would be more productive developing say a web app , database app or game using say Haskell rather than Java or Python especially since a large amount of programming is all about state and side effects. I'm not against learning a pure functional language as a way to improve your programmi…

Galois is a company which uses functional languages, mainly Haskell if I'm not mistaken: http://corp.galois.com/ If I'm not mistaken, Jane Street is another functional programming shop: http://www.janestreet.com/ These are companies using OCaml: http://mirror.ocamlcore.org/wiki.cocan.org/companies.html

I also know of at least a couple of large investment banks that have significant Haskell projects in house for doing things like options modelling.

Re: Advanced programming languages

#59
post #45

Earlier quoted context omitted.

Good question. I think its a couple of diffrent things. 1. Java is not really evolving, people are frustrated 2. Multicore is difficulte and FP claim they are better at it. 3. Complexety of ever bigger codebases 4. Java Script not longer the worst language in the world, people start to understand whats powerful about it and want to know what more is possible.

Additionally, I think that Haskell really has to offer something over most other FP languages. Many features of dynamic impure FP languages have already been ported to languages such as Ruby or Python. What Haskell provides over, say Lisp, is exceptionally strong typing and isolation of side-effects. This is a quality that cannot be ported to mainstream languages easily. So, why didn't Haskell become more popular ear…

After spending some time exploring different functional languages, if FP does make it at all - my money would be on Haskell. There is something to be said for focused languages that does one thing but does it really well, and the feeling of security when a certain style is enforced over a codebase.

I probably wouldn't use it for anything today, but in another couple years maybe. The ecosystem seems like it's reaching critical mass.

Re: Advanced programming languages

#60
post #59

Earlier quoted context omitted.

Additionally, I think that Haskell really has to offer something over most other FP languages. Many features of dynamic impure FP languages have already been ported to languages such as Ruby or Python. What Haskell provides over, say Lisp, is exceptionally strong typing and isolation of side-effects. This is a quality that cannot be ported to mainstream languages easily. So, why didn't Haskell become more popular ear…

After spending some time exploring different functional languages, if FP does make it at all - my money would be on Haskell. There is something to be said for focused languages that does one thing but does it really well, and the feeling of security when a certain style is enforced over a codebase. I probably wouldn't use it for anything today, but in another couple years maybe. The ecosystem seems like it's reaching…

I think Clojure is ready right now. For "standalone" languages haskell seams to be on a good way, some people are allready doing start ups with it.
Post reply on HN