Live data from Hacker News

Advanced programming languages

matt.might.net

1–10 of 76 posts

Re: Advanced programming languages

#2
"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."

What about libraries and code-bases available to the programmer? Legacy code might not be a concern, but what about having to reinvent wheels?

Re: Advanced programming languages

#3
post #2

"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." What about libraries and code-bases available to the programmer? Legacy code might not be a concern, but what about having to reinvent wheels?

Any advanced language worth his salt will allow you to link libraries from other languages. It may require some work, but at least it can be done; whilst you can't expand the capabilities of your programming language of choice as easily.

I think no language is advanced enough to be used alone for everything. Steve Yeggie said that once a time at Amazon the only languages allowed were Lisp and C. It makes sense: an high level language plus a low level one. Those languages which try to encompass too much become too complex and hard to use effectively (think about C++).

Re: Advanced programming languages

#4
post #3
post #2

"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." What about libraries and code-bases available to the programmer? Legacy code might not be a concern, but what about having to reinvent wheels?

Any advanced language worth his salt will allow you to link libraries from other languages. It may require some work, but at least it can be done; whilst you can't expand the capabilities of your programming language of choice as easily. I think no language is advanced enough to be used alone for everything. Steve Yeggie said that once a time at Amazon the only languages allowed were Lisp and C. It makes sense: an hi…

Wow! I never knew that Amazon was a Lisp company. I'd like to know more about their infrastructure setup with Lisp and C.

Re: Advanced programming languages

#5
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 programming especially for concurrency or to solve specific problems.

Are there any large pieces of software outside of academia that are written primarily in functional languages?

Re: Advanced programming languages

#6

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…

> Are there any large pieces of software outside of academia that are written primarily in functional languages?

If you're asking about places where FP is often used, I know it's big in finance (though I have no idea what those guys are up to).

The haskell web development space has also gotten to a pretty mature point. I think you'd have no problem building a web app with Yesod or Snap.

http://www.yesodweb.com/ http://snapframework.com/

You could also check out http://cufp.org

Re: Advanced programming languages

#7

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…

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.wikipedia.org/wiki/Game_Oriented_Assembly_Lisp

I don't know of any others off the top of my head.

Re: Advanced programming languages

#8

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…

> Are there any large pieces of software outside of academia that are written primarily in functional languages? If you're asking about places where FP is often used, I know it's big in finance (though I have no idea what those guys are up to). The haskell web development space has also gotten to a pretty mature point. I think you'd have no problem building a web app with Yesod or Snap. http://www.yesodweb.com/ http:…

Jane Street is pretty well known for their use of OCaml in finance.

http://janestreet.com/technology/articles.php

Re: Advanced programming languages

#9

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…

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 a sequence of changes to make to the database.

Re: Advanced programming languages

#10
post #9

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…

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 some of which may not be persisted immediately.

Sure you can probably write your controller logic in a pretty functional way but then you probably end up moving your messy logic into stored procs or something else.

Post reply on HN