java ides: what and why we use what we do panel presentation at the 33rd sigcse symposium march 1,...
TRANSCRIPT
Java IDEs: What and Why We Use What We Do
Panel Presentation at the33rd SIGCSE Symposium
March 1, 2002Covington, 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 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
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
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
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, [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