GithubHelp home page GithubHelp logo

intro-to-scala-for-java-devs's Introduction

Scala For Java Devs

What's wrong with _____?

Why are you here? What is interesting about Scala? Doesn't Java do everything we want? These are some questions that you may have asked and should ask. Not just about Scala, but about any new technology. What is the void this technology is attempting to fill? Are there already similar tools that attempt to do this? What makes this technology the better choice?

Technology is in the eye of the beholder

In the end of the day technology is about adoption. It is about using specific tools to achieve a common goal. If you come up with the latest and greatest technology that no one can understand there is only so large of an audience that will appreciate it. If an enterprise is heavily committed to a specific vendor or technology it will take considerable costs to move to that new technology. Will the cost of learning and integrating this new technology truly be worth the gains?

For a given project or task there may be a technology that is more suitable as it has features more appropriate for carrying out that task. However, the older more mature and well known technology while it may not be the best it may be the easiest and best choice on the whole.

JVM

One of the big things that Scala brings to the table is that it maintains backwards compatibility with Java. That means all compiled Scala code is accessible (to some degree) in Java. The inverse is of course true as well, in Scala you can access all of your Java code. No matter how great Scala may be the fact that it can leverage all of the tools that are already present for the JVM gives tremendous distinction.

Okay, tell me about Scala

Scala is a multi-paradigm programming language. That means it isn't just functional, or just object oriented. It posses many qualities and attempts to allow the developer to leverage the desired features. The first and most important thing I will tell you about Scala, is that it tries to make the compiler smarter. Scala attempts to utilize the inferences that may be drawn from certain statements. Scala is all about being concise and simple without sacrificing power. Scala is statically typed like Java. Scala is very much like Java to the extent that there are many automated tools that can convert source code to and from Java and Scala.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.