OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

34
Organizers Top Media Partner Media Partner Supporter Next-Gen IDEs Jorge Hidalgo October 11, 2013

Transcript of OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

Page 1: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

Organizers Top Media Partner Media Partner Supporter

Next-Gen IDEsJorge HidalgoOctober 11, 2013

Page 2: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

PresenterJorge Hidalgo @_deorsAccenture Delivery Center in Spain, Malaga Senior Technology Architect with 14 years of IT professional experience mostly with Java technologies across industries.Java Capability Lead at the Accenture Delivery Center in Spain.

From time to time writing a blog called Dr. MacPhail’s Trance:http://deors.wordpress.com

Father of two children, husband, whistle player, video gamer, sci-fi junkie, Raspberry Pi fan...

Page 3: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

www.sli.do/openslavaAsk questions online

Page 4: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

Next-Gen IDEsLet’s poll the audience:

1: Who knows what’s an IDE?

2: Who use an IDE in a regular basis?

Page 5: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

Next-Gen IDEs

IDEs are neuralgic to development

work

Page 6: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

Next-Gen IDEs

Productivity

Quality

Predictability

Page 7: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

Next-Gen IDEs

IDEs mean different things to different types of

developers

Page 8: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

Subject Zero

Name: Lisa

CV: Undergraduate student in Computer Sciences

Aspirations: Learn to program, find a job, master her profession and eventually conquer the world

Page 9: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

Enterprise Developer

Name: Stefan

CV: Two years IT experience working for a consulting firm

Aspirations: Gain experience, lead his own developer team, become an architect, create his own startup (who knows if Facebook would buy it some day)

Page 10: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

Hardcore Developer

Name: Adam

CV: 15 years IT experience, freelancer, night job contributing to open source projects, Scala and Groovy fan

Aspirations: Loves to have ideas and make them reality through code, passionate about software engineering, active in blogs, developer mailing lists, stack overflow and similar. When not programming he can be found playing as a monk in WoW.

Page 11: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

Next-Gen IDEsAnother poll for the audience:

3: What type of developer do you think you are?

Learning / newbie Enterprise developer Hardcore developer

Page 12: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

Next-Gen IDEsAnd now the poll you were waiting for:

4: Which is your favorite IDE?

Eclipse / SpringSource Tool Suite / JBoss Tools NetBeans JetBrains IntelliJ IDE / AppCode / WebStorm … Oracle JDeveloper IBM Rational Application Dev. / Software Arch. Microsoft Visual Studio Others

Page 13: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

Subject Zero

Name: Lisa

CV: Undergraduate student in Computer Sciences

Aspirations: Learn to program, find a job, master her profession and eventually conquer the world

What’s in an IDE for Lisa?

Page 14: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

What’s in an IDE for Lisa?IDEs are learning instruments• Wizards• Project examples• Skeletons• Archetypes• Code completion

IDEs help to write good code and follow best practices• Static code profiling tools

Invest time in mastering an IDE – is the perfect way to boost up adoption of new programming skills

Page 15: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

Enterprise Developer

Name: Stefan

CV: Two years IT experience working for a consulting firm

Aspirations: Gain experience, lead his own developer team, become an architect, create his own startup (who knows if Facebook would buy it some day)

What’s in an IDE for Stefan?

Page 16: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

What’s in an IDE for Stefan?IDEs are collaboration tools• Task/Issue management• Source code management• Peer/code reviews

IDEs help with quality and testing• Static code profiling tools• Test automation (unit, integration)• Debugging• Monitoring and profiling

Page 17: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

What’s in an IDE for Stefan?IDEs apply to all development phases• Gather requirements• Business processes modelling• UML• Test management

Within the IDE gain complete traceability of all development work, from requirements to releases and all the other way round.

Page 18: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

Hardcore Developer

Name: Adam

CV: 15 years IT experience, freelancer, night job contributing to open source projects, Scala and Groovy fan

Aspirations: Loves to have ideas and make them reality through code, passionate about software engineering, active in blogs, developer mailing lists, stack overflow and similar. When not programming he can be found playing as a monk in WoW.

What’s in an IDE for Adam?

Page 19: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

What’s in an IDE for Adam?

Hardcore developers

don’t use an IDE!MYTH BUSTED!

Page 20: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

What’s in an IDE for Adam?There is an IDEs for nearly everything• Java, Scala, Groovy… JVM languages• Web: PHP, HTML5, JavaScript• C/C++, Objetive C

Ability to work on multiple projects within the same tool – ideally the one you know the best.

Page 21: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

