Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (788)
Games in Android Showcase (234)
games submitted by our members
Games in WIP (862)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  reuse & economics  (Read 2772 times)
0 Members and 1 Guest are viewing this topic.
Offline philfrei
« Posted 2011-12-11 22:38:00 »

I'm sure this topic has been done to death. I'm still trying to find my away around all the ramifications.

This quote from "Dreaming in Code" (pg. 97, book from 2007, by Scott Rosenberg) got me thinking.

Cox, now a consultant living in Manassas, Virginia, says that although he uses open source software daily and considers himself a Linux hacker, he doesn't see the open source approach as a realistic answer to the problem of software reuse. "They do have an economic model that works for people that are motivated by reputation more than money, " he says.  "But most folks are motivated by how to pay the mortgage. And I'm more interested in how to mobilize that majority to make reuse work."

This was the ending paragraph of a discussion on contributions by Brad Cox, who designed Objective-C in an effort to allow more reuse in C programming, and wrote a book called "Superdistribution" explaining a possible economic model for reuse that never caught on.

I find a lot to be sympathetic of here.

music and music apps:
Offline Orangy Tang

JGO Kernel

Medals: 57
Projects: 11

Monkey for a head

« Reply #1 - Posted 2011-12-12 00:31:37 »

I suspect someone will correct me here, but the author (and the original post) seems to conflate two separate aspects of software reuse. There's 'how do I write code/languages/libraries so they can be reused and shared' and 'under what terms and environment can we get people to share existing code/libraries'. The first is mostly a technical one (design of APIs and languages) and the second is mostly a people problem (how do you make people want to reuse and contribute existing code).

I'm not sure there's much (any?) overlap.

[ - Play Growth Spurt, Rescue Squad and Snowman Village ] [ Rebirth - game resource library ]
Offline philfrei
« Reply #2 - Posted 2011-12-12 02:11:31 »

I guess my thoughts are in a bit of a muddle here.  Undecided

I thought this was an interesting quote, too.

We are still building our software cottage-industry-style today, Cox argued. We need to "transform programming from a solitary cut-to-fit craft into an organizational enterprise like manufacturing." Today's software developer is like the colonial-era gunsmith, lovingly handcrafting every nut and screw. We haven't yet made an industrial revolution leap from "filing away at software like gunsmiths at iron bars" to "commercially robust repositories of trusted, stable components whose properties can be understood and tabulated in standard catalogs, like the handbooks of other mature engineering domains."

music and music apps:
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline sproingie

JGO Kernel

Medals: 202

« Reply #3 - Posted 2011-12-12 02:38:47 »

Ah yes the old clarion call of software as a fully repeatable process where we simply stamp out generic software widgets without all that messy code work.  I've got some news for folks like Cox: the interchangeable parts are part of your operating system.  No one goes out and buys a TCP/IP stack or a high performance ethernet driver, even though 20 years ago that was quite a common practice.  95% of browsers are from four different products, and except for the newer mobile markets, no one goes out and buys those either (even Opera is freeware now).

In short, no one is knocking out commodity software as interchangeable parts, because if it's truly commodity, someone else is already doing it by the hundreds of millions.  That category of commodity software may gradually expand, but for the forseeable future, everything else is custom.

As for that old pipe dream of just clicking boxes and making software happen: only trivial software will ever be written that way.  Interesting software has interesting behavior, and as the xkcd comic says, "you will never find a programming language that frees you from the burden of clarifying your own ideas."

Offline dezzroy

Senior Newbie

Exp: 10 years

« Reply #4 - Posted 2011-12-12 09:47:02 »

...the xkcd comic says, "you will never find a programming language that frees you from the burden of clarifying your own ideas."

This made me smile and exclaim a bit, too. It has a lot of truth to it. I'm spending a lot of time on coding my game to follow a design that is not available on any shelf. Some of my peers question my choice of Java, and the flat out truth is: Java ain't holding me back--I am. It's my ideas and how well I can specify them in code. The language/libraries aren't the enemy. The enemy is me! (Wow, I sound a bit disturbed)  Smiley

However, I did find myself rolling code for Separating Axis Theorem inspired polygon intersection detection, Monotone Chain (forgot its name exactly) to get a poly from a cloud of points, point of intersection of 2 line segments, and other stuff. Either these functions are not provided by the Java standard library, or had some issues which were unacceptable. One of the big reasons I went with Java for my game is I was impressed with the functionality of the java.awt.geom package (at first), then found out I had to write a lot of my own stuff for things they didn't include.

Why wouldn't there be a floating point 2D polygon class with all the goodies? I had to make my own on top of Path2D, plus extra methods awt.Polygon didn't have.

So, yeah, in my experience, I can sympathize with Cox each time I need to hunt for algorithms on Google or roll my own, but, yeah, as Sproingie said, only trivial (read for games: boring) software can be made from purely using what's out there. Buy the Unreal Engine, and you can make a handsome clone of Unreal... put some creativity and your own home-made code in, and you could have a hot new game!
Offline Roquen

JGO Kernel

Medals: 518

« Reply #5 - Posted 2011-12-13 11:06:02 »

Did I mention that Cox originated component based design pattern?  Why yes, I did.
Offline gimbal

JGO Knight

Medals: 26

« Reply #6 - Posted 2011-12-13 12:48:53 »

and the flat out truth is: Java ain't holding me back--I am. It's my ideas and how well I can specify them in code. The language/libraries aren't the enemy. The enemy is me!

Nicely put! Although I wouldn't necessarily call yourself the enemy, lack of knowledge is the enemy and you're fighting it. In that respect you are still the hero, not the enemy.

Similarly, it is ignorance, lack of knowledge and prejudice that will make your peers question your choices. The poor saps are to be pitied, not hated.
Pages: [1]
  ignore  |  Print  

hadezbladez (2131 views)
2018-11-16 13:46:03

hadezbladez (811 views)
2018-11-16 13:41:33

hadezbladez (2104 views)
2018-11-16 13:35:35

hadezbladez (420 views)
2018-11-16 13:32:03

EgonOlsen (3454 views)
2018-06-10 19:43:48

EgonOlsen (3681 views)
2018-06-10 19:43:44

EgonOlsen (2275 views)
2018-06-10 19:43:20

DesertCoockie (3004 views)
2018-05-13 18:23:11

nelsongames (3084 views)
2018-04-24 18:15:36

nelsongames (3853 views)
2018-04-24 18:14:32
Deployment and Packaging
by philfrei
2019-02-17 20:25:53

Deployment and Packaging
by mudlee
2018-08-22 18:09:50

Java Gaming Resources
by gouessej
2018-08-22 08:19:41

Deployment and Packaging
by gouessej
2018-08-22 08:04:08

Deployment and Packaging
by gouessej
2018-08-22 08:03:45

Deployment and Packaging
by philfrei
2018-08-20 02:33:38

Deployment and Packaging
by philfrei
2018-08-20 02:29:55

Deployment and Packaging
by philfrei
2018-08-19 23:56:20 is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!