Customer Discussions > Programming forum

Best Programming Books?


Sort: Oldest first | Newest first
Showing 1-11 of 11 posts in this discussion
Initial post: Apr 14, 2010 5:17:39 AM PDT
Hello! I'm just getting started in programming, having done a little coding in C and C++. What books would you guys consider "must-reads" for those pursuing a future programming career? Thanks!

Posted on Apr 14, 2010 8:25:50 AM PDT
Acclereated c++ by far the best I have seen to get you writing useful programs quickly. It is the best C++ book I found.

Posted on Apr 15, 2010 2:11:01 PM PDT
well, it depends at what level you are... What do you mean started in programming?

In reply to an earlier post on Apr 15, 2010 2:18:36 PM PDT
I'm a beginner. I've taken an intro class, which was taught in C++, and now I'm taking the intro level of C. I know the basics, but I haven't gotten too far into the more involved topics. Currently learning about pointers, arrays and structures.

Posted on Apr 15, 2010 6:40:45 PM PDT
Well you are in the basic of the basics, so here is the list: (from first to last) C++ without fear, C++ primer plus, accelerated C++, C++ how to program, thinking in C++ 1 &

Then C++PL book
Then all the books from Scott meyers, Serb Hutter, Andrei alexandreisco,
Also the Gang of four (GOF) book.

All together is about 15 books. (about 1.5 to 2 years of self learning)

After those book, you'll know what books you should read.

Posted on Jun 12, 2010 9:24:37 PM PDT
Last edited by the author on Jun 17, 2010 10:10:11 AM PDT
I've been programming business apps for over a quarter century, and would suggest a broad spectrum of studies. Perhaps the most readable of the classics remains "Algorithms + Data Structures = Programs" by Niklaus Wirth (http://www.amazon.com/Algorithms-Structures-Prentice-Hall-Automatic-Computation/dp/0130224189) while one of many excellent C++ resources on the web may be found at http://www.greenteapress.com/thinkcpp/thinkCScpp.pdf while http://www.greenteapress.com/thinkpython/thinkpython.pdf will expose you to multiparadigm programming and http://www.blogger.com/www.info.ucl.ac.be/%7Epvr/VanRoyChapter.pdf will explain the chart at http://www.info.ucl.ac.be/people/PVR/paradigmsDIAGRAMeng108.pdf

Although "No one can ever tell you what a UML diagram means." (Butler Lampson, Technical Fellow, Microsoft) you should familiarize yourself with UML 2.2 diagrams just as my generation needed to flowchart. Please refer to http://en.wikipedia.org/wiki/Unified_Modeling_Language for an overview, to http://www.uml.org/ for details and most of all the excellent summary at http://www.objectsbydesign.com/books/larman_process.html. A discussion of the future of UML may be found at http://www.ddj.com/architecture-and-design/224701702

UML 2.1 introductory tutorials available online include http://www.sparxsystems.com/resources/uml2_tutorial/index.html with comprehensive references at http://www.filepie.us/?title=UML_2 and http://www.zicomi.com/viewDictionaryHome.jsp. Examples of popular XML vocabularies rendered as UML diagrams may be found at http://www.xmlmodeling.com/models/index.html.

Free UML design tools include http://www.visual-paradigm.com/solution/freeumltool and http://bouml.sourceforge.net/ as well as the simpler http://alexdp.free.fr/violetumleditor/page.php?id=en:uml:intro

You must also be conversant in Design Patterns; there's an excellent summary of the original "Gang of Four" core set at http://www.mcdonaldland.info/files/designpatterns/designpatternscard.pdf. Then refer to http://en.wikipedia.org/wiki/Design_pattern_(computer_science) for an overview then to http://martinfowler.com/ for further reading.

Rich Internet Applications are "where the action is" with Adobe's Flex/ColdFusion/Flash/AIR technology stack being the 900lb. gorilla, Google's Web Toolkit the contender, dark horses Opera Unite and Mozilla Prism, and Microsoft's Silverlight 4 promising to take over. I'm no M$ fan, but credit where it's due... Apple of course will do their own thing in their "walled garden" and reward the faithful... An overview of popular tools is available at http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks but now that XHTML 2.0 has been assassinated in favor of HTML5's "more of the same", the most attractive toolkit for building RIAs to my mind is SproutCore - see http://en.wikipedia.org/wiki/SproutCore