What’s in an IDE for Adam?Next wave of code generation tools• Spring Roo• JBoss Forge• Eclipse JET (not new but still underused)

Boost up productivity• JRebel, Spring Loaded

Leverage the IDE to speed up development, do more in less time and focus only on the fun part, not on the repetitive stuff.

Page 22: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

What’s in an IDE for Adam?Next wave of collaboration tools• Cloud-based code reviews• Peer programming (even if no co-located)

Cloud, cloud, cloud• Cloud IDEs: Code anywhere, anytime• Cloud application platforms• Cloud-based monitoring/profiling tools• Cloud-based performance testing tools

Embrace the Cloud.

Page 23: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

Recap• Learning instruments• Write good code and follow best practices• Collaboration tools• Quality and testing• Apply to all development phases

• There is an IDEs for nearly everything• Boost up productivity• Next wave of code generation tools• Next wave of collaboration tools• Cloud, cloud, cloud

Page 24: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

State of the Art I

Let’s go one by one and check what’s the IDE state of the art

Page 25: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

State of the Art II• Learning instruments

Current: All major IDEs meet or exceed.

Wish-list:• Improve documentation and step-by-step guidelines• Help both the newbie and the experienced willing to

learn something new.• For extension providers (i.e. SpringSource Tool Suite,

JBoss Tools, IBM Rational) I miss more specialized code templates and code snippets.

Page 26: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

State of the Art III• Write good code and follow best practices

Current: All major IDEs meet or exceed in Java/.Net with other languages catching up.

Wish-list:• Java has a long “tradition” on static code analysis,

but other languages need to catch up, specially for dynamic languages – there is no “compiler-safe-net”.

• In JVM languages, leverage APT to “infuse” code profiling in the compiler process.

Page 27: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

State of the Art IV• Collaboration tools

Current: All major IDEs meet or exceed.

Wish-list:• While IDE plug-ins are good and improving, still

need to catch up to offer the same functionality that usually can be found in web clients.

• What’s the point of going to go back to the browser if you are already working on the IDE? Productivity, productivity, productivity!

Page 28: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

State of the Art V• Quality and testing

Current: Unit testing support is good in all major IDEs, but support for other Q&T activities need improvement.

Wish-list:• Integration/Functional/Regression testing support is

limited, i.e. integrate recording tools within the same IDE.

• BDD/Acceptance testing adoption is growing, but IDE support is minimal in the best case.

Page 29: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

State of the Art VI• Apply to all development phases

Current: Commercial IDEs are a bit ahead on Requirements/Analysis/Modelling support.

Wish-list:• Rest of IDEs to catch-up in UML modelling and

model-to-code transformations features.• Better traceability of artifacts, from requirements to

release and vice-versa.• There are good ALM platforms, but features

integrated within the IDE are still limited.

Page 30: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

State of the Art VII• There is an IDEs for nearly everything

Current: All major IDEs meet or exceed. Almost all major IDEs are based on open platforms with a rich community of plug-in developers. Even if ‘core’ IDE doesn’t offer support for a framework or language, it is likely that someone else is providing for that.

Wish-list:• Improve “plug-in dependency hell” and installation

times.• Sometimes command-line ops is still required.

Page 31: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

State of the Art VIII• Boost up productivity• Next wave of code generation tools

Current: All major IDEs meet or exceed, but these capabilities are still not widely used.

Wish-list:• Extend your tool-belt and pick up good productivity

tools. Every hour you save is more value for you as a professional, more value for your company/client, and it is likely that you will have more free time!

• JRebel, Jet, Roo, Forge…

Page 32: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

State of the Art IX• Next wave of collaboration tools

Current: Area for further development. Good things coming out like Gerrit integration or Sonar reviews, but still much to do.

Wish-list:• IDEs should allow for peer programming and

collaborative development, seamlessly.• Use “social networks” to interact with peers, ask for

support, interchange working code, ideas, etc.

Page 33: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

State of the Art X• Cloud, cloud, cloud

Current: Area for further development. Support for cloud platforms irregular, in many IDEs you don’t have support and need to go to command-line.

Wish-list:• Working in the IDE for a cloud platform should be

indistinguishable from a local server platform. E.g. Azul for Azure, Cloud Foundry support in Eclipse.

• Cloud IDEs are growing in features and are a great alternatively for Cloud work. E.g. Codenvy.

Page 34: OrganizersTop Media PartnerMedia PartnerSupporter Next-Gen IDEs Jorge Hidalgo October 11, 2013.

Discussion

www.sli.do/openslava