When comparing Swift vs Java, the Slant community recommends Swift for most people. In the question“What is the best programming language to learn first?” Swift is ranked 36th while Java is ranked 56th.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Modern syntax
Pro Swift is closer to other platforms
Apple’s modern programming language is easier to understand for non-iOS developers and minimizes time for additional explanations and clarifications. Moreover, Swift can be used as a script language. It is an interesting solution for the iOS community to unify writing of build scripts. At the time being iOS developers are split up in regard to this activity. Some of them write build scripts in Bash, others use Ruby, Python, etc. Swift gives an amazing opportunity to be applied to all iOS programming needs.
More details can be found here https://mlsdev.com/blog/51-7-advantages-of-using-swift-over-objective-c
Pro Works with Apple's Cocoa and Cocoa Touch frameworks
Pro Can be used as a Just-In-Time language
Pro Inherent parallelism
Pro Low memory footprint due to reference counting
Pro Backed by Apple
Pro Performance speed comparable to native C
Pro Swift has some clever tricks up its sleeve
Due to having elements of a functional programming language. Things like 'map' and 'filter' for example.
Pro Uses LLVM compiler and Obj-C runtime allowing C, Objective-C, Objective-C++ and Swift code to run side by side within a single program
Pro Verbosity
It makes it easy to debug and to read code.
Pro Mature ecosystem
The language and all its tools have enough time to age and they've aged well.
Pro Type-safe
It is easier to catch errors sooner.
Cons
Con Swift is a moving target
They've released 1.2 so far, and 2.0 is coming soon. Every small update brings adjustments to paradigms (such as how to do type casting) that can be a little frustrating to absorb. Objective C was also constantly updating, however, but not at the same rate these days.
Con Memory hungry
Running the virtual machine, application server and application itself consumes significant amount of resources.
Con Unnecessarily obtuse and verbose
If you like typing 40 lines of code to open a file, Java is the language for you. If, on the other hand, you’d actually like to get something done, look elsewhere.
Con Oracle
Enough said.
In more detail: Oracle has acquired Java from Sun and continues to surround it with controversy ever since (legendary lawsuit with google, money extortion from the enterprise users etc.).
