Question:
why did C become more popular then fortran or cobol or basic?
chesswizard
2009-10-03 00:04:52 UTC
why did C become more popular then fortran or cobol or basic?
Nine answers:
Mr.Lazy
2009-10-03 00:21:37 UTC
Hi,



C was easy and platform independent, and having more library classes and better feature then other, and it just overtake cobol and basic, in same way C++ overtake C and then other modern tools over take, like Basic > VB > VB++, JAVA > JAVA BEANS.

Indeed Java overtake them.



Now we have more to go with .net technologies.



Regards,



LAZY
Vincent G
2009-10-03 17:08:18 UTC
C is more of a system programming language, perhaps more universally applicable than the other you mention.

As the power of computer went up, nice to have stuff like graphical interfaces became fashionable, things that Fortran did not have support for, short of proprietary libraries (like the one in the VAX system).

Fortran is heavily loaded towards efficient numerical computations, Cobol is for business. Basic is sort of a simplified Fortran, initially it was an interpreted environment only, making for rather slow execution. C allows enhanced interactivity.



For the record, Fortran and Cobol are just as popular now as they were 20 or 30 years ago. The difference is that C programmers essentially came in _addition_ to already existing programmers.



It was just like someone inventing the multi-tool; that did not reduce the popularity of dedicated screwdrivers.
2017-01-20 07:07:43 UTC
1
2016-04-05 19:18:18 UTC
Not really. Well, it's highly unlikely. Binary isn't a language, it's just a numbering system. It's no more a language than logic gates are. Yes, instructions are passed through things in it, but it's more the voice than the language. If it is a language, it's certainly not a programming language, since no-one writes code in it. Besides, it's different for every architecture. Machine code isn't standard - if it were then Windows would have run on PPC macs, for example. There are so many chips with different, evolving architectures that the closest we're ever likely to get to a 'single standard language' is probably the 80386 instruction set, though that's only because it's in practically every PC - few embedded devices use it, and i don't think any supercomputers do, either. As for a standard higher-level language, that's never going to happen. It's easier to program in a very high level language (Visual Basic, PHP etc.), and that code is potentially far more portable, but it's far more powerful to do it with a very low level language (2GL), and the mid-level languages (C/C++, Java) offer a good compromise between the two. There's never likely to be even a universally ideal, let alone standard, level of programming, let alone language.
Shadow Wolf
2009-10-03 02:02:04 UTC
C was designed as an operating system development language to replace assembly. As such, it had to be easily ported to any platform and was the first language that was really "portable" between systems. The code produced by most C compilers is very nearly as efficient as assembly and it has the the nice feature of being fairly easy to understand compared to long lists of assembly code.



I had to laugh as one answer wrongly thinks that Java could replace C. Java, being an interpreted language much like the majority of the versions of BASIC is not nearly as efficient as C. The Java Virtual Machine (JVM) virtually insures anything produced in Java will run slower than many compiled languages. Then, C# can be described as a limited version of C++ but it isn't really efficient and neither is C++ if you really use all the OOP features. You have to be very careful with C++ to keep it as efficient and fast as C would be. All of those nice objects in C++/C# end up compiled as multiple calls and other overhead that just eat up time as they get pushed onto the stack. You need to be an assembly programmer or actually create full blown OOP versions of C programs in C++ to really understand how some of this stuff ends up working. C++ and C# are part of why Windows is so bloated.



Fortran was very popular and taught as a beginner language for a long time. The main use of Fortran was science and research and was very efficient when compiled. It has limited uses though and it was never really updated like BASIC was. It is interesting to note that BASIC has most if not all the features of Fortran and is a much easier user friendly language to use where raw speed wasn't needed. There are still Fortran compilers available, but most of them haven't been updated for Windows use and it appears to be headed for history. C with a variety of math libraries, most of which are free, can outperform anything Fortran can do.



Cobol was used extensively. It was the programming language that many companies ran on for many years. The problem here is one similar to Fortran. It was never updated to handle more modern hardware. One of the big problems with Cobol is that it was a business computer only language. This is the language many databases and similar systems were written in. Several years ago there was only one way to get Cobol on a PC and it was very expensive. Again, various forms of BASIC replaced Cobol in a PC dominated world. There is still huge amounts of legacy code written in Cobol. It is gradually moving into the history books as the systems that run it are getting to be completely obsolete.



