Subscribe: Planet Eclipse
Added By: Feedage Forager Feedage Grade B rated
Language: English
collections  community  eclipse collections  eclipse foundation  eclipse  java  new  open source  open  osgi  source  tools 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: Planet Eclipse

Planet Eclipse

Planet Eclipse -


Eclipse Announcements: Eclipse Newsletter - Eclipse MicroProfile

Wed, 20 Sep 2017 14:45:49 +0000

In the September issue of the Eclipse Newsletter, discover everything you need to know about Eclipse MicroProfile.(image)

JBoss Tools Team: JBoss Tools 4.5.1.AM2 for Eclipse Oxygen.1

Wed, 20 Sep 2017 07:02:47 +0000

Happy to announce 4.5.1.AM2 (Developer Milestone 2) build for Eclipse Oxygen.1. Downloads available at JBoss Tools 4.5.1 AM2. What is New? Full info is at this page. Some highlights are below. OpenShift 3 New command to tune resource limits A new command has been added to tune resource limits (CPU, memory) on an OpenShift deployment. It’s available for a Service, a DeploymentConfig, a ReplicationController or a Pod. To activate it, go the the OpenShift explorer, select the OpenShift resource, right click and select Edit resource limits. The following dialog will show up: After you changed the resource limits for this deployment, it will be updated and new pods will be spawned (not for ReplicationController) Discover Docker registry URL for OpenShift connections When an OpenShift connection is created, the Docker registry URL is empty. When the CDK is started through the CDK server adapter, an OpenShift connection is created or updated if a matching OpenShift connection is found. But what if you have several OpenShift connections, the remaining ones will be left with the empty URL. You can find the matching Docker registry URL when editing the OpenShift connection through the Discover button: Click on the Discover button and the Docker registry URL will be filled if a matching started CDK server adapter is found: CDI Tools CDI 2.0 CDI Tools now support CDI 2.0 projects. If your CDI project (with enabled CDI support) has CDI 2.0 jars in its classpath, CDI Tools will recognize it as CDI 2.0 project automatically. There is no need to use any special settings to distinguish CDI 1.0 or CDI 1.1 from CDI 2.0 in CDI Tools. The new javax.enterprise.event.ObservesAsync is now being validated according to the CDI specifications. Fuse Tooling Apache Karaf 4.x Server Adapter We are happy to announce the addition of new Apache Karaf server adapters. You can now download and install Apache Karaf 4.0 and 4.1 from within your development environment. Switch Apache Camel Version You can now change the Apache Camel version used in your project. To do that you invoke the context menu of the project in the project explorer and navigate into the Configure menu. There you will find the menu entry called Change Camel Version which will guide you through this process. Improved Validation The validation in the editor has been improved to find containers which lack mandatory child elements. (for instance a Choice without a child element) Enjoy! Jeff Maury [...]

Chris Aniszczyk: Top 6 Public Cloud Providers in CNCF

Tue, 19 Sep 2017 22:07:52 +0000

Last week, I had the pleasure of welcoming Oracle into the Cloud Native Computing Foundation (CNCF). This now marks the top 6 leading public cloud providers in the world are now part of the CNCF:

This also marks for the first time in the history of our industry that these leading cloud providers are working together in the same open source focused foundation to move the state of the art infrastructure forward.

Also last week I had the opportunity to bring in two new high quality cloud native projects into CNCFEnvoy is a high-performance open source edge and service proxy that makes the network transparent to applications. Jaeger is an open source distributed tracing system inspired by Google Dapper paper and OpenZipkin community. It can be used for tracing microservice-based architectures. Uber began deploying Jaeger internally in 2015. It is now integrated into thousands of microservices and recording thousands of traces every second.


Anyways, this is one of the reasons I enjoy working in open source today, bringing together diverse (and even competing) companies to build a better world by collaborating in the open!

Kichwa Coders: The Future of Developer Tools for IoT, ThingMonk 2017

