Live data from Hacker News

How does one learn about the latest advances in Computer Science (not fads) to apply and improve your work?

news.ycombinator.com

1–10 of 41 posts

How does one learn about the latest advances in Computer Science (not fads) to apply and improve your work?

#1
Note: core stuff like algorithms, new patterns etc. not fads like RoR, Ajax...

Stuff that usually sits in abtruse papers, out of mind for the average developer. Accessible to the average developer, and in a form more easily digestible (studying research papers is not practical for all).

When I picked up the Cormen book recently, I saw lots of new stuff I didnt learn in College.

Re: How does one learn about the latest advances in Computer Science (not fads) to apply and improve your work?

#2
Computer Science, as a field is very mature, and as a result, very specialized in its research (though I disagree with the idea that core algorithm research is more relevant for the average developer than what you call fads).

The best thing to do is to first get more specific: what kind of algorithm? Is it database implementations? Virtualization techniques? Filesystem optimization? Graphics hardware? Programming languages?

Then, find the appropriate journals. Get an ACM membership so you can search and get full text of the library.

Re: How does one learn about the latest advances in Computer Science (not fads) to apply and improve your work?

#3
I'm currently a CS double-major in an American university. We learnt algorithms with Sedgewick's books (available for C and Java) and patterns with the Gang of Four book. I find that I rarely use the algorithms for web programming, but do use some patterns (MVC, Observer).

As for latest advances, there are many languages on the cutting edge, such as Haskell, OCaml and Erlang that would be worthy to study just to expand your horizons. These languages ARE many of the latest advances in CS. I'm currently diving into Lisp, and have found that some concepts are timeless (code as data, macros).

Re: How does one learn about the latest advances in Computer Science (not fads) to apply and improve your work?

#4
post #2

Computer Science, as a field is very mature, and as a result, very specialized in its research (though I disagree with the idea that core algorithm research is more relevant for the average developer than what you call fads). The best thing to do is to first get more specific: what kind of algorithm? Is it database implementations? Virtualization techniques? Filesystem optimization? Graphics hardware? Programming lan…

"find the appropriate journals. Get an ACM membership so you can search and get full text of the library"

for developers with full time jobs?

Re: How does one learn about the latest advances in Computer Science (not fads) to apply and improve your work?

#5
For routine programming, the GoF Design Patterns book will be more helpful to you than algorithms books.

But if you really want to learn more about algorithms, check out this book:

http://www.amazon.com/Algorithm-Design-Jon-Kleinberg/dp/0321...

As for programming languages, the java + eclipse combination is excellent.

Re: How does one learn about the latest advances in Computer Science (not fads) to apply and improve your work?

#6
post #5

For routine programming, the GoF Design Patterns book will be more helpful to you than algorithms books. But if you really want to learn more about algorithms, check out this book: http://www.amazon.com/Algorithm-Design-Jon-Kleinberg/dp/0321... As for programming languages, the java + eclipse combination is excellent.

Also, check out this refactoring book:

http://www.amazon.com/Refactoring-Improving-Design-Existing-...

Re: How does one learn about the latest advances in Computer Science (not fads) to apply and improve your work?

#8
post #4
post #2

Computer Science, as a field is very mature, and as a result, very specialized in its research (though I disagree with the idea that core algorithm research is more relevant for the average developer than what you call fads). The best thing to do is to first get more specific: what kind of algorithm? Is it database implementations? Virtualization techniques? Filesystem optimization? Graphics hardware? Programming lan…

"find the appropriate journals. Get an ACM membership so you can search and get full text of the library" for developers with full time jobs?

How else are you gonna pay for the ACM membership? ;-)

Really, it's a matter of making time for reading and learning. Pick up a paper sometime at night when you don't feel like coding and would otherwise watch TV. Or print it out and read it on the subway or carpool.

You also mentioned Cormen being too hard for the "average developer" and covering stuff you didn't learn in college. Cormen is intended as a textbook for later undergrads or early grad student courses. If you didn't learn the material in college, Cormen is your chance to learn it. And you have to treat it just like you're in college again - really, you can't expect to just magically know things. The whole point is to learn from it - if it covered stuff you already knew, there'd be no reason to read it.

Re: How does one learn about the latest advances in Computer Science (not fads) to apply and improve your work?

#9
post #4

Earlier quoted context omitted.

"find the appropriate journals. Get an ACM membership so you can search and get full text of the library" for developers with full time jobs?

How else are you gonna pay for the ACM membership? ;-) Really, it's a matter of making time for reading and learning. Pick up a paper sometime at night when you don't feel like coding and would otherwise watch TV. Or print it out and read it on the subway or carpool. You also mentioned Cormen being too hard for the "average developer" and covering stuff you didn't learn in college. Cormen is intended as a textbook fo…

They made ACM with digital library close to $200... ugh.

Re: How does one learn about the latest advances in Computer Science (not fads) to apply and improve your work?

#10
post #4

Earlier quoted context omitted.

"find the appropriate journals. Get an ACM membership so you can search and get full text of the library" for developers with full time jobs?

How else are you gonna pay for the ACM membership? ;-) Really, it's a matter of making time for reading and learning. Pick up a paper sometime at night when you don't feel like coding and would otherwise watch TV. Or print it out and read it on the subway or carpool. You also mentioned Cormen being too hard for the "average developer" and covering stuff you didn't learn in college. Cormen is intended as a textbook fo…

clarification: Cormen is wonderfully easy to read, relatively speaking. I learnt from Automata Theory, Formal Languages, and Computation, by Aho, Hopcroft, Ullman. That was hard :)
Post reply on HN