ide’s for java, c, c++ - inria · 2 overview • introduction about ide’s • what is an ide...
TRANSCRIPT
![Page 1: IDE’s for Java, C, C++ - Inria · 2 Overview • Introduction about IDE’s • What is an IDE • What is not an IDE • IDEs examples for java • IDEs examples for C++ • Eclipse](https://reader030.vdocuments.us/reader030/viewer/2022040804/5e416b040697947dee4f4dd3/html5/thumbnails/1.jpg)
1
IDE’s for Java, C, C++
David Rey - DREAM
![Page 2: IDE’s for Java, C, C++ - Inria · 2 Overview • Introduction about IDE’s • What is an IDE • What is not an IDE • IDEs examples for java • IDEs examples for C++ • Eclipse](https://reader030.vdocuments.us/reader030/viewer/2022040804/5e416b040697947dee4f4dd3/html5/thumbnails/2.jpg)
2
Overview
• Introduction about IDE’s• What is an IDE• What is not an IDE• IDEs examples for java• IDEs examples for C++• Eclipse example: overview
• Eclipse demo• Project “hello world”• Edition facilities• Build: compilation and library creation• Settings (eclipse and project)• Other development tools
– Doc extractor– Debugger– The rest: cvs, junit, …
• How to install and use specific plugins: example with a C++ editor plugin
![Page 3: IDE’s for Java, C, C++ - Inria · 2 Overview • Introduction about IDE’s • What is an IDE • What is not an IDE • IDEs examples for java • IDEs examples for C++ • Eclipse](https://reader030.vdocuments.us/reader030/viewer/2022040804/5e416b040697947dee4f4dd3/html5/thumbnails/3.jpg)
3
Overview
• Introduction about IDE’s• What is an IDE• What is not an IDE• IDEs examples for java• IDEs examples for C++• Eclipse example: overview
• Eclipse demo• Project “hello world”• Edition facilities• Build: compilation and library creation• Settings (eclipse and project)• Other development tools
– Doc extractor– Debugger– The rest: cvs, junit, …
• How to install and use specific plugins: example with a C++ editor plugin
![Page 4: IDE’s for Java, C, C++ - Inria · 2 Overview • Introduction about IDE’s • What is an IDE • What is not an IDE • IDEs examples for java • IDEs examples for C++ • Eclipse](https://reader030.vdocuments.us/reader030/viewer/2022040804/5e416b040697947dee4f4dd3/html5/thumbnails/4.jpg)
4
What is an IDE• IDE = Integrated Development Environment
• IDE = EDI (Environnement de Développement Intégré) in French
• Typical integrated development tools :• editor (with auto-indent, auto-completion, colorization, …) ;• version control ;• compiler/builder ;• documentation extractor ;• debugger ;• testing tools ;• refactoring tools.
• Generally language specific (c/c++ specific IDE, java specific IDE, not yet good ones for Fortran)
• Example: Eclipse for java (now plugins for C/C++, python, …)
![Page 5: IDE’s for Java, C, C++ - Inria · 2 Overview • Introduction about IDE’s • What is an IDE • What is not an IDE • IDEs examples for java • IDEs examples for C++ • Eclipse](https://reader030.vdocuments.us/reader030/viewer/2022040804/5e416b040697947dee4f4dd3/html5/thumbnails/5.jpg)
5
What is not an IDE
• Just a great (complicated?) text editor
• A code generator
• A GUI designer
• A forge (i.e. GForge)
![Page 6: IDE’s for Java, C, C++ - Inria · 2 Overview • Introduction about IDE’s • What is an IDE • What is not an IDE • IDEs examples for java • IDEs examples for C++ • Eclipse](https://reader030.vdocuments.us/reader030/viewer/2022040804/5e416b040697947dee4f4dd3/html5/thumbnails/6.jpg)
6
IDEs examples - Java
• Eclipse (http://www.eclipse.org)• JBuilder (http://www.borland.com/us/products/jbuilder/index.html -
free for personnal and non-commercial use)• NetBeans (http://www.netbeans.org/)• JCreator (http://www.jcreator.com/)• …
![Page 7: IDE’s for Java, C, C++ - Inria · 2 Overview • Introduction about IDE’s • What is an IDE • What is not an IDE • IDEs examples for java • IDEs examples for C++ • Eclipse](https://reader030.vdocuments.us/reader030/viewer/2022040804/5e416b040697947dee4f4dd3/html5/thumbnails/7.jpg)
7
IDE’s examples – C/C++
• Visual C++ - com. license (http://msdn.microsoft.com/visualc)• C++ Builder - com. license
(http://www.borland.com/us/products/cbuilder/index.html)• Eclipse(CDT)/EasyEclipse (http://www.easyeclipse.org/site/home/)• Quincy (http://www.codecutter.net/tools/quincy/)• Anjuta (http://anjuta.sourceforge.net/)• KDevelop (http://www.kdevelop.org/)• Code::Block (http://www.codeblocks.org/)• BVRDE (http://bvrde.sourceforge.net/)• RHIDE (http://www.rhide.com/)• …
![Page 8: IDE’s for Java, C, C++ - Inria · 2 Overview • Introduction about IDE’s • What is an IDE • What is not an IDE • IDEs examples for java • IDEs examples for C++ • Eclipse](https://reader030.vdocuments.us/reader030/viewer/2022040804/5e416b040697947dee4f4dd3/html5/thumbnails/8.jpg)
8
Eclipse software
• Foundation: http://www.eclipse.org
• Downloads at http://www.eclipse.org/downloads/index.php
• Common Public License (CPL):• http://www.eclipse.org/legal/cpl-v10.html• royalty free source code / world wide redistribution rights
• Supported languages: Java, C++, python, …
• Supported platforms: Linux, Windows, … (java software)
• Many tutorials on the web• A good one (in French):
http://www.jmdoudoux.fr/java/dejae/indexavecframes.htm
![Page 9: IDE’s for Java, C, C++ - Inria · 2 Overview • Introduction about IDE’s • What is an IDE • What is not an IDE • IDEs examples for java • IDEs examples for C++ • Eclipse](https://reader030.vdocuments.us/reader030/viewer/2022040804/5e416b040697947dee4f4dd3/html5/thumbnails/9.jpg)
9
Eclipse “philosophy”
• Extensible with java plug-ins:• http://www.eclipse.org/projects/ & http://www.eclipseplugincentral.com/• May be used with several programming languages via plug-ins (C++,
python)• Many other add-ons via plug-ins
– svn plugin: http://www.polarion.org/projects/subversive/download/1.1/update-site/(Eclipse3.2 only using mylar plugin to be installed: http://www.eclipse.org/mylar/)
– xml, soap, …– …
• Aim: specific IDE depending on usage/user (RCP = Rich Client Platform)
![Page 10: IDE’s for Java, C, C++ - Inria · 2 Overview • Introduction about IDE’s • What is an IDE • What is not an IDE • IDEs examples for java • IDEs examples for C++ • Eclipse](https://reader030.vdocuments.us/reader030/viewer/2022040804/5e416b040697947dee4f4dd3/html5/thumbnails/10.jpg)
10
Eclipse main features: demo
• Powerful editing mode• automatic indentation• auto-completion (classes, methods, …)• search/replace + refactoring• …
• Compiling/building• Compilation• Libraries creation (e.g. jar files)
• Eclipse/project settings• Integrated tools
• Debugger• Doc extractor (javadoc)• Other tools: cvs, junit• …
• Plugins
![Page 11: IDE’s for Java, C, C++ - Inria · 2 Overview • Introduction about IDE’s • What is an IDE • What is not an IDE • IDEs examples for java • IDEs examples for C++ • Eclipse](https://reader030.vdocuments.us/reader030/viewer/2022040804/5e416b040697947dee4f4dd3/html5/thumbnails/11.jpg)
11
Overview
• Introduction about IDE’s• What is an IDE• What is not an IDE• IDEs examples for java• IDEs examples for C++
• Eclipse demo• Project “hello world”• Edition facilities• Build: compilation and library creation• Settings (eclipse and project)• Other development tools
– Doc extractor– Debugger– The rest: cvs, junit, …
• How to install and use specific plugins: example with a C++ editor plugin
![Page 12: IDE’s for Java, C, C++ - Inria · 2 Overview • Introduction about IDE’s • What is an IDE • What is not an IDE • IDEs examples for java • IDEs examples for C++ • Eclipse](https://reader030.vdocuments.us/reader030/viewer/2022040804/5e416b040697947dee4f4dd3/html5/thumbnails/12.jpg)
12
ConclusionIDEs:
• Exist for many platforms and programming languages• Java (e.g., Eclipse)• C/C++
• Are useful for beginners as well as for experts
• Are time consuming at the beginning• Learning curve • Several tools need configuring
• Save time when often used:• Powerful editing mode• CVS/SVN• Easy compiling/building/running, related to source files• Easy refactoring
• Still in evolution and will be used in the future for• RCP• GUI designer• MDA approach
![Page 13: IDE’s for Java, C, C++ - Inria · 2 Overview • Introduction about IDE’s • What is an IDE • What is not an IDE • IDEs examples for java • IDEs examples for C++ • Eclipse](https://reader030.vdocuments.us/reader030/viewer/2022040804/5e416b040697947dee4f4dd3/html5/thumbnails/13.jpg)
13
Screen shots…
![Page 14: IDE’s for Java, C, C++ - Inria · 2 Overview • Introduction about IDE’s • What is an IDE • What is not an IDE • IDEs examples for java • IDEs examples for C++ • Eclipse](https://reader030.vdocuments.us/reader030/viewer/2022040804/5e416b040697947dee4f4dd3/html5/thumbnails/14.jpg)
14
Editing with Eclipse: main functionalities
![Page 15: IDE’s for Java, C, C++ - Inria · 2 Overview • Introduction about IDE’s • What is an IDE • What is not an IDE • IDEs examples for java • IDEs examples for C++ • Eclipse](https://reader030.vdocuments.us/reader030/viewer/2022040804/5e416b040697947dee4f4dd3/html5/thumbnails/15.jpg)
15
Configuring CVS access• Check compatibility with CVS version
http://dev.eclipse.org/viewcvs/index.cgi/platform-vcm-home/docs/online/html-cvs/cvs-compatibility.html?rev=1.3
• Window• Open Perspective → Other
• In CVS Repository• Click on “add cvs repository”
![Page 16: IDE’s for Java, C, C++ - Inria · 2 Overview • Introduction about IDE’s • What is an IDE • What is not an IDE • IDEs examples for java • IDEs examples for C++ • Eclipse](https://reader030.vdocuments.us/reader030/viewer/2022040804/5e416b040697947dee4f4dd3/html5/thumbnails/16.jpg)
16
Configuring compiling/building• By default, an Eclipse project is compiled internally
• Project → Properties
![Page 17: IDE’s for Java, C, C++ - Inria · 2 Overview • Introduction about IDE’s • What is an IDE • What is not an IDE • IDEs examples for java • IDEs examples for C++ • Eclipse](https://reader030.vdocuments.us/reader030/viewer/2022040804/5e416b040697947dee4f4dd3/html5/thumbnails/17.jpg)
17
Using compiling/building: demonstration
![Page 18: IDE’s for Java, C, C++ - Inria · 2 Overview • Introduction about IDE’s • What is an IDE • What is not an IDE • IDEs examples for java • IDEs examples for C++ • Eclipse](https://reader030.vdocuments.us/reader030/viewer/2022040804/5e416b040697947dee4f4dd3/html5/thumbnails/18.jpg)
18
Using a build.xml
• It is possible to use ant with xml build files• For specific build tasks• To set a given version of the compiler, javadoc, …• To set specific parameters for building (i.e., on a shared project with
people not under Eclipse, …)• Cf. Ant and Eclipse tutorial:
http://perso.wanadoo.fr/jm.doudoux/java/dejae/chap009.htm#chap_9• Cf. Ant documentation:
http://ant.apache.org/manual/index.html
![Page 19: IDE’s for Java, C, C++ - Inria · 2 Overview • Introduction about IDE’s • What is an IDE • What is not an IDE • IDEs examples for java • IDEs examples for C++ • Eclipse](https://reader030.vdocuments.us/reader030/viewer/2022040804/5e416b040697947dee4f4dd3/html5/thumbnails/19.jpg)
19
Configuring javadoc
• Give path to javadoc at the first go
![Page 20: IDE’s for Java, C, C++ - Inria · 2 Overview • Introduction about IDE’s • What is an IDE • What is not an IDE • IDEs examples for java • IDEs examples for C++ • Eclipse](https://reader030.vdocuments.us/reader030/viewer/2022040804/5e416b040697947dee4f4dd3/html5/thumbnails/20.jpg)
20
Configuring javadoc (2)
![Page 21: IDE’s for Java, C, C++ - Inria · 2 Overview • Introduction about IDE’s • What is an IDE • What is not an IDE • IDEs examples for java • IDEs examples for C++ • Eclipse](https://reader030.vdocuments.us/reader030/viewer/2022040804/5e416b040697947dee4f4dd3/html5/thumbnails/21.jpg)
21
Generating javadoc: demonstration
![Page 22: IDE’s for Java, C, C++ - Inria · 2 Overview • Introduction about IDE’s • What is an IDE • What is not an IDE • IDEs examples for java • IDEs examples for C++ • Eclipse](https://reader030.vdocuments.us/reader030/viewer/2022040804/5e416b040697947dee4f4dd3/html5/thumbnails/22.jpg)
22
Configuring run/debug
![Page 23: IDE’s for Java, C, C++ - Inria · 2 Overview • Introduction about IDE’s • What is an IDE • What is not an IDE • IDEs examples for java • IDEs examples for C++ • Eclipse](https://reader030.vdocuments.us/reader030/viewer/2022040804/5e416b040697947dee4f4dd3/html5/thumbnails/23.jpg)
23
Configuring JUnit
• JUnit is a part of the Eclipse project by default
• For more details on how to configure and use JUnit in Eclipse look at http://perso.wanadoo.fr/jm.doudoux/java/dejae/chap010.htm#chap_10
![Page 24: IDE’s for Java, C, C++ - Inria · 2 Overview • Introduction about IDE’s • What is an IDE • What is not an IDE • IDEs examples for java • IDEs examples for C++ • Eclipse](https://reader030.vdocuments.us/reader030/viewer/2022040804/5e416b040697947dee4f4dd3/html5/thumbnails/24.jpg)
24
Tools to re-write code: main functionalities