Book Reviews

[Day Permalink] Thursday, November 7, 2002

[Item Permalink]  -- Comment()
Open source gloats over leaked Microsoft memo: "OPEN SOURCE SOFTWARE advocates have concluded that a leaked Microsoft memorandum detailing a survey it conducted of IT professionals on their views of open source software shows that Microsoft's public relations tactics..." [Google Technology News]

[Item Permalink]  -- Comment()
UK's Sendo Drops Microsoft Software for Nokia's: "British mobile phone maker Sendo said on Thursday it had abandoned its latest product using software from Microsoft and would build a new phone with rival software from Nokia." [Google Technology News]

[Item Permalink] Super visitors -- Comment()
I had a meeting today with two visitors from the Dutch supercomputing center SARA. Anwar Osseyran is the Managing Director of the center, and Wim Saris is the Deputy Managing Directory. We had a small seminar in the morning, and quite a few questions were raised. I think I learned a bit of the way SARA is functioning, and I hope the visitors from SARA also got something in return.

SARA seems to be very active in joint projects with industry, which makes it different from many other supercomputing sites. Many centers either serve a large institution, or have a strong emphasis on a single government sector. For example, SDSC is funded by the NSF and thus provides resources mainly for NSF-funded projects.

[Item Permalink]  -- Comment()
Females in computer science: "On my way to work this morning I was listening to NPR, as I usually do, and heard a segment..." [kasia in a nutshell]

[Item Permalink] Fortran 2000 draft is out for commenting -- Comment()
I was today asked about the Fortran 2000 standard. The draft is available by ftp in various formats (see the README file). Using Google search with the keywords Fortran 2000 draft you find my previous posting pointing to Slashdot.

It will be 1-3 years until this standard is accepted for general use. The first compilers will probably appear within one year, but getting a really efficient and trustworthy compiler will take 2-3 years more. Even then you should use the current Fortran 95 standard, unless you need the new features, for example object-oriented programming.

Here are some details about the draft standard:

Fortran 2000 contains several extensions to Fortran 95; among them are:
(1) Derived-type enhancements: parameterized derived types (allows the kind, length, or shape of a derived type[base ']s components to be chosen when the derived type is used), mixed component accessibility (allows different components to have different accessibility), public entities of private type, improved structure constructors, and finalizers.
(2) Object oriented programming support: enhanced data abstraction (allows one type to extend the definition of another type), polymorphism (allows the type of a variable to vary at runtime), dynamic type allocation, SELECT TYPE construct (allows a choice of execution flow depending upon the type a polymorphic object currently has), and type-bound procedures.
(3) The ASSOCIATE construct (allows a complex expression or object to be denoted by a simple symbol).
(4) Data manipulation enhancements: allocatable components, deferred type parameters, VOLATILE attribute, explicit type specification in array constructors, INTENT specification of pointer arguments, specified lower bounds of pointer assignment and pointer rank remapping, extended initialization expressions, MAX and MIN intrinsics for character type, and enhanced complex constants.
(5) Input/output enhancements: asynchronous transfer operations (allows a program to continue to process data while an input/output transfer occurs), stream access (allows access to a file without reference to any record structure), user specified transfer operations for derived types, user specified control of rounding during format conversions, the FLUSH statement, named constants for preconnected units, regularization of input/output keywords, and access to input/output error messages.
(6) Procedure pointers.
(7) Scoping enhancements: the ability to rename defined operators (supports greater data abstraction) and control of host association into interface bodies.
(8) Support for IEC 60559 (IEEE 754) exceptions and arithmetic (to the extent a processor[base ']s arithmetic supports the IEC standard).
(9) Interoperability with the C programming language (allows portable access to many libraries and the low-level facilities provided by C and allows the portable use of Fortran libraries by programs written in C).
(10) Support for international usage: (ISO 10646) and choice of decimal or comma in numeric formatted input/output.
(11) Enhanced integration with the host operating system: access to command line arguments and environment variables, and access to the processor[base ']s error messages (improves the ability to handle exceptional conditions).
The good news is that the new standard is fully compatible with the current Fortran 95 standard:
Except as identified in this section, this standard is an upward compatible extension to the preceding Fortran International Standard, ISO/IEC 1539:1997 (Fortran 95). Any standard-conforming Fortran 95 program remains standard-conforming under this standard. The following Fortran 95 features may have different interpretations in this standard:
(1) Earlier Fortran standards had the concept of printing, meaning that column one of formatted output had special meaning for a processor-dependent (possibly empty) set of logical units. This could be neither detected nor specified by a standard-specified means. The interpretation of the first column is not specified by this standard.
(2) This standard specifies a different output format for real zero values in list-directed and namelist output.