A New Bible For Programmers?
KZigurs writes "The wonders of online publishing... If you are ready to take on a heroic task and read thru all 976 pages of Concepts, Techniques, and Models
of Computer Programming (draft) (pdf file, 3MB, intro here) written by Peter Van Roy and Seif Haridi you won't regret it. Just finished reading it and I feel like I have read the Bible. And who knows? It has the potential, and since current de facto books about programming are aging with increasing speed it very well may become one. (Please read the intro to get more detailed outlook at topics covered)
Anyone before heard about Oz?"
Anyone before heard about Oz?"
I'm not sure why the article links to the April 26th draft version of the book, when the intro page itself has the link to the much newer June 5th version.
d f
http://www.info.ucl.ac.be/people/PVR/booksingle.p
I look forward to reading it from the intro, however, might be really worthwhile.
Please subscribe to see the more insightful version of th
Does this bible also make the prediction that something huge will happen at the end of the millennium?
I am not a programmer but this seems to me a very interesting book for people who want to have a detailed yet general (hope you understand what I mean) idea of what's going on inside their computers as they are hammering their keyboards. Seriously, popular books on computer programming usually learn you how to use a certain programming language and not the concepts behind writing a computer program so this is a must-read for all people that want to learn to program computers.
-- Cheers!
Design Patterns.
I'm sorry to sound susppicious, but the concepts of programming are not out dated. The problem is tat programming has actaully become (or rather started out) incredible sophisticated and that a lot of programmers now have not been properly trained (be it by self study or a rigour CS program). And that flurry of programming books are more lke cookbooks and dont really *teach* anything anymore.
I find it rather hard to believe that Knuth's analysis of algorithms of Sorting and Searching have/will become out dated. I think his title the ART of COmputer Programming was always incredible ironic because he has done more than anyone else to turn into a real science, which it is now, and by which I mean that it has hypothesis that can now be tested. His book lay the foundation for it and I doubt any new programming book, short of specilized computer journal articles have done much to advance programming.
Sigs are dangerous coy things
Mozart & Oz are well-developed and worth a look--
your programming may improve because of them.
Cheers, Joel
p.s. here are quick excerpts:
The Mozart Programming System is an advanced development platform for intelligent, distributed applications. The system is the result of a decade of research in programming language design and implementation, constraint-based inference, distributed computing, and human-computer interfaces...
Mozart is based on the Oz language, which supports declarative programming, object-oriented programming, constraint programming, and concurrency as part of a coherent whole...
We have developed many applications including sophisticated collaborative tools, multi-agent systems, and digital assistants, as well as applications in natural language understanding and knowledge representation, in scheduling and time-tabling, and in placement and configuration.
Yep, we had to use Oz in a Programming Languages & Semantics course I took in grad school. All I really remember is that it used "constraints" rather than "values" for variables. For example, a variable doesn't necessary contain a single value, but it might contain the constraint "greater than 100, less than 2000". And you can do all kinds of stuff with intersection and union of constraints, and... ahh, that's all I can coerce out of my brain. I thought I had repressed it forever. :-)
Use Ctrl-C instead of ESC in Vim!
For those curious why this books uses Oz as it's language of choice, it is one of the few, if not the only language, to support the many popular paradigms of programming:
* procedural, like C & BASIC
* object-oriented, like Ada & Java
* functional, like Scheme & Haskel
* declarative, like Prolog
It that way, this book is a good way to keep your mind open to different approaches to doing things.
Anm
It's mirrored here courtesy of SurveyComplete.
Incedentally, I highly recommend the book Code Complete: A Practical Handbook of Software Construction by Steve C McConnell. It tought me more about programming than the rest of my computer book bookshelf!
Another great resource is Safari. It's a web service that for a fee, allows you to view O'reilly, Que, and Sams books online. I find the code search feature to be invaluable. Cheap way to read technical books.
There are two kinds of transistors, bipolar junction transistors and field-effect transistors. Bipolar junction transistors are sandwiches made from two layers of N-type silicon separated by a layer of P-type silicon. A bipolar junction transistor has three terminals: an emitter, a base, and a collector. The emitter and collector are connected to the N-type silicon (on opposite sides of the sandwich) and the base terminal is connected to the P-type silicon. When a small voltage is put on the base terminal, current is allowed to flow from the emitter to the collector. (This is for an NPN-type transistor. There is also a PNP type which is the opposite and works with negative voltages instead of positive.)
A field-effect transistor has three terminals, too, but they are called the source, the gate, and the drain. The source and the drain are connected by a channel made of N-type silicon, but the channel is somewhat narrowed by P-type silicon in the middle which is connected to the gate terminal. When you put a voltage on the gate, it creates an electric field which chokes off the current flow from the source to the drain. There is also a type of field-effect transistor with a channel made of P-type silicon, and the voltages are negative.
I have done better than implementing a sort algorithm; I implemented keyless 2-3 trees in a functional style and thus speeded up my LR(1) parser generator from 27 minutes to 4 minutes.
The work of people like us makes the work of people like you possible. So: nyah nyah na-nyah nyah.
Sunlit World Scheme. Weird and different.
Based on reading the Preface and a brief scan of the table of contents, this book is interesting for what the authors do not cover, by design. Nothing on static typing, nothing on algorithms, AI, databases, or numerical techniques.
To some, leaving these topics out of a "bible" would amount to extreme heresy. The content of this book owes more of its lineage to The Structure and Interpretation of Computer Programs than The Art of Computer Programming.