Live data from Hacker News

Ask HN: Thoughts on Rich Hickey's advice on becoming a better developer?

news.ycombinator.com

111–114 of 114 posts

Re: Ask HN: Thoughts on Rich Hickey's advice on becoming a better developer?

#111
post #107
post #22

Programming languages matter some, but algorithms and data structures matter a hell of a lot more. While it is true that learning different programming paradigms can help you evolve as a programmer, I strongly believe (I have been programming professionally for about 20 years) that that is far from the best way to evolve as a developer, and learning algorithms and data structures will help you "level up" faster and b…

When programming in high level OO languages, which have ready algorithms and data structures are pretty-much standard, what's your use-case of algorithms? I've seen entire projects which do not require specific knowledge or application of any algorithm. Even when they do, one can google and find "best algorithm for XYZ", then find a library which has the algorithm implemented and off you go. I understand the use of a…

There are cases where you must adapt a known algorithm to fit your domain. In my job, for example, we work with automatic train dispatch planning [1]. The application is built in Java and one of the main components of the route planning is a custom depth-first search. The search tries to move a train through a series of connected tracks while considering the passage of time and checking for time-dependent constraints such as track blocks, other trains, speed restrictions, etc. This couldn't be done using a standard library implementation.

Also, I believe such knowledge will make you a better programmer, even if you don't have to build everything from scratch. I have seen experienced developers using a list to store unique elements, when the only read operation they would do was to check if an element was in the list. Their solution to speed up the checks was to sort the list every time it was modified and then run a binary search. In this case, better knowledge of algorithm complexity and data structures could lead to a much faster solution, using a set for example.

[1] http://www.academia.edu/6128585/A_Heuristic_Approach_to_Trai...

Re: Ask HN: Thoughts on Rich Hickey's advice on becoming a better developer?

#113
post #107

Earlier quoted context omitted.

When programming in high level OO languages, which have ready algorithms and data structures are pretty-much standard, what's your use-case of algorithms? I've seen entire projects which do not require specific knowledge or application of any algorithm. Even when they do, one can google and find "best algorithm for XYZ", then find a library which has the algorithm implemented and off you go. I understand the use of a…

"Can you offer an example of specific situation, in any OO-language with reasonable amount of available libraries, where deep knowledge of design and analysis of algorithms is actually required?" You won't get very many good replies because you are asking the wrong questions. The truth is you don't even need a decent understanding of OO for most day to day dev. You will just produce suboptimal work. A better question…

That is an enlightening answer, thanks.

Re: Ask HN: Thoughts on Rich Hickey's advice on becoming a better developer?

#114
post #106

Earlier quoted context omitted.

This is exactly why a lot of people want to do a start up, or at least start a side project that solves a specific problem. You get to to be the expert in that domain, and in order to get the complete product out, you need to be a generalist. Another meme that's been thrown around is: "You are not the complete developer if you've not written a compiler." I don't necessarily buy that, but there is some merit: there is…

> This is exactly why a lot of people want to do a start up, or at least start a side project that solves a specific problem. You get to to be the expert in that domain, and in order to get the complete product out, you need to be a generalist. Hm, funny thing you mentioned startups. Apart programming related startups, I don't think that startup-ers are "great programmers". I get the feeling that most startup program…

FYI : Heroku and dropbox are not big corps.
Post reply on HN