On Tuesday 24 May 2005 11:13, James McCarthy wrote:
>does anyone have any idea's about the best way of introducing nebies
>to programming (on linux)?
A difficult question and one likely to cause flame wars. So here is my
tuppence worth.
I began on Northstar Extended Basic around 1980. It was horrible, Basic has
improved but is still horrible. A lot of colleges use Visual Basic (WHY!!).
Don't start with BASIC.
For learning I would also avoid languages that make you look after your own
memory, so I would avoid C and C++. If you become a games programmer or
Kernel hacker you will need to learn them but avoid them for starters.
If you want to go the C/C++ route try Borland's Kylix which is a Pascal and
C++ compiler with an excellent GUI front end. I learn't Pascal on Borlands
Turbo Pascal compiler and later used their C++ compiler. If you want to learn
to program GUI front ends and learn about object oriented programming they
are pretty good products. The freely downloadable version has some bits
missing but they are mainly related to enterprise programming and stuff you
won't miss until you turn professional. The Kdevelop front end is also pretty
good but harder than Kylix to learn.
I agree with the contributor who advised finding a project that interests you.
If you are into websites try PHP, it is quite similar to C in many ways but
is much safer and easier. I would avoid PERL as the "more than one way to do
it" philosophy can be confusing for beginners. PHP is generally out of the
box installed and working with Apache from any Linux distribution. You can
embed it directly in your HTML web pages so you can start very small. It will
also run outside the web environment if you want to try other things.
If you want to do graphics programming you might try JAVA. Personally I don't
like it but it has the advantage for a beginner of being quite similar to C++
but handles memory for you so you are unlikely to bring your machine crashing
down. Also the JAVA tutorials available on the web are quite good.
I have heard great things about PYTHON but have never used it. I plan to
correct that soon.
You will find that once you have learn't your first couple of languages its
quite easy to move around. They nearly all have similar loops just with
different syntax, they have similar ways of doing functions, similar ways of
defining blocks and if they are object oriented will have similar ways of
accessing methods etc. A lot have their routes in C (Java, Perl, PHP). Also
over time they have tended to get extended and pick up the better bits of
other languages ie Borland's Pascal picked up object orientation around about
Turbo Pascal 6. Because of this even the older languages now share a lot in
common.
When you are bored with C++, Java and Python there are a few languages that
are truly DIFFERENT and they are great fun to play with. Try Prolog and throw
everything you ever knew about programming in the fire!
Kevin.
Maintained by the ILUG website team. The aim of Linux.ie is to
support and help commercial and private users of Linux in Ireland. You can
display ILUG news in your own webpages, read backend
information to find out how. Networking services kindly provided by HEAnet, server kindly donated by
Dell. Linux is a trademark of Linus Torvalds,
used with permission. No penguins were harmed in the production or maintenance
of this highly praised website. Looking for the
Indian Linux Users' Group? Try here. If you've read all this and aren't a lawyer: you should be!