Well I'm down to 10% now. The power is out at my house and I'm typing this on my laptop with it's last bit of battery power.(using links, of course)
I was re-teaching myself some of the basics in C++ last and found myself "playing" to see what I could do with pointers. I paused for a second and realized that I was actually enjoying it. Oh crap! power almost out.
Anyone else have similar experiences? :p
RedMap
08-10-2003, 10:04 AM
I tend to find most people think lazying around is fun, some of us find constructing (machines, programs, paintings, or anything) and learning new is fun.
And there is some unfortunate few out there who think destruction is fun.
I'm of course a 'constructor' person!
carrja99
08-10-2003, 01:11 PM
I remember when we first moved on to using pointers with data structures. I found myself doodling away some random linked list, double linked list, binary tree, or some graph and scribbling out algorthims for them while I was sitting in my other classes.
Also, i tend to extract immense enjoyment from optimizing code. I once had a project that was 12 pages long, and I spent a few days optimizing it and wound up with 3 pages of code and zero chance for errors!
Also, working away at hashing and encryption algoritms can be a bit fun too!
Gaxus
08-10-2003, 02:21 PM
I find it fun when after attempting for hours on end to get my head around a concept in C++, it finally clicks. :D
I generally find it fun to code stuff I enjoy/want to code... but dread the day when I look back at code I previously made and try to make pathetic attempts to figure out what the hell it was I did! :p ...
On the whole though, I think I am more of a lazy-destructor kind of guy... :eek: :mad: :cool:
MartinB
08-10-2003, 06:17 PM
I love a challenge in programming. Whilst everyone in my class at college were doing football league tables and stock control systems for their C projects, I was writing a program to solve tsunami puzzles (a type of logic puzzle found in magazines), which ended up being over 200 total pages of printouts, including code, design and documentation. I really enjoy programming and always like to challenge myself.
To be fair though, I find C++ (and any other object oriented language) much more difficult than procedural languages like C. To be honest, I'm not even sure what the advantages of OO are, as I seem to have no problems doing what I need in C.
Sepero
08-10-2003, 07:46 PM
To be fair though, I find C++ (and any other object oriented language) much more difficult than procedural languages like C. To be honest, I'm not even sure what the advantages of OO are, as I seem to have no problems doing what I need in C.They are more difficult if all you've ever done is procedural. But once you 'get it', you'll never be the same. Here is a site showing the advantages. http://www.archwing.com/technet/technet_OO.html
bwkaz
08-10-2003, 10:10 PM
Originally posted by Sepero
They are more difficult if all you've ever done is procedural. But once you 'get it', you'll never be the same. Substitute "functional" for "object oriented", and you've pretty much got it. :p
Lisp, Scheme, Haskell, etc. -- once you "get" them, they'll completely change the way you think about writing programs, too. More so than OO does, at least IMNSHO. However, don't try to learn them quite yet -- get a firm grasp on OO first. Not that it'll help much, but not trying to figure out two different things at once (and confusing them, in the process) would help.
If you want to learn OO, though, you might consider trying to do it in Java. Java's OO is quite a bit simpler than C++'s, because C++ has to carry around a bunch of baggage to be backward-compatible with C. So it's really easy to end up writing code that's half-OO, half-procedural, and it ends up looking (and generally working) like crap.
With Java, it's quite a bit harder to do that.
There may be other OO languages that are better, too.
Sepero
08-10-2003, 11:36 PM
I agree with bwkaz. Instead of C++, Java is the better way to go. Java doesn't really allow you to mix procedural with with OO(like C++), it is straight objects.
Also, working away at hashing and encryption algoritms can be a bit fun too!Anybody else think this guy is a freak? j/k :p
o0zi
08-11-2003, 12:25 AM
Whether to use OO or procedural programming often depends on the project, and as programming is more of a hobby for me I stick to procedural - OO isn't worth the effort. If it was a large project which needed to reuse code I might use OO, but otherwise I just don't see the point. Why create a class when all I need to do is loop over a few numbers anyway?
I also agree with bwkaz and Sepero - stick to OO or to procedural, not a mixture - I use Perl, but I only use its OO capabilities when a module requires me to.
Sepero
08-11-2003, 02:01 AM
Effort?:confused:
Currently I only program as a hobbiest too. I programmed in procedural before learning OO. The only extra effort I see is actually wrapping one's brain around the OO concepts. But you only have to 'get it' one time. You take it with you forever.
IMHO, OOP tends to take less effort, especially in the long-run. Of course, if you have plans to quit programming at some point, then that's a different story...
mage492
08-11-2003, 04:27 AM
Actually, there's a really easy way to learn the CONCEPTS of OO programming. Have you ever seen HyperCard, for the early Macs? If you can get your hands on it, it's a great way to learn. Even after taking a C++ class, I didn't understand the concepts of OO. After five minutes in HC, though, it all suddenly made sense. Now, I actually LIKE C++!
To anyone who's familiar with it, do you know of something like it for Linux? I have a copy of VB, but I'm pretty sure it's just for Windows.
MartinB
08-11-2003, 05:31 AM
Well, I did a double module (both semesters) at university in JAVA last year, and got 10 out of 15 for it, but I still don't understand OOP. I can understand the concepts, and it does sound very useful, it's just more difficult to actually implement.
I can't really say the module on JAVA was difficult though when the tutors put up .class files of the solutions to the assignments, what with the number of JAVA decompilers that are floating around. ;)
I'm going to be doing a module called "Object Oriented Programming in C++" starting in September, so maybe I hopefully might finally get the grasp of OO.
.GBC
08-11-2003, 07:00 AM
C++, Java, whatever. They're all fun if you're doing what you want with them but when you start having to do them for other people they all come crashing down on you.
Sepero
08-11-2003, 07:50 AM
Originally posted by MartinB
Well, I did a double module (both semesters) at university in JAVA last year, and got 10 out of 15 for it, but I still don't understand OOP.Did you know some procedural language(s) before learning Java? If so, I can personally say that that made the mental block a lot larger for me. OOP takes you from thinking in straight lines to thinking in... um... more like real life.
Do you know what Polymorphism is? Do you know why Encapsulation is important? Overloading and Overriding comes in very handy too. I hate to say this, but I doubt C++ will help you further your OO skills, it's backward compatability with C just seems to make things more complex.
http://lala.essortment.com/objectparadigm_ruqg.htm
P.S.
I tend to agree, .GBC. Strange that you decided to make that your first post, though. :p
Gaxus
08-11-2003, 07:56 AM
This may also help (wikipedia=god) ;) : http://www.wikipedia.org/wiki/Object-oriented_programming
carrja99
08-11-2003, 10:09 AM
For some reason, alot of people trash talk C++ and Object Oriented Languages in general (I recall one "kid" on here saying that C++ is a pathetic excuse for a language) as if they know better with thier infinite wisdom.
I tend to ignore them, as basically they either dont know what they're saying, they're speculating, or they just tried Java or C++ and think it's too hard so they stick to perl instead.
I think you can really call the stinker out when he says C is a pretty sucky language too. :D
And hey! Encryption and hashing can be fun, bexcause basically you're given several options and ways to do it (including "rolling your own"). Another fun programming exercise is trying to come up with good compression algorthims, although to be honest I've never really done anything outside of a Huffman tree!
TheChuckster
08-11-2003, 10:48 AM
I only use C/C++ when necessary, but in all other cases I use Visual Basic. I have become a master at that language, and since it's an RAD, I can focus on the actual program code rather than the GUI. Heh, I've even written a 3d game using DirectX in it. Take that you arrogant game developers who say C/C++ is the only way to go! The only time I have used C is to write a home-brewn operating system, which obviously C is a requirement for, given the only alternative is ASM.
C++ is nice too, but I have yet to figure out how to write GUI programs in it since the book I have on it doesn't explain this. I would like to learn programming for Linux, but my apps are limited to console programs because like I said, I lack the knowledge to write KDE/GTK/GNOME GUI apps in C/C++ let alone Windows.
rameyd
08-11-2003, 11:53 AM
The most important language to know is the one that will help you do the job.
I pay the bills by writing scripts that compile and report data from our 1TB ish Oracle Database. I use a proprietary version of SQL that reminds me a lot of COBOL with some RPG thrown in for good measure. Yuck!:D
But there is absolutely no way I could use any "C" like language to do this because they were not designed to be used for data reporting. Sure you can execute SQL commands, but you'd be nuts to try to use it to do the job.
For pounding away at text datafiles, Perl is king. For Windows apps, VB is OK but for speed and robustness I will always opt for Delphi. As easy to code in as Visual Basic, farmiliar syntax (Pascal is alot like C in some respects) and the objects created are almost as efficient as C++.
And it's not the language that seduces me, but the project. I've had way to many nights where I decide that I should go to bed only because I notice the Sun is coming up.
Dave
RedMap
08-11-2003, 04:18 PM
After a dabbling with Atari 800 basic and then the terrible Atari ST basic, I found the language I loved, - it was 68000 assembly! I could do anything in that and control everything, set up interrupts, do real time music processing through the replay cartridge. Also virtually the same was the Amiga except it made life easier by offloading tasks to the other parallel chips.
Then I tried learning C - I found it so cryptic. So I only really learned C a few years after getting my first PC.
After getting my head around C, and then Java, I found C++ quite natural.
More recently I have started on bash, which I initially found very cryptic, but I am figuring it.
Whats more, all it was fun! Especially success in finishing a function, procedure or entire program!
bwkaz
08-12-2003, 07:17 PM
Originally posted by TheChuckster
I would like to learn programming for Linux, but my apps are limited to console programs because like I said, I lack the knowledge to write KDE/GTK/GNOME GUI apps in C/C++ let alone Windows. And you've written a kernel? *shrug* whatever.
http://developer.gnome.org/doc/API <-- documentation for Gtk, GDK, Glib, Gnome, and others
http://doc.trolltech.com/3.2/index.html <-- documentation for Qt 3.2 (latest release)
There's a page somewhere on www.kde.org that has the KDE documentation, but you'll need to use the Qt docs first (KDE is built on Qt, just like Gnome is built on gtk+).
sploo22
08-12-2003, 07:36 PM
I once tried Qt, TheChuckster; it's very simple, about like using Java. Just follow the tutorials in the documentation and it's a piece of cake.
justlinux.com
Copyright Internet.com Inc. All Rights Reserved.