Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
0 user currently in Programming. | 3 guests
Acmlm's Board - I2 Archive - Programming - Object Oriented Programming | |
Pages: 1 2Add to favorites | "RSS" Feed | Next newer thread | Next older thread
User Post
Kasumi-Astra
Administrator
Level: 62

Posts: 1093/1867
EXP: 1971846
For next: 12840

Since: 03-15-04
From: Reading, UK
Uni: Sheffield, UK

Since last post: 1 day
Last activity: 12 hours
Posted on 01-20-05 03:11 AM Link | Quote
I'm learning the OO facilities of C++ at univesity now, and it's a complete bitch to learn when compared to just procedural programming.
I can see why it's neccessary that large projects use it, but I'm finding myself longing to working on projects in the procedural way, where life was simpler

Does everyone use OO or Procedural programming in their personal projects here? I'd love to know what everyone thinks of OO as well
neotransotaku

Baby Mario
戻れたら、
誰も気が付く
Level: 87

Posts: 1948/4016
EXP: 6220548
For next: 172226

Since: 03-15-04
From: Outside of Time/Space

Since last post: 11 hours
Last activity: 1 hour
Posted on 01-20-05 05:31 AM Link | Quote
Well, it all depends on preference on what I find easiest. I'm a Java programmer--so OOP is the only way to go. However, when I program in C, which isn't an OOP by nature, I write C as if it was naturally OO (to a certain extent). I can write procedurally but if things can be modeled, then it is OO for me.

But anyways, just to let you know. I've programmed OOP in C++ and it is stupid the way things are laid out. Java makes it a lot easier (or the syntax is a lot more straightforward)
Parasyte

Bullet Bill
Level: 35

Posts: 212/514
EXP: 267348
For next: 12588

Since: 05-25-04

Since last post: 104 days
Last activity: 32 days
Posted on 01-20-05 05:58 AM Link | Quote
I'm an extremist, but I say death to Object Oriented Programming.
Kasumi-Astra
Administrator
Level: 62

Posts: 1096/1867
EXP: 1971846
For next: 12840

Since: 03-15-04
From: Reading, UK
Uni: Sheffield, UK

Since last post: 1 day
Last activity: 12 hours
Posted on 01-20-05 06:11 AM Link | Quote
Actually, I failed to mention that I'm learning OOP in Java and Python as well. Our main class in OOP uses C++ though. That's the one that is teaching us OCL and UML as well.
Java seems a lot clearer than C++, and you can definately see that it's a language that grew in the time when OOP was being born.
In our Java classes, we were even taught how everything is derived from a super class. It's really quite interesting and I feel kinda sad when I say that it's quite philosophical


(edited by Retro-Kasumi on 01-19-05 09:13 PM)
(edited by Retro-Kasumi on 01-19-05 09:15 PM)
Zem
You can be civil without being flowery, dipshits.
Level: 49

Posts: 608/1107
EXP: 829398
For next: 54485

Since: 06-13-04

Since last post: 131 days
Last activity: 131 days
Posted on 01-20-05 06:13 AM Link | Quote
Depends on the project. For some things the organization of OOP just makes sense, though I've never gotten used to C++. Also, though I did several assignments in Java extensively using OOP, I've never completed a personal project using it... I'm still working on one (thecaw 1.0) but it's going very slowly. Still, I think it's very useful for large-scale things.
Dish

Spiny
Level: 38

Posts: 235/596
EXP: 355646
For next: 14801

Since: 03-15-04
From: Disch

Since last post: 18 days
Last activity: 18 days
Posted on 01-20-05 06:32 AM Link | Quote
I find OOP to me of a concept than an actual programming style. You can (and most if not all people do) program with somewhat of an OOP style in C and other procedural language (yes even you Para ;P). Even games on old consoles (NES) use OOP techniques and they're primarily written in assembly. So I find the whole concept of an "OOP Language" to be really, really stupid... since pretty much any language can do OOP.

