Having looked at your code, it is clear to me that you know how to program, but you do not know how to program well, or simply refuse to do so.Originally Posted by esbo
That might be true. On the other hand, learning a breadth of techniques (i.e., not just OOP either; other paradigms like functional programming should be covered as well) helps you to deepen your knowledge of programming.Originally Posted by esbo
Your own programs lack those qualities, so you are merely saying that "it is not as if writing programs that I find good and maintainable is difficult in the first place".Originally Posted by esbo
Since you need to be taught how to program, you are probably not suited to programmingOriginally Posted by esbo
Considering the tight coupling due to your overuse of global variables, you have lost the bet.Originally Posted by esbo
Precisely.Originally Posted by esbo
Look up a C++ Reference and learn How To Ask Questions The Smart WayOriginally Posted by Bjarne Stroustrup (2000-10-14)
Except it's not. Some people are better programmers than others; they write better programs. For example, there are programming contests, and these contests have winners, suggesting that the winning programs are better than the loser programs.
Do you? By what measure are your programs good? Can you justify your designs? Not likely since you aren't aware of alternatives. Then how can you be sure that your design is the best?I don't need to learn about OOP because I already know how to write good programs.
If you knew alternative ways to look at programing challenges, you would be a better programmer. OOP is one of those ways.
The amount of unmaintainable programs out there suggest otherwise. Reportedly, the lack of modularity of older programs is one of the things that makes it hard to maintain, and one of the things that OOP seeks to fix.I mean it is not as if writing good maintainable programs is difficult in the first place.
OOP is not harder that C. It is easier in many ways.Afterall if you struggle with a book on C good help you when you pick up a book on OOP.
Except that you always mess up. I've never had a program that compiled and worked correctly the first time. Never.After all programming is just followig simple rules, but if mess the rules up you will end up with a bad program
whatever language you use.
Furthermore almost always there is more than one way to do any nontrivial task. If you do not realize the options, then your chances of doing things in the most effective way possible is slim. Knowing different programming paradigms helps see challenges in different lights, giving you multiple ways to solve the same problem.
No it's not. Learning syntax is easy. Learning an applying good design principles is trickier, especially because the compiler doesn't tell you when you picked the wrong one. Everything still works, but you've made it harder on yourself and others.
In summary learning multiple programming paradigms gives you more ways to analyze a problem, to come up with what is hopefully the best designed solution. Programs with better analysis of the problem and more attentively designed solution tend to be better programs.
It is too clear and so it is hard to see.
A dunce once searched for fire with a lighted lantern.
Had he known what fire was,
He could have cooked his rice much sooner.
If push comes to shove I'd agree that being self-taught produces the best programmers. But that'd be my ego talking, since I'm also self taught.
You seem like you're rather good at convincing yourself. You really only came here to convince yourself you know all you need to. You don't have to learn OOP or C++ properly, because fortunately probably none of us will ever have you working alongside us in the real world.
Sure, writing good maintainable programs isn't hard. Good, large, extensible, maintainable, reliable and re-usable programs is what you can't really do without OOP. Or to be more general, OOT. (T = technology, which includes Analysis and Design) Probably not something you're particularly familiar with. Perhaps the term "Hocus Pocus" might be putting it more in your own terms.
I've always wondered what happens with people who share your attitude to programming. I'm guessing they either pick another profession, or they eventually realise their mistake, or they end up being a regular character in theDailyWTF stories.
My homepage
Advice: Take only as directed - If symptoms persist, please see your debugger
Linus Torvalds: "But it clearly is the only right way. The fact that everybody else does it some other way only means that they are wrong"
I think that is very similar to what I said about 50 posts ago, and esbo decided that it was quite possible to do in C - not sure what esbo's actual exposure to the commercial side of programming is, but I expect it's not one of dealing with projects that are large than a few dozen files of a few hundred to thousand lines each, if any.
--
Mats
Compilers can produce warnings - make the compiler programmers happy: Use them!
Please don't PM me for help - and no, I don't do help over instant messengers.
Not my feelings. But one of the rules on the web is to be respectful towards other members, yes? Especially when you are right out rude and typing rude comments.
I know I have violated this rule a couple of times, but I have been in error of judgement, and have reflected upon this and try no to do so anymore.
(You probably know how poorly esbo is liked around here; I've even been right out ride on a couple of occasions, but this time I am and will not be rude towards esbo because it serves no purpose and is a violation of the rules.)
It's also subjective, yes? In C, it is much harder to understand the concepts and making it work right, but in OOP, it can be hard to find a good design.
But I do agree with you, though.
esbo reminds me of those pseudoscientists who investigate cold fusion or perpetual motion. Completely non-dangerous, sometimes obnoxious, sometimes hilarious.
He's harmless and occassionally provides comic relief. I don't know why we have a huge thread about this.
Code://try //{ if (a) do { f( b); } while(1); else do { f(!b); } while(1); //}
Because Salem (I think) split the thread, anticipating a flame war, but neglected to close the thread, thus allowing the flame war to happen instead of fading out to answers to behzad_shabani's question.Originally Posted by brewbuck
As such, I will rectify the situation, even though it is too late. *thread closed*
Look up a C++ Reference and learn How To Ask Questions The Smart WayOriginally Posted by Bjarne Stroustrup (2000-10-14)