I'm eager to learn about Stepanov's approach to programming described in the boo开发者_开发知识库k Elements of Programming. Does anyone here have experience with these methods, or can point me to some online resource where this topic matter is discussed?
I've seen the Adobe's Google Tech Talk on A Possible future of software development.
I was a proofreader for the book, and my feedback to Alex greatly influenced the style of presentation. I am happy to call myself one of his disciples. I find the material fascinating, and it has totally changed the way I write code, even Java code.
Some of Alex's "methods" are radical despite the vague wording I am providing:
- Progamming is about two things: algorithms and data structures.
- Think very hard about every line of code you write.
- Understand the structure of the problem you are trying to solve.
- Good code is often rewritten to be better.
- The goal is to write code that is both as general and as fast as possible.
- Naming things correctly is very important.
- Often the core of an algorithm is already a well-understood idea.
- If your function computes something interesting, return it.
How does that turn into source code? My posts on StackOverflow were done after this improvement in my understanding, so you can read those if you want. Otherwise, I'm not sure how to answer your question to your satisfaction.
At the end of video, Sean Parent mentions http://opensource.adobe.com/
You can check out Adobe STLab
(BTW, I've ordered Elements of Programming and I'll receive it tomorrow ;-)
It is good to see Stepanov's talk given at StanfordUniversity. Is related to his book Elements of Programming. hhttps://www.youtube.com/watch?v=Ih9gpJga4Vc He gives his view how programming and mathematics are related.
I find it extremely interesting that Sean Parent (from Adobe Photoshop team) in 2007 has stated that: Photoshop has 3 millions LOC and by using STL (Standard Template Library) methodology it could be rewritten in only 30 kLOC, 100 times less - compression of magnitude 2! http://www.youtube.com/watch?feature=player_detailpage&v=4moyKUHApq4#t=2333
I find it fascinating, that STL port (or should it be called rewrite or perhaps refactoring) enables such high, upto 2 orders of magnitude compression of source code of huge applications like MSWord or Adobe Photoshop.
Here is an Interview with Alexander Stepanov http://www.stlport.org/resources/StepanovUSA.html
精彩评论