Whether you do classes with member functions in C++... or structs with accompanying functions in C... they do the same thing. Virtual functions in C++... or a function pointer inside the struct in C. Inheritance in C++... or putting a common "parent" struct inside another struct in C. Templates in C++.... or carefully placed #defines in C. There's nothing new that C++ adds to C... everything --- and I mean everything can be done in C... C++ just offers different ways of doing it (and since C++ also includes all of C... all the "new" methods are optional).

I prefer to use OOP where appropriate... which is most of the time. However some things just don't need it... and languages that FORCE you to do things in an OOP style I find to be pretty silly (Java). Because of this... I consider myself to be a C/C++ hybrid coder. Object Oriented Programming is good... but it shouldn't be the only way. Rather it should be an idea you adapt into your coding style. Because let's face it... code that isn't at all object oriented blows unless it's a very... very small program.
Kasumi-Astra
Administrator
Level: 62

Posts: 1099/1867
EXP: 1971846
For next: 12840

Since: 03-15-04
From: Reading, UK
Uni: Sheffield, UK

Since last post: 1 day
Last activity: 12 hours
Posted on 01-20-05 06:46 AM Link | Quote
But the difference is with C++ is that it supports OO natively, right? That would make it a lot easier to whip up a solution in a shorter period of time, and also make it less of a hassle if you were charged with maintaining a piece of software as well.

We started off programming procedurally in Java. We just kept everything inside a container class. We were totally clueless about Java's nature until our classes shed light on it.
Dish

Spiny
Level: 38

Posts: 236/596
EXP: 355646
For next: 14801

Since: 03-15-04
From: Disch

Since last post: 18 days
Last activity: 18 days
Posted on 01-20-05 07:12 AM Link | Quote
Originally posted by Retro-Kasumi
But the difference is with C++ is that it supports OO natively, right?


I guess you could say that. I mean the logic behind classes in C++ was definatly driven by OOP ideas.

But like I said... there's nothing C++ can do that C can't (and vice versa)... it just uses different techniques for things. So when you say the language "supports" something... it doesn't support anything that C doesn't besides different syntax. Most of the C++ additions to C were just re-words of pre-existing C methods. The big paragraph in my post lays out the big ones:

- C++'s virtual functions are nothing but function pointers
- C++'s inheritance is nothing but putting the "parent" struct inside the "child" struct (for all practical purposes, classes and structs are identical in C++):

class CChildClass : public CParentClass
{
//class stuff here
};

that's the C++ version... the C version differs only slightly:

typedef struct CChildClass
{
CParentClass parentobject;
//rest of struct here
};

They're both fundamentally exactly the same. But only one is branded as "OOP" by courses (even though they're both OOP -- I mean syntax aside, they're completely identical).

OOP might be a little easier in C++... but it's not very hard at all to do in C. It's not a language thing at all... programming in a so called procedural language doesn't mean your code can't be OOP... and programming in a so called OOP language doesn't mean your code won't be procedural (like you said... you were doing procedural coding in Java). Hence my point of why calling X language an OOP language is stupid. It's not the language that makes it OOP... it's the style with which it's coded.
Squash Monster

New Age Retro Hippie
Togateiru Fohku Kohgeki!!
GRUNGE no HAMSTER otona bite
Peace love and turnpike!

Level: 40

Posts: 511/677
EXP: 430507
For next: 10802

Since: 03-15-04
From: Maryland (of the Country Between Canada and Mexico)

Since last post: 5 hours
Last activity: 5 hours
Posted on 01-22-05 03:45 AM Link | Quote
I love object oriented programming . (And I use Java.)

I do most of my programming for games, and it feels very natural to just set up a big class to hold all of the different aspects of the game and tell them each to go do their thing. I find it much preferable to the ol' array of x coords, array of y coords, and for loop with all of the code for each different things in the game.

My only problem with object oriented coding is that it makes me too excited about being able to make re-usable classes, and I waste a bunch of time trying to minimize the number of classes that have project-specific code. Then again, I'll probably think that psuedo-flaw is the greatest thing since the for loop as soon as I've been doing object oriented coding long enough to start actually re-using those classes.
dan

