Download presentation
Presentation is loading. Please wait.
Published byBrian Hampton Modified over 9 years ago
1
Copyright © 2012 MICS‘12 and Curt Hill Development Systems: A Review Curt Hill Professor of Math and Computer Science Valley City State University Curt.Hill@vcsu.edu
2
Introduction A development system is an important choice in introductory programming course Not as important as: –Programming language –Textbook –Order of topics Most today are interactive, hence the use of the term IDE This is the actual program with which the student interacts Copyright © 2012 MICS‘12 and Curt Hill
3
What Issues? Language –Most IDEs only work with one Ease of use –Integration of editor, language processor and debugger Cost –Free or fee –Who buys it? Student or professional version –Often, but not always, related to cost Copyright © 2012 MICS‘12 and Curt Hill
4
Ease of Use Considerations What would we like to see? Intuitive editor Syntax sensitive display –Highlight reserved words –Indent thoughtfully Debugger that relates to source –Gives the illusion that the source is running rather than the generated machine language Simple interface Copyright © 2012 MICS‘12 and Curt Hill
5
Student vs. Professional Student environments are generally simpler –Supposed to lessen the learning curve Professional environments are generally more complicated and powerful –Have use later The question usually reduces to ease of use, cost, with some personal preference Copyright © 2012 MICS‘12 and Curt Hill
6
Candidates The paper considers some historic environments Here I wish to look further at IDEs I have used and am using Embarcadero’s Rad Studio Microsoft’s Visual Studio DrJava Eclipse –For Java –For Android Copyright © 2012 MICS‘12 and Curt Hill
7
History of Rad Studio Originally developed by Borland Spun off to CodeGear CodeGear acquired by Embarcadero Similar environment for C++ or Delphi (Object Pascal) Product costs about $100 at a college bookstore –Often a serious issue Copyright © 2012 MICS‘12 and Curt Hill
8
Features Most of the standard desirables: –Editor is intuitive –Colors and highlights syntax –Debugger handles source properly Drag and drop GUI construction –Extensive collection of GUI objects Minimal damage to language –Transfer to other compilers not generally difficult except the GUI objects Generates code that is predictable Copyright © 2012 MICS‘12 and Curt Hill
9
Code Generation Not that aspect of a compiler that produces machine language –Instead the source code produced by user action Console programs start with an include and a nearly empty main function Dragging a component produces an entry in the header file Every event handler has a method header generated Copyright © 2012 MICS‘12 and Curt Hill
10
Hovering During Debug Copyright © 2012 MICS‘12 and Curt Hill
11
Visual Studio Includes several languages: C++ C# Visual Basic There is a free version for college students Most of the standard desirables: –Editor is intuitive –Colors and highlights syntax –Debugger handles source properly Code generation Copyright © 2012 MICS‘12 and Curt Hill
12
Issues Contains drag and drop GUI construction –Only for.net, that is managed code For C++ managed code warps the C++ language severely –^ for managed pointers –gcnew instead of new –Many new keywords: ref, each, interface, naked, sealed among others All the code for a window is in.h file Copyright © 2012 MICS‘12 and Curt Hill
13
Hovering during Debug Copyright © 2012 MICS‘12 and Curt Hill
14
DrJava The story about media computation Free and reasonably reliable Most of the standard desirables, but not as slick as the professional No values as hints No code generation Contains a nice code evaluation pane Copyright © 2012 MICS‘12 and Curt Hill
15
Hit a Break Point Copyright © 2012 MICS‘12 and Curt Hill
16
Eclipse A professional and free IDE for Java Most of the standard desirables –Editor is intuitive –Colors and highlights syntax –Debugger handles source properly –Shows error lines before a compile No drag and drop GUI construction Generates class headers Copyright © 2012 MICS‘12 and Curt Hill
17
Issues Eclipse is a great IDE, that is why it is so prevalent It is customizable Its perspectives is one of its best and worst features –Tad confusing when it goes into debugging mode Copyright © 2012 MICS‘12 and Curt Hill
18
Hovering in Debug Copyright © 2012 MICS‘12 and Curt Hill
19
Android Plugin for Eclipse The flexibility of Eclipse is shown by the fact that it can accept plugins that extend the capabilities The Google Android plugin adds several capabilities useful for Android: –SDK and AVD Manager –Customized XML editors –Drag and drop layout manager –Customized code generation Copyright © 2012 MICS‘12 and Curt Hill
20
Issues Eclipse with the Android plugin lacks the reliability of ordinary Java The display of XML can be flaky The connection between Eclipse and the Virtual Device is often flaky –Starting emulator is slow and restarting it is very frustrating Slow to load when SDK changes Copyright © 2012 MICS‘12 and Curt Hill
21
Dragging a Widget Copyright © 2012 MICS‘12 and Curt Hill
22
Debugging Copyright © 2012 MICS‘12 and Curt Hill
23
Don’t Do It! Alas, I am using four of the previous five all this semester –Very awkward –Unavoidable Most of the IDEs have a function key alternative to a menu item –I can never remember them Copyright © 2012 MICS‘12 and Curt Hill
24
The Final Answer Certain debates have no final answer –Bread vs depth –Object first vs imperative first The real question is: In which approach will I be most effective? In which approach will my students learn most effectively Answer varies per instructor Copyright © 2012 MICS‘12 and Curt Hill
25
QUESTIONS? Contact: Curt.Hill@vcsu.edu Copyright © 2012 MICS‘12 and Curt Hill
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.