OT:advise on programming language
Hi all, This might be OT. I'd just like an advise ( not too technical ) on the approach of choosing a progr. language for my son. I've read a lot of topics but cannot sort things out. I've been out of PC+prog. since +/-25 years (the time of fortranIV )( except this year with suse and really it makes me feel younger). Correct me if I'm wrong : we have roughly 2 main directions, the strucured language and the object oriented language. Now, what is the best to learn first in terms of the actual context? Then I have a personnal question : the more you get closer to the CPU ( in language level ) the more the instructions have to be structured and sequenced. So how is the object code dealing with that. I know its a huge question but some reply lines will definetly satisfy my curiosity. Really TIA Filip.
On Monday 05 February 2001 17:48, filip wrote:
Hi all,
This might be OT. I'd just like an advise ( not too technical ) on the approach of choosing a progr. language for my son. I've read a lot of topics but cannot sort things out. I've been out of PC+prog. since +/-25 years (the time of fortranIV )( except this year with suse and really it makes me feel younger). Correct me if I'm wrong : we have roughly 2 main directions, the strucured language and the object oriented language. Now, what is the best to learn first in terms of the actual context?
Fortran IV - That was the first language I learned in Grad school, about 35 years ago!!! Concerning languages: the best tool for the job. Some languages are good at solving some problems and other languages are good at solving other problems. From a Linux viewpoint (and current atmospheric conditions in the general programming world) the two most popular languages are C/C++ and Java. By a recent job count there are around 38,000 jobs available in C++ and about 28,000 in Java. VB comes in a distant 3rd.
Then I have a personnal question : the more you get closer to the CPU ( in language level ) the more the instructions have to be structured and sequenced. So how is the object code dealing with that. I know its a huge question but some reply lines will definetly satisfy my curiosity. Really TIA Filip.
All coding is structured and sequenced in one way or another. There are five qualities of any language: input, output, sequence, choice and repititon. Programming has, for modern languages, moved into the 'event' model, which lends itself to objects very well. Event programming doesn't depend on a top-down sequential run of a code, except perhaps in the event method it self. Most methods (self-contained blocks of code) are triggered by inputs from the user, and the order in which events are fired are up to the user, for the most part. JLK -- "God who gave us life gave us liberty. And can the liberties of a nation be thought secure when we have removed their only firm basis, a conviction in the minds of people that these liberties are a gift of God? Thomas Jefferson - 1781
Having taught Fortran, Pascal, C, and C++, I find Pascal the easiest to learn as a first language. It was designed for teaching programming. It is harder to shoot yourself in the foot than the other three. It is structured and encourages many good practices though it is not a language for morons, so it is possible to write bad code. The drawbacks: * It is not widely available anymore. * It uses the card reader and lineprinter paradigm, so interactive programs are awkward or use non-standard extensions. * It is not a language for real work programs without extensions. If you decide to go with Pascal, get a copy of "Oh, Pascal!" by Cooper and Clancy. By far the best first programming text I have ever used. Fortran is fading as the premier scientific number crunching language. Unless your child is planning on being a physicist, don't bother. C as a first programming language is like learning to drive in a race car. Not forgiving of mistakes. C++ without the object orientation at first might be viable with a book that took this approach. A safer C to fake training wheels. Java without the object orientation at first may also be viable alternative. One program locally is starting programming students with HTML, then Javascript, and finally Java. An interesting approach that may have merit. I am curious to see how it works. HTH, Jeffrey -- I don't do Windows and I don't come to work before nine. -- Johnny Paycheck
I'd just like an advise ( not too technical ) on the approach of choosing a progr. language for my son. I've read a lot of topics but cannot sort things out. I've been out of PC+prog. since +/-25 years (the time of fortranIV )( except this year with suse and really it makes me feel younger). Correct me if I'm wrong : we have roughly 2 main directions, the strucured language and the object oriented language. Now, what is the best to learn first in terms of the actual context?
You don't say what he hopes to achieve with the language. If he wants to do application stuff, then C (with GTK) or C++ (with Qt) would be best. If he wants to do web work then Perl or Java would be most useful. If he wants to do Windows stuff then presumably VB, but if that were the case you wouldn't be asking here. There's others: I love Tcl, but I wouldn't recommend it to a beginner because it's a bit "odd" as languages go. It seems that object oriented languages are here to stay, so that's probably a better route to go than the old procedural style, although I must say I've never been convinced by the OO arguments. But even true procedural stuff like Perl is now largely OO based; Python is totally OO and many people swear by it. OO is harder for beginners IMHO because it drags the design into the code. That's no bad thing, but as a beginner learning programming, having to learn design too makes life harder. If the object of the exercise is just to get him learning the art, I'd suggest Java. It's more modern than C++ and has a cleaner design. Perl would be good and is quite easy. The problem with Perl is that the code he would want to look at to learn from would be horrible. It's easy to write clean code in Perl, but most people use the horrible, unreadable features of the language to make "write only" code. One other thing - at least start him off with command line tools. People who learn via an IDE get so far, then find they don't know what a compiler or linker actually does. IDEs are great for rapid development and debugging, but for learning what is going on, just hitting F9 and having a program fall out doesn't really make it clear.
Then I have a personnal question : the more you get closer to the CPU ( in language level ) the more the instructions have to be structured and sequenced. So how is the object code dealing with that. I know its a huge question but some reply lines will definetly satisfy my curiosity.
"Smart" compilers creating bloated code. Whatever you write you get structure you never asked for. When the language itself has builtin structure, like classes and so on, the object code carries that baggage. If your application uses it, fine. If it doesn't, you have it anyway. That's why "Hello world!" in assembler is a few dozen bytes, in C it's a couple of K and in C++ it's 35K.
Hi this is too broad a topic to actually comment on. Now , i dont what u'r son's age is , or his interests.. but actually IMO, any mainstream language is ok ( imean c,c++...). but as the saying goes, "once a programmer, always a programmer". once u get the basics right, it doesn't matter if it is oop or not. As for u'r second question, i really have no idea. hope this helps, regards omicron On Tue, 6 Feb 2001, filip wrote:
Hi all,
This might be OT. I'd just like an advise ( not too technical ) on the approach of choosing a progr. language for my son. I've read a lot of topics but cannot sort things out. I've been out of PC+prog. since +/-25 years (the time of fortranIV )( except this year with suse and really it makes me feel younger). Correct me if I'm wrong : we have roughly 2 main directions, the strucured language and the object oriented language. Now, what is the best to learn first in terms of the actual context?
Then I have a personnal question : the more you get closer to the CPU ( in language level ) the more the instructions have to be structured and sequenced. So how is the object code dealing with that. I know its a huge question but some reply lines will definetly satisfy my curiosity. Really TIA Filip.
-- ****** An optimist sees light at the end of every tunnel. A pessimist fears it might be of an incoming train. omicron@omicron.dyndns.org omicron.symonds.net C O G I T O E R G O S U M ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Hi all, Many thanks to all who replied. My son is just 16 years old and likes playing around with some basic programming ( VB + javascript ). So, I'll let him find his own way or choise by giving him the opportunity to have lessons of the different approaches. As for me, this was very instructif and I learned a lot. Thanks again, Filip.
Hi, Has any of you donated an OpenSource project or a developer ? I am terribly upset on how my customers treat OpenSource - GPL applications. "If it's free than it's faulty" or "It's not made by a company so it's unsupported" are main ideas. I want to override the effects of those ideas on opensourcers by donating them. Any recommendations on which route to follow ? Koray
Koray, I haven't donated money (code, but not money), but you may look into www.gnu.org. The Free Software Foundation is a reputable open source organization that creates many many useful tools including the compilers and libraries that make Linux possible. If you plan to give a large gift, they are a tax-deductible charity, so that is another advantage of the FSF. You may also look into the KDE Project ( www.kde.org ), which I believe is also offers tax deductible gift options, and is doing a great job of making Linux easy to use. I also believe the KDE Project has zero or low overhead, unlike the FSF (which I believe has some overhead, IIRC), so I think more of your money would go straight to code. -Tim ----------------------------------------------------------------- Timothy R. Butler Universal Networks Information Tech. Consultant Christian Web Services Since 1996 ICQ #12495932 AIM: Uninettm An Authorized IPSwitch Reseller tbutler@uninetsolutions.com http://www.uninetsolutions.com ============== "Information Powered by Innovation" ==============
-----Original Message----- From: K. P. [mailto:sysgod@ixir.com] Sent: Tuesday, February 06, 2001 10:13 AM To: suse-linux-e@suse.com Subject: [SLE] Donating Open Source developers
Hi,
Has any of you donated an OpenSource project or a developer ?
I am terribly upset on how my customers treat OpenSource - GPL applications. "If it's free than it's faulty" or "It's not made by a company so it's unsupported" are main ideas.
I want to override the effects of those ideas on opensourcers by donating them.
Any recommendations on which route to follow ?
Koray
-- To unsubscribe send e-mail to suse-linux-e-unsubscribe@suse.com For additional commands send e-mail to suse-linux-e-help@suse.com
Also check the FAQ at http://www.suse.com/support/faq
On Tue, 6 Feb 2001 18:12:53 +0200, K. P. said: | Hi, | | Has any of you donated an OpenSource project or a developer ? | | I am terribly upset on how my customers treat OpenSource - GPL applications. | "If it's free than it's faulty" or "It's not made by a company so it's | unsupported" are main ideas. | | I want to override the effects of those ideas on opensourcers by donating | them. | | Any recommendations on which route to follow ? | | Koray I am not sure I understand what you mean with "donating a a developer" What are you trying to achieve here? -- ---------------------------------------------------- Koos Pol T: +31 20 3116122 Systems Administrator F: +31 20 3116200 Compuware Europe B.V. E: koos_pol@nl.compuware.com Amsterdam PGP public key available
Filip,
As a games programmer I regularly get asked about this by the players.
Eventually I wrote my answer up on my web site. You might find it useful,
although I don't claim it's the only answer:)
The URL is http://www.ibgames.net/alan/society/programmer.html
I hope it helps.
Alan Lenton
----- Original Message -----
From: "filip"
Hi all,
Many thanks to all who replied. My son is just 16 years old and likes playing around with some basic programming ( VB + javascript ). So, I'll let him find his own way or choise by giving him the opportunity to have lessons of the different approaches.
As for me, this was very instructif and I learned a lot. Thanks again, Filip.
participants (9)
-
Alan Lenton
-
Derek Fountain
-
filip
-
Jeffrey Taylor
-
Jerry Kreps
-
K. P.
-
Koos Pol
-
omicron@omicron.dyndns.org
-
Timothy R. Butler