Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1,...

43
Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY

Transcript of Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1,...

Page 1: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Java IDEs: What and Why We Use What We Do

Panel Presentation at the33rd SIGCSE Symposium

March 1, 2002Covington, KY

Page 2: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Panelists• Barbara Boucher Owens, moderator,

Southwestern University, overview• Delia Marx, Mercy College, presentation,

Ready to Program • Jack Rehder, University of Waterloo,

presentation, JBuilder • Dean Sanders, NW Missouri State,

presentation, BlueJ • Don Slater,Carnegie Mellon,presentation ,

CodeWarrior

Owens-1

Page 3: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Audience Suggestions (web links)

• JCreator mentioned by Bill Kraynek of FIU

• DrJava

• JJ - learn Java on Line

• Java Power Tools

• jGrasp

Owens-2

Page 4: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Background

• SIGCSE email from Byron Weber Becker– 12-April-2001

• Which Java IDE do your students use?

• Criteria for the perfect environment:– - simple user interface

– - JDK 1.2 or 1.3

– - not a major resource hog

– - code completion (type an object and a

– - instructor-defined code templates

– - JavaDoc generation

Owens-3

Page 5: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Java Developer's World .com

2001 Best IDE Votes

Owens-4

Page 6: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Raw NumbersVisualAge for Java 3.5 (IBM) [6966]

JBuilder 4.0 (Borland) [6745]

VisualCafé (WebGain) [3958]

Forte for Java (Sun Microsystems) [3060]

Oracle JDeveloper 3.2 (Oracle) [2782]

PowerJ (Sybase) [1083]

SilverStream (SilverStream) [904]

IntelliJ IDEA (IntelliJ Software) [513]

CodeWarrior for Java 6.0 (Metrowerks) [490]

VisualJ++6.0 (Microsoft) [481]

Kawa (Allaire Corporation) [450]

JRun Studio (Allaire) [394]Cerebellum (Cerebellum Software) [380]

GDPro (Embarcadero Technologies) [374]

AnyJ (Netcomputing) [372]

Elixir IDE (Elixir Technology) [325]

CodeGuide (Omnicore Software) [323]

WingEditor 1.61 (WingSoft) [235]

ImageGear Java (Accusoft) [220]

Bolero (Software AG) [218]

NetDynamics (Sun Microsystems) [197]

Micro Focus Net Express (MERANT) [154]

JMaker (Jidea) [121]

Source Insight (Source Insight) [22]

Metamata Development Environment (Metamata) [14]

Owens-5

Page 7: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Java World 3 Finalists for 2002 Best IDE

• Forte for Java 3.0, Sun Microsystems

• IDEA 2.5, IntelliJ

• JBuilder 6.0 Enterprise, Borland Software

Owens-6

Page 8: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

IDE collection from JavaWorld

Owens-7

Page 9: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Java IDE’s: Why and How We Use What We Do

SIGCSE 2002

Delia Marx

Mercy College, Dobbs Ferry, NY

Page 10: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Why Ready to Program?

• It’s simple.

• It’s easy to learn.

• It’s easy to install.

• It was designed with education in mind.

Ready-1

Page 11: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Simple & Easy• The interface is plain.

• No need to create ‘projects’.

• Just click “Run” for applets or applications.

• Can easily use any class library.

Ready-2

Page 12: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Installation

• A single setup file.

• Runs on a 486/66 with 16 Mb of RAM with Windows 95.

• Not yet available for Mac.

• Built on IBM’s Jikes Java compiler.

• Can use Java2.

Ready-3

Page 13: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Features:• Full documentation of Java libraries at hand.• Can insert templates.• Syntax coloring.• Can indent program and find the matching brace.• Can easily comment-out code fragments.• Good printing facilities.• Syntax errors are highlighted (even if another file

needs to be opened).• … and it does not interfere in your programming!

Ready-4

Page 14: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

More information:

• www.holtsoft.com/ready

[email protected]

or

• Tom West at the Holt booth, downstairs.

• my e-mail: [email protected]

Ready-5

Page 15: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Jack Rehder

• University of Waterloo

• JBuilder

Page 16: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

UW Perspective

• Teaching Java in CS1 since 1998

• Approximately 1200 new students per year

• Many (>85%) have their own computers

• We want to encourage students to use their own computers

• We have a mix of platforms: Mac, PC and UNIX

JBuilder-1

Page 17: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Criteria for selection

• Low cost

• Multiple platforms

• Able to run both Java 1.2 and 1.3

• Code completion feature

• Easy to use debugger

• Simple user interface

• Graphic UI Design tool

JBuilder-2

Page 18: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

UW Experience

• Have been using Borland JBuilder for our CS0, CS1 and CS2 courses

• JBuilder represents a compromise and meets most of our needs

• Is installed on our PC-based Windows system and on our WinCentre servers so it can be accessed from thin clients

JBuilder-3

Page 19: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

JBuilder Advantages

• Free to students; we burn our own CDs with JBuilder and other software and sell for $10

• Code Completion feature, allowing us to • Limited menu options; many students don’t

even use more than the RUN button on the tool bar

• Easy for students to install at home

JBuilder-4

Page 20: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Advantages (ctd)

• Project manages class and source paths, allowing us to zip files and distribute via the web for use in our labs or at home. Our first programs make use of Karel the Robot libraries, so we need to manage libraries and paths easily.

• Default project settings make it easy to start a new application from scratch.

JBuilder-5

Page 21: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

JBuilder Disadvantages

• No built in JavaDoc generation tool (although it can be configured)

• Design tool generates code based on Borland layout managers rather than standard Java

• Some work must be done to customize project settings, especially for students working at home

JBuilder-6

Page 22: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Background on BlueJ

Dean SandersNorthwest Missouri State University

[email protected]

Page 23: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Basic Facts

• Integrated development environment for Java• Specifically designed for introductory courses• Designed by John Rosenberg & Michael Kölling• Developed at Monash University, Australia• Under continuous development (current is 1.1.6)

• Written in Java• Supported by Sun Microsystems

BlueJ-1

Page 24: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Environment

• Fully integrated environment• Interface is designed for beginners• Built-in editor• Seamless access to compiler• Multilingual support

(English, German, Swedish, Spanish, Japanese, …)

BlueJ-2

Page 25: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Classes and Objects

• Graphical display of class structure • Interactive object creation• Interactive method calls• Instantiation of library classes• Object inspector

BlueJ-3

Page 26: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Programming Support

• Incremental application development • Interactive testing• Customizable templates (class, method, applet …)

• Integrated debugger• Integrated javadoc (no browser necessary)

• Import and export capabilities

BlueJ-4

Page 27: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Why Use BlueJ• Emphasizes classes and objects• Easy to learn and use• Encourages interaction and experimentation• Automatically diagrams class structure• Allows testing of a method in isolation• Visually displays instantiated objects• Works easily with various class libraries• Built-in help for common syntax errors• Fully customizable

BlueJ-5

Page 28: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Possible Concerns

• Debugger can become unstable

• No GUI designer

• Best for small to medium sized projects

BlueJ-6

Page 29: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Availability and Support

• Source: http://www.bluej.org• Cost: FREE• Web site contains

– Documentation

– Help & Info

– Tip of the “week”

– A few teaching resources

– List of users

• Listserve

BlueJ-7

Page 30: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Let’s See It Work

BlueJ-8

Page 31: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Why and How We Use What We Do

Carnegie Mellon University

and Metrowerks CodeWarrior

Don Slater, [email protected]

alias for Rich Pattis

Page 32: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

History

• Pascal and the Genie– ALOE: A Language Oriented Editor– Developed in house– For the Macintosh Platform

• Switch to C– no Genie– Still Macintosh platform– Symantec Think Development Environment

CodeWarrior-1

Page 33: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Move to C++

• Symantec stopped supporting Think

• We began to transition to Intel platform

• Looked at a variety of products– Borland– Microsoft– Metrowerks

CodeWarrior-2

Page 34: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Considerations: Population

• For our Introductory level programming students– majors and non-majors– wide range of previous experience– some terminal, some moving to upper level

courses– most students have their own computers (but

different platforms)

CodeWarrior-3

Page 35: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Considerations: Users

• Only Intro students at CMU will use an IDE– All courses above Intro level use Unix/Linux

and respective tools

• This is still 800 - 1000 students per semester taking Intro courses

CodeWarrior-4

Page 36: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Considerations: Uses

• Console-based, intro level applications and exercises

• Simple graphic applications

• Use the standard language libraries– STL (C++)– API (Java)

• No Windows / GUI development

CodeWarrior-5

Page 37: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

What we wanted in an IDE

• It stays out of the way– of the students– of our teaching

• Helpful to the students

• Simplicity

• Supports the standard language libraries

CodeWarrior-6

Page 38: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Staying out of the way

• Interface is clean, uncluttered– Essentially, after a lab 0, the students can do

everything we want them to do– Each instructor can create project and template files

according to personal preference

• Footprint is relatively small– Both for the IDE and projects that are created – Especially after a Minimum Install

• Multi-platform compatibility

CodeWarrior-7

Page 39: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Helpful to the Students

• “Syntax aware” text editor– different tokens can be colored differently

• for catching runaway comments or strings, for example

– brace, bracket, and parentheses matching• whenever a closing brace, bracket or parenthesis is typed the

editor shows you the corresponding opening brace, bracket, or parenthesis

• clicking on brace, bracket, or parenthesis will show the corresponding block

• More of an issue when we were making our choice than it is now

CodeWarrior-8

Page 40: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Helpful to the Instructors

• Simplicity– powerful development environment, but the

power is hidden– we do not use most of what is there

• Debugger is useful and generally intuitive– helpful to the students– useful for demonstrations

• Support for the standard libraries

CodeWarrior-8

Page 41: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Metrowerks as a company

• We’ve always been satisfied with the support we have received– very responsive when we have found bugs or

anomalies

– licensing arrangement for the University• on most machines in the campus clusters• student licenses for their personal machines• this means that

– students see the same environment no matter where they are– there is a lot of built in expertise and support on campus

because of the number of years we have used CodeWarrior

CodeWarrior-9

Page 42: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Shortcomings

• Idiosyncrasies in placement of compiled Java classes for both applications and applets

• Does not support command line arguments• Does not show templates (argument lists) for

library methods when user enters them• Some other settings issues that are handled by

individual instructors according to their preferences

CodeWarrior-10

Page 43: Java IDEs: What and Why We Use What We Do Panel Presentation at the 33rd SIGCSE Symposium March 1, 2002 Covington, KY.

Conclusion

• May not be the best IDE

• But we found early on that it best suited our circumstances

• And even though we have looked at others over the years, we have never found any compelling reasons to change

CodeWarrior-11