Tue, 19 Sep 2017 16:07:44 +0000

ThingMonk is an annual London conference that brings together the people building and shaping the Internet of Things. This year I spoke at the conference on ‘The Future of Developer Tools for IoT’. This talk looks at emerging and future trends in the developer tools space. Check out the slides and feedback from the audience, as well as reference links at the end. Plus thanks to Marcel Bruch & Codetrails for input on AI tools. Be sure to share your thoughts on how you see developer tools shaping up to scale for building the Internet of Things. Always great to listen to @tracymiranda share her vision of IoT Developer tools. — Ian Skerrett (@IanSkerrett) September 13, 2017 #thingmonk regular @tracymiranda on the "Oh, this is great. … Shit, how am I going to debug this." moment in #IoT. Real talk. — Dr. Boris Adryan (@BorisAdryan) September 13, 2017 Fragmentation in #IoT doesn't stop at Devices. Programming language variability makes Dev tools/IDE hard to keep up @tracymiranda #ThingMonk — Sarah Cooper (@SMC_on_IoT) September 13, 2017 It's @tracymiranda talking the IDE spectrum and risking angering the Vi & Emacs gods #thingmonk — Ant Stanley (@IamStan) September 13, 2017 "Embedded tools aren't really known for their usability" The truth! @tracymiranda #thingmonk — Omer Kilic (@OmerK) September 13, 2017 Visual Tools required to make #IoT accessible, but delivering code at scale is still unreachable @tracymiranda #ThingMonk — Sarah Cooper (@SMC_on_IoT) September 13, 2017 Great to see LSP being mentioned by @tracymiranda #iot — thingmonk (@thingmonk) September 13, 2017 #ai tools to reduce security bugs in software… but no one wants to use them. Interesting #security problem at #thingmonk — Joe Pindar (@joepindar) September 13, 2017 Reference Links Eclipse IoT Developer Survey Slides- Eclipse IoT Developer Survey raw data Eclipse Java IDE twitter – @eclipsejavaide AI powered bug detection from CodeTrails – AI dev tools – LSP Protocol Implementations – Debug Protocol – Atom IDE – Code editor in Skype [...]

Melanie Bats: Zero to CTO

Tue, 19 Sep 2017 12:00:00 +0000

Disclaimer: First, you should know that I am a girl born in the 80’s and so I grew up watching (and watching and re-watching…) Disney’s movies, and I am still used to watch them when new ones are released. So I am sorry for you: no doubt, at the end of this article you will have many annoying songs running in your head. But all those girls made what I am today and it is only justice to them to ear once more time what they have to say ;) Seven years ago I joined the Obeo company. At that time, it was a small frenchies’ company making open source modeling tools. I was a free software activist but at that point even though I was using lots of free software, I never had the bravery to contribute by my own on my free time. When I was thinking about Obeo, I just wanted to be part of that world. At some point as my technical skills could fit their needs, I decided to let it go and send them my resume. And know what? They recruited me! It was both amazing and scary. It was like a dazzling place, a whole new world to discover. Year after year, I got the chance to work and learn from the talented Obeo’s experts about Eclipse & modeling stuff. They shared their high technical skills & knowledge with me and I loved this atmosphere of constant research of improvements and innovations. I learned so much! Working at Obeo opened me the doors of the open source community through the Eclipse community. I had the opportunity to participate to many conferences, giving talks and sharing my knowledge in turn. I could not say how far I would go but I was on the open source community road… I’ve got a dream… Be part of the open source world! Day after day it became true. First, two years ago I became committer on the Eclipse Sirius & EEF projects, and this year, since one month, I am the Eclipse Planning Council chair. I am really proud of working on free software and particularly on the Sirius technology. I feel even happier when this framework is used to create other impressive open source tools such as Capella, a graphical modeler for Model Based System Engineering. A few months ago, Obeo’s management announced me that we will open a new subsidiary in Vancouver, Canada! This was an awesome news. Our current CEO Stéphane Lacrampe would move overseas to manage the new entity. This will allow us to be physically present on the new continent, making our international expansion easier and faster. Cédric Brun our CTO will replace Stéphane as CEO. And they offered me to become the new Obeo’s CTO. I am at the same time proud and really excited by the many challenges this new position brings! I will do my best! So being Obeo’s CTO is my new game from now. This means for me lots of fun ahead, this is my new spoonful of sugar! “In every job that must be done There is an element of fun You find the fun and snap! The job’s a game And every task you undertake Becomes a piece of cake“ Mary Poppins Thanks open source community, Eclipse Foundation and Obeo for giving me this opportunity! Have a look also at Cédric’s blog post and Obeo’s summary.[...]

