Pages: [1] 2   Go Down
Author Topic: Please settle my and my wife's argument (got yelled at because of it)  (Read 1675 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Faraday Member
**
Karma: 30
Posts: 2532
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The argument, she yelled at me because i'm wrong and i'm talking crap so let's ask others here the same question (I won't bias it by saying what I agree with or what She agrees with to keep the argument fair and valid) anyway she's been on a computer science course and has a degree went uni etc etc, i'm just a self taught programmer without a degree, that said, I've managed to write stuff over the years people with degrees have been quite envious of by the comments they've made to the line of (how the hell did you manage that? in a good way smiley-razz) lol

So anyway the Argument.......

One of us claims..... Learning Object Orientated Programming first..... leads to the problem, OMG what is this Procedural language thing? and basically find it /HARDER/ to learn say something like C after only knowning and only ever programming in an OO like Java, C or Pascal would be Alien to them and find it much more difficult (because they only know about classes and they would not be able to cope with procedural language) - the other one of us disagrees, and says no. It will be easier to learn C after coming from Object Orientated world because once you quickly pickup on the fact your code stays the SAME what in reality changes is a lot of overhead, eg something.somethingelse.please.just.letmecallthefunction.ineeed.client.print("Hi"); - it now becomes print("Hi"); based on that, forgetting crap is a whole lot easier than learning huge overheads eg from C to Java vs Java to C...
 

So who's more valid? - try googling that, it's not as easy as you think to find out the answer to this question.
« Last Edit: April 08, 2012, 08:56:25 pm by cjdelphi » Logged

Offline Offline
Faraday Member
**
Karma: 66
Posts: 2588
Now, More Than Ever
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Either way, you're going to have to say (like you really mean it), "I'm sorry, honey.  It was all my fault.
Logged

"Hello, I must be going..."
"You gotta fight -- for your right -- to party!"
Don't react - Read.
"Who is like unto the beast? who is able to make war with him?"

Global Moderator
Melbourne, Australia
Online Online
Brattain Member
*****
Karma: 511
Posts: 19365
Lua rocks!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Perhaps you two need a hug?

I don't quite understand the question. Perhaps you can both calm down and rephrase it?

If you've learnt object-oriented programming you've already learnt a language such as C++, right?

Anyway, I'm not sure there is a "best" way. If you start off with procedural languages like C, you will have to adjust to object-oriented. If you start off with object-oriented you may have trouble with things like processor datasheets which are pretty dry reading.
Logged

http://www.gammon.com.au/electronics

Please post technical questions on the forum - not to me by personal message. Thanks a lot.

Offline Offline
Faraday Member
**
Karma: 30
Posts: 2532
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Yes.... either way you will have learning curves agreed.

but (which is easier to do).... OO to Procedural? or Procedural to OO.

(Learning less, eg java to c, has to be easier than C to Java)??
Logged

Offline Offline
Faraday Member
**
Karma: 30
Posts: 2532
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Either way, you're going to have to say (like you really mean it), "I'm sorry, honey.  It was all my fault.

lol no, i disagree with her my opinion is just as valid as hers, I was just wondering what the consensus was here, easier to learn Java first then learn C? or Learn C first then learn Java....
Logged

Offline Offline
Edison Member
*
Karma: 5
Posts: 1730
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I know neither c or java, and I tried to learn both straight off about 2 years ago as a junior in hs, I basically didn't get very far with either but c seemed easier to learn, and know after learning about the arduino the past almost year its been much easier for me to learn c, seems more logical to me, I look at c code and it doesn't look hard to follow, I look at java and it blows my mind as of now lol
Doesn't answer much but maybe it'll help  smiley
Logged

Global Moderator
Melbourne, Australia
Online Online
Brattain Member
*****
Karma: 511
Posts: 19365
Lua rocks!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Different people learn in different ways. There is no real "right" way or "right" language to learn first. Probably what works for you is right.
Logged

http://www.gammon.com.au/electronics

Please post technical questions on the forum - not to me by personal message. Thanks a lot.

Offline Offline
Faraday Member
**
Karma: 30
Posts: 2532
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Nick i admire your diplomacy skills.... smiley-razz
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 57
Nokia 6100 LCD Library
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

As Nick Gammon says, I've seen it work both ways in different ppl.... when I first learnt programming in school, they still had those 2 5.25 inch floppy machines around...proceedural....but some of my youngest cousins these days start off happily in more modern languages with oop...and the fact remains that python which is really a hybrid in terms of how it is used is one of the simplest languages to learn....  but either way in this specific case you're probably better off taking a chill pill and following Runaway Pancake's advice :-)
« Last Edit: April 08, 2012, 10:09:58 pm by srinathdevelopment » Logged

