
----- Original Message ----- From: "Paul F. Dubois" <paul@pfdubois.com> To: "Ivan Frohne" <frohne@gci.net>; <Numpy-discussion@lists.sourceforge.net> Sent: Wednesday, February 14, 2001 19:22 Subject: RE: [Numpy-discussion] Numeric 2 : Arrays and Floating Point in C#
Thank you for pointing this out. I have two questions.
1. Note that we could not reach a consensus about using C++ for future versions, even though C++ is quite aged by now, because of complaints that acceptable (ie, standard-conforming) compilers were not available (a) for free and (b) on all platforms. When would C# likely be able to meet these conditions?
2. Java flunked the Kindergarten test -- it did not like to play with others. Will C# pass it? If I want to use many of the available algorithms, I have to be able to call C and Fortran. The fact that Python itself is implemented in a given language is of almost no value in and of itself. Nobody is going to rewrite Linpack and Spherepack in C# next month.
My questions may sound rhetorical, but they are not. Although I have glanced through the C# spec, and am somewhat pleased with it, I do not know the answers to these questions.
Microsoft has a long list of languages which they claim will support C# and the .NET Framework, including C++, Python, Perl, Eiffel, Oberon, Haskell, Smalltalk, and even COBOL. Fortran is conspicuous by its absence on the list, but Fujitsu is doing the COBOL port. Fujitsu and Lahey Fortran are working partners. Or maybe Compaq/Digital has something on the back burner? http://msdn.microsoft.com/net/thirdparty/default.asp#lang http://msdn.microsoft.com/library/default.asp?URL=/library/techart/Interopdo tNET.htm What's encouraging about C# and the .NET Framework is that they appear to have been designed to address some of the more serious shortcomings of JAVA: (0) Many languages will be supported. (1) The C# language specification has been submitted to the international standards body ECMA for standardization. (2) Built-in types (ints, longs, doubles, arrays, etc.) are objects. (3) Unsigned integer types are included. (4) There is full IEEE 754 floating point support. (5) There is native support for multidimensional arrays, not just awkward ragged arrays. (6) Most operators can be overloaded. (7) If you must, pointers are supported. Python supports complex arithmetic out of the box. But to invert a matrix you have to twist yourself into a pretzel. Ivan Frohne