Cedric Brun: North America, here we come!

Tue, 19 Sep 2017 00:00:00 +0000

Industries are relying either on ad hoc or rigid tools for systems engineering. Either the tool is built “in-house” and grow organically or it is bought to one of the big software vendors and then the company have to adapt its practices and teams to use it. Such software vendors might use every opportunity to lock in their users, in both cases the tool longevity is quite uncertain. In the last 11 years, Obeo went from a 3-to-50 persons company and from an unknown organization to one of the largest contributor to the Eclipse Modeling technologies leading individual projects (Sirius, Acceleo, EMF Compare) up to worldwide awareness. We Are Obeo! We’ve been challenging this status quo since day one. What if there could be a solution which would be adaptable yet built on strong methodological and technical foundations, open-source, available to all, and with an open governance. A software that anybody can download and use without going through a registration, a tool built from the trenches, polished and tested under many environments, a project which future can be oriented by the organizations using it through their direct involvement? Our first open-source software was Acceleo and aimed at empowering developers by helping them write code generators. For the 2.0 release in 2007 we managed to ship dozen of code generators built by contributors. From C# to Php or Python; the community provided off-the-shelf tools able to compete with the solutions on the market. In many ways this contributed to Obeo’s growth, which itself contributed to our capacity to contribute to Open-Source. I felt ecstatic at this success even though that was at a very humble scale. Fast forward 5 years later, Sirius: the outcome of our collaboration with Thales; is released as an open-source technology. Technology to swiftly build graphical design tools for any domain, tools which empower users. Now hundreds of graphical modelers are hosted on github, some of it experiments, others full fledged products. I’m filled with curiosity regarding all these uses of Sirius, each domain can get so interesting I would love to get involved with every single one. Once Sirius was open-source, it then became possible for the systems engineering tool Thales had built for years to be publicly released and have a life outside of the organization. This tool is Capella and got pretty popular, especially in the last few months. It is the perfect instance of a tool which is built on strong foundations, ready to use yet adaptable. It has been built by Thales: a worldwide recognized leader in building the most challenging critical systems and rely on the “Arcadia” engineering method (ARCHITECTURE ANALYSIS & DESIGN INTEGRATED APPROACH). It is available to all and has an open governance through the Capella Industry Consortium. This gives me optimism as strong and open systems engineering tools might be closer than one would think. We always envisioned Obeo to be a worldwide company. Open-source made us recognizable and we worked with many countries in Europe and North America. This also made us highly aware that being physically on the continent was important to reach the market there. Engineering is of importance across the globe, but North America is for sure a central place in regard to aeronautics, space, transportation and industrial systems. We are taking the next step toward a future built on top of open tools by opening a subsidiary in Vancouver, Canada, to develop the business around modeling technologies including Capella. I’m incredibly excited by this prospect, we’ve been preparing this for quite a few months and I am thrilled to publicly share our plans. Go West! Stephane will open and manage the subsidiary in Vancouver. He will move there with his family, most likely near the end of 2017 and start the activity there. I am stepping into the [...]

EclipseCon Europe 2017: Why you and your manager should say yes! to EclipseCon Europe

Mon, 18 Sep 2017 14:49:59 +0000

