Why and How We Use What We Do

Download Report

Transcript Why and How We Use What We Do

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
Audience Suggestions
(web links)
•
•
•
•
•
JCreator mentioned by Bill Kraynek of FIU
DrJava
JJ - learn Java on Line
Java Power Tools
jGrasp
Owens-2
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
Java
Developer's
World .com
2001 Best IDE
Votes
Owens-4
Raw Numbers
VisualAge for Java 3.5 (IBM) [6966] GDPro (Embarcadero Technologies)
[374]
JBuilder 4.0 (Borland) [6745]
AnyJ (Netcomputing) [372]
VisualCafé (WebGain) [3958]
Elixir IDE (Elixir Technology) [325]
Forte for Java (Sun Microsystems)
[3060]
CodeGuide (Omnicore Software) [323]
Oracle JDeveloper 3.2 (Oracle) [2782] WingEditor 1.61 (WingSoft) [235]
PowerJ (Sybase) [1083]
ImageGear Java (Accusoft) [220]
SilverStream (SilverStream) [904]
Bolero (Software AG) [218]
IntelliJ IDEA (IntelliJ Software) [513] NetDynamics (Sun Microsystems) [197]
CodeWarrior for Java 6.0 (Metrowerks) Micro Focus Net Express (MERANT)
[490]
[154]
VisualJ++6.0 (Microsoft) [481]
JMaker (Jidea) [121]
Kawa (Allaire Corporation) [450]
Source Insight (Source Insight) [22]
JRun Studio (Allaire) [394]
Metamata Development Environment
(Metamata) [14]
Cerebellum (Cerebellum Software) [380]
Owens-5
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
IDE collection from JavaWorld
Owens-7
Java IDE’s: Why and How We
Use What We Do
SIGCSE 2002
Delia Marx
Mercy College, Dobbs Ferry, NY
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
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
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
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
More information:
• www.holtsoft.com/ready
• [email protected]
or
• Tom West at the Holt booth, downstairs.
• my e-mail: [email protected]
Ready-5
Jack Rehder
• University of Waterloo
• JBuilder
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
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
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
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
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
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
Background on BlueJ
Dean Sanders
Northwest Missouri State University
[email protected]
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
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
Classes and Objects
•
•
•
•
•
Graphical display of class structure
Interactive object creation
Interactive method calls
Instantiation of library classes
Object inspector
BlueJ-3
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
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
Possible Concerns
• Debugger can become unstable
• No GUI designer
• Best for small to medium sized projects
BlueJ-6
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
Let’s See It Work
BlueJ-8
Why and How We Use What We Do
Carnegie Mellon University
and Metrowerks CodeWarrior
Don Slater, Lecturer
[email protected]
alias for Rich Pattis
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
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
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
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
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
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
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
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
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
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
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
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