24
1 IDE’s for Java, C, C++ David Rey - DREAM

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

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

24

Tools to re-write code: main functionalities