Live data from Hacker News

Ask HN: Programming language power and 10 years to mastery

news.ycombinator.com

21–30 of 44 posts

Re: Ask HN: Programming language power and 10 years to mastery

#22
post #20

Earlier quoted context omitted.

I concur. The big advantage to picking up one of these Lisp-like languages (rather than Lisp itself) is that with their corresponding web-frameworks (Rails and Django), you will be able to put up some pretty cool apps pretty quickly. This helps your motivation as well as your bottom line personal ROI (they're both pretty marketable skillsets). I don't think you lose all that much, as far as the experience of picking…

I wouldn't call Rails and Python "Lisp-like languages."

Python's lead designer is actively hostile to this, actually. (And Rails isn't a language, goshdarnit...)

Lua is very Scheme-y, though, much the way Javascript is.

While I don't use Ruby much (Python and Lua fit that niche for me), it seems more Lisp-y than Python.

Re: Ask HN: Programming language power and 10 years to mastery

#23
post #21

""I started "thinking in sets" and found that I was much more effective."" Actually that is the power of Lisp. In Lisp, batch or stream data processing is not only straightforward, but the way to think and program.

Well, he's talking about relational databases, which approach sets from a very different angle.

Re: Ask HN: Programming language power and 10 years to mastery

#24
I got into Lisp through Emacs, but more recently I've been understanding it using Clojure.

For me, I need to be able to create something tangible. Having access to all the Java libraries gives me a lot of cool things to import, then play around with in functional ways.

Re: Ask HN: Programming language power and 10 years to mastery

#25
It sounds like you are trying to do two separate things: 1. Learn Lisp, and 2. create a web app startup.

Both are very worthy goals, but I don't know if using Lisp, Haskell or erlang to write a web app is really a great idea right now. (Sorry PG). I think that is was true that writing web apps in Lisp probably gave you a huge leg up against the competitors in the mid 90's. I don't really know if that's the case now.

Languages like Python and Ruby have tons of libraries, frameworks and documentation that really help you get productive making web apps. That's a huge plus in my book.

Then again, maybe you're interested in rolling your own libraries and framework ala arc. If that's your thing go for it. I'm sure you'll learn a lot along the way.

Re: Ask HN: Programming language power and 10 years to mastery

#26
post #7

in pcl ch3, the author demonstrates using cl instead of sql for database afaik hn doesn't use sql/rdbms either, i guess it's because threaded forum is better suited using a tree-like data structure instead of simple table i stopped using sql (after reading pcl and seeing the fact of hn) and just having a lisp process running, writing to disk every 5 mins i'm now experimenting with nginx's proxy_pass and upstream to m…

HN's data set isn't big enough to really need one, though. Serious RDMBSs are designed for billions to trillions of entries.

Re: Ask HN: Programming language power and 10 years to mastery

#27
post #5
post #3

Check out the book 'The Little Schemer'. Good way to ease your mind into functional programming. Also consider learning a dynamic 'scripting' language like Ruby or Python. They have some functional aspects, and will teach you programming style and idioms that you probably haven't picked up from Java and C.

Oh and if you plan on doing anything web-related, learn Javascript (properly!) - this will also expose you to functional programming technique. http://javascript.crockford.com/little.html

Is there a "Dive into Javascript" like there is a "Dive Into Python"?. The DIP style is by far my favorite way to learn a new language.

Re: Ask HN: Programming language power and 10 years to mastery

#28
For Lisp, I found using Scheme and reading The Little Schemer and SICP more helpful than PCL. I've also been using and heavily customizing Emacs, but Emacs Lisp is kind of a crappy Lisp, and keeping track of its idiosyncrasies while also learning Scheme or Common Lisp's will probably be really confusing initially. Scheme is also a lot more my style than CL, though. YMMV.

I also found learning OCaml to be a real eye-opener, both for learning FP techniques (it emphasizes a different set of them than Lisp) and how to work with, rather than against, static typing. (_The Little MLer_ helped, as well, and is at least as good for learning types as _The Little Schemer_ is for recursion, IMHO. Highly recommended.)

There's not a whole lot of material published in English on OCaml (the Joshua Smith book is terrible!), but there's a translation of a French O'Reilly book online (http://caml.inria.fr/pub/docs/oreilly-book/), and it's quite good for learning the main ideas. The first few chapters are on functional programming, imperative programming, and then their relative strengths & when to use each. (Their emphasis on using FP when appropriate, rather than treating it as the new best thing ever, suggests more insight to me than the blind enthusiasm for languages that tends to cycle through here and reddit.)

Also: OCaml is not without its flaws. In particular, its errors can be cryptic, and it's standard library has some infuriating omissions. The language is fantastic for some kinds of problems (ML's forte is anything involving complex data structures), though, and it's a great way to learn some very useful techniques.

Re: Ask HN: Programming language power and 10 years to mastery

#29
post #20

Earlier quoted context omitted.

I wouldn't call Rails and Python "Lisp-like languages."

Python's lead designer is actively hostile to this, actually. (And Rails isn't a language, goshdarnit...) Lua is very Scheme-y, though, much the way Javascript is. While I don't use Ruby much (Python and Lua fit that niche for me), it seems more Lisp-y than Python.

Yes, I did read his post about his basing Python more on C and Algol than functional languages.

But then he goes on to explain how and why Python got more functional programming features.

Also, I based my assumption that Python is "lisp-like" on a statement I remembered from one of PG's essays:

"Each one is progressively more like Lisp. Python copies even features that many Lisp hackers consider to be mistakes. You could translate simple Lisp programs into Python line for line."

If there is more context to all this that I am missing, then my mistake. Anyway, I wasn't looking to make any detailed comparisons between languages for the OP. I was just saying...hey, Python or something else could be fun to learn...

Re: Ask HN: Programming language power and 10 years to mastery

#30
post #3

Check out the book 'The Little Schemer'. Good way to ease your mind into functional programming. Also consider learning a dynamic 'scripting' language like Ruby or Python. They have some functional aspects, and will teach you programming style and idioms that you probably haven't picked up from Java and C.

I've been meaning to read that book, one question, do you really need to know Scheme to be able to read this book? Please enlighten me. Thanks!
Post reply on HN