Ye Olde Blah

ShiningSource.org => General Programming Forum => Topic started by: Elvenfyre on February 20, 2011, 07:46:17 pm



Title: greatest hint in programming?
Post by: Elvenfyre on February 20, 2011, 07:46:17 pm
So when I had my first computer, my Dad had a trip to Australia for a big conference of some kind.
Anyway he met a Japanese guy who was a lead programmer for some big company.
My Dad, knowing I was interested in all of this sort of thing, started digging into any hints this guy could give him about the industry.

My father seemed to feel that this was the most important piece of advice the programmer could give anyone who ever wanted to learn programming.
"Start from the end and work your way backward."

I felt after some time, when I first attempted some programming(in DOS), that this made sense.
You could print your display saying Your name is "" and then go about doing the necessary commands to get the name off the user.  This was essentially the final thing the program would do so you were coding .. backward.

However now I really have no idea what he was getting at given further experience.

Anyone else understand that mantra?  Or have one of their own?


Title: Re: greatest hint in programming?
Post by: Ty on February 23, 2011, 01:06:57 am
I suppose it's a programming version of "begin with the end in mind". You can't really code something if you're not sure what it is you're building.

However, I'd found that the more I work the less I stick to that. I went through a phase of trying to get everything designed perfectly before I started coding. This never really worked for me, and I just ended up getting discouraged and going round in circles. I try to use a more "agile" approach these days and get something up and running quickly.

Quote from: http://the-quotes.appspot.com/topic/design#17-feb-2011
It is not usually until you've built and used a version of the program that you understand the issues well enough to get the design right.

That sums up my feelings pretty well. That's not to say I don't spend a lot of time designing, but there comes a point where you have to make something, and it's only then that you can work out if you're making the right thing in the right way.


Title: Re: greatest hint in programming?
Post by: Devlyn on February 27, 2011, 07:11:15 pm
I only have two guidelines these days:

1. It must be simple to code.
2. It must work.

The rest can be added/changed later without issues then ;).

Regarding the start from the end part, to be honest I never used that approach in my life. I always build small building blocks and then bundle them together to get something useful :).


Title: Re: greatest hint in programming?
Post by: Mandrew on October 01, 2012, 04:47:42 pm
As the mythical man month says, you build one to throw away. The first one will never be right. However, having said that, if you don't have a plan then you can sort of wander around aimlessly. I think that too much unit testing is a bad thing, but some unit testing is good because it gives you a benchmark to aim for that was setup before you really started coding. I think agile is a bit extreme for me, but having something that works is a huge morale booster and I often iterate when I code.

At the end of the day, programming is about problem solving. Of course, you need the right tools to do the job, such as knowledge of algorithms, data structures, computation, etc., but you also need the ability to think critically and think outside the box.


Title: Re: greatest hint in programming?
Post by: Devlyn on October 01, 2012, 06:44:11 pm
So many words of wisdom! Wish I had all those back in the days... ;)