6 ms·
HN News makes it look like everyone uses apple and javascript or some fairly new and obscure functional language. A hell of a lot of people are doing really go
by zxcvb 14y ago
HN News makes it look like everyone uses apple and javascript or some fairly new and obscure functional language.
A hell of a lot of people are doing really good work with Java. I use Linux, Eclipse and Java at work and I know a lot of other people that do too.
- batista 14y ago>A hell of a lot of people are doing really good work with Java. Absolutely true. And a hell of lot of people that brag about Haskell, LISP et al, don't produce anything useful to the masses with them. Where are all those LISP/Haskell/whatever killer apps? I mean, even Erlang has CouchDB, Riak and RabbitMQ. I don't mean to troll, I actually think that 99% of those languages are used for personal/hobby projects, or for stuff in some company where the rules are lax and the programmer can choose whatever he likes --and those could be great or shit, but not really relevant to anybody else. I don't see many widely used tools made with them, Open or closed source. Re: the people mentioning HN runs on Arc. I know that. It's a service. Doesn't count as "widely used tools" (I gave CouchDB, Riak etc as examples). It's more of the "stuff in some company where the rules are lax and the programmer can choose whatever he likes" variety of uses. As was ViaWeb. Not to mention that HN is filled with bugs and a broken caching system, and Arc itself is half-complete and mostly abandoned IIRC.
- pmarin 14y agoYou are using Lisp right now.
- soup10 14y agoI believe HN is written in PG's lisp like language called Arc. C, C++ and Java are the standard tools of the industry, so it's unusual and noteworthy when an alternative language or technology is used for a product. You can use a wide variety of languages for web development backends because it tends to be less sensitive to performance(the majority of hits should be hitting caches), it has simple IO requirements, and user sessions usually don't have much state so parallelism is easier. I'd argue that web development is much more about the product than technical programming challenges, so having the ability to iterate quickly is especially important and leads to favoring scripting languages over the traditional languages which are more suitable for complex and high performance software.
- tar 14y agoI think this website runs on Arc (http://en.wikipedia.org/wiki/Arc_(programming_language) http://en.wikipedia.org/wiki/Arc_(programming_language)) which is a dialect of Lisp.
- SeoxyS 14y agoI think it has to do with the fact that Lisps and functional programming is not something you tend to use to build a whole product on, but rather something to crack the hard nuts with at a higher level of abstraction. For example, at Chartboost our backend runs on a LAMP stack, but our new implementation of the smart ad targeting algorithm involves using Clojure (another Lisp dialect). Chartboost is definitely not "Made in Clojure," but I think it's fair to say that that doesn't mean that the language isn't being used to build a useful product.
- danking00 14y agoI strongly disagree that Functional programming is something that inherently is not suited to building a whole product on. Although I cannot providing evidence that it always is the case, Jane Street is a wonderful example of what happens when a bunch of really smart people get together and use a statically typed functional language to produce a robust piece of software which solves hard problems. Not everything at Jane Street is written in ML, but MANY of the employees write in ML, the software devs, the quants, te systems folks, and even the traders. Sources http://www.janestreet.com/technology/ http://www.janestreet.com/technology/ Interviewing there Knowing people whir work there
- y3di 14y agoStorm is built in clojure -- https://github.com/nathanmarz/storm https://github.com/nathanmarz/storm
- deleted 14y ago[deleted]
- viraptor 14y agoIt might be a different point of view depending on which you enjoy more. For example I wrote a trivial raytracer in Haskell once for a project at uni. It was hard because I never wrote a raytracer before and I never used Haskell. I'm still impressed with the result and the process for a number of reasons I would happily discuss. At the same time I used compile-time code generation in Java to rewrite some handcrafted class hierarchy into something that was short, correct and implemented the right interfaces consistently. It was also a non-trivial problem to solve and the result was very useful. The difference is that I'll never describe the second one as something positive. It was time wasted working around inflexible constraints in Java in the only reasonably available way to make the code suck less. Sure, it required creativity and a clever solution, but I'd never want to do it again. Ask me about something interesting related to coding and I could mention the first example in a couple of contexts. The other one would be only mentioned with "Ah, you can't do that in a simple way, but I know a hack that will work - you'll just have to explain it twice to everyone looking at it."