Originally posted by lightng
View Post
- Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
- Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!
Design patterns
Collapse
X
-
I think it is pointless teaching OO principles to someone learning how to code. My first permie gig sent me on a design course and the teacher told me that he did not 'get' OO for a few years and I would agree with that now. I used to train developers and made the mistake of trying to get them to understand polymorhism when really it is hardly used now, developers mostly just bolt on classes to frameworks now. It is better to teach them the language first and let them pick up OO after a while. We do not try and teach Shakespeare to a child before they learn how to write a sentence. -
They were pro coders with 10 yrs experience. They had worked with the limited OO features of VB6 but not the full ones in .NET.Originally posted by minestrone View PostI think it is pointless teaching OO principles to someone learning how to code. My first permie gig sent me on a design course and the teacher told me that he did not 'get' OO for a few years and I would agree with that now. I used to train developers and made the mistake of trying to get them to understand polymorhism when really it is hardly used now, developers mostly just bolt on classes to frameworks now. It is better to teach them the language first and let them pick up OO after a while. We do not try and teach Shakespeare to a child before they learn how to write a sentence.
I disagree that you cannot teach OO to someone learning to code. Look at Java / BlueJ and the objects first approach for example.Comment
-
Workshop manuals I meant - they're all the same to me as I'm not even a hobby mechanic.Originally posted by VectraMan View PostI doubt any professional mechanics do refer to Haynes manuals. Workshop manuals maybe..
I see it more like saying to Paul McCartney: You don't need to think about what sequences of notes to use in songs anymore because we've written them down for you. So now you can write much better songs in half the time.
My mechanic has plenty and he is highly though of in this area.Comment
-
Well I suppose you can teach it to them but they will not learn it. Better off teaching them something they can pick up and let the OO principles come to them in time.Originally posted by lightng View PostI disagree that you cannot teach OO to someone learning to code. Look at Java / BlueJ and the objects first approach for example.Comment
-
We'll agree to disagree on that one then.Originally posted by minestrone View PostWell I suppose you can teach it to them but they will not learn it. Better off teaching them something they can pick up and let the OO principles come to them in time.
Comment
-
Some developers just don't get it, never have, never will; on the other hand for some it just clicks. This doesn't seem to have anything do to with experience but just that some people instinctively think in terms of objects.Originally posted by minestrone View PostWell I suppose you can teach it to them but they will not learn it. Better off teaching them something they can pick up and let the OO principles come to them in time.Comment
-
I think the first part is correct, I would estimate that about 10% of people who go into a career in OO software do eventually get it.Originally posted by Smurficus View PostSome developers just don't get it, never have, never will; on the other hand for some it just clicks. This doesn't seem to have anything do to with experience but just that some people instinctively think in terms of objects.
I admit that it was a couple of years before I really got it, I read the GoF book back to front more than a dozen times during that period.
I still think I learn about OO every day after more than 10 years in the job, every design decision I make I question. I just do not think people instinctively learn it with a few days training.Comment
-
I would agree that no one is going to know all about OO with a few days training, but nor would they with a few years training.Originally posted by minestrone View PostI still think I learn about OO every day after more than 10 years in the job, every design decision I make I question. I just do not think people instinctively learn it with a few days training.
My point was that for some people the core principles behind OO fit nicely with their natural thought processes improving their capacity to take on things like patterns earlier.
I think any decent developer will agree that you'll always be learning new/better application of OO in development - one reason why I hate looking at old code
Comment
-
A few days training (good training) I would expect the basic principles of OO to be picked up - the GRASP principles. I would also expect students to be able to apply those principles. The course has to be engaging and the fewer the number of learners the better. I agree if its a stuffy lecturer in front of a class then the learning of OO going to be hit and miss.Originally posted by Smurficus View PostI would agree that no one is going to know all about OO with a few days training, but nor would they with a few years training.
My point was that for some people the core principles behind OO fit nicely with their natural thought processes improving their capacity to take on things like patterns earlier.
I think any decent developer will agree that you'll always be learning new/better application of OO in development - one reason why I hate looking at old code
In one permie job I had, I was hiring a computing graduate for a new junior spot. I was quite surprised that two of three that I interviewed did not understand the difference between a class and an object - I'm not joking. These guys had OO and UML modules on their CV too.
Once the programmer has GRASP principles under his/her belt, six months with good lead developer who involves his juniors with design decisions can bring them on immensely. Patterns can be introduced along the way. I agree it can be years after that before you're considered a "master". There is always the 70/ 30 principle: it takes 30% of your effort to get 70% of the way there but another 70% effort to complete the remaining 30%.Last edited by lightng; 15 May 2009, 09:08.Comment
- Home
- News & Features
- First Timers
- IR35 / S660 / BN66
- Employee Benefit Trusts
- Agency Workers Regulations
- MSC Legislation
- Limited Companies
- Dividends
- Umbrella Company
- VAT / Flat Rate VAT
- Job News & Guides
- Money News & Guides
- Guide to Contracts
- Successful Contracting
- Contracting Overseas
- Contractor Calculators
- MVL
- Contractor Expenses
Advertisers

Comment