xcessive
Epic Poster
.[M:5000]
Posts: 526
|
Post by xcessive on Apr 7, 2011 7:39:55 GMT
Why do people worship OOP so hard? There are other paradigms out there, there is not "fits all" programming paradigm. It's because OOP works the best in the industry, so that's what is taught in schools. It was a rhetorical question. Regardless you are correct, OOP and enterprise computing go together like flies to honey (the businesses being the flies). My point is there are other paradigms out there that have a niche they fill just as well. Functional programming used to be the dominating paradigm before OOP, and I'm sure there will be something that analogically replaces OOP, perhaps non-imperative programming where you tell the computer what to do, not how to do it (F#, Caml). My point is its a case of the right tool for the right job. People still write rendering engines in C and even straight Machine code. Why? Because OOP is pointless and clumsy for that job. People use recursive programming over OOP solutions quite often (Binary search). What people need to understand is that there are lots of paradigms, for lots of different jobs. One language may support a multitude of different paradigms, the key is to choose a simple language and learn these paradigms. Then its just a matter of learning new syntax. @nick, OOP is far from being the hardest. en.wikipedia.org/wiki/Programming_paradigmI'm sure you can find something much harder if you look. But IMO its more a matter of picking the wrong paradigm for the wrong job that makes something hard.
|
|
Nick
VIP
v5 Beta Tester[M:5000]
Philadelphia Eagles: 8-8
Posts: 2,239
|
Post by Nick on Apr 7, 2011 13:34:09 GMT
I guess OOP just takes a lot more planning. Im so used to procedule, Im going to have to break the habit of procedule, which is kind of hard for me. OOP does make sense though and I really want to start learning it.
|
|
Jordan
Elite Poster
[M:5000]
Posts: 286
|
Post by Jordan on Apr 13, 2011 4:43:32 GMT
It's because OOP works the best in the industry, so that's what is taught in schools. It was a rhetorical question. Regardless you are correct, OOP and enterprise computing go together like flies to honey (the businesses being the flies). My point is there are other paradigms out there that have a niche they fill just as well. Functional programming used to be the dominating paradigm before OOP, and I'm sure there will be something that analogically replaces OOP, perhaps non-imperative programming where you tell the computer what to do, not how to do it (F#, Caml). My point is its a case of the right tool for the right job. People still write rendering engines in C and even straight Machine code. Why? Because OOP is pointless and clumsy for that job. People use recursive programming over OOP solutions quite often (Binary search). What people need to understand is that there are lots of paradigms, for lots of different jobs. One language may support a multitude of different paradigms, the key is to choose a simple language and learn these paradigms. Then its just a matter of learning new syntax. Well said.
|
|
Bobby
Junior Poster
Welly welly welly well
Posts: 14
|
Post by Bobby on Apr 15, 2011 12:11:38 GMT
It's because OOP works the best in the industry, so that's what is taught in schools. The best but the hardest! Not even close. The object-orientated paradigm at least lines up with the same train of thought as procedural. Look into the functional paradigm if you want to see a completely different methodology. Difficulty is obviously subjective, but considering the functional paradigm is an entirely different thought process, I'd argue it's substantially more difficult than object-orientated. If you want to see the paradigm in use then look at some Haskell code examples. Most Scala code examples will be written in compliance with the functional paradigm, but not always.
|
|
Adam
Mega Poster
[M:4750]
Professional Coder
Posts: 143
|
Post by Adam on Apr 26, 2011 1:17:26 GMT
I'd recommend C, C++, or C#
|
|
|
Post by spartans63 on Apr 26, 2011 4:39:01 GMT
Other people have recommended learning C# or Java before C++ and they've offered up valid reasons for it all. However, I recommend that you start with C++ then learn C# or Java later. The reason being is that learning Java or C# earlier will form some "bad habits" (or habits that were never developed) that will make it difficult to learn C++ down the road. There will be plenty of concepts you won't quite understand in C++ right off the bat if you start with it first, but it gives you the most stable, steady, and strong programming base out there.
|
|
xcessive
Epic Poster
.[M:5000]
Posts: 526
|
Post by xcessive on Apr 26, 2011 11:35:16 GMT
Other people have recommended learning C# or Java before C++ and they've offered up valid reasons for it all. However, I recommend that you start with C++ then learn C# or Java later. The reason being is that learning Java or C# earlier will form some "bad habits" (or habits that were never developed) that will make it difficult to learn C++ down the road. There will be plenty of concepts you won't quite understand in C++ right off the bat if you start with it first, but it gives you the most stable, steady, and strong programming base out there. Utter bullshit.
|
|
Adam
Mega Poster
[M:4750]
Professional Coder
Posts: 143
|
Post by Adam on Apr 26, 2011 21:20:21 GMT
Other people have recommended learning C# or Java before C++ and they've offered up valid reasons for it all. However, I recommend that you start with C++ then learn C# or Java later. The reason being is that learning Java or C# earlier will form some "bad habits" (or habits that were never developed) that will make it difficult to learn C++ down the road. There will be plenty of concepts you won't quite understand in C++ right off the bat if you start with it first, but it gives you the most stable, steady, and strong programming base out there. ...what? You could learn any of them and still learn one of the others. I think you should start out with c# though because c++ is kind of hard to learn. Just a quick question though, do you know any programming at all? If you don't, I suggest python to get to know all the terms of programming.
|
|
|
Post by hbk on Apr 27, 2011 0:21:34 GMT
Maybe he's basing difficulty purely on his capabilities. I find JS hard to learn and I've tried every way but with books. I don't have any books at the moment.
|
|
Jordan
Elite Poster
[M:5000]
Posts: 286
|
Post by Jordan on Apr 27, 2011 0:22:39 GMT
I actually agree somewhat with Spartan, but not the bad habits part. You can certainly learn other languages first and be fine, but learning C++ first would probably give you the strongest programming base to start off. It's lower level than the others, and the other languages such as Java and C# are greatly influenced by C/C++.
|
|
Adam
Mega Poster
[M:4750]
Professional Coder
Posts: 143
|
Post by Adam on Apr 27, 2011 0:25:18 GMT
Yea, I can see kinda what he's saying...
|
|