Has anyone done open source Java development?

Discussion in 'OT Technology' started by SPACECATAZ, May 25, 2009.

  1. SPACECATAZ

    SPACECATAZ New Member

    Joined:
    Dec 22, 2006
    Messages:
    2,502
    Likes Received:
    0
    I'm currently a junior in my University's computer science program and I have to take an advanced data structures class on Java in the fall. I have a pretty intermediate understanding of the language such as inheritance, polymorphism, control structures, design issues and limited swing knowledge. I was told by a friend to enter into open source development to beef up my skills on the language and overall gain more knowledge for the future.

    Now my question is, what should I look for when I want to join a group that is doing open source development. I was directed here: http://sourceforge.net/people/?category_id=1 as it possesses a multitude of open source projects. I have confidence in my ability to program in java, but I have no actual application development experience at all. I want to gain a good grasp on swing as that seems to interest me most of all in the language. I want to eventually work in Android Mobile Application Development as I know a few in the industry and it seems to be a growing field.

    Any advice on how I should go about this? I would like to know real experience from people who have gone this route when gaining knowledge of Java.

    Thanks. :)
     
  2. ge0

    ge0 New Member

    Joined:
    Oct 31, 2005
    Messages:
    8,398
    Likes Received:
    0
    Location:
    JERSEY
    Learn a Java Framework... Spring, Struts, EJB, etc...
     
  3. deusexaethera

    deusexaethera OT Supporter

    Joined:
    Jan 27, 2005
    Messages:
    19,712
    Likes Received:
    0
    Why do none of those frameworks have names remotely related to coffee? "Spring", "Struts", etc. would make more sense if the underlying language were called "Mustang" or something, but not "Java".

    And why are people putting frameworks on top of frameworks? Please tell me this is just a fad. You can't package and manage all the code you'll ever need -- eventually you're just going to have to write your own shit anyway.
     
  4. SLED

    SLED build an idiot proof device and someone else will

    Joined:
    Sep 20, 2001
    Messages:
    28,118
    Likes Received:
    0
    Location:
    AZ, like a bauce!
    You'll probably have a hard time finding an open source project that will commit any of your changes with your lack of experience. The best way to learn is to give yourself a goal, and work toward it. Create something from scratch. i.e. Make a swing app that is able to perform simple network tests (ping, traceroute, etc). Work on something like that for awhile and just learn for fun. Build to learn, instead of learning to build.
     
  5. SLED

    SLED build an idiot proof device and someone else will

    Joined:
    Sep 20, 2001
    Messages:
    28,118
    Likes Received:
    0
    Location:
    AZ, like a bauce!
    These "frameworks" are really helpful software patterns which eliminate duplicate code and assist in providing simple libraries for common tasks. They are used so every project doesn't need to re-invent the damn wheel.
     
  6. Limp_Brisket

    Limp_Brisket New Member

    Joined:
    Jan 2, 2006
    Messages:
    48,422
    Likes Received:
    0
    Location:
    Utah
    :hsugh: to this whole thing
     
  7. deusexaethera

    deusexaethera OT Supporter

    Joined:
    Jan 27, 2005
    Messages:
    19,712
    Likes Received:
    0
    Sorry for pointing out the obvious, Limpy.

    Yeah, I understand the appeal of using code libraries to avoid having to reinvent the wheel, and that is a good thing, but the fact that frameworks aren't compiled into the main body of the code (like STL modules are, in C++) impacts the reliability of the product in a couple of ways that really bother me:

    1. The quality of the framework is subject to change after you've compiled and delivered your product. There may be all the care and attention in the world given to the quality of the framework code, but nobody is perfect and your product could be rendered inoperable when a new version of the framework comes out.

    2. Frameworks may or may not need to be installed separately from your product, but there is at least the possibility of that extra step, whereas old-fashioned code libraries never need to be installed separately because they are included at compile-time.

    3. If the framework you selected falls into disuse, it may not be available for installation in the future, and you'll have to retool your product to use a different framework if you want your product to remain useful.
     
  8. ge0

    ge0 New Member

    Joined:
    Oct 31, 2005
    Messages:
    8,398
    Likes Received:
    0
    Location:
    JERSEY
    To the thread starter...

    Theres an apache project called "ofbiz" open for business. Check it out.

    You can make commits or whatever to it.
     
  9. ChosenGSR

    ChosenGSR Mama always said you'd be the chosen one

    Joined:
    Oct 24, 2001
    Messages:
    51,099
    Likes Received:
    241
    Location:
    HoCo, MD
    I have very limited Java experience (I'm a .Net developer) but Struts/Spring/EJB is pretty much a standard at most mid to large size Java shops :dunno:

    POJO guy eh?
     
  10. SPACECATAZ

    SPACECATAZ New Member

    Joined:
    Dec 22, 2006
    Messages:
    2,502
    Likes Received:
    0
    Do you know where I can get more information on building an app like that? I see some network programming books on amazon, but my pockets are thin :mamoru:. Do you know of any online tutorials?
     
  11. Peyomp

    Peyomp New Member

    Joined:
    Jan 11, 2002
    Messages:
    14,017
    Likes Received:
    0
    These are all valid criticisms of things like .NET and other closed-source, proprietary frameworks. It was a real hassle having to install .NET separately from a .NET app in 2003. However, none of these problems apply to free open source frameworks. You package what you need with your product. You don't install separately. And if it falls into disuse - you have the code, so it doesn't matter.

    The bottom line is that if you pick the right frameworks, your time to market can be reduced by a factor of 10 or 100 compared to writing it from scratch. Its totally amazing what one good developer can build these days that would have taken a lot of people a long time in the past. The problem comes when you pick the wrong ones, which is why that architect position you talk about is so important.
     
  12. deusexaethera

    deusexaethera OT Supporter

    Joined:
    Jan 27, 2005
    Messages:
    19,712
    Likes Received:
    0
    So you don't have to install the whole framework? How does that work? I thought they were all supposed to be standardized. This almost sounds like you're just packaging DLLs with your product and copying them to the install target folder, instead of actually installing a framework to a common location.
     
  13. Peyomp

    Peyomp New Member

    Joined:
    Jan 11, 2002
    Messages:
    14,017
    Likes Received:
    0
    Yes, if you're doing shrink-wrap stuff you package it with your software and you wouldn't share the library with other applications. You can install the whole framework, but you do it as part of your installation, and it lives in your applications directory. Using DLLs is the windows version of this, yes.

    Packaging and installation are a pain in the ass, which is the number of application classes moving to web apps is growing so fast.
     
  14. Peyomp

    Peyomp New Member

    Joined:
    Jan 11, 2002
    Messages:
    14,017
    Likes Received:
    0
    I've never done FOSS Java development, but my three favorite FOSS Java libs are:

    http://www.restlet.org/

    http://simple.sourceforge.net/

    http://ibatis.apache.org/

    These libraries are so lightweight compared to the normal Java nonsense that they make working with it fun. When combined, you can do things like object.serialize.send() and it 'just works' - your object gets sent across the link and instantiated on the other side. Times like that are when Java shines.

    Might give you a place to start?
     
  15. GOGZILLA

    GOGZILLA Double-Uranium Member

    Joined:
    Jan 16, 2003
    Messages:
    10,760
    Likes Received:
    3
    Location:
    Plantation, FL
    :h5:
     

Share This Page