Title: Program Phases, A Programming Language and API Translator Subtitle: Author: Dave Mihalik Publisher: Publication date: Nov 18 2008 ISBN: 1438263295 Pages: 742 Price: 44.99 US WWW book information: http://www.programphases.com/ Book's examples: http://www.programphases.com/ Errata:
Program Phases, A Programming Language and API Translator allows programmers to quickly learn new programming languages by providing indexed example programs written in multiple programming language/API combinations.
The following language/API combinations are used to implement the example programs: Java/Swing, Visual FoxPro, C/Win32, C++/Win32, Visual Basic 6, C++/MFC, C#/.NET, Visual Basic .NET, Managed C++, Python/Tk, Perl/Tk, PHP CLI/GTK, Ruby/Tk, Tcl/Tk, Delphi, C++/QT4, C++/wxWidgets, C/Core Foundation, C/Carbon, Objective-C/Cocoa, C/Gtk, JScript, and JavaScript. Instructions for dealing with the multi-platform combinations, compiling and debugging are provided for the Windows, Mac OS X, and Linux platforms.
LV 2009 Aug 1 I looked through some of the online examples provided (which unfortunately didn't include the Tcl code) and it seems to me that the goal isn't "how would a good programmer solve this problem in the language at hand" but instead "how would one literally solve the problem exactly the same as done in the other languages". In the online examples, this approach makes someone comfortable in a particular language want to scream. I noticed, in at least one of the simplest examples provided - the plain C version of Hello, world - a printf-ish line which produced a white space character in the output that didn't appear in the other programs. I also saw a comment in the perl Hello world that referred to the array $ARGV (and then used @ARGV appropriately). The web site has a web forum for people to discuss the "phases", and so hopefully examples will be corrected as people begin to provide feedback.
The site provides videos demonstrating how to install some of the languages on particular platforms.
The site refers to this as 'Volume 1 , which [...] provides eighteen plus Program Phase implementations of each of the four Program Phase Tasks. On the site, I see this list of programming languages covered, which doesn't exactly match the list from the publisher (JavaScript appears to be missing...)