Linked by Kroc Camen on Mon 21st Jun 2010 19:49 UTC
General Development "For three years [my] son Ben, and I have engaged in a quixotic but determined quest: We've searched for a simple and straightforward way to get the introductory programming language BASIC to run on either my Mac or my PC. Why on Earth would we want to do that, in an era of glossy animation-rendering engines, game-design ogres and sophisticated avatar worlds? Because if you want to give young students a grounding in how computers actually work, there's still nothing better than a little experience at line-by-line programming." Looking beyond the immediate fear-inducing acronym BASIC, this article delves deeply into what it means to simply be in control--via a basic understanding of under the hood--of your own computer, and how our whiz-bang world of technology today is failing to bestow this understanding on this generation of would-be hackers.
Thread beginning with comment 430958
To read all comments associated with this story, please click here.
Objects
by amacdonald on Mon 21st Jun 2010 20:12 UTC
amacdonald
Member since:
2008-09-21

Actually I think it can be useful to have people use more object oriented languages from the outset. It helps them think in objects like their mother tongue. I can't tell you how much code I've worked with written by colleagues or my predecessors that isn't really object oriented and they've clearly struggled to move from procedural to object oriented.

On another note, you could argue learning a functional language first may be a good idea as well from the outset as the expressive power could be liberating and might more suit what the young programmer wants the program to do.

Reply Score: 3

RE: Objects
by Kroc on Mon 21st Jun 2010 20:22 in reply to "Objects"
Kroc Member since:
2005-11-10

They’re all tools. One thing I have found is that each language has an archetype that causes it to fall apart if you use it in the wrong way.

PHP, no matter what it tries to change, or proclaim is not an object orientated language. Programming OOP in PHP just causes everything to become over-engineered, long-winded and hell to maintain, document and to learn. PHP is infinitely more compact, concise and elegant when you work procedurally. Honestly, the OOP drive in PHP is complete crap to please zealots.

Yet, in a language _conceived_ to be OOP from the start, like Ruby, writing procedurally is not the best way. It pays to embrace OOP and the most elegant code comes from that.

Starting out with learning OOP is neither the right way or the wrong way IMO—using half-arsed OOP (like PHP) is though.

Reply Parent Score: 4

RE[2]: Objects
by Bill Shooter of Bul on Mon 21st Jun 2010 20:47 in reply to "RE: Objects"
Bill Shooter of Bul Member since:
2006-07-14

Disagree with the particular examples used, but agree in general. Pascal, Basic, Fox Pro never should have been object orientated. And you shouldn't use objects if they are available with those.

I actually think PHP 5 did a fine job with object orienting the language. The bitch of it all was the transition from the crappy PHP4 Objects to the better PHP5 objects. A lot of stuff still worked, but some of it didn't. Didn't really make a clean enough break. I think PHP 6 will really do it well. Wait a minute ... Hmm.. it seems as if I've just proven your point. Well played, good sir. Well played.

Reply Parent Score: 2

RE[2]: Objects
by emilsedgh on Mon 21st Jun 2010 21:47 in reply to "RE: Objects"
emilsedgh Member since:
2007-06-21

Hi Kroc.

PHP is not a 100% OO language. Not everything is an object in PHP and there are still crappy-named functions.

However, PHP is still fine. You just have to forget about your old ways of php programming. If you use PHP 5.3 and still think and code like PHP 3, then sure, php is crappy.

The thing about php is, as soon as you close your php in 24 hours book, you can create a full-featured website. PHP is easy. people write crappy code with it.

But, forget about your old php3 habits and get a decent framework (like, http://yiiframework.com) and learn it. Then you will understand that there isnt really something big wrong with PHP. Its a fine language and its improving with a decent speed.

Also, for Thoms sake (i miss his articles, really) dont compare PHP to asp.net or RoR.

PHP is a language. Ruby is a language. ASP is a language.

PHP is not a framework. Rails is a framework. .Net is a framework.

if you want to compare, compare php + [a decent framework] against RoR and asp.net

Reply Parent Score: 1

RE: Objects
by Carrot007 on Mon 21st Jun 2010 21:54 in reply to "Objects"
Carrot007 Member since:
2008-02-04

And what makes object orientation the dog bollocks?

It's useful where it is.

It's a hiderence where it is not.

I know, you know what you know.

Think outside the box!

Reply Parent Score: 3

RE[2]: Objects
by Laurence on Tue 22nd Jun 2010 10:23 in reply to "RE: Objects"
Laurence Member since:
2007-03-26

Think outside the box!


Error: 'Box' is an undefined object

Reply Parent Score: 5

RE: Objects
by kaiwai on Tue 22nd Jun 2010 12:07 in reply to "Objects"
kaiwai Member since:
2005-07-06

Actually I think it can be useful to have people use more object oriented languages from the outset. It helps them think in objects like their mother tongue. I can't tell you how much code I've worked with written by colleagues or my predecessors that isn't really object oriented and they've clearly struggled to move from procedural to object oriented.

On another note, you could argue learning a functional language first may be a good idea as well from the outset as the expressive power could be liberating and might more suit what the young programmer wants the program to do.


Could someone please tell me what is it with this modern day fetish with object orientated programming being marketed as the be-all and end-all of programming paradigms? Don't get me wrong, I'm sure it has its place but it is used and abused far too often by people who think that it is the silver bullet that'll solve world hunger, poverty and bring about world peace.

I'm an old battle axe that started off with AmigaBASIC the moved onto AMOS, then dabbled on the school computer using BBC BASIC, then for shits and giggles I taught myself COBOL (long story), and now I am learning C. Every encounter I have had with OOP I keep asking myself why the hell is something being made more complex than it needs to be? The Java programming book I read made eternity in hell appear to be a nice get away. I dabbled in a bit of C# but the dabbling was little more than what I do today with little in the way of OOP being used.

Am I just out of touch or is OOP yet another over hyped technology peddled by small group hell bent on showing how smart they are by making something that should be simple as needlessly complex? I look through OOP code and it is like a spaghetti soup code equivalent of crap being flung against the wall. Of what benefit is it when code is so ugly, so disgustingly unreadable that maintenance is next to impossible?

I wished programmers out there stuck to the principles of good programming they learned university and when programming they stuck to the KISS principle. Maybe if that occurred then we wouldn't see the millions of lines of unmaintainable code that ends up creeping into a large code base over many years resulting in software that turn into giant walking clusterf-cks.

Reply Parent Score: 2

RE[2]: Objects
by Zifre on Tue 22nd Jun 2010 12:45 in reply to "RE: Objects"
Zifre Member since:
2009-10-04

OOP is definitely over-hyped. However, there is some merit to it.

The important thing to understand is that each language has a certain paradigm that it was designed for, even though you can program with almost any paradigm in almost any language.

For example, Java and C# are OOP languages. If you write Java and C# in a procedural way, you're probably doing it wrong. On the other hand, doing OOP in C is really not useful. You really shouldn't do imperative programming in Haskell.

Really, all the programming paradigms have their strengths and weaknesses. In my opinion, OOP is best for boring business-y things and GUIs. Procedural is best for low-level things like kernels. Functional is best for highly data-oriented problems like compilers and databases.

Reply Parent Score: 2