Five good reasons to bring the team to Ludwigsburg

1. Learn from the experts.
2. Innovate with the community.
3. Spread the word about your technology.
4. Get answers to complex issues.
5. Extend your network.

InfoQ Eclipse feed: Oracle Chooses Eclipse Foundation as New Home for Java EE

Sun, 17 Sep 2017 19:11:00 +0000


Oracle has announced that they have chosen the Eclipse Foundation as the new custodians of Java EE technologies. The move has been welcomed by Red Hat, IBM and others in the community. It is uncertain if after this move the platform can retain its current name of Java EE.

By Tim Hodkinson

EclipseCon Europe 2017: Jigsaw arriving - and now what?

Sat, 16 Sep 2017 13:11:54 +0000

by Stephan Hermann

Learn more about Stephan's talk JDT embraces Java™ 9 - An insiders' view in this co-published blog.

Neil Bartlett: March of the IDEs — IDE Agnostic OSGi Development

Sat, 16 Sep 2017 00:00:00 +0000

For a long time Eclipse has been, in practice, the only widely used and supported IDE for developing OSGi applications. Both of the premier IDE plugins — namely Bndtools and the older PDE — supported only Eclipse. While some tooling existed in IntelliJ and NetBeans it was nowhere near as comprehensive or usable.

This wasn’t much of a problem for me personally. I have been a fan of Eclipse since I first saw it in the early 2000s, and indeed the first IDE I ever used was VisualAge for Java, which later morphed into Eclipse. I’ve tried other IDEs but I always end up reverting to the familiar.

However IDE choice is very personal, and the devotion of some developers to their preferred IDE can make religious fanatics seem positively lukewarm. So if you met an IntelliJ fan and told her that she would need to switch to Eclipse in order develop for OSGi… well, it’s unsurprising that a common response was that OSGi could get stuffed.

So while I continue to use and support Bndtools in Eclipse, for the sake of OSGi adoption I have long wished for there to be a better development experience in the other popular IDEs. I’m happy to report that substantial progress has been made towards this goal. The latest version of bnd includes a suite of plugins for both Maven and Gradle that make development of OSGi applications practical irrespective of the IDE. Combined with some minimal IDE-specific tooling, such as that included in the latest IntelliJ builds, it is now a productive and even pleasurable activity.

On 23 October I will present a talk at the OSGi Users Forum Germany Tooling Workshop titled March of the IDEs — IDE Agnostic OSGi Development. In my talk I will demonstrate the development of a single OSGi application using Eclipse, IntelliJ, Visual Studio Code and a variety of command-line tools. This will highlight the opportunities for developers of all creeds to collaborate on high-quality modular code.

The workshop takes place all day on 23 October and is located at the Forum am Schlosspark, Ludwigsburg, Germany. This is the same venue as EclipseCon Europe and OSGi Community Event 2017 but it is organised as a separate event. Participation is free and you do not need a ticket for EclipseCon but you do need to register with the OSGi User Forum Germany by emailing I hope to see you there!

EclipseCon Europe 2017: Sponsor Testimonial: Milen Dyankov, Liferay

Fri, 15 Sep 2017 01:23:10 +0000

As Strategic Members of the OSGi Alliance, Liferay is proud to sponsor the OSGi Community Event again and to be among the Eclipse community. ...Join us for three sessions given by Carlos Sierra, "OSGi Meets Lambdas", Milen Dyankov, "Fantastic Java Contracts and Where To Define Them?", and Ray Augé, "CDI and OSGi: So Happy Together!"

Donald Raab: Nine Features in Eclipse Collections 9.0

Thu, 14 Sep 2017 20:46:00 +0000

