July 24th, 2002, 8:33 pm
QuoteOriginally posted by: OnukAlvincho >> <i>I recommend Pascal is a good language for beginners because Pascal have almost all major characteristics of C and much more readable than C</i>Alvincho, how can you say these things? OK, first I have to declare an interest, I like C++, and a deficiency, I didn't use Pascal since I was at school, further I never used Delphi. That said I can't agree at all. First, as OTM says, BASIC and Pascal are dated in the sense that they are less supported every day. Second, although I don't say new==good, they are dated in that newer and better programming structures/methodologies have arisen. I don't think that C++ globally speaking is the best language to learn, but at least it is in the right direction. OO is something to improve program structure and development, because it maps closer to intuition and good organization; I don't see why these features should be reserved for 'experts', if anything they are most powerful for beginners. That is why SmallTalk is so easily learnt; this might be a good language to start with, but sadly it is under-represented in business. Nevertheless C++ could be used without pointers, just with references and simple classes (say all virtual functions) and one would have a similarly easy system. I would also dispute the 'easy to read' claim, but I know this is a question of personal taste.Pascal is not a must in our programming life. But if the programming ability is 'path-dependent' (sorry I borrow the word), I think Pascal is a good start point. It's true Basic and Pascal are both old-fashioned languages and getting less supported, but that doesn't mean they are useless. Some programming languages were hot decades ago but still survive in some fields. I agree SmallTalk is a good language to start with, but only when you want to be a full-time programmer and develop your software in OO way. I don't agree everyone should learn OOP, since OOP is good for larger systems. Start with Pascal/Basic/C or SmallTalk/C++/Java might be a choice, traditional way or OO way. I think both are acceptable.Easy to read is not just a question of personal taste. You don't have to learn any programming language before you can read a COBOL program (but you have to learn English). As a experienced C++ programmer, you must can read Basic/Pascal codes although you are not familiar how to write. But no matter how experienced a Basic programmer is, he/she will hardly know C/C++ codes. On the other hand, Pascal codes are readable by other Pascal programmers, but C/C++ codes are difficult to understand by other C/C++ programmers if no comment or documentation available. No Forth programmer can read Forth codes written by others (I guess). QuoteAlvincho >> <i>If you are financial specialist and only need some programming skills, Basic is good enough and is all you need.</i>Alas I agree that C++ is hard to start with if you only want to make simple programs; not I would say because of the language but because it has been reserved for 'experts', hence the tools which surround it are rather intimidating and suited only to larger projects, as the initial effort is rather large compared to an interpreted language. It is hard to suggest Java from this perspective as the performance is rather inferior, maybe C# (I don't know enough yet), maybe Ruby/Python but again performance is a problem for numerics (I guess).If everyone can learn only one programming language in his/her life, C++ will be my choice. But in the real world, we don't have to limit ourselves. Performance is not the only issue when you choose your languages or systems. If yes, Assembly will be the only language available. Using C/C++ will take a longer time to develop and debug than Basic/Pascal if the software is small. And with no doubt that all beginner's programs are small.