Hi xiaorang, It's a good question that needs to be answered by looking at not only the history of programming languages but also the history of the computer architecture and their users.
Delphi is based on Pascal which was designed by Nicholas Wirth. Some of the precursors to Pascal were Fortran, APL, Cobol and Algol and eventually PLM. Each program was coded on punch cards and read with a reader and output done on a printer. The only exception in the above list was APL which stood for "A Programming Language". IBM had special video terminals for this language that used special symbols and Greek letters. And of course anything that needed to be fast and compact was written in the machine assembler language. This included the compilers and the operating systems. So before you look at why not just Delphi and maybe C++ or C# you could ask why even Pascal? After all Algol and the later Algol 68 were sufficiently like Pascal. And Fortran had huge libraries for any sort of numerical programming. The APL language allowed you to multiply two matrixes together with one operator. People even had competitions to see who could put the most powerful program on one line. Finally Cobol had special features that lent itself well to data processing. As a computer science professor Nicholas Wirth once stated that a programmer who learned Fortran (or later BASIC) as their first language was brain damaged for life. He found that students who did not learn an algorithmic approach to programming seemed incapable of learning structured and organized systems and often the programs they wrote were horribly hard to read or maintain. Even the compilers had all sorts of bugs because the languages were so loose. So he designed Pascal to be easily compiled and required a program to think ahead about what constants, variables and functions they would require. And he enforced that in the language. He also did not like dynamic string allocation and all the memory garbage collection that came with that so strings as we know them in Delphi didn't exist. It took Borland to change that. But in the University world, my first exposure to Pascal was UBC PASCAL on the Ahmdal 470 at UoA and that was in third year computing science. In that 4 month course we wrote 5 programs using 5 different styles of languages. One was SNOBOL which was excellent at parsing strings. Another was LISP which excelled at Artificial Intelligence programming. I forget the other two. By this time I had an S100 Z80 based computer and was running the CP/M operating system that had been written in a version of PLM-80 and assembler. The BIOS was the assembler interface between the OS and the hardware and was pretty easy to write. Not like the "Halt and Catch Fire" TV program where the BIOS is difficult. The Microcomputer world spawned a new series of languages, most gone now and created some very wealthy individuals from it all. Bill Gates was smart enough to license his version of BASIC to anyone who wanted it. Apple provided BASIC on their Apple-2. The new PDP-10 mini-computer and later the PDP-11 introduced not only BASIC, FORTRAN but started using the C language. A stack based language called FORTH showed up. If you liked HP calculators FORTH was also easy. And some languages have gone and others have grown or developed into the new concept of object oriented programming with C++ and Delphi. Microsoft as the now dominant producer of Operating Systems was pushing the idea of charging a price each time a module was run. Want to spell check a document, the latest .NET module is loaded from Microsoft in real time and you get charged a penny. That didn't go over well. Neither did releasing all the library source code the way Borland did with Delphi. Theoretically that should have obliterated all other programming languages but by then the Universities and colleges were migrating from their PDP-11 mini-computers on which they taught FORTRAN (to Engineers) and C to Computer Science students onto workstations based on PCs. Basic and C became the languages of choice. Turbo Pascal was never offered on the APPLE MAC. In behind the scenes undoubtedly license costs for the compiler prevented DELPHI from showing up everywhere. And once WEB pages started moving past simple HTML the need for script languages (which UNIX and then LINUX had plenty of) became more important and either C nor Pascal address that style of programming. So there's a short history from my perspective. Sorry to drag it on so long but each language was often developed to address a specific failing in the existing set of languages. The existing set improved and addressed those failings. eg. BASIC had String Handling. Turbo Pascal added string handling. Other specialty language added arrays that could be indexed by a string rather than a number. C++ was designed to be augmented so new features like that could be part of it under the term operator overloading. And so on. John Dammeyer -------------- > xiaorang f > The discussion trigger a thought in me, why do we so many languages? > I feel quite at home when using Delphi and I think C# is acceptable. > I have no good comment on java, I think it's slow and ugly. > As there are so many people using Java, so that java is so popular, I can > almost guarantee that the problem is in me. > Actually, most programming languages are equivalence, I don't see any > serious difference in the syntax of C# and pascal and java and vb and many > more. > (Although I believe there are some noticeable differences in languages like > lisp, prolog, javascript, etc.) > It is far from imposible for us to build a translator between any two > languages. > It seems they are made not for solving problems but simply for variety. > What do you think of it? _______________________________________________ Delphi mailing list [email protected] http://lists.elists.org/cgi-bin/mailman/listinfo/delphi
