3 ms·
A lot of FP people tend to think people don't use FP are those who have "never heard of any modern functional languages". I don't know where does this kind of a
by cnbuff410 12y ago
A lot of FP people tend to think people don't use FP are those who have "never heard of any modern functional languages". I don't know where does this kind of arrogance come from.
Sure, functional language can be used in almost all the programming related projects. But are they really a good fit or not is not decided by FP advocacy, but the people who actually tackle these problems.
Go for now shines in a pretty niche market, it is extremely good fit for this niche market, and this fact is not advocated by Go fans or Go team, but by large amount of open source projects and emerging usage in quite a few serious companies/startups.
You can certainly go ahead and ask them "Why not use OCaml, F#, Haskell or Scala", or you can use FP to make a better project in this field to show people FP is indeed much better fit.
To some of us, programming language is merely a tool to solve a problem, not to show off the shining design concept. For us, Go hits a incredibly sweet point on the balance of coding efficiency and running efficiency. Note that, coding efficiency has nothing to do with "how beautiful and elegant this code snippet is", it has everything to do with "if this project is easy to read, easy to maintain and easy to expand"
- cgag 12y agoWhat's the niche Go occupies and what makes go better than those other languages you mentioned for that niche? Those languages are better tools for solving problems in a lot of cases, the problem is people just choose tools that are similar to ones they already know rather than the best tools available.
- stcredzero 12y agoI ported a game server from Clojure to Go. Go was simply a better fit. When you need to make sure that memory in structs is laid out a certain way to avoid cache line clobbering with high parallelism and ensure arithmetic is using 64 bit ints, Go does this more easily. It would have the same advantages over Scala. Not sure about Haskell or OCaml. (Suspect not.)
- cnbuff410 12y agoYou don't even know what kind of project I'm talking about and you are saying "rather than the best tools available"? I don't get it. Do you really believe that problem field doesn't matter, and FP is "best tools available by default" for any field anyway? Go to github and see the rank of project written in Go, you will see clearly what is the niche market(not that niche I would say) I'm talking about.
- NateDad 12y agoWriting servers is a pretty big niche, don't you think?
- cgag 12y agoThat niche seems to be web servers, which is a gigantic niche, but yes I largely think its a worse tool than Haskell/Ocaml/Erlang/etc in that niche. The point stcredzero about manually laying out memory is fair, though much less important in writing web servers than in a game.
- lmm 12y ago> A lot of FP people tend to think people don't use FP are those who have "never heard of any modern functional languages". A lot of the slides are about why he wouldn't use Perl, why he wouldn't use Java, and the like. His whole argument is that there's no other language in the efficient / nice to program quadrant. To make that kind of argument you have to cover all the options, and at least place those languages somewhere on the diagram (or acknowledge why you aren't). > You can certainly go ahead and ask them "Why not use OCaml, F#, Haskell or Scala", or you can use FP to make a better project in this field to show people FP is indeed much better fit. Well, that's what I do. But Go seems to get a disproportionate amount of coverage on HN, particularly compared with what people I've met in real life are using. (at least here in London. Maybe it's much more popular in SV?)
- cnbuff410 12y ago> Well, that's what I do. But Go seems to get a disproportionate amount of coverage on HN, particularly compared with what people I've met in real life are using. (at least here in London. Maybe it's much more popular in SV?) There are quite a lot middle/small scale companies using Go in US. I can give you a long list if you want, but you can probably just search it by yourself. I can not speak for Brad, but my impression on his comparison is that he picks up languages which are more used in the field Go is targeting at, not those which are only perfect fit in theory
- waps 12y agoYeah I've been thinking that too. Next year, there'll be a new slide deck. Only it'll advocate a different language, and have one more page : Go(ne ?)