Granny's Programming Pearls
"inside of every large program is a small program struggling to get out"
JavaRanch.com/granny.jsp
  • 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
  • Liutauras Vilda
  • Tim Cooke
  • Jeanne Boyarsky
  • Bear Bibeault
Sheriffs:
  • Knute Snortum
  • paul wheaton
  • Devaka Cooray
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Ron McLeod
  • Piet Souris
  • Ganesh Patekar
Bartenders:
  • Tim Holloway
  • Carey Brown
  • salvin francis

New Java features

 
Ranch Hand
Posts: 202
5
MS IE Notepad Suse
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
bit off-top: unless you kept up with every new major and maybe study upfront upcomming features - when like stuck with knowledge of a beginners book back for 1.4 and a bit of knowledge of 5.0 (for real: generics are the only v5 stuff I really know - when I use raw types most of my code would compile with 1.4 or may even earlier) with all the new features since change of release model with J9 - one should may consider to re-learn java like a new language

yes, I'm aware of NIO, cocurrency, time, streams, lambdas - and what ever maybe since J9 - but never used them
I even "outlived" FX as I learned only AWT and Swing before FX was a thing - and no it's considered obsolete and removed from releases - and I never used it
btw: with FX marked as obsolete, what's the current gui set to use - as FX should replace Swing as it did with AWT?
 
Saloon Keeper
Posts: 10539
224
  • Likes 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Unless I had another programming language that I considered my primary language, I would be concerned if I didn't practice my skills with new features on a regular basis. Arguably the best Java language feature since generics is try-with-resources, and they would have to pay me large amounts of money to work with a Java version older than Java 7. More important than the new language features are the improved APIs. They are numerous, and it's important to stay up to date with them.

As for a GUIs, how do you figure JavaFX is obsolete? OpenJFX in particular is still going strong. Personally I'm still a bigger fan of Swing because the JavaFX APIs are too clunky for my taste, but FXML was a step in the right direction and definitely something I miss in Swing.
 
Sheriff
Posts: 21788
104
Eclipse IDE Spring VI Editor Chrome Java Ubuntu Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Stephan van Hulst wrote:More important than the new language features are the improved APIs. They are numerous, and it's important to stay up to date with them.


These are relatively easy to keep track off. I even automated most of it (https://robtimus.github.io/whats-new-in-java/ is mostly generated).

Language features are trickier though. Unlike API changes, they aren't as visible. I had to use Google to find https://docs.oracle.com/en/java/javase/12/language/index.html. Out of those changes, I only knew of "Local Variable Type Inference" (var), the forbidding of underscore (_) as variable name, and private interface methods. I forgot about those last two though. I never heard of the improved try-with-resources where you can use pre-existing variables.
 
Stephan van Hulst
Saloon Keeper
Posts: 10539
224
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Rob Spoor wrote:I even automated most of it (https://robtimus.github.io/whats-new-in-java/ is mostly generated).


Bookmarked!
 
Rob Spoor
Sheriff
Posts: 21788
104
Eclipse IDE Spring VI Editor Chrome Java Ubuntu Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Because I create official releases on the repository, if you watch the repository itself you can even let GitHub notify you when I make updates.
 
Matt Wong
Ranch Hand
Posts: 202
5
MS IE Notepad Suse
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
well, I'm only a hobbyist - the most advanced/complete project was a networked battleships game (the positioning code was awful - I guess some smartbrain here could simplefy down - but I don't have it anymore)
so, as what I'd learned from this book was enough to get anything done until now - although I'm aware there're newer techniques to do what I do - but never needed to look at those
so, yes, I'm pretty much stuck at very old level - so, to get back up in sync with current java it would be like learn a new language
same goes for my php knowledge stuck back at v4 - after I started learning java and got my head around object oriented programming I also got aware that this is also possible in php - but never practiced it as I didn't wrote any php since

about FX: I can't give you a source, but I remember to had read FX dev was stopped in it's then current version and won't be included in standard jre releases anymore - also it was in debate if and what would follow up to replace it - lost it as I also never played around with FX (mostly cause I don't use an ide but terminal and shell for dev - so I would had to build my own fxml or don't use it at all (if this is even possibl)
same reason for android dev: never got into it as back then it was only avaible as pre-packaged eclipse built environment - setting up to just do some testing with terminsl would had required lots of work - plus that (guess inspired by FX) R.xml stuff

I consider this "to much for the little I play around with my 'hey, I can tell that dumb machine what to do' skills to really put effort in such as full-in-deep learn of some language
 
Sheriff
Posts: 24635
56
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I've been retired for several years now so I guess you could classify me as a "hobbyist" too. I have this personal application (which I wrote probably a decade ago, it's a rewrite of the Turbo Pascal version) which I fiddle with from time to time. For example when try-with-resources came out, I modified my app to use that feature. (There were about 50 places where it applied, it's a fairly large application.) And I've rewritten most, maybe all, of the anonymous inner classes as lambdas. There's scope for me to rewrite a lot of loops to use streams, I've done a few but there's a lot more in there I'm sure. I should get going and work on that but now that I'm retired I don't seem to have as much free time as when I was working. I used to upgrade Eclipse every year but now I think I'm three or four versions behind. Anyway, if you have some code to work with like that, it's a good way to learn about new features.

It's written in Swing and when JavaFX was the Next Big Thing I briefly considered rewriting it in JavaFX but that would have been way too much work. But here's something I've noticed: on this forum (my impression) there are more questions being asked about JavaFX than about Swing. So that at least says that it ain't dead yet.
 
Have you no shame? Have you no decency? Have you no tiny ad?
Java file APIs (DOC, XLS, PDF, and many more)
https://products.aspose.com/total/java
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!