Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 1 year ago.
Improve this question
Background:
Around next year I will finish university and wanna learn some skills that help me in the industry. For that, I choose to learn Spring Boot, cause I currently like the JVM environment and already have "ok´ish" knowledge in Java and Servelt/Tomcat. In addition, I got some basics in kotlin through app development, so I know that I like both Java and Kotlin.
Question:
If I got it right, Kotlin is the first class citizen in Spring Boot now, but the industry is really slow in adapting new technologies.
So if I learn Spring in Kotlin,
can I easily switch to Java Spring?
do companies care?
do I miss out on other, more important skills that I can learn instead?
Thanks in advance for every input :)
Gretings Pascal
So if I learn Spring in Kotlin,
You will learn Spring, using Kotlin. Spring is a JVM framework, the API you will interact with is the same in Java or Kotlin.
can I easily switch to Java Spring?
You can even mix Kotlin and Java in the same project and it will work, however I do not advise doing so. It's also possible to translate from Java -> Kotlin (IntelliJ does this if you paste java code in a .kt file!) or Kotlin -> Java, however the output code is not very nice :)
do companies care?
You should ask this to your superiors, it depends a lot on the company policies. In general, Java has a much bigger market specially for big companies which move slow and are afraid of changes. Kotlin is mostly sought for Android development, on which Spring is not recommended.
Nevertheless, if you already know Java and just are interesting only in learning Spring I suggest you use Java for this.
do I miss out on other, more important skills that I can learn
instead?
I'm also a Java and Kotlin programmer for the backend and I can say that the Kotlin opportunities are mostly for Android development, it's odd to find roles for Kotlin backend development.
If you're looking to prepare for your first job I'd say don't worry on learning a new language, Java has a lot of opportunities. I suggest you focus instead on learning the other important aspects of development (databases, cloud services, containers, testing, software engineering, networking, etc.) those will be far more valuable than knowing two very similar programming languages.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
The community reviewed whether to reopen this question 11 months ago and left it closed:
Original close reason(s) were not resolved
Improve this question
I built an application using GWT in 2012 and it has worked fine until now when a major functionality upgrade is required.
I used GWT because my background is Java and having worked in MVP type projects prior to that it was a good fit.
Today, any problem I encounter and do a google search for has answers that are posted 2 to 3 years ago ( and in a lot of cases don't solve my own issues ) This is telling me that GWT is being left behind.
Because I built the app primarly as a hobby to learn GWT I feel like I would like to learn a more recent framework when rebuilding my application.
So to narrow it down, I want to know if there is any suitable more recent alternative to GWT out there that still allows me to code in Java.
I understand this may seem like a broad question where answers will be mainly based on opinion but how else can you pick peoples brains except asking "What is your opinion" How do I do a,b,c using Java is going to be answered 3 different ways by 3 different people based on their opinion of how it should be done.
I have heard about Vaadin (https://vaadin.com/home)
Vaadin is a covering around GWT giving you more flexibility to work and the same time maintaining the GWT like experience.
Otherwise this is a good compilation, you could pick what you might need:
https://github.com/jashkenas/coffeescript/wiki/List-of-languages-that-compile-to-JS
As a long time GWT user I am increasingly drawn to AngularJS. Obviously we're talking JavaScript rather than Java here, but coming from a Java background myself I'm finding JavaScript with AngularJS a decent alternative to GWT.
Check OpenXava it's easy to use. http://www.openxava.org/ate/gwt-alternative
There is nothing wrong with GWT per se. Polyglot programming has real costs and there is plenty of activity e.g. on gitter. https://gitter.im/gwtproject/gwt
New users can use https://github.com/gwtboot to get started and there are modern ui kits like https://dominokit.github.io/domino-ui-demo/index.html?theme=indigo#home
Since you still want to code in Java and want to learn something new, i would suggest using "modern GWT", i.e. using elemental2 / j2cl. You should consider learning to refactor your app to separate your view layer from the underlying ui framework. Avoid the parts that will go away in GWT 3.0 such as RequestFactory
JSF? http://en.wikipedia.org/wiki/JavaServer_Faces
It's the "official" (part of Java EE) framework for Java web apps. I've used it briefly in the past and was relatively happy with it. I very much prefer it over other frameworks that still rely on JSPs.
cuba-platform if you are looking for ready made components and Web Firm Framework if you are looking for a framework which can be used to build any UI component. Both are java frameworks to build web ui.
I would recommend learning either Swing or JavaFX.
Swing has been arround since Java 1.2 and is the more "mature" one.
javaFX is their new "hip" version and was introduced into the JDK at version 7.
Personally I'd go for JavaFX just to be "future-proof".
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I have a legacy ISO prolog application of medium size that I would like to move to a JVM based language. The application is a command line tool that parses text files, does some evaluation/transformations and then export a text based file.
My team develops mainly in Java so we have a lot of existing java competence and reusable components. Prolog competence is however very low.
I don't expect there to be a tool that takes prolog source code and transform it to some other language. But I'm trying to understand what would be the easiest solution. Starting from scratch in Java or using a more functional language like Clojure?
But I'm trying to understand what would be the easiest solution.
Some implementations of Prolog run on the JVM platform. Wikipedia lists 5 of them here: http://en.wikipedia.org/wiki/Comparison_of_Prolog_implementations. So maybe the easiest solution is train someone in your team in Prolog, and just port the application to a JVM Prolog implementation. (Which might be a simple thing ...)
Someone on your team is likely to need Prolog skills anyway to successfully translate Prolog to some other language.
However, I recognize that there could be other reasons to translate; e.g. if the existing Prolog code needs a major overhaul anyway.
That is mainly depending on your team's skill. You mentioned that your team has a pretty good Java skills; why not starting with that?
If they don't know LISP, they will spent a lot of time learning it from the scratch. Learning LISP is quite an investment but it is definitely pays in the end.
Although Clojure is going to help you a lot in your case (because of data flow and data transformation), I would say that Java is a better bet since your team is competent with it.
You could consider using Clojure together with core.logic (tutorial) which is a miniKanren implementation. You would need some logic/functional programming skills but you could stay on the JVM.
Prolog is so different from java and other Object Oriented Language. I studied this language to see an other way of programming.
But I dont think there is a magic solution to convert prolog app to a java app. The logic is not the same and no other language is like Prolog. I think you will have to analyse what your prolog app does exactly and go from scractch with a new java app.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
What would be a good Java framework to explore for someone looking to learn? I've played around with the Android api but had someone ask what other frameworks I had experience with so I thought I should spend some time working with another. What's the best bang for my time?
There are many java frameworks but we can categorize two parts.
Standard Frameworks
JSF
JSP & Servlets
JPA
EJB
Non Standard Frameworks
Spring
Strut
Wicket
GWT
Hibernate
Seam
Play
Others
For web frameworks i suggest : Spring, Hibernate, Struts, Primefaces (cool stuff) .
It really depends on what it is you're trying to gain experience with. If you are looking for web frameworks, gaspyr named some decent ones you should try (I've worked with Spring myself). If you are looking to develop just desktop applications or embedded solutions, I would just go with tackling the standard JRE, and take special note on how the differences between how applications, applets, and servlets run. It's always good to know about the underlying libraries themselves rather than just understanding the syntax and attempting to use a framework to solve all problems without understanding how they might work under the hood.
But this is a really open ended question, and it's difficult to know exactly what you're looking for and why.
Framework choice depends on many factors and good documentation is not the least.
There is incredible book "Spring in Action" if you will decide to start with Spring.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I'm teaching a college course on mobile application development and would like to introduce my students to a REST framework for use with App Engine, to help them with data storage for the Android apps they're building. Could anyone recommend a Java REST framework for App Engine that meets the following criteria:
Must have:
Easy learning curve
Well-documented, with clear tutorials and sample programs
Clean abstractions
Free as in beer
Works well with Eclipse
Nice to have:
Android client
Free as in speech
Not important:
Able to support large query volumes
Highly customizable
From my web searching, Restlet looks best. Is there any other framework I should consider?
Well, I would highly recommend play framework
Have a look at the video on the homepage
It has a gae module
With siena as a orm to handle gae datastore
From all the java frameworks I've seen so far, I think it has the easier learning curve,
great documentation,
a tutorial to develop a complete application
very active and helpful community
free as in beer and also as in speech
highly scalable due to it's stateless out of the box design
rest friendly
highly customizable via it's modules and plugin approach
more over, taking into account it's for a college course, it's really easy to hack into the code, I could handle a couple of tickets and new features without any experience at all with java, just a couple of year developing web applications with php
other benefits
it's really easy to start, no complicated setup involved, just download and unzip the file and your are ready
great development experience, just fix the code and hit refresh, play autocompiles changes on the fly when running on development mode
fast and lightweight
fullstack, you don't have integrate cumbersome frameworks to make it work
great errors report, no more endless error stack trace, just shows you the line with error
no xml configuration anywhere around
great support for tdd with selenium integrated test
I think the main advantage as a learning tool, is that it's possible to peek into the source code without feeling lost and the community support... The documentation is very clear, and you can learn a lot by just having a look at the source code...
Jax-RS...Restlet was written before this but was modified to implement Jax-RS.
This is a similar answer you might find useful.
Could you take a look Spring framework?
i think it may be contented with your request.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
For the past few years, I've been working on a team that does .NET and SQL Server. I'll soon be joining a team that is Java and Oracle. What can I read/do to get up-to-speed.
Start here: http://java.sun.com/javase/6/docs/
Sun's documentation is pretty good.
See also:
Hidden Features of Java
Best Java Book you have Read So Far
Overriding Equals and Hashcode in Java
What is the Most Freequent Concurrency Problem You've Encountered in Java
Javapassion is a site that offers free courses on Java. If you are on a hurry, there are 1 to 5 days courses available. You should have no problem following it, if you have experience in Java.
There are many good books for Java, but Thinking in Java is free and is good both for getting started and using as a reference.
If you need conversion of things from one language to the other here is a great website:
http://www.25hoursaday.com/CsharpVsJava.html
This, similar, SO Thread might be helpful.
Josh Bloch's Effective Java is a fantastic book. If you want to learn modern Java idioms there are few better places to look at.
Be prepared to do a lot of reading. C# (assuming this was the language you have been using)is generally regarded as an improved Java, so the Java basics will not be hard to grasp. Java development tools are generally not as tightly integrated as the Microsoft stack, thus allowing for choices to be made. Lots of discussions in Javaland revolve around choosing tools.
Get to know something about the way Java packages things (jar, war, ear).
Learn about the classpath (an endless source of joy and grief).
Build a mental picture of how things work at compile time and run time (generics and type erasure, for instance).
Visit the JavaRanch (http://www.javaranch.com/) and test your Java knowledge with the Rules Roundup! Think of it as a certification mock exam, but with cows. ("No cows were harmed in the making of Rules Roundup.")