Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re^2: Programming is more like:

by moritz (Cardinal)
on Sep 05, 2008 at 13:24 UTC ( #709270=note: print w/ replies, xml ) Need Help??


in reply to Re: Programming is more like:
in thread Programming is more like:

++, but at some point I have to disagree:

Programming is like rocket science - the more familiar you become with programming the less like rocket science it seems.

The more I learn about programming, the more it seems like rocket science to me.

Sure, at some point I had that "I can code everything" feeling. And a few weeks later I thought about how I could possibly write a complex piece of software (think a good compiler, OCR, RDBMS, face recognition, an operating system that doesn't suck, ...) and I realized that it's not so easy.

And the more I learned about programming, the more I saw the complexity in seemingly simple programs.

Take a text editor as an example: it displays a few lines of text, allows you to scroll, to safe the files etc. Simple, right?

But wait! Did it ever occur to you that the editor has to handle multi byte character encodings? even graphemes that are made out of multiple codepoints? converting between different encodings? autodetect character encodings? That it has to support right-to-left for arabic texts? That it might contain a syntax hilighting engine, a script language for configuration? that all key strokes could be configurable? that it should support vertically split windows on the text console?

I think I could go on with my list of things that make a seemingly simple thing like a text editor a real challenge to program. (And fwiw vim supports all of the features above; and I think many other good text editors do).

There are hundreds of other pieces of software that I thought were simple before I got into programming. Now I'm glad that others wrote those incredible helpful (and very often equally complex) programs, and that I don't have to do it all by myself.


Comment on Re^2: Programming is more like:

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://709270]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (6)
As of 2014-09-21 16:29 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (172 votes), past polls