[CLUG-chat] Intro into programming.

Cayle Sharrock cayle at chemeng.uct.ac.za
Thu Aug 3 12:37:14 SAST 2006

This is addressed to the original poster, in an attempt to avoid all the
prattle cluttering this thread.


I assume you'll be going the python/java route since if there's any sort of
consensus in this thread, then it's that those are the most accessible
languages to start with (although I still reckon you give Lazarus a look).
So with that in mind:

> This isn't strictly about the choice of language, but it is 
> tangentially related.  I suggest *not* using an IDE; 

I'm going to disagree completely and say this is bad advice. IDEs were
developed to make programming easier. End of story. These are just some
reasons why you should use them:

 * A lot of coding involves mechanical, "brain-dead" repetition. This is
part of the syntax of any language; some more than others. All good IDEs
have 'Code template' features that do all this monkey work for you, thus
saving you time, AND reducing silly bugs. 

 * Furthermore, the REALLY neat IDEs have even more time-saving features,
like refactoring,code folding,syntax checks, and even rudimentary logic
checks (google to find out what these terms mean) - Eclipse can do all of
this, btw.

 * It's MUCH easier to debug code from an IDE. If someone tells you that the
only debugging tool you need is the print statement, just smile and back
away slowly. For a novice, I'd bet that you could slice at least 90% off
your debugging cycle (the amount of time fixing bugs in your code) by going
with an IDE. And I challenge any expert coder telling me that their debug
cycle is FASTER using log/prints or a standalone debugger than an integrated
one. Please, pull the other one.

 * Code completion. This is the NUMBER ONE reason to use an IDE. I can't
tell you how many hours this feature has saved me over the years, but I'll
guess: Literally hundreds. Can't remember everything the THTMLBrowser class
can do? No worries. Code Completion. Type THTMLBrowser, a fullstop, and a
little box pops up giving you all the procedures and functions that class
can perform. That is ultra-nifty. With text editors, your only option is
sitting with the reference manual (usually in a browser) that you have to
wade through to get to the right place. Hell, you can't remember if it was
THTMLBrowser or THTMLLoader or something like that? Code completion to the
rescue again! You type in THTML, hit the CC key sequence (usually
Ctrl-space) and all possible alternatives will pop up (ah! THTMLReader!). So
easy, you begin to wonder why coders make R250/hr+

* Oh, and let's not forget syntax highlighting / smart indenting. Those are
nice too. So is Project management, integrated version control and so on and
so on. That's why it's called an Integrated Development Environment.

More information about the clug-chat mailing list