Merrick
01-09-2009, 06:49 PM
I realize that this is going to be considered an abominable statement, especially to UNIX/Linux users and computer engineering types in general, but the fact is any programming language that can't directly and natively handle multidimensional arrays is a pretty silly choice for a scientific programming language. Unfortunately, the only obvious option that can produce lean, fast code is Assembler - which has the drawback that most programmers are unwilling to climb the learning curve. Complaints that code is not readable or reusable are not at all supportable since Microsoft first released the Macro Assembler in the 1980s, but the learning curve (particularly to develop reusable coding practices) complaint is perfectly true.
Portability is a great strength of C++, obviously, making it possible for Windows, Mac, and UNIX/Linux programmers to use the same reference text and code will remarkably little modification between platforms.
Assembler, of course, is the absolutely least portable language ever since it's not inherently OS specific but CPU specific.
But wait!
Aren't all new PCs, Macs, and most UNIX/Linux machines now Intel based? And aren't there in fact commercial and freeware assemblers that will produce platform specific binaries? Well, yes, in fact there are!
I realize I'm not going to convince the authors or in fact the vast majority NR users to consider Assembler seriously, but when a not unreasonable case can be made for Assembler as a portable programming language doesn't that suggest that the portability argument for C++ might not be as rock solid as it is usually assumed to be? And if that's true, aren't there in fact good reasons to consider a more science-friendly programming language for a book on the art of scientific programming?
Anyways, thanks for your time.
Portability is a great strength of C++, obviously, making it possible for Windows, Mac, and UNIX/Linux programmers to use the same reference text and code will remarkably little modification between platforms.
Assembler, of course, is the absolutely least portable language ever since it's not inherently OS specific but CPU specific.
But wait!
Aren't all new PCs, Macs, and most UNIX/Linux machines now Intel based? And aren't there in fact commercial and freeware assemblers that will produce platform specific binaries? Well, yes, in fact there are!
I realize I'm not going to convince the authors or in fact the vast majority NR users to consider Assembler seriously, but when a not unreasonable case can be made for Assembler as a portable programming language doesn't that suggest that the portability argument for C++ might not be as rock solid as it is usually assumed to be? And if that's true, aren't there in fact good reasons to consider a more science-friendly programming language for a book on the art of scientific programming?
Anyways, thanks for your time.