melling@cs.psu.edu (Michael D Mellinger) (05/28/91)
In article <14750@ucrmath.ucr.edu> trout@ucrmath.ucr.edu (michael griffith) writes:
This theory only holds if you are a screw-up. Assembly is much faster
and smaller than anything a complier or interpreter could ever write.
Is this written in stone somewhere? How much faster is assembly
machine language than C given that you have a good machine language
programmer(is this a must?)?
HLLs, on the other hand, provide abstraction, ease of programming, and
portablility. There really is a decision that needs to be made before
If assembler is so great, why don't we just stick with the 68K series
forever? Moto. will surely oblige us.
you start any project. That decision is a choice of a language. Don't
be lulled into thinking that a language is an automatic one -- it isn't.
ALWAYS use the language that is right for the job.
ALWAYS take your vitamins and get plenty of sleep. Get real. I'll
name the language and you name the "right" job.
C
Ada
C++
Eiffel
Smalltalk
Icon
Perl
Rexx
Lisp (CL, Scheme, etc.)
Prolog
Objective C
Self
AWK(nawk)
Snobol
APL
Cobol
Fortran
Assembler -- 68K, 80x86, 6502, SPARC, MIPS, 88K...
Simula
There are dozens more. I have a list with probably a hundred
languages(wouldn't be surprised if it's more like a few hundred).
"My computer is better than your computer." -- Amiga and NeXT junkies.
But it is :-). I say: "ALWAYS use the right computer for the job."
:-) I'm under the impression that you will do anything to avoid an
argument. Sorry pal, if you read the net, you are required to think a
little.
-Mike
jbickers@templar.actrix.gen.nz (John Bickers) (05/28/91)
Quoted from <8_4Ha8!f@cs.psu.edu> by melling@cs.psu.edu (Michael D Mellinger): > If assembler is so great, why don't we just stick with the 68K series > forever? Moto. will surely oblige us. You think we use C because we want to be ready for a CPU change? You think C is automatically going to provide some sort of readiness for such things? The assembler folks will switch over easily enough. Look how many are supposed to be ex-C= 64, for example. > -Mike -- *** John Bickers, TAP, NZAmigaUG. jbickers@templar.actrix.gen.nz *** *** "Endless variations, make it all seem new" - Devo. ***
jpc@fct.unl.pt (Jose Pina Coelho) (05/28/91)
In article <8_4Ha8!f@cs.psu.edu> melling@cs.psu.edu (Michael D Mellinger) writes: > If assembler is so great, why don't we just stick with the 68K series > forever? Moto. will surely oblige us. Because, that would kill competition, and once competition is dead motorola will stop innovation. > ALWAYS take your vitamins and get plenty of sleep. Get real. I'll > name the language and you name the "right" job. Can you smell the smoke comming ? :-) C - Operating systems, small programs. Ada - Can this be used ? I remmember fifteen lines to say hello world. C++ - For situations that call for C's advantages but have good separation between object classes. Smalltalk - For fast prototyping of applications, but then it should generate RTL and be fed into the GNU compiler. Rexx - Like common shell scripts across machines. Lisp - American AI Prolog - European AI (Actualy we need a mix of both, but try tell that to the AI people on both sides of the pond) AWK(nawk) - Processing text files (databases). Generaly complemented with sed and m4. Cobol - Shoot the programmers. Fortran - Shoot the grannys. Assembler - Breaking games protections, patching OS holes (when you don't have the OS source) the code where the program spends 99% of the time. > "My computer is better than your computer." -- Amiga and NeXT junkies. > > But it is :-). I say: "ALWAYS use the right computer for the job." > :-) I'm under the impression that you will do anything to avoid an > argument. Sorry pal, if you read the net, you are required to think a > little. Besides, it's a fellony to duck a flame war in comp.sys.amiga.advocacy :-) -- Jose Pedro T. Pina Coelho | BITNET/Internet: jpc@fct.unl.pt Rua Jau N 1, 2 Dto | UUCP: ...!mcsun!unl!jpc 1300 Lisboa, PORTUGAL | Home phone: (+351) (1) 640767 - If all men were brothers, would you let one marry your sister ?
peter@sugar.hackercorp.com (Peter da Silva) (05/28/91)
In article <4006.tnews@templar.actrix.gen.nz> jbickers@templar.actrix.gen.nz (John Bickers) writes: > The assembler folks will switch over easily enough. Look how many > are supposed to be ex-C= 64, for example. Yes, and look at the code they write. A lot of it won't run on my 3000 because it's 68000-specific. -- Peter da Silva. `-_-' <peter@sugar.hackercorp.com>.
judd@wilkinson.Colorado.EDU (Xenu Galactic-Conqueror) (05/29/91)
I didn't REALLY want to get involved in this one, but both Ada and Fortran are under attack once again, and somebody has to defend them. In article <JPC.91May28115646@terra.fct.unl.pt> jpc@fct.unl.pt (Jose Pina Coelho) writes: > >In article <8_4Ha8!f@cs.psu.edu> melling@cs.psu.edu (Michael D >Mellinger) writes: >> If assembler is so great, why don't we just stick with the 68K series >> forever? Moto. will surely oblige us. Because, as has been said before: Use the right tool for the right job. But I think you knew that. >> ALWAYS take your vitamins and get plenty of sleep. Get real. I'll Whatever... >> name the language and you name the "right" job. >Can you smell the smoke comming ? :-) > >C - Operating systems, small programs. >Ada - Can this be used ? I remmember fifteen lines to say hello world. Sigh... with TEXT_IO use TEXT_IO procedure HELLO_WORLD is begin put("Hello World"); put_line(" "); end HELLO_WORLD; Significantly less than fifteen lines. Ada is a neat language. Proper design will produce a program that is extrememly portable (usually little to no modification is necessary), easy to read, easy to maintain, easy to develop, and you have a tendency to have code with fewer bugs, quite important for things such as a guidance system on a missile, for instance. Ada supports all sorts of neat things, like overloaded operators, separate compilation, unconstrained arrays, derived types, and on and on and on. I am surprised that it hasn't made a strong showing on the Amiga, with it's TASK structure I would think it would fit right in. I would love to just talk about the language, but that would take far too much time and bandwidth - read a book on Ada. It's cool. So, what would you use it for? It lends itself to very portable packages, so scientific software that needs to go between ten different platforms is an excellent application. It also works well for real time applications. Ada fits in really nicely with a Cray as well. So much so, in fact, that Ada may become the language of choice on a Cray. Now, as I said earlier, the Amiga would seem to be an ideal Ada platform. If someone wrote a good Ada copmiler for a couple hundred bucks and marketed it well, stressing the Amiga development environment... assuming Cray survives the onslaught of multi-processor machines, one could probably sell a lot of Amigas into the scientific community. By way of reference, the scaled down Ada compiler on an IBM costs $600. The full version costs $900. Ada on a Sun will fetch $18000.... >Cobol - Shoot the programmers. >Fortran - Shoot the grannys. Double sigh... CS weenies strike again. For many business applications Cobol used to beat the snot out of everything, especially on a machine built around it (like some of the old Borroughs machines). There is more to life than databases and O(1) sorts, you know. Fortran is designed for high-powered scientific applications. Get on a Cray sometime - You are vain and silly if you intend to use any other language for that purpose. >> "My computer is better than your computer." -- Amiga and NeXT junkies. >> >> But it is :-). I say: "ALWAYS use the right computer for the job." >> :-) I'm under the impression that you will do anything to avoid an >> argument. Sorry pal, if you read the net, you are required to think a >> little. To quote a message from a while back (Larry Phillips, perhaps?)... "Gee, what an oxy>>>MORON<<<." -Steve >-- >Jose Pedro T. Pina Coelho | BITNET/Internet: jpc@fct.unl.pt >Rua Jau N 1, 2 Dto | UUCP: ...!mcsun!unl!jpc >1300 Lisboa, PORTUGAL | Home phone: (+351) (1) 640767 -- judd@sgt-york.lanl.gov ...!ncar!boulder!tramp!judd Los Alamos National Laboratory // Univ. of Colo at Boulder A-3 Systems Analysis \X/ Applied Mathematics Women and men (both dong and ding) summer autumn winter spring reaped their sowing and went their came sun moon stars rain -e.e. cummings
jbickers@templar.actrix.gen.nz (John Bickers) (05/29/91)
Quoted from <1991May28.122620.9020@sugar.hackercorp.com> by peter@sugar.hackercorp.com (Peter da Silva): > In article <4006.tnews@templar.actrix.gen.nz> jbickers@templar.actrix.gen.nz (John Bickers) writes: > > The assembler folks will switch over easily enough. Look how many > > are supposed to be ex-C= 64, for example. > > Yes, and look at the code they write. A lot of it won't run on my 3000 because > it's 68000-specific. Sure. These kinds of assembler folks also write primarily for themselves, so it doesn't matter if their software won't run on your machine (well, doesn't matter to you. Small dent in their sales, if they are selling their stuff). They'll switch over to 68030s etc rapidly enough when they have to. Some already are, since more and more coder demos seem to be working ok on an A2630. > Peter da Silva. `-_-' -- *** John Bickers, TAP, NZAmigaUG. jbickers@templar.actrix.gen.nz *** *** "Endless variations, make it all seem new" - Devo. ***
sschaem@starnet.uucp (Stephan Schaem) (05/29/91)
Come on... Somebody showed me 5 demos the all 5 worked on the 3000. even a year ago I had hard time finding demos that would work on a A2630. People learn from their mistake! dont you think? I have CBM software that dont work on my A2000, and other software that go wild on 2.0... That problem is not that true anymore, well their are alway newcomers... But agrea that OS friendlyness is not really here in their software:-) But I dont mind after a 30minuts show of wild and interesting programing/art reboting... Stephan
peter@sugar.hackercorp.com (Peter da Silva) (05/30/91)
In article <4032.tnews@templar.actrix.gen.nz> jbickers@templar.actrix.gen.nz (John Bickers) writes: > Quoted from <1991May28.122620.9020@sugar.hackercorp.com> by peter@sugar.hackercorp.com (Peter da Silva): > > In article <4006.tnews@templar.actrix.gen.nz> jbickers@templar.actrix.gen.nz (John Bickers) writes: > > > The assembler folks will switch over easily enough. Look how many > > > are supposed to be ex-C= 64, for example. > > Yes, and look at the code they write. A lot of it won't run on my 3000 because > > it's 68000-specific. > Sure. These kinds of assembler folks also write primarily for > themselves, so it doesn't matter if their software won't run on your > machine (well, doesn't matter to you. Small dent in their sales, if > they are selling their stuff). I'm not talking about demos. I have a shelf full of software that screws up on my 3000, whether I'm running under 1.3 or 2.0. Things like DigiPaint, Photon Paint, and so on. The core of the Amiga's software base. -- Peter da Silva. `-_-' <peter@sugar.hackercorp.com>.
peterk@cbmger.UUCP (Peter Kittel GERMANY) (05/31/91)
In article <1991May28.173812.4183@colorado.edu> judd@wilkinson.Colorado.EDU (Xenu Galactic-Conqueror) writes: > >. Fortran is designed for high-powered scientific applications. >Get on a Cray sometime - You are vain and silly if you intend to >use any other language for that purpose. Please, can you tell me, what on earth in Fortran is "designed for high-powered scientific applications"? I don't see any evidence for this (you know, I also had to program Fortran back at university.) The only reason to still use Fortran is, in my eyes, the existence of great software packages, including subroutine libraries, that are specialized for this area and have evolved for decades into really bullet-proof and usable good stuff. With them, you don't have to re-invent the wheel all the time. But still I wonder that it should be possible to translate all this stuff into something more modern, like Modula (or C), without losing any feature, but gaining much from the more modern structures of these languages. -- Best regards, Dr. Peter Kittel // E-Mail to \\ Only my personal opinions... Commodore Frankfurt, Germany \X/ {uunet|pyramid|rutgers}!cbmvax!cbmger!peterk
riley@theory.TC.Cornell.EDU (Daniel S. Riley) (06/01/91)
In article <1258@cbmger.UUCP> peterk@cbmger.UUCP (Peter Kittel GERMANY) writes: >In article <1991May28.173812.4183@colorado.edu> judd@wilkinson.Colorado.EDU (Xenu Galactic-Conqueror) writes: >>. Fortran is designed for high-powered scientific applications. >>Get on a Cray sometime - You are vain and silly if you intend to >>use any other language for that purpose. > >Please, can you tell me, what on earth in Fortran is "designed for >high-powered scientific applications"? I don't see any evidence for >this (you know, I also had to program Fortran back at university.) Sure. It doesn't support recursion. It assumes that subroutine arguments are not aliased. It doesn't have pointers. It doesn't have dynamic memory allocation. And so on... That probably doesn't sound like a list of features, does it? But it is, for high-powered scientific applications, because it makes it many optimizations possible that are difficult or impossible in languages like Modula or C. Fortran optimizers are among the best in the world at producing fast, reliable code. This is partly because fortran compiler writers have been at it for a long time, and there is a big premium for speed in scientific applications, but it also because the language is designed for speed. And if you're working on something so compute intensive that you need a Cray to run it, speed and correctness are everything. How awful the language you have to write the code in is secondary, as long as it is portable. Also, there are severe limits on how much a Fortran compiler can reorder expressions. Writing numeric code in C is a pain, because the C compiler is free to use algebraic identies to rearrange expressions. That means that expressions that are sensitive to the order of evaluation have to be broken into many separate expressions to force the order of evaluation. In Fortran, you can put a few parentheses in and be assured that the expression will be evaluated in the order you expect. Fortran certainly is not my favorite language, but there are reasons besides inertia why it is still the language of choice for heavy-duty numeric computation. -- -Dan Riley (riley@theory.tc.cornell.edu, cornell!batcomputer!riley) -Wilson Lab, Cornell University
eachus@largo.mitre.org (Robert I. Eachus) (06/01/91)
In article <1991May31.181153.584@batcomputer.tn.cornell.edu> riley@theory.TC.Cornell.EDU (Daniel S. Riley) writes: >In article <1991May28.173812.4183@colorado.edu> judd@wilkinson.Colorado.EDU (Xenu Galactic-Conqueror) writes: >>. Fortran is designed for high-powered scientific applications. >>Get on a Cray sometime - You are vain and silly if you intend to >>use any other language for that purpose. Since judd did get this right elsewhere in his post, I'll just point out that many supercomputer users are stating to switch to Ada for, among other things, its support for multiple processors. But it will be a while before the compilers are as good some of the FORTRAN compilers at "intrinsics," etc. > Fortran certainly is not my favorite language, but there are > reasons besides inertia why it is still the language of choice > for heavy-duty numeric computation. Ada is catching up, but at different rates in different markets. There is probably more Ada used in Europe, and much more FORTRAN currently on the vector machines. Incidently the "correct" hello world program in Ada is: with TEXT_IO; procedure HELLO_WORLD is begin TEXT_IO.PUT_LINE(" Hello World!"); end HELLO_WORLD; Five lines using standard formatting, and it can easily be srunk to two without loss of clarity: with TEXT_IO; use TEXT_IO; procedure HELLO_WORLD is begin PUT_LINE(" Hello World!"); end; Ada has an undeserved reputation for source code bloat from people who haven't used it, or who have used it only on very small programs. A few years ago I used to figure that Pascal was smaller for programs under 1000 lines, and Ada was better above that. I soon realized that I didn't need to keep a searate language around just to save ten minutes when writing a program in an afternoon, especially since a few personal libraries kept around wiped out even that advantage. Incidently, from experience, a 100,000 line program in Ada is a 300,000 line C monstrosity (or a 1,000,000 line COBOL monster). When you get to large programs, Ada is a necessity. -- Robert I. Eachus with STANDARD_DISCLAIMER; use STANDARD_DISCLAIMER; function MESSAGE (TEXT: in CLEVER_IDEAS) return BETTER_IDEAS is...
s8922967@ipc05.mqcs.mq.oz.au (Murray John GILBERT) (06/01/91)
In article <1258@cbmger.UUCP> peterk@cbmger.UUCP (Peter Kittel GERMANY) writes: > The only reason to still use Fortran is, in my eyes, the existence >of great software packages, including subroutine libraries, that are >specialized for this area and have evolved for decades into really >bullet-proof and usable good stuff. With them, you don't have to >re-invent the wheel all the time. But still I wonder that it should >be possible to translate all this stuff into something more modern, >like Modula (or C), without losing any feature, but gaining much >from the more modern structures of these languages. > >-- >Best regards, Dr. Peter Kittel // E-Mail to \\ Only my personal opinions... >Commodore Frankfurt, Germany \X/ {uunet|pyramid|rutgers}!cbmvax!cbmger!peterk It is about time all that stuff should be translated into something more modern, and fortran itself be buried and left in peace. I'd much rather be able to use C or maybe Modula2 for the programming in the Numeric Analysis course that I am doing. The Linpack, Eispack, et.al packages do a really fine job but it is a real pain having to dredge the sludge out of my brain to find my scarce fortran programming skills. I could see my self using these wonderful routines more often and not just in NA courses if they were in something less painful than fortran is. Any one willing to take up the effort/challenge ? Murray ============================================================================= Murray Gilbert s8922967@ipc01.mqcs.mq.oz.au -----------------------------------------------------------------------------
alex@bilver.uucp (Alex Matulich) (06/01/91)
In article <1258@cbmger.UUCP> peterk@cbmger.UUCP (Peter Kittel GERMANY) writes: >Please, can you tell me, what on earth in Fortran is "designed for >high-powered scientific applications"? I don't see any evidence for this >[...] >But still I wonder that it should >be possible to translate all this stuff into something more modern, >like Modula (or C), without losing any feature, but gaining much >from the more modern structures of these languages. I can think of one reason: complex math. Complex arithmetic in C is clumsy at best. C++ does a little better with overloaded operator definitions but it still has problems with mixed-type expressions such as a=b*c where only c is complex. Much as I dislike Fortran, I don't think C or C++ can yet be considered to be "designed for high-powered scientific applications" because of the complex math limitation. -- _ |__ Alex Matulich /(+__> Unicorn Research Corp, 4621 N Landmark Dr, Orlando, FL 32817 //| \ UUCP: alex@bilver.uucp <or> ...uunet!tarpit!bilver!alex ///__) bitnet: IN%"bilver!alex@uunet.uu.net"
ronald@ecl014.UUCP (Ronald van Eijck) (06/02/91)
In article <1991May30.142542.23133@sugar.hackercorp.com> peter@sugar.hackercorp.com (Peter da Silva) writes: > >I'm not talking about demos. I have a shelf full of software that screws up >on my 3000, whether I'm running under 1.3 or 2.0. Things like DigiPaint, >Photon Paint, and so on. The core of the Amiga's software base. >-- >Peter da Silva. `-_-' ><peter@sugar.hackercorp.com>. Photon Paint 2.0 works ok on an A3000 running 2.04. (developers release) -- +-------------------------------------------------------------------------+ | Ronald van Eijck {eunet!}hp4nl!cbmnlux!ecl014!ronald | | | | We do the impossible at once for a miracle we need a little more time | +-------------------------------------------------------------------------+
daveh@cbmvax.commodore.com (Dave Haynie) (06/04/91)
In article <EACHUS.91May31175822@largo.mitre.org> eachus@largo.mitre.org (Robert I. Eachus) writes: > Incidently, from experience, a 100,000 line program in Ada is a >300,000 line C monstrosity (or a 1,000,000 line COBOL monster). When >you get to large programs, Ada is a necessity. I think it's more correct to say that a truely modular language is necessary when writing large programs. The better the modularization, the easier it gets to write and maintain large programs. Certainly Ada or Modula2 are better suited to this than C, which provides very little in the way of hard encapsulation, etc. But going to a true object oriented language like C++ is an even better alternative when building large systems. And probably a little more natural for the average hardcore C programmer. The only problem with C++ itself is that, in many cases, it lets you be as sloppy as C does, since most C programs will compile in C++. You have to design in C++ to get any of its advantages. Ada or M2 will force the issue, certainly a boon to the undisciplined. Though I think any decent programmer can adapt to the verbosity of Ada or any of the Wirth languages without too much pain. It usually takes me a day or two of working in a language to get all my mental processes switched over (assuming I know the language already and just haven't used it in some time). -- Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests" {uunet|pyramid|rutgers}!cbmvax!daveh PLINK: hazy BIX: hazy "This is my mistake. Let me make it good." -R.E.M.
macdonaldk@watt.ccs.tuns.ca (06/05/91)
Theoretically, Ada should win the language war. However, because of its immense size, it is difficult to say that any particular Ada compiler will compile code correctly, and efficiently. The standard only requires the program to compile; whether it runs correctly is up to the user to prove. Some of the planners of the next version of Ada have suggested allowing a subset to exist, which would be able to operate efficiently on microcomputers.
schweige@aldebaran.cs.nps.navy.mil (Jeffrey M. Schweiger) (06/05/91)
In article <1991Jun5.075305.1@watt.ccs.tuns.ca> macdonaldk@watt.ccs.tuns.ca writes: >Theoretically, Ada should win the language war. However, because of its >immense size, it is difficult to say that any particular Ada compiler will >compile code correctly, and efficiently. The standard only requires the >program to compile; whether it runs correctly is up to the user to prove. This isn't really different from other modern languages. What compilers for commonly used languages have been proven correct? Ada at least has a validation procedure that checks many features of the language for consistency across various compilers. >Some of the planners of the next version of Ada have suggested allowing a >subset to exist, which would be able to operate efficiently on microcomputers. Actually, reasonable Ada compilers already exist on microcomputers. There are several choices of Ada compilers in the MS-DOS and Macintosh worlds. Meridian's OpenAda series bears investigation. (And yes, I do want an Ada compiler for the Amiga!!). Jeff Schweiger -- ******************************************************************************* Jeff Schweiger Standard Disclaimer CompuServe: 74236,1645 Internet (Milnet): schweige@taurus.cs.nps.navy.mil *******************************************************************************
eachus@largo.mitre.org (Robert I. Eachus) (06/13/91)
In article <22127@cbmvax.commodore.com> daveh@cbmvax.commodore.com (Dave Haynie) writes:
I think it's more correct to say that a truely modular language is
necessary when writing large programs. The better the
modularization, the easier it gets to write and maintain large
programs...But going to a true object oriented language like C++ is
an even better alternative when building large systems...The only
problem with C++ itself is that, in many cases, it lets you be as
sloppy as C does, since most C programs will compile in C++. You
have to design in C++ to get any of its advantages. Ada or M2 will
force the issue, certainly a boon to the undisciplined.
I think that in a way we are really saying the same thing. There
are lots of good programmers who can write well structured maintanable
code in any high-level language, but working on large projects with
more than 10 programmers or so has taught me that there will always be
some programmer who breaks abstractions to get his boss off his back,
or to get to the ball game. Then two years down the road, the project
needs to take a one year slip to fix his "clever" workaround.
In Ada it still is possible to do such things, but the lanaguage
was intentionally designed so that such things stand out. In fact, I
have a filter program which runs thorough Ada source to find them.
(Not too hard, the smoking guns are "UNCHECKED_CONVERSION", 'ADDRESS",
and "pragma INTERFACE".) There are cases where these are
needed--that's why they are in the language--but in a well written
program the are only two or three modules which should be allowed to
use them.
--
Robert I. Eachus
with STANDARD_DISCLAIMER;
use STANDARD_DISCLAIMER;
function MESSAGE (TEXT: in CLEVER_IDEAS) return BETTER_IDEAS is...