Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I know this question might be little silly but I can't seem to find the right answer. I studied Java in school and the java I know is object oriented and used Eclipse/Netbeans and also Notepad++ for coding. Used java API and i also know java swing library. When i went to interviews they asked me if i had any experience with Java spring, hibernate or Java EE since my resume implied that I am proficient with Java.
Can anyone tell me what is the name of the Java that I know?
Java SE; "Core Java".
It's not "J2SE" any more, hasn't been for years.
Neither Hibernate nor Spring are Java EE, but they're not part of Java itself, either. They're just wildly popular libraries/frameworks. Hibernate happens to be an implementation of JPA, and Spring supports some Java EE annotations. They can both be used in either Java SE or Java EE environments.
You are using Core Java....Core java is all the basic classes and API's. It is the Java equivalent
of the "C lib" or the intrinsic controls and built-in-functions in VB.
These are then added to with extra API's to make a "platform", that is
the complete set of API's needed to run an application.
Core java + common API's exist for different application areas, so we
have the Java EE platform, the Java SE platform and the Java ME one, for example.
This is common sense, it means developers of paricular types of
applications need to add little or nothing to the platform to support
thier apps whilst avoiding ridiculous bloat.
Note that you can take "core java" and add to it all the packages you
need to make a full blown JSP web/app server. It is more convinient to
take a platform which allready has this type of stuff included.
Related
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.
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 7 years ago.
Improve this question
I have been searching for pros and cons of both technology but still not sure what to do
We have a web application created in java but its tool [sic] old and we have to [sic] options either to revamp it completely in java or write fresh code in ruby on rails
-from developers point of view both are new language [sic]
I think you should look into JRuby. It's a Ruby interpreter written in Java. The upside to this is that you can switch between Ruby and Java in the same project effortlessly, and you have access to the Java standard libraries and its whole ecosystem of third-party libraries. The main disadvantage to JRuby is you can't use any Ruby gems with compiled components (you can use Rails though).
Ruby vs Java:
Ruby is more modern and more flexible: it supports many different programming paradigms, whereas Java is strictly OOP.
Ruby has a terser syntax and often requires much, much less effort to get the same tasks done as they would require in Java.
Java has a larger standard library and broader support for legacy technologies.
Ruby is often slower to run and requires more memory than Java, though this gap has closed somewhat with the release of Ruby 1.9.
There is a broader base of support for Java (though Ruby's support base is by no means small).
Ruby on Rails vs J2EE:
Rails requires less time and effort to get a website up and running.
Rails requires less configuration, provided you are willing to accept Rails's sensible defaults.
Like Ruby, Rails requires much, much less code to accomplish the same task as it would require in J2EE.
J2EE libraries (such as Hibernate) are often more flexible and more powerful than their counterpart Rails libraries (e.g., Active Record), but at the expense of coding and maintenance overhead.
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 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 6 years ago.
Improve this question
I am interested in using OCaml or Haskell to develop an engine for statistical computing. This functionality is supposed to work on data that is going to be provided by a model driven, Object Oriented information system. The whole thing needs to scale up and out.
I can see a lot of benefits in using Haskell for example, but getting the data in an out of the Haskell code is tricky. There are always out of the box options like C/C++ interfaces or JNI, but in an architecture which is supposed to scale, I find these approaches problematic and error prone.
Considering FP is on the rise, how do people integrate these languages into widely used languages, hence technologies such as Java? I have been using ZeroMQ and Protocol Buffers for Eiffel to Java integration for example, but are there any options which has proven to be stable and high performance?
Ps: Stackoverflow warns me that this question appears subjective, but I am asking about actual technical solutions to connect different runtimes. I have no intention of discussing pros/cons of any language or paradigm.
Have you considered using Scala? It supports functional programming on a JVM platform. You could integrate it with Java, but you might find that is not needed.
You may also find it is faster than Haskell, esp. with tighter integration with Java.
http://benchmarksgame.alioth.debian.org/u64q/which-programs-are-fastest.html
F# will give you functional programming with the .Net platform for "free".
OcamlJava can interface Java with Ocaml:
OCaml-Java is an effort to make Objective Caml available on the Java platform, currently supporting 3.11.2. The project has two concrete objectives: first, the ability to run Objective Caml sources that have been compiled using ocamlc; second, the ability to compile Objective Caml sources into executable jar files.
You use languages such as Scala, i.e. languages that already run on the JVM.
There are plenty functional languages that run on the JVM and thus integrate quite nicely with the rest of the java code.
My favorite is Scala, but there is also Clojure and Groovy, just to mention a few.
Using Scala or F# would be the real solutions as others say, but just in case if you like something easier to start with, you can also do some functional programming in Java (or C#) like these people https://www.google.com/search?q=functional+programming+java as FP is a programming style that favors immutability.
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
I have started to program in Java SE recently, and I noticed from many articles and heard from rumours, that Android applications are developed in Java, or in a language similar to Java.
I noticed also that there are other packages to use, because we have to develop for mobile devices.
Until recently, I was never interested in mobile devices and applications, like the Android OS, but now I understood that this is the future, and a great chance of a job.
My question is: if in the near future, I want to develop something in Android, do I have to learn a different Java language than I used to program now?
Are there a lot of differences, programmatically, between the Java language and Java used in Android?
Thanks.
There is no difference between Java and Oracle's Java . It's called Oracle Java because Oracle owns Java. You can develop the Android application using Core Java.
If you know Core Java then you just need to learn the Android SDK to develop Android applications.
Refer this site for learning Android: Android Developer Site .
Android applications are written (most of the times) in Java. This is a pure java with additional libraries, minus some of the UI libraries (such as swing). It even compiles to class files, and then converted to .dex files which are the executable for the Dalvik VM.
If you already know Java, you'll need to learn the usage of the Android SDK and operating system, not a new programming language.
See some basics at the Android developer site
The omission of many of the base class libraries (eg those that are in the javax namespace) means that while the language is identical, many libraries written in Java will not work out of the box.