 |
|  |
 |
|
Urban Ranger
|
|
Apolyton Duke of Off-Topic
|
|
Those are procedural languages. (Not column 8, either, it's column 7, with column 6 being the continuation character).
Anyhow, there is no one best language, I thought all geeks know this by now. It's like asking whether a screwdriver or a hammer is a better tool.
The language should fit the task on hand, thus previous attempts in developing programmming languages to end all other programming languages ended up in failures: PL/1 being the first and Ada being the second.
If you write software for microcontrollers, you use assembly, full stop. C is a nice system level programming language but it has been widely misused, creating software with almost untracable bugs.
Neither C++ nor C# are real high level programming languages. What's worse, C# is yet another MS attempt in the "embrace, extend, extinguish" department. Real high level programming languages are ones such as Smalltalk, Java, Pascal, Oberon, Prolog, and APL.
Fortran is unsurprassed if you need number crunching. It is the only programming language with a built-in complex number data type IIRC.
Lisp is great for doing symbolic stuff, and Snobol excels in string manipulation.
So you must fit your tool to the task on hand, as always.
Glonk,
I thought you don't like operator overloads?
Jon,
Fortran is up to 2000 now? Cool.
Che,
Tickle? Eek.
Adalbertus,
Not anymore AFAIK. Changing the value of constants, that is.
|
|
|  |
 |
|  |
 |
|
Adalbertus
|
 |
Cologne, Germany
Feb 2001 time: 06:22
|
|
quote: Those are procedural languages. |
FORTRAN77 smelled a bit like a procedural language, FORTRAN90 seems to be one, more or less, but 20 years too late.
I successfully changed 2 into 3 or 4 on FORTRAN77 when I attended the numerical mathematics course in 1991. So it probably changed only with FORTRAN90, which to me looks like a revived dinosaur. If you can try this, I'd be curious to know.
quote: It's like asking whether a screwdriver or a hammer is a better tool | I'd always opt for the screwdriver. Much more potential for unconventional use. 
You're right, there are languages which fit one purpose better than others. On the other hand, C, Pascal, Basic, Modula-2, and Algol are quite equivalent. C has a slightly better support for bit fiddling, Basic for Spaghetti code, Modula-2 for modular programming (what C tries to imitate with the preprocessor), and Algol for people who read backwards, but most of the code can be translated 1:1. The choice between these languages is mainly a matter of taste, and non-technical issues, such as support, existing libraries etc. - FORTRAN77 already would have problems with recursions, which was a major drawback, IMO. So here we are dealing with different screwdrivers.
I see real differences to languages like OOP languages, Lisp, Prolog. So these are the things I would compare to hammer, saw etc.
P.S. I once looked into Cobol and had only the impression "weird". It seems or seemed to have been widely used in business applications. Is there someone who can point out the essentials of this language?
|
|
|  |
 |
|
Urban Ranger
|
|
Apolyton Duke of Off-Topic
|
|
quote: Originally posted by Adalbertus
You're right, there are languages which fit one purpose better than others. On the other hand, C, Pascal, Basic, Modula-2, and Algol are quite equivalent. C has a slightly better support for bit fiddling, Basic for Spaghetti code, Modula-2 for modular programming (what C tries to imitate with the preprocessor), and Algol for people who read backwards, but most of the code can be translated 1:1. The choice between these languages is mainly a matter of taste, and non-technical issues, such as support, existing libraries etc. - FORTRAN77 already would have problems with recursions, which was a major drawback, IMO. |
Mostly that way, but there are also other factors such as speed, reusability (e.g. Modula-2's modules), type checking, pointer arithematic (the question is, why do you want to do it?), etc. And Algol is Algol 
Still, Fortran is the number one choice for scientific computing.
quote: Originally posted by Adalbertus
P.S. I once looked into Cobol and had only the impression "weird". It seems or seemed to have been widely used in business applications. Is there someone who can point out the essentials of this language? |
Data processing. It is very good at opening a file or a bunch of files, read some stuff from them, and produce some output, such as reports or other files. It's used for applications such as payroll before the advent of modern databases. Okay, it is still used for those applications. For what it is designed to do COBOL is decent.
|
|
|  |
 |
|
Urban Ranger
|
|
Apolyton Duke of Off-Topic
|
|
quote: Originally posted by Pekka
About a year ago when I got interested about learning how to program, I did lots of research what language to use as a first one. I have no regrets. I'm still interested to learn C, C++, but I won't run into it just yet, I want to develop my skills in Java first. I think it's better to be good at one language, than know 6 different languages little. |
That's true. The fundamental thing is not how to write the actual code, but how to derive the algorithm to solve your current task. That is 90% of the work. Doing the acutal coding is just the finishing touch.
The problem most people have with programming is they dive right in to start writing code, without going through a detailed analysis and design stage. This way it is extremely easy to overlook the borderline cases that cause crashes and bugs. Borderline cases are things such as when the program is expecting an input but is getting null, or the input is different from expected.
quote: Originally posted by Pekka
Besides, it should be easier to learn new languages when you know the basics and have some experience with other language anyway. I found it easy to start with Python when I had experience with Java. It was just a matter of days when I got to the same level with Python, that it took my almost 5 months with Java.
But I'm still a bit newbie, eager to learn more and put my skills in use some day . |
That's because they are both OOP languages. You'll have problems with languages in other categories (other than procedural) such as logic programming. APL is also odd for most people 
|
|
|  |
 |
|  |
 |
|
Asher
|
 |
Calgary, Alberta
Nov 1999 time: 22:22
|
|
quote: Originally posted by Adalbertus
Chegitz, I guess C# is again an attempt of Micro$oft to control the (this time) compiler market by providing again something slightly incompatible. |
"slightly incompatible"? It's a new language, an ISO standard (and the runtime is also an ISO standard). What are they making it slightly incompatible with, since it's its own language? The syntax is very close to C++, but that's because that's the standard industry language and most people prefer that format -- it makes the language easier to learn for most people.
quote: Originally posted by Urban Ranger
Neither C++ nor C# are real high level programming languages. What's worse, C# is yet another MS attempt in the "embrace, extend, extinguish" department. Real high level programming languages are ones such as Smalltalk, Java, Pascal, Oberon, Prolog, and APL. |
I'm beginning to think you don't know much about what C# really is -- in what way is C# not a real high level programming language like Java? Is it because you have the OPTION of using unsafe and pointer operations? By default, and what they recommend you use, is very similar to Java. It compiles to an intermediate language, the runtime environment executes the program, has garbage collection, etc -- in what way is that form of it not a high level language? C# is great because you can use the high level language, or if you need to (for speed purposes), you can make it a native mid-level language like C++.
|
|
|  |
 |
|
Asher
|
 |
Calgary, Alberta
Nov 1999 time: 22:22
|
|
quote: Originally posted by yaroslav
In fact, I was on a debate with a friend that study Computer Science (I study Telecommunications Engineering) about it's better
1) To forbide unsafe operations (as you say, the can be more effeciente) and sacrify efficency on security altar
2) To allow unsafe operations (but It can translate on a longer writing and test time, because programer will use the unsafe operations when they don't need) After all, you know that programs always missused the language features 
What do you think about that? |
I don't see the point to forbidding unsafe operations in a programming language. I don't see what's wrong with including the capabilities in the language, since a lot of applications require efficiency over security. C# includes the operations, but makes you declare them unsafe before you ever use them -- and it's discouraged unless you really need to do it.
Some people like pointers, sometimes they need them for the problem they're solving -- absolutely forbidding their use is wrong, IMO. If you don't wanna use them, don't use them -- C# functions similarly to Java in that respect, except you CAN go a bit lower level if you need to.
|
|
|  |
All times are GMT. The time now is 05:22. Apolyton Time is 00:22. |
top of page
|
| archivepost |
|
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is ON
vB code is ON
Smilies are ON
[IMG] code is ON
|
|
|
|
|
|