The history of MDT (Magik Development Tools) begins in 2005. Astec is one of only two companies in Poland programming in Magik language on GE Smallworld platform. There are only a few thousand Magik programmers in the entire world. Nevertheless, they develop extremely important GIS applications used in electricity distribution, gas transmission and telecommunication. Despite the complexity of their projects, the only development tool they can use is an advanced yet limited text editor - Emacs, that despite its advantages leaves much to be desired.
Eclipse IDE and RCP in Practice
Code Mining is a port of Microsoft "CodeLens": a code mining represents a content (ex: label, icons) that should be shown along with source text. Some examples of code mining can be the number of references, links to run tests (with run/debug icons), SCM or code review annotations...
The main goals of code mining are to help developer to understand better the written code and to interact very quickly with it.
Code Mining is shipped by default as part of Eclipse Platform 4.8/Photon release.
In this talk I will present you:
Managing dependencies always has been a challenge. Latest huge security failures in third party libraries and frameworks showed it is an area that developers can not ignore anymore.
In this session, we'll see that, by leveraging different technologies like LSP, micro services and big data analysis, this concern can now be integrated and used right from the IDE.
Using real life examples, we'll see how developers can get notified of mistakes and take control of their dependencies easily.
Cryptographic libraries are difficult to use. Various empirical studies have shown that software developers commonly struggle to correctly encrypt, sign or hash data processed within their software. Common APIs of cryptographic libraries are powerful, yet require a lot of configuration. For example, symmetric block ciphers must be configured with block modes, padding schemes, and the algorithm's key length. While the fine-grained crypto APIs allow software developers customized and flexible implementations, slight misconfigurations easily yield insecure and broken code.
The Target Communication Framework (TCF) is an already established mechanism for tasks like target interaction, file operations and inferior control. Using this framework, the TCF debugger was built, providing an easy-to-retarget debugger framework powered by a target-agnostic debug engine. The dominant use-case of the upstream debugger agent has been the debugging of software threads with the help of the OS infrastructure (sofware-only debugging).
Eclipse plugin on diet: Road to thin client application
After releasing the first version of our code improvement Eclipse plugin, we got feedback of people wanting to put our product into development pipelines. Multiple prototyping rounds lead us to develop a Maven plugin, which embedded the business logic part of our plugin. This way code improvements could be executed and parametrized the Maven plugin way. Our next step is cloud integration and running our plugin as a microservice.
World around Java is changing at a fast pace. Java will have twice-yearly releases starting March 2018. At the time of this writing, Java 10 is expected to be out in March 2018 and Java 11 in September 2018. Not far away in September 2017 we had the Java 9 release.
I will demonstrate some new concepts added in Eclipse JDT to support Java 9. Java 9 introduced Java modules and I will show how a user can create a Java module, set up it's modulepath and classpath, can patch, limit or add exports in the Java module.
I will also demonstrate other new features added for Java 9 -
Eclipse JDT (Java Development Tools) provides a lot of powerful features and capabilities, and it has been reloaded with more exciting features for the upcoming Eclipse Photon (4.8) release. In this session, I will showcase some of the cool new features which have been added in JDT to make your experience more convenient and pleasant.
Java 9 is here with Jigsaw modularity and Java 10 introduces the context-sensitive keyword 'var'. I will demo some of the new tooling features provided by JDT as part of its support for the new Java releases like:
Eclipse Platform 4.8 introduced support for parallel builds in the workspace. This feature is placed at the lowest level of the workspace so it can easily be profitable to any adopter without specific adoption effort, besides respecting usual good practices. This can in theory turn the Eclipse workspace into one of the fastest polyglot build engines in developer world.
In this presentation, we’ll explain what is the value to expect from this parallel builds (mostly performance gain and faster availability of project output).
In this 5min presentation, we’ll show how the best-of-breed approach can now efficiently be leveraged in Eclipse IDE to quickly provide a good language support by consuming existing pieces of technologies such as language servers, TextMate grammars and Command-Line interfaces.
We’ll use the examples of Eclipse aCute (for C#) and Eclipse Corrosion (for Rust) as case-studies.