CountBy, DistinctBy, Cartesian Product for primitive collections… and more.In my previous blog post, I described the upcoming release of Eclipse Collections 9.0.In this post, I will briefly highlight nine features with examples that will be included in the Eclipse Collections 9.0 release. Each example shows what you could do in Eclipse Collections 7.x — 8.x and how it was improved in Eclipse Collections 9.0.1. CountBy// Eclipse Collections 7.x - 8.xMutableBag countsOld = .asLazy().collect(Customer::getCity).toBag();// Eclipse Collections 9.xMutableBag countsNew = .countBy(Customer::getCity);It should be easier for developers to both discover and read countBy versus the previous alternative.2. DistinctBy// Eclipse Collections 7.x - 8.xMutableList distinctOld = .distinct( HashingStrategies.fromFunction(Customer::getCity));// Eclipse Collections 9.xMutableList distinctNew = .distinctBy(Customer::getCity);DistinctBy uses distinct with a hashing strategy for its implementation.3. Primitive Collection Factories work with Primitive Java Streams// Eclipse Collections 7.x - 8.xMutableIntList listOld = IntStream.rangeClosed(1, 100) .collect( IntLists.mutable::empty, MutableIntList::add, MutableIntList::withAll);// Eclipse Collections 9.xMutableIntList listNew = IntLists.mutable.withAll( IntStream.rangeClosed(1, 100));There are also immutable factories that take IntStream, LongStream and DoubleStream. Both mutable and immutable factories that accept primitive Java Streams are available across primitive Lists, Sets, Bags, and Stacks for int, long and double. Symmetric Sympathy strikes again.4. Factory classes can now create adapters// Eclipse Collections 7.x - 8.xMutableList listAdapter = ListAdapter.adapt(new ArrayList<>());MutableSet setAdapter = SetAdapter.adapt(new ConcurrentSkipListSet<>());MutableMap(object) mapAdapter = MapAdapter.adapt(new LinkedHashMap<>());// Eclipse Collections 9.xMutableList listAdapter = Lists.adapt(new ArrayList<>());MutableSet setAdapter = Sets.adapt(new ConcurrentSkipListSet<>());MutableMap(object) mapAdapter = Maps.adapt(new LinkedHashMap<>());Many developers do not realize there are adapter classes for existing JDK types in Eclipse Collections. Adding this short-cut on the factory classes should make it easier to discover.5. Streams available directly on Immutable Collections// Eclipse Collections 7.x - 8.xboolean result = Lists.immutable.with(1, 2, 3) .castToList() .stream() .anyMatch(i -> i % 2 == 0);// Eclipse Collections 9.xboolean result = Lists.immutable.with(1, 2, 3) .stream() .anyMatch(i -> i % 2 == 0);This was a requested feature. It is not obvious that you can call castToList and then call stream on an ImmutableCollection. In this previous post I described the design decision to not have ImmutableCollection extend Collection. This is why it was necessary to add stream explicitly.6. FlatCollect on primitive lazy iterables// Eclipse Collections 8.xIntList listOne = IntLists.mutable.with(1, 2, 3);IntList listTwo = IntLists.mutable.with(4, 5, 6);MutableList pairs = listOne .flatCollect(i -> listTwo.collect(j -> PrimitiveTuples.pair(i, j)), Lists.mutable.empty());/[...]

PapyrusUML: Papyrus IC BOF at EclipseCon Europe

Thu, 14 Sep 2017 14:46:28 +0000

My industry consortium is hosting a Birds of a Feather (BOF) session at EclipseCon Europe!

You are all invited to go, mingle, and talk about me with my minions on Tuesday, October 24, 2017, from 19:30 to 20:30!

And don’t forget to thank my EclipseSource minions for organizing this!

You can also look at the official PolarSys Papyrus Industry Consortium blog posting!

[PS: isn’t a “birds of a feather” session just perfect for me?!]

Filed under: community, Conference, Papyrus IC, Uncategorized Tagged: BOF, PIC (image) (image) (image) (image) (image) (image) (image) (image)

Eclipse Announcements: Java EE Moves to the Eclipse Foundation

Wed, 13 Sep 2017 07:54:10 +0000