Ardgrafix6100 - A fast, full-featured Arduino graphics driver for Nokia 6100 LCDs http://code.google.com/p/ardgrafix6100/

Global Moderator
Dallas
Offline Offline
Shannon Member
*****
Karma: 212
Posts: 13085
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset


Nick is right.  cjdelphi, you and your wife are both wrong1.  Programming is primarily a mental exercise.  Each human brain is unique.  What works for one person will be a disaster for another.  And vice versa.


1 Wrong in the sense that neither you nor your wife can possibly project what works for you onto another person or a group of people.  What you are trying to do is no different than projecting how you feel about a car accident onto another person.  You may feel angry.  Your wife may feel sad.  Which of you is wrong?


P.S. Was functional programming not considered in the argument?  What about declarative programming?  Why were only procedural and object-oriented discussed?
Logged

West Des Moines, Iowa USA
Offline Offline
Sr. Member
****
Karma: 2
Posts: 428
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm with Coding Badly. By way of illustration, let's step back from C/C++ and consider

Quote
If you choose an answer to this question at random, what is the chance you will be correct?
A) 25%
B) 50%
C) 60%
D) 25%

Most people struggle with the answer, and never realize that it's the question that's flawed.

Your question contains within it two (logically fatal) flaws: "Easy" and "Wrong"   smiley-mr-green

Programming languages are tools and, like other tools, need to be suited to the task at hand (after all, one would not drive screws with a hammer - or nails with a screwdriver).

(I'm thinking this topic should be moved over to Bar Discussions)
Logged

There's always a better way!

Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 639
Posts: 34726
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
I'm with Coding Badly
Me too.

However most of the best engineeres have some sort of language difficulty and I think that suites procedural languages better than OO languages.
Logged

Gosport, UK
Offline Offline
Faraday Member
**
Karma: 21
Posts: 3113
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I also agree with Coding Badly. Good programmers, in my experience, have their brains wired slightly differently to those that can't do it, but it's not a consistent difference. Some will find more success with one route, and others with the other route.

I just think new prospective programmers are lucky to have so many choices these days. When I started, there were no OO languages. Having said that, it was also before VB, so it wasn't all bad.
« Last Edit: April 09, 2012, 03:35:32 am by dxw00d » Logged

'round the world...
Offline Offline
Faraday Member
**
Karma: 42
Posts: 3330
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm not quite sure there is a question. The difference between procedural and object oriented is (in my perspective) about the wrapping and organization. Object Oriented makes it easy, simple and intuitive to make modular and better organized code. C however takes a bit more discipline.

If you look inside a method or a function that does the same, the code will be very similar, so in reality for you to program in C++ you have some knowledge of C or procedural language. She should admit that by the way.

So my personal opinion is that it may be more difficult to move from object oriented to procedural because there is more work to it. The real problem, like others have pointed out, is that this is something you normally don't choose and you can only do it once, so whatever opinion one might have will always be a reflection of their own experience. You either go from procedural to object oriented or vice versa. You won't do both.

So the best course of action is to stop having this discussion and focus on more interesting things. smiley-razz

It will be easier to learn C after coming from Object Orientated world because once you quickly pickup on the fact your code stays the SAME what in reality changes is a lot of overhead, eg something.somethingelse.please.just.letmecallthefunction.ineeed.client.print("Hi"); - it now becomes print("Hi"); based on that, forgetting crap is a whole lot easier than learning huge overheads eg from C to Java vs Java to C...

What if you have two serial ports and an lcd? you'd write lcd_print(), serial1_print() and serial2_print()...

Learning C after Java must be hell... at least for me it would.
« Last Edit: April 09, 2012, 04:01:20 am by bubulindo » Logged

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Scotland
Offline Offline
Edison Member
*
Karma: 26
Posts: 1353
Have you had your Arduino fix today?
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

For my 2p worth, I don't think its a valid question at all, programming is more of an art than a science, not knocking those who see it from the science view. But I have seen the same program (as in 'write a program that does XYZ') with 30 different ways to do the same task, some sloppy, some very stream-lined, some short, and some like war and peace. I started in z80 & 65xx Machine code, used 'BASIC' on Sinclair/Timex machines -> Pascal (then Delphi) -> VB6 -> C(Arduino), and I think that I picked up various skills that I apply to my programming from each of these 'incarnations' - So while I agree that they are substantially different, and programming styles are unique, it cannot be considered OOP Leads to Bad programming, just a different starting point.

*** Rant Over ***
 
Logged

Drew.
http://www.uk-pcb.co.uk - My UK Based PCB Fab & Assembly Company
Design work undertaken
SMD & Thru-Hole assembly

Pages: [1] 2   Go Up
Jump to: