Flutterby™! : Object disoriented programming

Next unread comment / Catchup all unread comments User Account Info | Logout | XML/Pilot/etc versions | Long version (with comments) | Weblog archives | Site Map | | Browse Topics

Object disoriented programming

2010-09-29 17:02:17.447226+00 by Dan Lyke 4 comments

Object Disoriented Programming (hat tip: Columbine)

And, yes, I too once had a great experience with Glgooey and then wanted to use something and C++ had evolved in a way that no longer compiled it and I didn't bother to fix it and push the changes back upstream and... yeah.

[ related topics: Software Engineering ]

comments in descending chronological order (reverse):

#Comment Re: made: 2010-09-30 13:45:02.503226+00 by: ebradway

Dan and I use to spend many late nights pouring over the assembly output of MS C 5.0 and 6.0 trying to figure out what optimization options produced bugs in which section of code so we could selectively turn it off.

I guess that's something I miss about C: you can typically relate the assembly output to your code reasonably well. If I'm not allowed to get that close to the metal, then I'll just program in an interpreted langue.

#Comment Re: ` made: 2010-09-30 13:42:41.559226+00 by: Dan Lyke

After they add C99, they can start working on C++.

Although the suggestion at the end of that would end up with a better compiler and development environment overall...

#Comment Re: made: 2010-09-29 23:20:24.995226+00 by: John Anderson

Re: C over C++, I happened across this today in Chromatic's twitter feed:


(Click through, it's funnier than you might expect...)

#Comment Re: made: 2010-09-29 19:23:22.323226+00 by: ebradway [edit history]

Once again, a reason for liking C over C++. The simpler syntax of C means it's a little easier to get code to compile. And the lack of object orientation means no library can force you to become subservient to it. Worse case, you wrap your calls with something that translates your data structure to the library's. Best case, you figure out how to change the library to use your data structure.

A couple years ago when I was writing code for my PhD advisor, I was specifically designing new data structures. That meant I had to adapt a bunch of code from the classic Computational Geometry in C to populate my data structures. I stayed away from Boost and CGAL because I didn't want to have to adapt to their structures. Ultimately, I did want to slap a GUI on the front of it and ended up using wxWidgets. But that involved trying 5-6 different compilers to get one that put it all together nicely. Ultimately, I just paid Julian Smart for a copy of DialogBlocks because I was tired of fussing with compilers. Even then, I felt like my focus was on building a GUI and not a novel set of data structures. After all, my core code compiled cleanly on every compiler I tried.

Somehow, Perl never seemed to have these problems. But then again, I've never worked on a Perl project with more than about 500 lines of code (not counting modules) and I never tried to put a UI on the code (other than CGI).