This week's book giveaway is in the Web Services forum.
We're giving away four copies of Microservices in Action and have Morgan Bruce & Paulo A. Pereira on-line!
See this thread for details.
Win a copy of Microservices in Action this week in the Web Services forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Bear Bibeault
  • Devaka Cooray
  • Liutauras Vilda
  • Jeanne Boyarsky
Sheriffs:
  • Knute Snortum
  • Junilu Lacar
  • paul wheaton
Saloon Keepers:
  • Ganesh Patekar
  • Frits Walraven
  • Tim Moores
  • Ron McLeod
  • Carey Brown
Bartenders:
  • Stephan van Hulst
  • salvin francis
  • Tim Holloway

Modern Java in Action: Is Java still modern?  RSS feed

 
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

In the new world of functional programming we see languages as JS, Elm, Erlang, Elixir, Scala and even Python being preferred over Java.

What are the main benefits of selecting Java for new modern applications when looking to other languages that have lambda and streams capabilities already?
How do you suggest to adopt Java in the new native cloud serverless services such as AWS Lambda?

Thanks,
Lucian  
 
Bartender
Posts: 19996
95
Android Eclipse IDE Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Java is mature, but still evolving, so I think it's safe to say it's "modern".

The languages you cited may be trendy, but Java has a very rich infrastructure, it's got an extremely powerful run-time optimization mode, compiling to native code (which many scripted languages don't do), has strong compile-time checking so that you embarrass yourself during development instead of when deployed to the Internet, and (servlets notwithstanding) a reputation for security second to none.

Java is an expensive language to use, since you can't just slap stuff together and go, but when you need industrial-grade engineering, it has few peers.
 
Tim Holloway
Bartender
Posts: 19996
95
Android Eclipse IDE Linux
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Speaking of languages that were going to make that creaky old Java obsolete, I notice that you didn't say anything about Ruby on Rails. Remember RoR?

Sic transit gloria mundi.
 
Sheriff
Posts: 21466
97
Chrome Eclipse IDE Java Spring Ubuntu VI Editor Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I've been to Devoxx Belgium this year and seen some talks on projects Amber, Loom and Valhalla, and I definitely see some very welcoming features coming up in the future. Java is really going to be moving forward in the next few releases.
 
Marshal
Posts: 61805
193
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Tim Holloway wrote:. . .  an expensive language to use, since you can't just slap stuff together and go . . .

You can't knock up the back wall with a few bits of wood, you need to go to the expense and effort of proper bricks and mortar. Which is why the wall will stay up. That is one idea behind Java® to make it robust. String static typing is one feature I am very fond of.
 
Tim Holloway
Bartender
Posts: 19996
95
Android Eclipse IDE Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Campbell Ritchie wrote:

Tim Holloway wrote:. . .  an expensive language to use, since you can't just slap stuff together and go . . .

You can't knock up the back wall with a few bits of wood, you need to go to the expense and effort of proper bricks and mortar. Which is why the wall will stay up. That is one idea behind Java® to make it robust. String static typing is one feature I am very fond of.



One of my chief gripes about the scripting languages is that you can slap together some stuff and have a "web site" that Management can admire in less than a day and they think that that means you're "productive".

A fatal flaw in human nature is that we don't think people are doing anything unless we can see them doing something. And that it's producing visible results.

I learned a long time ago that it really doesn't matter what language you use, the amount of actual time and effort spent on a project is pretty much invariant. The main difference is whether you spend more of it designing, coding, or debugging. Of course, if being properly debugged and secured is not a priority, you can use a language platform that spends less time on the design/code phase and be "done" quicker. But what you often get later is headlines about horrible security breaches.

What language is Quora written in, BTW?
 
Ranch Hand
Posts: 70
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
As per the recent survey  TIOBE Index for December 2018
Java is still modern and kicking.......
 
Ranch Hand
Posts: 42
1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

AWS Lambda's pricing model is "pay as you go", so the customers pay only for the computing resources used. This makes the service very cost-efficient, not to mention a free trial period. In fact, the users pay for the used memory, the number of processed code requests and the code execution time rounded up by 100 milliseconds. Just compare it with the hourly EC2 billing rate and witness the granularity and level of control available when using AWS Lambda.

Instead of 24/7 availability common for IaaS, PaaS and SaaS cloud pyramid layers, AWS Lambda is event-driven. The code executes only when it's needed and consumes zero resources when not triggered. Obviously, this is a huge benefit for applications that are quiet for a long time and then have to meet the demand for resources during the peaks of usage.

Lambda has a setting called the "Number of concurrent requests", which allows it to scale nearly instantly to a huge number of parallel code execution processes. Downscale is as simple — the unneeded functions stop running automatically once the code is executed.
 
satya Priya Sundar
Ranch Hand
Posts: 70
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

AWS Lambda's pricing model is "pay as you go", so the customers pay only for the computing resources used. This makes the service very cost-efficient, not to mention a free trial period. In fact, the users pay for the used memory, the number of processed code requests and the code execution time rounded up by 100 milliseconds. Just compare it with the hourly EC2 billing rate and witness the granularity and level of control available when using AWS Lambda. Instead of 24/7 availability common for IaaS, PaaS and SaaS cloud pyramid layers, AWS Lambda is event-driven. The code executes only when it's needed and consumes zero resources when not triggered. Obviously, this is a huge benefit for applications that are quiet for a long time and then have to meet the demand for resources during the peaks of usage.
Lambda has a setting called the "Number of concurrent requests", which allows it to scale nearly instantly to a huge number of parallel code execution processes. Downscale is as simple — the unneeded functions stop running automatically once the code is executed.




No offense here, but you are talking about something irrelevant here on this forum .. and its even more annoying if you don't know what you are talking about...

Java 8 Lambda is a language feature that enabled java as a modern programming language moving closure to a functional programming paradigm, in the third edition of The Effective Java, Joshua Bloch he recommends

Lambdas are the best way to represent small function objects. Don’t use anonymous classes for function objects unless you have to create instances of types that aren’t functional interfaces



Here is a link for a good introduction for you on Java 8 Lambda Expression  Quick Introduction to Java Lambda expression
 
Ranch Foreman
Posts: 1026
24
IBM DB2 Java Netbeans IDE Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Tim Holloway wrote:Speaking of languages that were going to make that creaky old Java obsolete, I notice that you didn't say anything about Ruby on Rails. Remember RoR?

Sic transit gloria mundi.


There was a time when RoR seemed to be able to swallop up Java. RoR main advantage was to let you build a website in no time, while with Java you needed to fight with Servlets, beans, tomcat and so on.. And of course there is always a boss eager to see quickly results.
 
Tim Holloway
Bartender
Posts: 19996
95
Android Eclipse IDE Linux
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Two things killed RoR, I think. One is that it had massive security issues - something it has in common with a lot of the other scripting languages, including the ever-popular PHP.

The other is that if I'm not mistaken, it was one of those systems where you could create many apps very rapidly - as long as they were all the same app.

Most of the "programmer-killer" development systems are very productive until you need something that they don't cover. And the users always demand something that they don't cover.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!