Oracle announced today that they, along with IBM and Red Hat, will be moving Java EE to the Eclipse Foundation.(image)

Neil Bartlett: Bndtools and Maven: A Brave New World

Wed, 13 Sep 2017 00:00:00 +0000

At this year’s OSGi Community Event – co-hosted with EclipseCon Europe 2017 – I will present a new tutorial titled Bndtools and Maven: A Brave New World. My friend and Paremus colleague Tim Ward will co-present and will provide support during the exercises.

Bndtools has long provided the premier development experience for writing OSGi bundles and applications. However there was a significant gap: until recently it has been very difficult to use Maven to build Bndtools projects. This was partially because of legacy issues (after starting with ANT as our standard build tool, we eventually migrated to Gradle). Partially it was because Maven is far more prescriptive in terms of the structure and lifecycle of a project, and it took a long time to find a way to fit our models together. These problems meant that Bndtools was simply unusable for a large number of developers, in particular those working for organisations that have standardised on Maven – and also of course those developers who simply prefer Maven!

These problems are now essentially solved and, from Bndtools version 3.4, Maven is a fully supported build environment. Gradle also remains fully supported.

In this tutorial, we will walk through all of the day-to-day development tasks in the new Bndtools/Maven toolchain. These include:

  1. Starting a new project from scratch;
  2. Adding bundle modules to the project;
  3. Managing library dependencies;
  4. Integration testing (i.e. in-container testing);
  5. Running bundles and tests from the IDE, and the rapid code/run cycle enabled by Bndtools;
  6. Indexing, resolving and assembling applications for deployment;
  7. Managing bundle and package versions;
  8. Configuring a Continuous Integration build.

The following Maven plugins will be covered:

  • bnd-maven-plugin: the core plugin that generates OSGi bundle JARs;
  • bnd-testing-maven-plugin: executes OSGi in-container tests;
  • bnd-indexer-maven-plugin: indexes OSGi bundles and dependencies for assembly and/or runtime resolving;
  • bnd-export-maven-plugin: assembles a standalone OSGi application from its minimal bundles.

We do hope that you will attend this tutorial armed with lots of questions! Prerequisites are Bndtools 3.5 (which will have been released before the conference), JDK 8 and Maven 3. Also make sure you sign up to attend the tutorial on the EclipseCon website, and of course you also need a ticket to the main conference.

Mike Milinkovich: Java EE Moves to the Eclipse Foundation

Tue, 12 Sep 2017 20:21:54 +0000

Oracle announced today that they, along with IBM and Red Hat, will be moving Java EE to the Eclipse Foundation. I would like to welcome everyone involved to our community. We look forward to working with all of the participants in the Java EE ecosystem as it moves to a more open and collaborative development model.

Java EE has been at the center of enterprise computing for almost twenty years. As enterprises move to a more cloud-centric model, it is clear that Java EE requires a more rapid pace of innovation. The open source model has been shown time and again to be the most successful way to innovate in today’s world. The Eclipse Foundation is focused on enabling open collaboration among individuals, small companies, enterprises, and the largest vendors. The Eclipse MicroProfile project is, we believe, an excellent example of the developer community led style of collaboration we support. We look forward to supporting the Java EE community as it creates the platform for the next twenty years of business applications.

Filed under: Foundation (image) (image)

Chris Aniszczyk: Launching TODO Group Guides

Mon, 11 Sep 2017 16:53:00 +0000

In my participation with the TODO Group, we recently published a set of open source guides (under CC-BY-SA 4.0) dedicated to help companies build out open source programs:

In the last year or so, we have seen companies like AWS build out an open source program via @AWSOpen and even companies like VMWare hired their first Chief Open Source Officer.

We’ve had many organizations approach TODO Group members asking for advice on how to get started with an open source program and these guides are a reaction to that. It is our hope that these are living guides and evolve with community input over time.

Donald Raab: In the know: Eclipse Collections 9.0

Mon, 11 Sep 2017 03:00:40 +0000