Snap Dragon
Level: 43

Posts: 353/782
EXP: 534516
For next: 30530

Since: 03-15-04

Since last post: 20 hours
Last activity: 14 hours
Posted on 01-22-05 03:52 PM Link | Quote
To me, object orientated programming makes a program a lot more manageable. I remember my old procedural-based programs, which were hell to follow.

That said, I'm not some kind of OOP evangelist or anything like that. I still use some global variables, as Delphi allows me to do so, and it was the only way I could get my programs to compile at the time. (I now know the proper OOP way, but I am just too lazy to fix it )
Jizuko

Jiz Is The Magic!
This board has run out of mana and can no longer use The Magic
Level: 51

Posts: 1013/1191
EXP: 1004683
For next: 9255

Since: 03-15-04

Since last post: 230 days
Last activity: 213 days
Posted on 01-24-05 01:22 PM Link | Quote
I just finished a Procedurall Programming course (well, dunno if I passed it, writing code on paper is a BITCH) but the coding itself was pretty easy, we also had to do JSP added to the code though. (Jacksson Structured Programming).
I think I'll be doing OOP soon though, like, next semester or so. Only time I've worked with that before is when I briefly worked with php5.
Zem
You can be civil without being flowery, dipshits.
Level: 49

Posts: 631/1107
EXP: 829398
For next: 54485

Since: 06-13-04

Since last post: 131 days
Last activity: 131 days
Posted on 01-24-05 01:29 PM Link | Quote
Originally posted by Jizuko
(well, dunno if I passed it, writing code on paper is a BITCH)
Oh, man, I can relate to that. At one point I had the kind of job where you just need to be somewhere for a long time in case something happens, and I figured I'd work on some of my code, and it took me like five pages on paper to get the smallest amount.
Dish

Spiny
Level: 38

Posts: 246/596
EXP: 355646
For next: 14801

Since: 03-15-04
From: Disch

Since last post: 18 days
Last activity: 18 days
Posted on 01-24-05 09:28 PM Link | Quote
Originally posted by Jizuko
(well, dunno if I passed it, writing code on paper is a BITCH)


The fact that they'd even consider making you write out code is rediculous. What the hell kind of school are you going to? What school teaches people to operate computers without actually using a computer? That's the dumbest thing I've ever heard.
neotransotaku

Baby Mario
戻れたら、
誰も気が付く
Level: 87

Posts: 1962/4016
EXP: 6220548
For next: 172226

Since: 03-15-04
From: Outside of Time/Space

Since last post: 11 hours
Last activity: 1 hour
Posted on 01-25-05 12:08 AM Link | Quote
Hmm, Berkeley, Stanford, and MIT does that (make you write code on paper). I dunno about the other CS schools though. I think the problem more is not having enough computers to facilitate the tests. Even then, syntax errors are usually not docked--that is where a computer really is handy (checking for syntax errors). In addition, certain tests are open book, open notes--so, if that is the case, then a computer really can't be allowed now, can it?


(edited by neotransotaku on 01-24-05 03:09 PM)
Dish

Spiny
Level: 38

Posts: 247/596
EXP: 355646
For next: 14801

Since: 03-15-04
From: Disch

Since last post: 18 days
Last activity: 18 days
Posted on 01-25-05 12:38 AM Link | Quote
Originally posted by neotransotaku
Hmm, Berkeley, Stanford, and MIT does that (make you write code on paper).


That's completely stupid. I go to a freaking community college and they let you use a computer. You'd think big universities that cost a million dollars for students to attend would be better equipped than a community college that any shmuck with $100 and a diploma can attend.


I think the problem more is not having enough computers to facilitate the tests.


If they're funded by the state... I could see the problem. But these schools charge the students an arm and a leg to attend. There should be no reason why they say "sorry, I know you paid these thousands and thousands of dollars for this semester -- but we don't have enough money to be using computers in this computer class, you have to use paper and pen instead". That's just rediculous.


