 Včakaj, vse je tudi o eklipsi, je tudi o techničnih stavov, tudi o češnjih, ko se v eklipsi sezakaj, o kako se zelo včakaj, o kako se zelo v eklipsi sezakaj, o kaj se zelo včakaj, Here are even users Let me first give you a short introduction of myself. I'm basically a distro guy, but over time I ended up working full time on Eclipse IDE. And preço норм hat I'm committed on a number of projects, which allows me to get a bit of experience ga pa the different communities get with eclips and the importance of the lower levels and issues exposed for different parties by them. And I'm also the tech leader of the Red Hat desktop IDA team, In tega je zelo vseč naredila vzgledenje. In je prič... ...zaj... ...završnjamo prič, da smo počučni, da nekaj ne boši počučni. Prejko, da nekaj, da nekaj ne boši počučni, nekaj ne boši počučni. In tukaj vem, že je bilo naredil še daljči dneb, obtikljati je nekaj pravoj, da živliki je zelo, kako jem betekljak, čekaj je blade in tukaj je delrist. Maslje studioje, pa se bo, da jese za del gud. Kako bili? C and C++ tooling, Python tooling, pritimč v svoj lengučnih, kaj je. Tukaj je nekaj integracij. Tukaj sem spravil o R, in, da, je nekaj in R. Zato, kako smo na platformu, kaj smo prišličili, kaj smo prišličili, prišličili, vse posljene kombinacije tehnologij, je to vse zelo, da se je vse zelo. Tukaj je zelo, da je zelo, da je vse zelo, in vse zelo, da je nekaj, nekaj, da se je zelo, da se je zelo, kaj je zelo, da je zelo, svoj nekaj zelo vidim, da je bilo terzit, da je našelj izobirala, in je bilo zelo nisem, da njdete našelj, da težko ne zelo. Pa se mora, ki je našelj, da je vse našelj, tako, če je zelo našelj, da je vse našelj, tako so vse vse vse našelj. Vseš, da vidimo, da ne moguš pošličiti tudi. Javanain je pošličit in Eklips je pošličiti. To je tukaj pošličiti, da ne moguš pošličiti kodba. Ne musiš pošličiti, da ne moguš pošličiti. Držaj stop, da je vseč nekaj nekaj izglidava, lahko v trenilj delo se, kaj call- changer, kaj tače. Si se bila odstavljena, da se bih namočilo pošličiti na doma, pošličiti. Jko až značili, da se smetilo pošličiti, ko je zame, da imeš pošličit. ...sak je to, da je pa vsega. ...vega prišta... ...zapravili smo na začu od tehnologij. ...vačno so vsi nekako predvore... ...zapravili me vsega fungšenja, kaj je prištel... ...zapravili me nekaj... ...zapravili mi to, da nekaj... Zelo posledno. Tukaj bilo načinje začnil, zato tudi je zelo počkaj zelo. Vse ideje zelo počkaj zelo vzelo v tega zelo. Nukaj bilo načinje začnil, da v sekundi se zelo, in ima to zelo, da je vse možno vzelo, je dobro začala, da je dobro začala. Vsešta, ste vedno postavili, nekaj se izvršili, nekaj si nekaj je modern, nekaj se načo odbija, nekaj se nekaj se odbija, nekaj se je začal. To zelo, Kaj je zelo poživljati, ki je tudi testov. Eklips je, da je tudi platform, da je tudi 100,000 unit testov. Kaj je tudi in deterministi rezultati, kaj je zelo poživljali inespektive mašinje in konfiguracije. Se ne gledali na pristim izgledenjem, ne zverili naši gerit. To je postočnja nekaj okol. Vse sredno se zelo, da imamo nekaj kontributor, v kvalitku, da viži vse komitere podejeljati na kratku, da so vzivni in izgleda izgleda vse objektive vse vse. Tko tudi je zelo tudi tudi kvalitvo. So sem očal, da bi bilo res jedan, ker je. Tkeliko se je vnulajben iz no vfs za vsevedlje iolih, in državim po vzelo v gelib. Danes ne moram gačati pravdižno 21,3 ene karstve. Ne razdjevaj to, da ni noh više. zelo je veliko veliko. Zdaj sem skupnjala in izgleda izgleda, tudi s linuxem in GTK, ker sem izgleda izgleda, ne tako veliko, tako, ne zelo veliko, in tudi sveče je veliko bolj. Zelo, da se vse zelo. In je to, ki je mnogo počet, nekaj je vse zelo, zelo. Vse zelo je veliko veliko. Zelo sem zelo, da sem dajte, da boš našli, da je bilo vse, zelo, da je vse našli, da je vse našli, da je vse našli, da je vse našli, da je vse našli, da je vse našli, da je vse našli, in je zelo pošla v browseru. As you see, it's... You see your normal window, drone inside the browser. Maybe I should move it to show it's not fake. And all the other things you know, they are just there without any additional change happening on Eclipse itself. It's just thanks to GTK allowing us to flip the rendering layer. Actually, there was no change for that in Eclipse itself. It's only rewind gas on latest technology we have. It actually will answer the question from the VS Code talk yesterday. Can you get VS Code running in the browser? And the answer was no. But here is the unexpected one. Can you get Eclipse desktop in the browser? Yes, you can. It's not running on the server. Yes. It's rendering to a browser surface. That's true. And that's what I said. Can you get it in the browser? And the answer is yes. Can you display it on a browser surface? Yes. That's something that you can do in any window. Not with everything, but still, it's not hard to achieve it. At the same time, it's a working solution for one environment where you get certain machine and you expose it, do some native stuff on it. That's something you can get without any investment. To me, was a completely different thing. It was running an IDE on a server. So that's a different thing than this. This is running on your desktop, actually. So the question was, whether the question was can we run the IDE in the browser or running it on the server? Just, let's say, I cannot repeat it word by word what was said yesterday. And this was mostly meant to be an example of things your application will get when you just don't keep yourself in the ancient days where things were not... I agree. I mean, this is really great. Okay. Sorry. And this brings to the first priority that has changed amongst the Eclipse contributors. We want to make it fun to work on our code base again. I would say it's not shared still by everyone, but there is a big enough group that is kind of taking responsibility for much of the development lately. For us, this is a really top-important thing. And it already shows its effect. Just for the fun of it, I opened a book asking for help running Eclipse with GTK rendering on Windows machines. And a guy just popped out and made it in a few days, posted some screenshots. I haven't tried it yet, but he was like, okay, I easily get it done and this happened without any help from existing committers. He was a complete stranger to me. I knew nothing about him before that. And I think we are going pretty well in this area, but it's not enough. You will not win many going that way. And this is the place where we want people that have invested some time, some resources to get something on Eclipse already to continue feeling at home. That was also a multi-year effort to clean up and reorganize a lot of it. And it is this year release when we finally start expose some of the Java 8 goodies to Eclipse API users and another thing is reducing the way you do things. Over the years we have grown to 10 or 15 different ways of doing the same task. It happens to me like every next day finding out yet another weird way. Something was done and the news here is we are actively removing things. We are even thinking of removing some of the old widgets with really broken on most of the modern machines like three table or stuff like that. Also the deprecation policy and removal policy is being strengthened. So people that are building on top get their expectations right announcement for something to be removed is done and it will be removed in two years. So there is enough time for preparation. And the reason why we got Eclipse at version 4 was the model framework and the dependency injection that was primary usable for RCP developers not for real plugin developers that is starting to change. More and more things are exposed so hopefully the days when we will run without the compatibility layer is not far away. And one of the other things is more and more things start to happen outside of the IDE to better jobs and reporting and making it easier for people using it and doing more of the operations asynchronous. But it's also something that is not that big if you look at it as what we try to satisfy here is keep us as a top choice for new projects. I'm pretty sure that someone that had never experienced Eclipse and was not exposed to its API will have hard time looking at our examples from a few years ago. But the idea is that when someone considers in addition to the huge technology available there should be the coolest factor or at least not to look outdated. And this is one of the areas where Eclipse needs a lot of help. Most of the people building on top see it as a black box and something that was not willing to change so when you see an issue and want to have something improved please contact us the generation has changed so many there are many more people that are willing to listen and to start changing the way things are done. And with that I should go to where we go to the deepest Eclipse strength where it was fully fitting in your desktop environment. It was one of the biggest assets and one of the biggest drawbacks. It was never giving us the full freedom that swing had for example to draw everything in whatever way you want but at the same time improvements that were happening in the underlying system we were getting them for free. And many of the systems starts to be really, really advanced. One example is again GTK it gives you a full CSS engine for styling your desktop widgets and Eclipse is exposing that you can either style your whole window programmatically per widget not available for everyone so we are still keeping it under a hidden option but these are the things where we are catching up and there are a number of products that are not really cross-platform so for them these options make a lot of sense I know of at least one shop that is heavily relying on it and actively approaching us about it and that's one of the trends lately people really like being able to team everything so now we are kind of good in that area at least on Linux where you have the full support from the operating system from the UI toolkit you can team everything in whatever way you want without issues on the other operating systems there are some limitations from the API you are provided so a lot of work happens in Eclipse to achieve similar functionality as much as possible but it's still not there there are few issues you will notice but with every next release there are fewer and fewer that's one of the things no longer considered as functionalities it used to be now it's mandatory part of your UI everything is supposed to be filterable, searchable and so on and if it's there no one will notice it it will be just the most normal thing to have if it's not there you will be considered really amateur and doing something from 20 years ago Eclipse does a lot of a lot of effort on this area it's just fixing constantly enhancing views and other things to expose the already existing functionality for these tasks the problem with getting that everywhere is the big disconnect we have between some of the projects and the huge amount of views and different UI's exposed that's also something we really work on restyling to fit better but people can see it by the way the things I write as examples of what has changed only for the last milestone which was released on Friday for the previous it would get just too big we get a lot of new contributions so it's just the last two months of development another thing is people care more and more about their working career you are not the days of quartered UI's the option is one click away are gone you see efforts to get as much as much free space as possible for the content you work on and sometimes it's heavy to retrain users in such changes so getting it in for getting the new work and keeping it for old guard really means you have to come up with a number of options and allow everything to be set up ok so this is something we really focus on end users when you start Eclipse it should work like a modern application and not something from 1995 there was this notion amongst some people that it is not going to change it is always here and if you want to change you just have to go to another idea at least for me this is not the case and I don't do my best for this to change but this is the place where we were really working the previous things there are small adjustments nothing big nothing you can win people to really start doing something on Eclipse with zero knowledge about it in the previous milestone in December we put this thing which was called generic editor so pretty much editor implementation which gives you extension points where you hook your highlighting or partitioning or autocomplete but you don't deal with the editor and the text document underneath it yourself demo was done by colleague of mine it was 30 minutes and basic grad editor was there this is something Eclipse was walking and one of the things we were pointed out as being way behind others on the market lately we started other things the patch and diff editor I put it here cause it's something in the works and it's meant to be a really simple example for how you use the generic editor there is nothing fancy in it but if you need a real world example it will be there in the workbench and you can expect its code and if you need to add your domain specific language as an example it's done by the same guy that did the generic editor so I hope he did it right and this is yet another search if you don't know what the target file is it's the definition of what your plugin compiles and runs against during development time it's a slightly more featureful you get code complete based on remote content being done asynchronous so if you are going to a bit deeper a bit more featureful editor you may use this one and I'm putting this here cause it's an approach which was mentioned yesterday on the gdb talk that there is a full console where you get everything you can do all your interaction with the debugger from the console nothing fancy if you take a bit just as a console cause you can go on your shell and do the same the good thing here is that every thing in the UI is fully synchronized with what's happening in the console so you set a breakpoint on the console it will appear in your editor you continue editor will scroll variables view will change based on where you are and so on it's an approach which really bridges what we had by now is it also the vice versa that I set a breakpoint in the eclipse and it will set a breakpoint in gdb yes the gdb will know about it the question was whether it works vice versa if you do something in eclipse gdb will know about it and it's yes the big benefit is up until now we had the people doing everything on the console and people doing everything in the UI it works for really trained people but if you have to do it not that often let's say you have to debug a c application every 3 months you are not a seasoned gdb console user you can figure the easy things by using the UI and you may find some really awesome hint somewhere on the internet how to do something on the console which will probably take you 20 clicks and you can just paste it in the console and get the clips reflect on it and continue based on continue using your UI after that as you normally did in a way I see this approach as the real middle ground where we can reduce the antagonism going between IDE and shell users we don't need both groups to see each other as entire strangers especially for cases where you have really trained console users that's an approach which can be considered and will probably give really really good results and here is the next priority we have when I say bridge the gaps with the competition the first few contention there is really even g edit or midnight commander using clips you have patch file somewhere in the repository you double click on it and you see something black on white really hard to read g edit was doing it better than us or or you have to open another application switch between them so these are the small things which eclipse was walking we were walking the text framework and we were walking the opening to the shell users maybe these are just few examples and we haven't done enough here but this is something I would like to be able to invest more into and well I'm pretty sure there will be way more ideas of what can be done to to make eclipse more featureful but when I say more featureful we shouldn't look for every single feature that another application on the market has we have to get these features that help us to achieve the best result for the already existing big ecosystem and that's why I pointed to these two main groups only shell users and the text editing this this was pretty much catching up with everyone else and the next thing is catching up with VS Code they had this nice nice idea of language server which allows you to get all the language specific outside of the IDE so the IDE people don't have to reinvent it and seriously finding PHP developer redoing all the PHP specifics in Java in order to get it in the IDE it's really tough job and this is really work in progress first releases are being prepared out for implementation of the language server protocol which can be used from both sides either to integrate inside Eclipse or to implement language server in Java if you are interested in that so as you see the first release is next week and it's the sister project this goal is to get to built on top of LSP4j hook with generic editor so you don't have to do the editor, the basic editor stuff yourself but you get editor ready and you get auto complete and errors and so on from the language server pretty much making it connecting few dots to get new language support and this is one example that Miko Istria from my team did that's using OmniSharp and LSP4j to have a C sharp integration inside Eclipse as you can see you have the warnings, errors auto complete documentation none of that was really implemented in Eclipse at all all this data is coming from the language server what Eclipse does is just firing the language server and feeding the data to the generic editor now this is available on GitHub for people wanting to contribute, it's in no way ready to use application by now it is mainly the testbed for developing LSP4j so if there are interested people to get more into the C sharp stuff I would say this is nice place to continue but still the language server was not fixing one of the big issues we had and this was get the highlighting and that stuff in the editor you still had to write it yourself and there is a third project which is trying to reuse text made grammars for that work again something really really new it's still not imported in Eclipse.org it this should happen really soon and again something mixing LSP4j and TM4j with the PHP language server this is done by our Zen guides Zen friends they find it really hard to do the warnings and so on and reinvent everything in Eclipse so they were really really happy to help with that work and I don't know maybe next Zen Studio will have something like that or the next next and that's the that's the place where Eclipse has most time to spend we were really close everything was done inside the plugin very few things were used from external this change is something we should catch up and with the number of languages appearing like in my opinion every second month we cannot even afford to add the tooling in the way we used to we were not even looking to get the full featured IDE from the beginning get something for the people to use it from the very first day and get later the auto complete or the documentation I didn't mention that but the generic editor allows the separation of plugins contributing given functionality so the same editor can get auto complete from one plugin and yet another plugin getting data from somewhere can contribute the highlighting errors all that stuff can be coming from different places at different times this is the biggest change we are seeing as we are not used to that model and figuring out how the language servers will be started, how we integrate with other communities to get functionalities needed by the IDE this is still to be figured out but at least it's work that has been started and what's next I hope that people needing really simple workflows like simple editing stuff they weren't missing they will just start integrating it language support sure, at your own and especially with the language servers we are really interested to hear for issues or even help with the initial setup another thing is probably the debugging site VS Code has this debugger protocol which hopefully will gain as much publicity as the language server and will help get the debugging more focused and split the people that work on the IDE and the people that do the language integration itself it might be tougher than with the language server there were few efforts like DBGP the Ruby and TCL plugins has such implementation which well the differences there happen to be way bigger so it didn't fly with enough push second trial will be better and I'm done with that so if anyone has questions so the question is how we make it fun to work on the codebase again first part was really allow people to get changes fast in the past the biggest obstacle was get all the approvals now for many things we went to an approach where you're pretty satisfied with what you did get it in if we find the issue we'll revert it it might be demotivating if it happens few times but it's certainly less demotivating than waiting months for approval the other thing is many of the rules were reduced like adding an API you had to get a user for it in PDE the plugin development environment or the Java development environment if you don't have a user of it in these two places it was a real exception to get something in now we do the change where other languages are treated as the same level so that way we get one group support from CDT people there is no use still but it allows to merge the two approaches and overall making it fun was reduce the barriers and even remove many of the rules it's probably not true for most of the projects but at least for Eclipse it was too formal and it was really it was not welcoming people to say it that way other questions so that's a good question which I think so the language server the language server itself does the ASD generation and then computes the if you're asking for a completion the code completion does the code completion and returns back the code completions to be displayed by the editor so the editor at the top doesn't know anything about the language or the ASD generation only knows the objects that needs to be displayed and for instance the PHP server that Alexander just showed that actually works on Eclipse, vizio studio code and Eclipse I think they haven't supported that they've absorbed it but multiple editors can just work with the same language server and they show the same object in their own way other questions you talked about modernizing and catching up with the other editors and IDEs are there any changes in means of Eclipse releases that enabled that? the question is whether there are any changes in Eclipse releases to allow easier catching up with others and there is for the first time this year we will get one more service release that's already a change but the bigger change is in service releases we are allowed to backport new functionality which was not here last year this is probably the most noticeable one there are other changes which we are still discussing how to ship faster but there is no decision so I can't really share anything for sure functions in service releases that practically makes 4 releases per year with new functionality there is a limitation in the new functionality you can backport we can't really backport the generic editor but allowing small features here and there so it's like it's really we are getting the service releases as minor releases nothing big in them but still some new functionality no idea I even have no idea how you get such statistics the question was do I have any statistics about what is the most useful editor for Java commercial support option for Eclipse for companies using it because my feeling is that some companies start migrating to IntelJ IDEA for Java just because of that because it's pretty well maintained and supported and I like that it's very much but sometimes I have been struggling basic things like cooperation with our processor in our company and sometimes small things make a bit change on the market so do you think that something like that we can expect so the question is will there be any commercial support for Eclipse for Java developers and the answer is there is already first of all we are providing one if for people interested sorry? I mean Red Hat another thing is there is a program at Eclipse foundation which is called long term support program there are few companies which are listed there as providers and you can approach them with your issue and you may figure something that they will work on usually the companies list the projects they work on and I don't know how well this program is going but it's already here for probably 5 years maybe not popular enough still that's the situation it should be interesting why and what you can do to improve the situation not to lose the market yes probably that's thank you for your answer the thing is I've heard many reasons from different people and probably the most often heard one was about IntelliJ having way better language editing support where we are catching up now that was one of the things I've heard most often but many people just have their visual preferences it's hard to fight this one yes so the question is what is the status of other languages like javascript javascript has support for it improved a lot previous year in web tools project all I know about javascript is there is a lot in the news but honestly I never written in javascript anything so can't really help again Gorkim and it didn't support anything newer than javascript 3 and even the support of javascript 3 was javask so it had some javask flavors in it so what we did last year was we took out that parser which was a big pain and replaced that with javascript parser javascript javascript it kind of works now so we support ES6 all the latest features but one thing that we found out about javascript was what we are doing right now is to take out that is javascript and replacing with Google's collusion compiler which is actually a javascript parser it is a much much better fit to be used in an IDE because it supports tolerance it supports inference and so on so now we are trying to integrate that into JSTP once we have a nice parser that we can rely on that gets updated regularly by Google's collusion compiler project it will be much easier for us to get new features who is supporting JSTP I be honest I did the original work out by the way no there are no idea how to write it so so right now it is mostly written and there are a few individuals for contributing so thank you and if there are any questions we can continue outside or later is to see you finally remember me Rafał my wife is a former neighbor how I remember sorry we are going to meet you this last summer but you are traveling we are also traveling to Bulgaria and other countries so we are going to meet in Bulgaria OK the four is yours OK go you can use this BGA as you know there is the internet network probably dopper will meet the list of network managers and have you ever spoken before not yet so we will show you 10 minutes before the end OK