The new Eclipse Collections logoWe’re now feature complete for Eclipse Collections 9.0. We’ve entered the quiet period for Eclipse Collections development while we wait for the official release notice from the Eclipse Foundation. This will be our second major release since the Eclipse Collections project started at the Eclipse Foundation. These are exciting times. Draft release notes here.Now that we have an official logo, expect stickers and t-shirts soon. Preference will go first to Eclipse Collections committers and contributors, but anyone can become a contributor. See the contribution guide for details on how to contribute.Java 9 and Eclipse Collections 9.0 will both be well covered at JavaOne in San Francisco this year. I will be giving a talk this year on the API design of Eclipse Collections. I’m looking forward to the opportunity to explain how and why Eclipse Collections became all that it is today. Drop by the API Deep Dive: Designing Eclipse Collections [CON6133] if you are at JavaOne this year and want to learn about the design and evolution of an advanced Java Collections framework.Too many Java Collections frameworks, not enough time to learn them all? Drop by our, Eclipse, Guava, Apache… [CON1754] talk. The talk will cover APIs available in Java 8 Streams and the latest versions of Apache Commons Collections, Guava, Eclipse Collections and Vavr. This talk will help you make the most out of one of your precious few hours at JavaOne.New to Eclipse Collections?If you want an overview of the framework, then check out the reference guide. If you want to really learn Eclipse Collections (we learn best by doing), the Eclipse Collections kata is a great way to get started. I have updated the Eclipse Collections Kata recently with more hints and pointers. The web-based slides that guide the kata are here.Want to know more?You can now follow Eclipse Collections news and related topics on Twitter here.Check out the code and follow the project on GitHub if you want to keep up to date live with where things are heading and with the contributions that the community is making.Watch Kristen O’Leary’s recent talk at QCon New York on the Java Evolution of Eclipse Collections. If you want to know what has been happening with Eclipse Collections since it moved to the Eclipse Foundation, this is a great place to start.Check out previous presentations if you want quick overviews of what is already available.Look for me in the Hackergarten at JavaOne on Monday or Tuesday or at one of my two talks. I should be demoing in the Eclipse Foundation booth as well. I’m always happy to answer questions and share information.I will also be continuing to blog here. Feel free to follow if you want to stay in the know on Eclipse Collections.[...]

Stephan Herrmann: Jigsaw arriving – and now what?

Sun, 10 Sep 2017 14:31:57 +0000

The debate is over. The result of fierce discussions has been declared. Jigsaw is knocking at the door. Now the fate of Jigsaw depends on the community. Will the community embrace Jigsaw? Will we be able to leverage the new concepts to our benefit? Will we struggle with new pitfalls? Let’s step back a second: do we really know what is Jigsaw? Do we really understand the design, its subtleties and implications? At EclipseCon Europe 2017 I will try to shed a light on some lesser known aspects of Jigsaw. A deep dive into things I learned as a JDT committer while implementing tool support for Java 9. In search for truth To set the stage, we’ll first have to figure out, who or what defines Java 9 — or Jigsaw — or JPMS. This is both a question of specification vs. implementation as well as a matter of a specification spread over several documents and artifacts. Let’s try to grok Jigsaw from the legally binding sources, rather then from secondary writing and hearsay (if that is possible). We will have to relearn some of the basic terms, like: what is a package in Java? Do packages form a hierarchy? (I will show, how both answers, yes and no, are equally right and wrong). Jigsaw is said to do away with some “undesirable” stuff like split packages, and cyclic dependencies. Really? (Yes and no). Encapsulation Of course, with Jigsaw all is about encapsulation – easy to agree on, but what is it that a Java 9 module encapsulates? Only a deep understanding of the flavor of encapsulation will tell us, what exact qualities we gain from following the new discipline (it’s not about security, e.g.), and also what pains will be incurred on the path of migrating to the new model. (Hint: I will be speaking both about compile time and runtime). Interestingly, the magic potion Jigsaw also brings its own antidote: With tightening the rules of encapsulation, also the opposite becomes necessary: they call it breaking encapsulation, for which I once coined the term “decapsulation“. I should be flattered by how close Java 9 comes to what I call “gradual encapsulation“. So, the talk can not stop at presenting just the new language concepts, also the various extra-lingual means for tuning your architecture need to be inspected through the looking glass. This is also where tools come into focus: how can JDT empower its users to use the new options without the need to dig through the sometimes cryptic syntax of command line parameters? Loose ends At this point we shall agree that Jigsaw is a compromise, fulfilling many of its goals and promises, while also missing some opportunities. I will also have to say a few words about long standing API of JDT, which makes guarantees that are no longer valid in Java 9. This raises the question: what is the migration path for tools that sit on top of JDT? (There is no free lunch). Finally, it wouldn’t be Java, if overloading wouldn’t make things worse for the newly added concepts. But: haven’t you become fond of hating, when JDT says: The type cannot be resolved. It is indirectly referenced from required .class files We may be seeing light at the end of the tunnel: for Jigsaw we had to revamp the guts of our compiler in ways, that could possibly help to – finally – resolve that problem. Wish me luck … Hope to see you in Ludwigsburg, there’s much to be discussed over coffee and beer Ludwigsburg, Germany · October 24 – 26, 2017 [...]