Even then, syntax errors are usually not docked


So proper syntax isn't even checked? What the hell are they even teaching?


that is where a computer really is handy (checking for syntax errors).


You're right. That's why they should use them


In addition, certain tests are open book, open notes--so, if that is the case, then a computer really can't be allowed now, can it?


I don't see why not. If it's open book/notes... why not be able to use a computer? How does that change anything?

Note: Hostility not directed towards you, I apologize in advance if I seem irritable... but I can't believe how incredibly stupid that is. Teaching Computer Science without a computer is like teaching an English class without literature -- it just doesn't work.
neotransotaku

Baby Mario
戻れたら、
誰も気が付く
Level: 87

Posts: 1964/4016
EXP: 6220548
For next: 172226

Since: 03-15-04
From: Outside of Time/Space

Since last post: 11 hours
Last activity: 1 hour
Posted on 01-25-05 01:40 AM Link | Quote
none taken.

Historically, computer science stems from math and you don't need computers to teach math. In addition, computer science--fundamentally--has nothing to do with computers at all. Everything about it revolves around the notion of abstraction and building systems with abstraction. It just turns out that many applications of computer science is computer related but it isn't restricted to just that.

From what I've learned at Berkeley, computer science is the art of breaking down problems into managable pieces and not programming.
Gavin

Fuzzy
Rhinoceruses don't play games. They fucking charge your ass.
Level: 43

Posts: 399/799
EXP: 551711
For next: 13335

Since: 03-15-04
From: IL, USA

Since last post: 13 hours
Last activity: 13 hours
Posted on 01-25-05 01:50 AM Link | Quote
Originally posted by neotransotaku
From what I've learned at Berkeley, computer science is the art of breaking down problems into managable pieces and not programming.



sounds like another great example of college taking what could have been a usefull and practical class and turning it into a study about abstract and useless theories

(well not really, but i like to hate. Community college all the way!)
neotransotaku

Baby Mario
戻れたら、
誰も気が付く
Level: 87

Posts: 1965/4016
EXP: 6220548
For next: 172226

Since: 03-15-04
From: Outside of Time/Space

Since last post: 11 hours
Last activity: 1 hour
Posted on 01-25-05 01:58 AM Link | Quote
yet, the irony here is without those abstract things and useless theories there would be no CS to begin with--anywhere


(edited by neotransotaku on 01-24-05 04:58 PM)
Squash Monster

New Age Retro Hippie
Togateiru Fohku Kohgeki!!
GRUNGE no HAMSTER otona bite
Peace love and turnpike!

Level: 40

Posts: 513/677
EXP: 430507
For next: 10802

Since: 03-15-04
From: Maryland (of the Country Between Canada and Mexico)

Since last post: 5 hours
Last activity: 5 hours
Posted on 01-25-05 06:58 AM Link | Quote
Sometmes my school doesn't let students use the computers during exams even though they easily have enough. There are just too many ways to cheat using a computer: remember, half the students who take these classes have cheated on every test where they've had access to a graphing calculator since sixth grade. The reaction around here is way out of proportion: it's not like they're completely seperating the use of a computer from a class about computers, they're just keeping them away from the exams.

As for those abstract theories, I think they're much more useful than anything else in the feild. I'd much rather learn Bresenham's line algorithm or A* or recursion than one of the subtle nuances of a single programing language.
Gavin

Fuzzy
Rhinoceruses don't play games. They fucking charge your ass.
Level: 43

Posts: 403/799
EXP: 551711
For next: 13335

Since: 03-15-04
From: IL, USA

Since last post: 13 hours
Last activity: 13 hours
Posted on 01-25-05 03:03 PM Link | Quote
because math is a universal language, and theories can transcende any single subject.

i was only joking about the useless theory comment
Pages: 1 2Add to favorites | "RSS" Feed | Next newer thread | Next older thread
Acmlm's Board - I2 Archive - Programming - Object Oriented Programming | |


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.013 seconds.