Domain: awprofessional.com
Stories and comments across the archive that link to awprofessional.com.
Comments · 52
-
Re:Design patterns and Lisp
I just fininished reading Modern C++ Design by Andrei Alexandrescu, which explains all sorts of cool hacks you can do with templates in C++. Or to put it in more sober language, how to implement reusable design patterns using C++'s templates and compile-time polymorphism.
It's a great read and really demonstrates just how powerful C++'s templating system is. It shows how to do just what you say - create a general macro from a specific pattern instance - for example making reusable templates to efficiently implement multiple dispatch and the Visitor pattern. And C++'s template specialization happens at compile time, which with a good optimizing compiler gives you performance as good as handwritten code. I haven't used Common Lisp so I can't compare C++ templates to CL macros - but you shouldn't underestimate C++'s macro-ing and code reuse abilities. The syntax is horrible, but there do exist people who don't like Lisp syntax either...
The fact that early C++ implementations were using the cfront preprocessor doesn't really say much about the language - just that it had an unwieldy first implementation. All current C++ compilers really do handle the language natively (g++ for one). You can find all sorts of reasons for saying C++ is unpleasant and ugly, but cfront is not one of them. OTOH, if you were saying that Lisp is more powerful than C because it is much easier to add objects to Lisp than to add them to C: well of course, everyone knew that already.
-
Textbooks, Resources, LDP
As an academic myself, a few different issues spring to mind. I'll try to organize them in a somewhat coherent fashion.
First, I would ask if you really need textbooks? While most professors still use textbooks, a lot of people do fine without using any textbooks at all. Yes, it requires more effort on the part of the professor to research all of the sources themself; however, in my experience, the results are certainly worth it. Rather than teaching a politically-correct, watered-down course, you can tailor it to precisely what you feel is important. And shouldn't that be a professor's obligation anyhow?
For sources, I would start with the LDP, the FSF, O'Reilly, and Addison-Wesley. These guys easily make up over 95% of my tech bookshelf.
Addison-Wesley also does textbooks. I don't know how good they are but if they pay as much attention to their textbooks as they do to their IT texts, they'll be excellent.
On another matter, if you're going to consider rolling your own textbooks, don't reinvent the wheel. Much, if not most, of the documenation out there is under a free-as-in-speech license. Use it. Also, I don't think that you need to start your own website. I can't speak for the LDP but it seems to me that they would be delighted to assist you in developing the texts that you need.
Finally, if you go to the effort of developing all of this content, please do the right thing and share it with the community. Ideally, this would through a free-as-in-speech license.