James.Jackson@f200.n208.z1.fidonet.org (James Jackson) (06/04/90)
I hear some modula-2 advocates telling me M-2 actually can outperform C? and is equally as powerful as C. But a question, is it as portable as C? I'm interested in possibly checking out the world of m2, but need some more info, you know, the stuff that makes your language interesting. What are the benefits of M2? as compared to other languages? Portability, Power, etc.? Your replies are appreciated. for C you can get tons of toolboxes to make C do almost anything, is there anything like this for M2? fill me in.. thanks. James. Logitech Modula-2, any good?? -- uucp: uunet!m2xenix!puddle!208!200!James.Jackson Internet: James.Jackson@f200.n208.z1.fidonet.org
Peter.M..Perchansky@f101.n273.z1.fidonet.org (Peter M. Perchansky) (06/07/90)
Hello James: Logitech is slow ;-) Try Stony Brook or JPI's Modula-2. Is Modula-2 as powerful as C? JPI is using TopSpeed Modula-2 to write their "ANSI Standard" TopSpeed C compiler. Portability... tough question. Is C portable? Is Modula-2 portable. A lot of persons say C is portable, but... the standard just came out and not all vendors were close to the standard (some were around 40%, others were 90%). So, how portable is C? There currently is no standard for Modula-2, so the same point stands. Most compilers follow the "defacto standard" set up by Wirth; following Programming in Modula-2 III (PIM3) or IV (PIM4). So, the language itself has some portability in it. However, Wirth supplied little in his papers concerning what libraries should contain or how they should be formatted; so, there is little to go by in terms of "standard" libraries. Although most software publishers (Stony Brook, Logitech, JPI, etc.) are competing with each other and usually have similar libraries because of it. -- uucp: uunet!m2xenix!puddle!273!101!Peter.M..Perchansky Internet: Peter.M..Perchansky@f101.n273.z1.fidonet.org
James.Jackson@f200.n208.z1.fidonet.org (James Jackson) (06/09/90)
I left you a message on the Tech area, about Including C routines in Modula2, I wonder, is this possible? I program in C, and it is supported by hundreds of vendors with neat little tools that help you really perform, I'd be interested to know if M2 can be able to make applications for Windows, OS2.. what about M2 on Unix based systems? I've seen ads stating Topspeed Modula out performs C in all areas, this is what interests me.. maybe you can answer a few of my question, and maybe I'll become a Modula 2 advocate. thanks, James -- uucp: uunet!m2xenix!puddle!208!200!James.Jackson Internet: James.Jackson@f200.n208.z1.fidonet.org
Jon.Guthrie@p2.f70.n226.z1.fidonet.org (Jon Guthrie) (06/10/90)
> Is Modula-2 as powerful as C? > JPI is using TopSpeed Modula-2 to write their "ANSI Standard" > TopSpeed C compiler. This really avoids the question. You could write the C compiler in COBOL and it's quality would depend mostly on how good a coder you are. The choice of a language depends more on what a programmer knows than what the language is suited for. Instead of saying so-and-so is writing such-and-such in Modula-2, why don't you talk about Modula's powerful encapsulation facilities. Why don't you mention that this makes Modula better for large projects than C is? You could also talk about the improved support for abstraction. > Portability... tough question. Is C portable? Is Modula-2 portable. > A lot of persons say C is portable, but... the standard just came out > and not all vendors were close to the standard (some were around 40%, > others were 90%). So, how portable is C? Do you honestly want an answer? Before the ANSI (assuming that you're in the USA, otherwise you have to talk about ISO) committee produced their final standards document, there was a de-facto C standard that was the result of C's birth and adolescence on Unix machines. Even though nobody has had a chance to implement (well, try anyway - there's no validation suite) the full ANSI standard, the language supported is always Unix System V compatable. The same is said for the "Standard library." The standard library means that a C programmer has a fighting chance at making his programs portable. (He has to restrict himself, however. It is difficult to write interactive programs in C that are truly portable.) > There currently is no standard for Modula-2, so the same point stands. > Most compilers follow the "defacto standard" set up by Wirth; > following Programming in Modula-2 III (PIM3) or IV (PIM4). So, the > language itself has some portability in it. Aside from the fact that N. Wirth does not say whether Modula-2 is a one-pass or a two-pass language, this is correct. (It is quite possible to write two different compilers that won't compile each other's code but which are BOTH compatable with PIM.) > However, Wirth supplied little in his papers concerning what > libraries should contain or how they should be formatted; so, there is > little to go by in terms of "standard" libraries. Actually, Wirth wimps out and fails to specify even a minimum standard for a standard library. In my copy of PIM3c he says that he presents a "typical hierarchy of modules used in performing conventional input and output operations." Further, he says that "the hierarchy of these Modules and their exports do not belong to the language proper." That view, while it is not incorrect by any stretch of the imagination, is not likely to promote portability of any code which does I/O at all. In fact, a minimum I/O library specification SHOULD be part of the definition of any higher-level programming language. (Well, that's what I believe, anyway. In fact, I think that de-facto I/O library standards will be created but they will be different for each computer family.) In any case, I don't think that portability is a major issue for casual programmers. It probably isn't even that big an issue for professional programmers. It's importance is certainly overemphasized. ...You trust them with your fortunes, let them guard your lives -- uucp: uunet!m2xenix!puddle!226!70.2!Jon.Guthrie Internet: Jon.Guthrie@p2.f70.n226.z1.fidonet.org
Peter.M..Perchansky@f101.n273.z1.fidonet.org (Peter M. Perchansky) (06/11/90)
Hello James: TopSpeed Modula-2 2.00 supports multi-lingual programming. You can interface with assembler, C, Pascal, etc. Both TopSpeed and Stony Brook Modula-2 have pragmas that allow you to specify calling conventions. In TopSpeed Modula-2, you can go as far as telling the compiler what registers to use when calling, and what registers are to be saved. P.S. Feel free to leave your Modula-2 questions here, James, instead of Tech. -- uucp: uunet!m2xenix!puddle!273!101!Peter.M..Perchansky Internet: Peter.M..Perchansky@f101.n273.z1.fidonet.org
Peter.M..Perchansky@f101.n273.z1.fidonet.org (Peter M. Perchansky) (06/11/90)
Hello Jon: Prove it, Jon; write a C compiler in COBOL ;-) --- Peter -- uucp: uunet!m2xenix!puddle!273!101!Peter.M..Perchansky Internet: Peter.M..Perchansky@f101.n273.z1.fidonet.org
ccc_ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University) (06/13/90)
I do not agree that a minimum specification for doing I/O, or heap management, or concurrency, or anything else that requires run-time library support, should be part of the definition of a systems-level programming language. Such specifications are usually more trouble than they're worth. Consider the "portable" C I/O library, and consider using it for such a simple task as making a copy of a file: your program might work on UNIX and MS-DOS, but not on much else. Systems where your program *wouldn't* generally succeed in making a usable copy of a file include VAX/VMS and Macintosh. And then there's a system like the Amiga, where what you mean by a "file" depends on whether you're looking at things via Intuition or via the CLI. Lawrence D'Oliveiro Computer Services Dept fone: +64-71-562-889 University of Waikato fax: +64-71-384-066 Hamilton, New Zealand electric mail: ldo@waikato.ac.nz "ATM--is that short for asynchronous TDM?"
randy@m2xenix.psg.com (Randy Bush) (06/15/90)
[flame] In article <729.267677b4@waikato.ac.nz> ccc_ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University) writes: > I do not agree that a minimum specification for doing I/O, or heap > management, or concurrency, or anything else that requires run-time library > support, should be part of the definition of a systems-level programming > language. So where were you when we needed you at the ISO working group? > Such specifications are usually more trouble than they're worth. You forgot to underline 'more' and put a strong adjective in front of it. > Consider the "portable" C I/O library I have. At the recent Modula-2 ISO meeting, I came to the conclusion that we should have just added C's stdio etc. to the SYSTEM module. It's existing practice, available everywhere, and would probably get more user satisfaction than anything a committee could design in five years. [emalf] -- ..!{uunet,qiclab,intelhf}!m2xenix!randy randy@psg.com randy@m2xenix.uucp