My Explorations & Adventures (Visit synesis.in for more details)

Role of Lightweight Languages

Being ardent follower of formal programming languages and frameworks like Java, JEE, I see a shift in this arena; alternatives like Python, JavaScript, Scala & Go offer greater role.

Python with its libraries & frameworks like Pandas, NumPy & Tensor Flow are being used in Data Wrangling & Analytics, Machine Learning, and Artificial Intelligence.

JavaScript is out of web browser; Node.js allows to run JavaScript on the server.

Go with its concurrency mechanism make it easy to write programs that get the most out of multicore and networked machines.

Scala a JVM based language is core of Spark, a fast and general engine for large-scale data processing.

Even for Android Development it makes sense to use Kotlin, a JVM based language. It enjoys the benefits of creating less code and other advantages from this new language.

Fortunately their learning curves are not steep, migration for Java community is easy.

1       Reasons for Shift

1.1        REPL (Read-Eval-Print-Loop)

The revolution is prompted based on requirements for new applications and their user is changing. Data analysts need a platform where they can see results of querying data instantaneously without getting into compiling and executing massive programs, applications. Python’s REPL provides that missing link.

1.2      Number Crunching

Machine Learning & Artificial Intelligence requires a framework, which provides support for multidimensional data and its transformation, Tensor Flow from Google provides relief here. It uses other python libraries like NumPy.

This does not requires a traditional Object Oriented paradigm here.

1.3      Business Logic

Hyperledger Fabric is a blockchain framework implementation and one of the Hyperledger projects hosted by The Linux Foundation. Fabric need developers to focus on coding business logic, rest is taken care by the Fabric’s Framework. Node.js & Go excels here and plugs the gap.

1.4      Devices

Programs residing in modern devices do not need a complete JVM; only selective modules of the entire java offerings are required.

It’s a win-win situation for developers, they can come to speed quickly without learning other nuances of language

2       Suggestions for Architects & Developer

It’s fun & pays to learn Python, brush up JavaScript with Node.js and look at Go Lang. Python is no more a plain vanilla option.

Java lately realized missing links, its recent version 9, plugs in gap by providing these features.

Java still provides JVM for Scala & Kotlin and plays a role in traditional server side processing. Getting involved with it helps.

Please feel free to touch base with me for any help.

« »