Mike Milinkovich: Java: Free At Last

Thu, 07 Sep 2017 20:45:14 +0000

There was lots of news in the land of Java yesterday. If you have not already seen the posts by Mark Reinhold and Donald Smith of Oracle, I encourage you to read: Moving Java Forward Faster Accelerating the JDK release cadence Faster and Easier Use and Redistribution of Java SE There has been an enormous number of articles written about this news, most of which have focused on the new time-based release cadence. Obviously coming from an Eclipse background, I’m a big believer in the idea of release trains. After all, Eclipse Foundation projects have been doing this for over a decade. I believe that this is going to be a good thing for the Java platform, once the teams inside Oracle get into the groove of producing time boxed releases. But relatively little has been written about what I think is the really big news: “…Oracle plans to ship OpenJDK builds under the GPL…” and “…within a few releases there should be no technical differences between OpenJDK builds and Oracle JDK binaries.” Which means that Java will finally be freed of the explicit and implicit field of use restrictions which have dogged it since its invention. Developers will be free to use Java on any device, without requiring any additional licensing or other permission. I believe that this is going to lead to a resurgence of innovation in the Java ecosystem. And I am particularly optimistic about what this could mean for Java as the language of choice for many solutions in the Internet of Things. The license that Java binaries are currently distributed under today is the Oracle Binary Code License, which states (emphasis added): “General Purpose Desktop Computers and Servers” means computers, including desktop and laptop computers, or servers, used for general computing functions under end user control (such as but not specifically limited to email, general purpose Internet browsing, and office suite productivity tools). The use of Software in systems and solutions that provide dedicated functionality (other than as mentioned above) or designed for use in embedded or function-specific software applications, for example but not limited to: Software embedded in or bundled with industrial control systems, wireless mobile telephones, wireless handheld devices, kiosks, TV/STB, Blu-ray Disc devices, telematics and network control switching equipment, printers and storage management systems, and other related systems are excluded from this definition and not licensed under this Agreement. Making Java binaries available directly from OpenJDK is going to free the Java platform for developers. Getting these directly from the platform owner, and (more importantly) having them be identical to the commercial binaries is a radical step forward. OpenJDK-based binaries will be exactly on par with, and equivalent to, the commercial ones. Although almost all of the Java source code has been open source at OpenJDK for many years, the subtle differences in content, performance, and reliability have prevented mainstream adoption of OpenJDK binaries by enterprises and industrials. A little over a decade ago, Sun Microsystems started the process of open sourcing Java. It seems that Oracle is finally finishing the job. Good for them.Filed under: Foundation [...]