mostly used algorithm

I am trying to become a better developer by learning some algorithms such as recursion. What are the other algorithms that are very useful in a typical crud web application I don't want to waste my time learning some thing just for the sake of academic.

Please let me know.


Answer this question

mostly used algorithm

  • databaseDave

    My best advice is to learn about design patterns. They'll really start to give you an insight into how applications are generally built out of very similar sets of building blocks, by abstracting those building blocks you get a greater understanding of the art/science/craft that is programming:

    This is my favourite programming book:

    http://www.amazon.com/Design-Patterns-Object-Oriented-Addison-Wesley-Professional/dp/0201633612

    Also try to learn more about your methods of programming, how you work in a team and how to approach your understanding of the project rather than learning specific techniques. For that I'd advise:

    Code Complete 2

    http://www.amazon.com/Code-Complete-Second-Steve-McConnell/dp/0735619670/sr=1-1/qid=1166133795/ref=pd_bbs_1/002-3776569-1572861 ie=UTF8&s=books

    and Pragmattic Programmer

    http://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X/sr=1-2/qid=1166133795/ref=pd_bbs_2/002-3776569-1572861 ie=UTF8&s=books

    Also, for specific enterprise development, try:

    http://www.amazon.com/Patterns-Enterprise-Application-Architecture-Martin/dp/0321127420/sr=1-1/qid=1166133958/ref=pd_bbs_sr_1/002-3776569-1572861 ie=UTF8&s=books


  • James2007

    Any how many patterns or techniques from that book did "save" your project I don't mean to sound negative but I want to improve my skills that would come in handy on daily basis such as recursion or regular expression. I don't want to get into fancy design patterns just for mental exercise. Please let me know if you use these techniques on day in and day out.

    I was hoping to get some more information on algorithms that you guys use often and start with that.

    Thanks again for responding.

  • Chouproute

    Thanks Paul.

  • JulianRidley

    It would be ideal to work in a team where you can have your code reviewed by more experienced developers and solution architects. For the customer I work for we are with 3 Solution Architects for about 40 .NET developers. We receive code-change notifications that are queued waiting for a code review. We try to do this as often as possible per project (let's say each 2 to 3 days per project). Don't get me wrong it is not criticize the work of the developers. The purpose is that during these code reviews we take notes of some common anti-patterns and monthly during a brown-bag session try to give some best practices. These best practices are added to the Guidance Explorer repository. Which is a great tool that can be downloaded from here:

    http://www.gotdotnet.com/codegallery/codegallery.aspx id=bb9aecfe-56ba-4ca9-8127-44e551b90962

    What you can do is download the Guidance Explorer and navigate through these best practices. This is propably what you are looking for, no



  • SQLme

    Any how many patterns or techniques from that book did "save" your project

    Most of them.

    I don't mean to sound negative but I want to improve my skills that would come in handy on daily basis such as recursion or regular expression.

    I've been programming for 20 years, and one thing I've learned in that time is that it's impossible to remember everything you've ever written.  If you teach yourself regular expressions, recursion or another technique, I guarantee you'll have pushed it to the back of your brain in six months, and when you come to use it you'll have to brush up again.  So don't get too bogged down with learning a big list of techniques - I find it's far better to know what to do when I come across a situation that I haven't encountered before, than have a big list of things that might possibly be useful in the future.

    I'd say understanding design patterns more than any other technique will help you more day in day out than learning a big list of techniques - it will help you abstract a problem and fit it to a common pattern.  It's not just a mental exercise, it will make you see the bigger picture of how code fits together, and will give you more ideas for development

    One thing you'll learn as you become a better programmer is that it's not about storing a big list of 'techniques' in your head.  It's about knowing how to research techniques for yourself, understanding how to debug code properly and making large applications more manageable for the human brain (which just can't comprehend the quantity of code in todays large projects), plus many more things which aren't directly linked to learning a particular technique.  So if you want to learn how to "Save" a project I'd seriously consider reading something like Pragmatic Programmer and Design Patterns. 


  • Guy F

    I will do that. Thanks Gabriel

  • MaHMouD 2006

    sqlster wrote:
    I am trying to become a better developer by learning some algorithms such as recursion. What are the other algorithms that are very useful in a typical crud web application I don't want to waste my time learning some thing just for the sake of academic.

    Please let me know.

    Try Fowlers Patterns of Enterprise Application Architecture for arechitectural patterns. There are so many books we could recommend.



  • mostly used algorithm