Once upon a time (back in 2003) the XML technology stack was a "simple" beast - see http://kensall.com/big-picture/. Since then, things have become complicated! There's a veritable zoo of XML technologies and vocabularies - never has the adage "the nice thing about standards is that there are so many to choose from!" been more true! I can't claim to grasp even half of it, but the best definition I've seen is Kurt Cagle's that XML is "data in motion" (see http://www.emc.com/collateral/software/white-papers/h4706-xml-tech-primer-wp.pdf). Please refer to www.xmltoday.org for his blog postings. For insights into Semantic Web 3.0 technologies, Jeni Tennison is hard to beat (http://www.jenitennison.com/blog/). For an idea of what the compounding of XML technologies can offer, please see http://en.wikibooks.org/wiki/XRX - an open-source technology stack fully compliant with Service Oriented Front End Architecture principles which Microsoft's Silverlight has equaled only with version 4.

Other than must-read classics, any tome more than a year old is going to be too out of date to bother with. A good source of state-of-the-art techniques is The Pragmatic Bookshelf at http://pragprog.com/titles. An excellent summary of the Pragmatic mindset has been excerpted at http://www.matthewjmiller.net/files/pp_checklists.pdf

SQL will be necessary regardless of platform (although Microsoft's LINQ is very powerful) so have a look at http://www.dbbm.fiocruz.br/class/Lecture/d17/sql/jhoffman/sqltut.html then pick up a tool including SQL Lite or download it from http://www.sqlite.org/

The eXist XML database is an excellent tool for learning the XML technologies - download from http://exist.sourceforge.net/

For some applications a non-relational data store is optimal (e.g., CouchDB - http://couchdb.apache.org/).

The newest rage is "cloud computing" which will support flat, relational and heirarchical data stores but is really a return to the service bureau model circa' 1965. See http://en.wikipedia.org/wiki/Cloud_Computing_Manifesto

Most of all, have fun and don't get discouraged by the daunting complexity of alternatives!

Posted on Jun 12, 2010 9:31:50 PM PDT
Thanks for the suggestions, guys!

In reply to an earlier post on Jun 16, 2010 8:16:37 AM PDT
Last edited by the author on Jun 17, 2010 10:18:03 AM PDT
I was remiss in not mentioning the excellent tutorials available from both MIT (their Open Courseware at http://ocw.mit.edu/index.htm) and Stanford's lecture videos at http://see.stanford.edu/see/courses.aspx.

Please also refer to Microsoft's Application Architecture Guide (2nd. Edition) at http://www.microsoft.com/downloads/details.aspx?FamilyID=ce40e4e1-9838-4c89-a197-a373b2a60df2

You can absorb many valuable industry insights from the blogs of Ted Neward (http://blogs.tedneward.com/) and Neal Ford (www.nealford.com).

Finally, you can balance the fervor of Object Oriented enthusiam with some valuable minority opinions: "To Software Architects: Serve End Users, Not Your Egos" - http://www.devx.com/opinion/Article/22649 and "OOP Is Much Better in Theory Than in Practice." - http://www.devx.com/opinion/Article/26776

Posted on Jun 16, 2010 9:26:39 AM PDT
Abelson and Sussman, "Structure and Interpretation of Computer Programs"

Edsger W. Dijkstra, "A Discipline of Programming"

both are timeless classics that look at the essential problem of programming rather than superficialities of various environments, programming languages, etc.

Posted on Jan 17, 2011 1:22:16 PM PST
Yes for beyond the basics it is hard to find good books. I like Koening and Moo's books on C++. Accelerated is full of all kinds of useful examples that can help make any program better or give clues how to solve common problems. I also like their ruminations. It is a bit outdated but it is full of that is far beyond the basic level.

Posted on Oct 9, 2011 3:59:34 AM PDT
Based on patterns of mistakes and a regular pain from my real projects I compiled this list of online reading and books for Agile developer / architect:

http://www.agiledesignllc.com/SoftwareDeveloperRecommendedReading

Most of these books and articles apply to any OO language.
‹ Previous 1 Next ›
[Add comment]
Add your own message to the discussion
To insert a product link use the format: [[ASIN:ASIN product-title]] (What's this?)
Prompts for sign-in
 


Recent discussions in the Programming forum (21 discussions)

Discussion Replies Latest Post
Programming in Plain English 14 8 hours ago
Best Programming Books? 10 Oct 9, 2011
Books that take programming to the next level? 0 Oct 4, 2011
How can I share my programs? 0 Jul 10, 2011
Jobs for Self Taught Programmers? 123 Feb 2, 2011
looking for programming forums 22 Jan 25, 2011
programming/computer learning newbie 1 Dec 18, 2010
Question about Open Office 2 Apr 24, 2010
C# or Java? 67 Apr 10, 2010
Office Open XML 0 Apr 9, 2010
Learning Visual C++ 0 Mar 20, 2010
need good visio UML book 2 Mar 17, 2010
 

This discussion

Discussion in:  Programming forum
Participants:  6
Total posts:  11
Initial post:  Apr 14, 2010
Latest post:  Oct 9, 2011

New! Receive e-mail when new posts are made.
Tracked by 2 customers

Search Customer Discussions