Why did C become so popular? It is about as close as you can get to assembly language without having to learn the specifics of every new piece of hardware. C is mostly portable and can often be moved across various systems without the need to make any changes. Lastly, C is the main development language for the Unix family of operating systems which includes Linux. For this reason alone, I doubt that C will be going anywhere soon. It remains one of the better development languages for embedded systems where small and efficient is important. Thanks to many of the C++ compilers and backward compatibility, C is likely to be around for many more years.



Shadow Wolf
2009-10-03 00:14:19 UTC
Fortran and Cobol are very high level languages, C is a lower level language. Its 'closer to the machine', it's 'programming down to bare metal'. In the old days, C would compile down to assembler language, and then you could tweak that before assembling it, so you have almost the smallest, fastest program theoretically possible.



C was not really designed for big application programs, but for operating systems, device drivers,etc.
jplatt39
2009-10-03 01:15:52 UTC
I want to say Unix (which definitely had a role in it as C and Unix evolved together) but that really is only a part of the story. Another part of the story is that Fortran was for scientific computing -- think physics, Cobol for business -- it essentially stored numbers as chars -- and BASIC for beginners.



When Microcomputers started you had two choices: BASIC and assembler. Fortran and Cobol joined them quickly but Cobol wasn't and still isn't able to generate code as well as it can reports.



Around when some AT&T people were writing C and UNIX at the Murray Hill Labs a Swiss academic named Nicholas Wirth who had been working on teaching programming came up with Pascal, which like C addressed the most current computer architecture available logically (in fact so many concepts are similar it is sometimes hard to explain that this is only because they were invented on the same sorts of machines) In the late seventies Philippe Kahn brought a commercial Pascal Compiler, Turbo Pascal, to the US and it just took over programming shops because it was so efficient. Meanwhile, Microcomputers were spreading but there was one slight problem -- most commercial software, even that which had to run on Microcomputers, was too complex to WRITE on them. People needed networks, which meant, in essence, people needed Unix to develop substantial products to run on simpler computers. GCC came out about 1983 and the prior compiler, CC, was awesome, but GCC was better and practically free. C programmers started migrating to commercial software, and especially the early ID Software games, Captain Keen, Wolfenstein 3D and Doom, proved that C could be as quick or quicker than assembly language (and Wolfenstein 3D and Doom are Open Source because they were written with GCC and use the GNU libraries -- making them derivative works). With the selling of C++ (an "improved" C for some things) and the introduction of Object-Oriented programming, there were marketing pushes and everybody was making their own compiler. The bottom line though was that C was an industrial strength method to efficiently exploit your computer's resources, as opposed to Pascal which was an industrial strength method to easily exploit them, and Fortran, BASIC and Cobol were always more limited in their focus (though when Microsoft evolved Visual Basic it lost its focus and it became important mainly for the Windows Operating System). There were other factors of course. Cobol650.zip was an awesome compiler. The last version has a note about how important it is, if this program is helpful, that you support AIDS research -- in other words its creator wasn't around after about Windows 3.1. You can model logically just about any device you can connect to a computer with C. This is really not true of any other language to the extent it is true of it. So programs written in C run better. And that is why it became more popular.



If you want to know where Java and C++ fit in -- they definitely have their places, but even today the Linux Kernel is written PRIMARILY, not exclusively admittedly, in C, so it has its place too.
2009-10-03 02:19:27 UTC
C is known as the down and dirty programming language. It does not have to be structured in any certain manner or form. It can make function calls to the middle or the end of a program and bypass everything in-between. That function call to can also make another function call to some where else in the program. C is very close to the machine level of programming. Even the .dll files in Windows are a form of the C programming language. Many different operating systems are written in C of some form or another and it is a computer programming language that will not go away.
ALC
2009-10-03 00:19:04 UTC
Standardization in programming languages are the main reason why they past other languages in popularity. I am not sure but C might have been the first language with pointers, which is a big plus. And with newer languages, it as well brought the ability to code large projects by making it easier to integratefiles with headers and such. C allows complex, flexible functions and structs. But it is soon beccoming obsolete with other 3rd and 4th generation languages. Like java, C#, and visual basic.


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...