Home Java Interview with Baruch Sadogursky: The Ideal Technology Stack for Enterprise Development

Interview with Baruch Sadogursky: The Ideal Technology Stack for Enterprise Development

by admin

Interview with Baruch Sadogursky: The Ideal Technology Stack for Enterprise Development
Baruch Sadogursky is a Developer advocate at JFrog. Duke Awards in 2011 and 2013, JavaOne Rock Star in 2014.
The interview was conducted by Vladimir Sonkin , Luxoft Training expert in the field of Java software development.
LT: Baruch, how do you see the technology stack for the Enterprise project today?
Bs : As the basis of the project – Java, you can take Spring, which is needed everywhere, then depends on the requirements. If there is a web-interface, you can look at different frameworks, depending on whether it will be a product for internal or external use, how much you need all sorts of "whistles" in the user interface. The choice will depend on what exactly we are doing, what our business task is: whether it is BigData processing or file management or something else.
In terms of builds as well, Apache Maven is a solid, reliable choice, Gradle is a more stylish, youthful tool with its own risks. Git is like a source control system, the CI server is Jenkins. Today’s stack is pretty self-explanatory. And somewhere, maybe around the edges, try something fresh, like writing tests on Spok. It’s certainly not new, but it’s a fairly fresh choice for Enterprise developers. However, since tests don’t go into production, you can feel and experiment with something in this area.
LT: But if you look at Scala, it’s a mature language in general. Some small Enterprise projects just choose Scala out of interest. Do you think that makes sense?
Bs : I’m a little scared by what’s happening with Scala right now, because there’s a trend of moving away from Scala, such as TypeSafe, which was trying to make money from Scala-related libraries. Some time ago it was announced that TypeSafe was moving away from a strong emphasis on Scala to a much greater emphasis on Java, because most of the enterprise development is in Java, where the money actually is. So they hired a lot of new people who are pulling up some Java interfaces that they didn’t have before, because there was mostly an emphasis on Scala.
We also see other libraries that were very Scala-centric. For example, Spark, where we see in the new release how Java APIs are pulled up to the level of Scala, and it looks like they will evolve as well as Scala APIs, if not even better, going forward.
I would say that in the global picture we are seeing some turn toward Java. And I’m not surprised at all, because Scala, as an academic language, is an absolutely wonderful creation, but for Enterprise hardcore to drive code into production, it’s not suitable, because it’s complicated for developers who solve real business problems, who need a powerful, but not very complicated tool, who have more important things in life than to understand Scala type system.
That’s why I’ve never been a big fan of Scala, and the trend of leaving Scala doesn’t surprise me. Of course Scala isn’t going anywhere and will continue to evolve, but in a much more niche format.
LT: So Scala was killed by its excessive complexity?
Bs : Not that complexity. I would say academic. It seems to me that from the beginning Scala was not a good choice for mass development. And when Scala was called the next Java, it was pretty wild to me to hear that, because everything there is very academic and not easy for such a mass-produced language that will have to replace Java.
LT : Does Kotlin, for example, have a lower threshold of entry than Scala?
BS : Yes, it is higher than Groovy, but much lower than Scala. It is very nice to learn it after Java. It’s different with Kotlin, because the guys from JetBrains have tried to pick the features we need. We’ll see how it goes from here, because acceptance in the industry depends not only on the quality of the language itself, but also on many other reasons. For example, as you know, if a language creator has had a beard , then the language will be popular :).
Interview with Baruch Sadogursky: The Ideal Technology Stack for Enterprise Development
C’s creators Ken Thomson and Dennis Ritchie are genius guys with genius beards.
LT : Do you think the rise in popularity of Java is due to the fact that Java SE 8 came out, which had a lot of good things brought in from the same Scala?
BS : It certainly played a role – as the end of Java stagnation. That’s a big plus. We’re seeing the revolutionary release of Java 8, we’re hearing that there will be a lot of interesting things in Java 9. All in all, some kind of life in Java has come back. The escape from Java in many companies may be over. You can write in Java and be more productive.
LT: And if you were starting an Enterpeise project yourself right now, would you choose Apache Maven as your build framework?
Bs : It really depends on who we have to work with : the stronger the team and the more we rely on people to understand the build system thoroughly – the more we can move away from Apache Maven. But the reality is different : usually developers don’t care about the nuances of my build-scripts, and should generally have a simple and reliable Apache Maven builder. Therefore, the choice will depend on the materials to work with and the timing, whether people will have time to get into the intricacies of build-scripts.
LT: In the same context of programming languages: Java is the de-facto standard for Enterprise development. What technologies and languages seem to you to be the most promising at the moment?
BS : A very good comparison, I guess we can compare Apache Maven to Java, because it’s the de facto standard, because everybody knows it, because it’s fairly predictable and understandable. I wouldn’t say they’re easy, but you can count on people knowing about them.
Gradle is more tied in with other programming languages because scripts can be written in Groovy, and soon you can write them in Kotlin, and this gives you some flexibility compared to Java.
So if we’re talking about interesting languages that I would look at today, Groovy is a great opportunity to broaden your horizons with a small investment, because Groovy is very similar to Java. And Kotlin looks very promising right now because the guys at JetBrains have been trying to get the best out of other languages. We can see a lot of good stuff from Scala, Groovy and Java. So you have to keep a close eye on it all. For a big Enterprise project tomorrow I wouldn’t take Kotlin, but to play around, poke around, figure it out – yes.
LT: We’ll have your master class on Apache Maven, Java performance, profiling at Luxoft in September.
Bs : Yes, the master class will be on Apache Maven, and there will be a lecture on Java performance, profiling, and defagging as a bonus track.
LT: Please tell me why Maven was chosen, given that there are many other popular builders out there right now? Why is it worth coming to your master class?
Bs : With Apache Maven it’s simple enough – as we usually have in the industry : we have advanced, innovative, interesting, modern and unusual tools that are not always the most popular, and we also have de facto standards that don’t include everything new and interesting, but are workhorses that do what’s needed. And in build systems we have a similar situation : we have Gradle on the market, which we all love to look at and dig into, which fountains unusual solutions, and we have tools that you can just rely on, which have been with us for years and which we know well. Large, large companies choose the second option – that is, Apache Maven – as their working standard. And it makes sense: it’s clear, it’s more controllable, it’s been tested for years.
So my master class will be useful for those people who need to look at one assembly language to work in a large company and understand what’s going on with assembly. But I think we won’t hold back and in the second half of the masterclass we’ll look into Gradle in an overview format as well, talk about the differences.
LT: Are you going to talk about some basic stuff or some subtleties and secrets?
Bs : We have plenty of time to talk about everything. We’ll start with basic stuff to cover all the white spots, even for those who are already familiar with Apache Maven. And of course we’ll talk about more advanced stuff : writing plugins, configuration profiles. So I hope that it will be interesting for everybody: both for those who knows Apache Maven on a basic level and those who have never used it.
Baruch Sadogursky’s master class will be held September 8, 2016. Moscow.

You may also like