Your SlideShare is downloading. ×
0
Java Platform & Free Software

   José María Casanova Crespo




              Master on Free Software
Introduction Agenda
●   Basic ideas
●   OO programming and basic syntax.
●   History and Versions
●   License
●   Java Com...
Basic Ideas
●   Java ...
    –   is an object oriented programming language
    –   programs are compiled once and execute...
Object Oriented
              programming Concepts
●   Classes               ●   Inheritance
●   Objects               ●  ...
Remembering Syntax
                   Practice
●   Create a class Animal that Sleeps.
●   Create a Main class for playing ...
The Father: James Gosling
        ●   1955, Born in Calgary
        ●   1983, PhD at Carnegie
            Mellon Universit...
The early years
●   Created in June 1991
●   Initially called Oak ....
    –   ... later called Green....
         ●   ......
Oak
●   Oak goals:
    –   Platform independent
    –   Extremely reliable
    –   Compact
●   Target market: Interactive ...
Java Versions
●   JDK 1.0 (1995)
    –   8 packages, 212 classes.
    –   Included in Netscape 2.0-4.0
    –   Other compa...
Java Versions
●   JDK 1.2 (2000), known as JAVA2)
    –   59 packages, 1520 classes
    –   Java Foundation Classes (SWING...
Java Versions
●   JAVA 1.3 (2000)
    –   76 packages, 1842 classes
    –   Better performance (Hotspot VM)
●   JAVA 1.4 (...
Java Versions
●   JAVA 1.5 (2004) renamed to JAVA5
    –   Generics
    –   Faster startup and improved memory usage
    –...
Multiple Platforms
●


    –   Java Enterprise Edition (JAVA EE)
    –   Java Micro Edition (JAVA ME)
    –   Java Standar...
Java License Questions
●   Look for the current License of JDK, go for
    downloading.
●   Which is the current state of ...
The JAVA TRAP
●   Richard Stallman Apr 12, 2004
●   http://www.gnu.org/philosophy/java-trap.html
●   Nov 15, 2006
●   SUN ...
The Classpath Exception (1/2)



Linking this library statically or dynamically with
other modules is making a combined wo...
The Classpath Exception (2/2)

 As a special exception, the copyright holders of this library
give you permission to link ...
Current State
●   Several Open Source projects
    –   Java SE -> OpenJDK
    –   Java ME -> Mobile & Embedded (PhoneME)
 ...
JAVA Communities
●   APACHE Foundation
    –   JAVA related projects (JAKARTA)
         ●   http://jakarta.apache.org
    ...
Java Community Process
●   http://www.jcp.org/en/home/index
    –   Introduced in 1998
    –   an open, participative proc...
ECLIPSE
●   http://www.eclipse.org
●   Version 3.3 called Europa (Jupiter moon)
●   written in Java.
●   lots of plug-ins ...
NETBEANS
●   http://www.netbeans.org
●   Directly from SUN Microsystems
●   NetBeans 6 is the last version
●   Lately supp...
JDEE EMACS
●   http://jdee.sourceforge.net/
    –   JDEE menu with compile, run, debug, build, browse, project,
        an...
Compiling game
●   Working in pairs based in knowledge in
    each IDE platform.
●   Choose a JAVA not web based project i...
Upcoming SlideShare
Loading in...5
×

Java platform and free software

1,631

Published on

Published in: Economy & Finance, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,631
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
52
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Java platform and free software"

  1. 1. Java Platform & Free Software José María Casanova Crespo Master on Free Software
  2. 2. Introduction Agenda ● Basic ideas ● OO programming and basic syntax. ● History and Versions ● License ● Java Community Master on Free Software
  3. 3. Basic Ideas ● Java ... – is an object oriented programming language – programs are compiled once and executed everywhere (bytecode and Virtual Machine) – syntax is derived from C++ – is supposed to be platform independent – implements automatic memory management – platform is almost Free Software ;-) Master on Free Software
  4. 4. Object Oriented programming Concepts ● Classes ● Inheritance ● Objects ● Encapsulation ● Methods ● Abstraction ● Message passing ● Polymorphism Master on Free Software
  5. 5. Remembering Syntax Practice ● Create a class Animal that Sleeps. ● Create a Main class for playing with animals. ● Create a Subclass Pet that has a Name and Owner that is a Person. ● Re-factor it to define Pet and Animal as abstract classes and create Dog and Elephant ● Overwrite methods and make possible not animal pets (Interfaces) ● Introduce the use of packages Master on Free Software
  6. 6. The Father: James Gosling ● 1955, Born in Calgary ● 1983, PhD at Carnegie Mellon University. ● 1984, joins SUN Microsystems. ● 1991, invents Java Programing Language ● 2006, he shaved for the first time in decades. Master on Free Software
  7. 7. The early years ● Created in June 1991 ● Initially called Oak .... – ... later called Green.... ● ... finally renamed to JAVA ● SUN launched JAVA on May 23, 1995 ● More info: – http://java.sun.com/features/1998/05/birthday.html Master on Free Software
  8. 8. Oak ● Oak goals: – Platform independent – Extremely reliable – Compact ● Target market: Interactive TV and PDAs ● But in 1993 SUN changed the target because of Internet. Master on Free Software
  9. 9. Java Versions ● JDK 1.0 (1995) – 8 packages, 212 classes. – Included in Netscape 2.0-4.0 – Other companies licensed Java ● JDK 1.1 (1997) – 23 packages, 504 classes – inner classes,improved JVM, SWING – MS develops a VM for IE Master on Free Software
  10. 10. Java Versions ● JDK 1.2 (2000), known as JAVA2) – 59 packages, 1520 classes – Java Foundation Classes (SWING) included in the core. – Collections: support for lists, sets, hashmaps. – Code and Tools distributed as the SDK Master on Free Software
  11. 11. Java Versions ● JAVA 1.3 (2000) – 76 packages, 1842 classes – Better performance (Hotspot VM) ● JAVA 1.4 (2002) – 135 packages, 2991 classes – Improved IO, XML Master on Free Software
  12. 12. Java Versions ● JAVA 1.5 (2004) renamed to JAVA5 – Generics – Faster startup and improved memory usage – Improved multithreading features ● JAVA 6 – new desktop related features – simplified GUI development – integrated with NetBeans 5.5 Master on Free Software
  13. 13. Multiple Platforms ● – Java Enterprise Edition (JAVA EE) – Java Micro Edition (JAVA ME) – Java Standard Edition (JAVA SE) ● JRE vs JDK Master on Free Software
  14. 14. Java License Questions ● Look for the current License of JDK, go for downloading. ● Which is the current state of Java as FLOSS? ● Operating System Distributor License for Java (DLJ) ... what is it? ● Lets review History .... Master on Free Software
  15. 15. The JAVA TRAP ● Richard Stallman Apr 12, 2004 ● http://www.gnu.org/philosophy/java-trap.html ● Nov 15, 2006 ● SUN “releases Java” under GPL ● http://www.sun.com/2006-1113/feature/story.jsp – Hotspot VM, javac Master on Free Software
  16. 16. The Classpath Exception (1/2) Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. Master on Free Software
  17. 17. The Classpath Exception (2/2) As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. Master on Free Software
  18. 18. Current State ● Several Open Source projects – Java SE -> OpenJDK – Java ME -> Mobile & Embedded (PhoneME) – Java EE -> Glass Fish ● http://www.sun.com/software/opensource/java/index.jsp Master on Free Software
  19. 19. JAVA Communities ● APACHE Foundation – JAVA related projects (JAKARTA) ● http://jakarta.apache.org ● Ant, Tomcat, Structs, Lucene, ... ● Lets review the website. ● Open Source in Java – Open source directory about Java Apps. ● http://java-source.net/ Master on Free Software
  20. 20. Java Community Process ● http://www.jcp.org/en/home/index – Introduced in 1998 – an open, participative process to develop and revise the Java™ technology specifications – define reference implementations and test suites Master on Free Software
  21. 21. ECLIPSE ● http://www.eclipse.org ● Version 3.3 called Europa (Jupiter moon) ● written in Java. ● lots of plug-ins for different languages. ● Eclipse Java Development Tools, incremental Java Compiler, visual editor interfaces. ● Eclipse Public License Master on Free Software
  22. 22. NETBEANS ● http://www.netbeans.org ● Directly from SUN Microsystems ● NetBeans 6 is the last version ● Lately supporting more languages ● Oct 2007, CDCL and GPLv2 License Master on Free Software
  23. 23. JDEE EMACS ● http://jdee.sourceforge.net/ – JDEE menu with compile, run, debug, build, browse, project, and help commands – syntax coloring – auto indentation – compile error to source links – source-level debugging – source code browsing – make file support – automatic code generation – Java source interpreter (Pat Neimeyer's BeanShell) Master on Free Software
  24. 24. Compiling game ● Working in pairs based in knowledge in each IDE platform. ● Choose a JAVA not web based project in Source Forge (the simpler the easier) ● Compile it and execute ● Analyze the possibilities with Source Code Repositories (SVN,CVS) ● Which is the better IDE ? Master on Free Software
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×