New alternatives for mainstream server-side programming

Aug 30, 2018 by Cristian

According to w3techs.com, in August 2018 the usage of server-side programming languages for websites was dominated by PHP with 83.5%, followed by ASP.NET with 13.1% and Java with 2.2%. The same statistics show that PHP kept growing for the past 3 years, while ASP.NET and Java had a downsizing trend.

However, over the past decade new technologies have emerged, such as Ruby & the Ruby on Rails framework and Node.js, and although their popularity is still moderate, their ascend seems promising. Ruby is used by 0.6% of websites, while Node.js powers 0.3% of them. So let's see what these technologies have to offer to a web developer. We'll also look at three more up and coming programming languages, namely Go, Scala, and Rust.

 

Ruby & Ruby on Rails

Ruby was released in 1995 by the Japanese Yukihiro "Matz" Matsumoto as a general-purpose programming language. It was designed to support more than one programming paradigm, including object-oriented, functional and imperative. The vision of Matsumoto was to create a programming language that would make the experience of writing code enjoyable (many agree that he achieved his goal), while also increasing developers’ productivity. Thanks to it being closer to a naturally spoken language, Ruby quickly became the first language of choice for many beginner developers.

Ruby on Rails appeared in 2005 as an open-source full-stack web application framework, which boosted Ruby's popularity, and since then it has been used by companies such as Twitter, Amazon, Airbnb, Cisco, and EA. Developed by David Heinemeier Hansson, Ruby on Rails employs useful software engineering patterns: convention over configuration, active record pattern, model-view-controller, and don’t repeat yourself.

Some of the advantages of Ruby on Rails are:

  • higher development speed (thanks to a modular design);
  • multi-platform support;
  • changes are easier to be performed after the website is launched.

My opinion is that web developers will find writing code in Ruby as “precious” as a gem :)

 

Node.js

Node.js was created by Ryan Dahl, and resulted from his desire to have a programming language that can create websites with push capabilities (the publisher initiates the request for a given transaction). Node.js is written in JavaScript and C++, which means that web developers who are familiar with JavaScript will find themselves at home.

It has a vibrant open-source community that constantly produces new modules that add increased capabilities to Node.js applications. This is also fueled by the fact that you only need to know the JavaScript language to produce front-end as well as back-end code.

Some of the great advantages of Node.js are:

  • performance - it does not create a thread for each incoming connection, but instead will allocate a small heap of memory;
  • the fact that it is event-oriented;
  • it has a single-threaded non-blocking approach for requests.

Node.js should not be seen as a new platform which is here to replace other platforms, but rather as a platform that fills some particular needs, especially one that solves the I/O scaling problems, and it is best used in server-side web applications, chat applications, queued inputs, and data streaming.

Node.js is used by companies such as LinkedIn, Microsoft, Yahoo!, and Walmart. Microsoft also integrated a Node.js tool into its Visual Studio IDE, recognizing the place that Node.js has amongst web developers.

 

Go

Go (also known as Golang) is a programming language designed by Robert Griesemer, Rob Pike, and Ken Thompson at Google. It is a statically typed, compiled language, with garbage collection, memory safety, concurrency, and structural typing. Its source code is free and open source – anybody can contribute to the language by making proposals for new features and fixing bugs.

The primary reason for designing Golang was to solve software engineering issues at Google. Its authors also mention that Go was actually developed as an alternative to C++. Being a systems programming language, Go is best used for things such as distributed systems (due to concurrency support), microservices, and cloud systems (web servers, caches).

Some of the advantages of the Go language are:

  • simplified C-like syntax that is easy to read and write;
  • goroutines – a lightweight thread managed by the Go runtime;
  • it compiles quickly, thanks to regular grammar and supporting modules properly.

Go is used by Google for many projects, as well as by other companies such as Netflix, Twitch.tv, Uber, and Dropbox.

 

Scala

Scala is a general-purpose programming language designed by Martin Odersky and released publicly in early 2004. An object-oriented programming language, Scala also provides support for functional programming and is designed to be concise. 

Many of Odersky’s design decisions aimed to address various criticisms of Java. Scala is designed to express common programming patterns in a concise, elegant, and type-safe way. It has a flexible syntax and type system that enable the construction of advanced libraries and new domain specific languages.

Some of the advantages of Scala are:

  • immutable values that make it perfect for working with concurrency;
  • type inference, which allows developers to focus on the code itself, rather than on updating type annotations;
  • solid parallelism and concurrency mechanisms.

Scala is used by companies such as Twitter, Foursquare, Coursera, SoundCloud, and Duolingo. Some notable online news publications also use Scala: The Guardian, The New York Times, and The Huffington Post.

 

Rust

Rust was originally designed by Graydon Hoare and first appeared in 2010, while the first stable version was released in 2015. Sponsored by Mozilla, it boasts a feature set that has an emphasis on safety, control of memory layout, and concurrency. Its syntax is similar to C and C++, with blocks of code delimited by curly brackets.

Some of the advantages of Rust are:

  • catching errors during compile time (since it’s statically typed);
  • built-in support for concurrency;
  • the fact that it compiles to machine code, allowing for extra efficiency.

In regards to web development, there are many approaches to creating web apps in Rust: you can compile Rust code to client-side JavaScript, or write a RESTful API, or even build an isomorphic web app.

Although it has a difficult syntax and a steep learning curve, Rust has been ranked as the most liked language by developers for three years running in StackOverflow surveys.

 

In many areas of software programming, new technologies are replacing the outdated ones, but in web development this is not the case, because new technologies are providing new ways for solving various issues. Web developers should not be overwhelmed by the number of programming languages and frameworks available out there, but instead they should choose the proper technology depending on their needs.


Tags: Go  Node.js  Ruby  Ruby on Rails  Rust  Scala 


Comments


Visit the site commented on 10/5/2019 9:14:31 AM

I am so charmed I positioned your online journal, I absolutely placed you improperly, while I was valuing on google for a consisted of variable, Anyways I am right valued appreciated right here presently together with furthermore can simply get a bang out of the possibility to insurance policy coverage plan protection method security together with protection in addition to safety and security and safety in addition to in addition protection together with on top of that safety and security as well as additionally security and protection method insurance protection approach defense problem to recognize for a significant message along with furthermore a throughout jazzing up net web site.

     

TheExamDumps commented on 10/5/2019 11:48:49 AM

I found Hubwit as a transparent s ite, a social hub which is a conglomerate of Buyers and Sellers who are ready to offer online digital consultancy at decent cost.
     

Mobile Apps Development commented on 10/18/2019 12:45:32 PM

Thank you as always for sharing your thoughts and experiences with us.
     

Corporate Wellness Portal commented on 10/18/2019 12:47:22 PM

Thank you for sharing info
     

TheExamCerts commented on 10/19/2019 10:50:04 AM

I found Hubwit as a transparent s ite, a social hub which is a conglomerate of Buyers and Sellers who are ready to offer online digital consultancy at decent cost.
     

Professional preschool classes for kids commented on 10/22/2019 4:22:13 AM

Thank you for grate info
     

voyance par telephone commented on 10/23/2019 12:16:14 PM

Three are usually cheap Ralph Lauren available for sale each and every time you wish to buy.
     

Call of duty mobile Cheat commented on 10/27/2019 2:19:53 PM

We are tied directly into the sate’s renewal database which allows us to process your request almost instantly
     

dentist treatment services commented on 10/28/2019 11:38:19 AM

I suggest, what you specify is vital as well as furthermore all. Your item goes beyond yet with photos in addition to in addition furthermore videos, this web net website might absolutely be merely amongst the outright finest in its particular specific niche.
     

leedon green condo commented on 10/31/2019 1:26:35 PM

Wow! Such an amazing and helpful post this is. I really really love it. It's so good and so awesome. I am just amazed. I hope that you continue to do your work like this in the future also.
     

sengkang grand residences price commented on 10/31/2019 1:47:44 PM

It's late finding this act. At least, it's a thing to be familiar with that there are such events exist. I agree with your Blog and I will be back to inspect it more in the future so please keep up your act.
     

dui attorney los angeles commented on 11/2/2019 7:41:08 AM

I do not presume I have actually examined anything such as this before. So excellent to find a person with some first ideas on this subject. A fantastic task for bringing something brand-new to the web!
     

Hotmail commented on 11/7/2019 6:24:48 PM

Wow! Such an amazing and helpful post this is. I really really love it. It's so good and so awesome. I am just amazed. I hope that you continue to do your work like this in the future also.
     

gmail login commented on 11/7/2019 6:25:18 PM

Glad to chat your blog, I seem to be forward to more reliable articles and I think we all wish to thank so many good articles, blog to share with us.
     

armband silber damen commented on 11/9/2019 12:09:17 PM

It's late finding this act. At least, it's a thing to be familiar with that there are such events exist. I agree with your Blog and I will be back to inspect it more in the future so please keep up your act.
     

Galerie Hannover commented on 11/12/2019 10:49:37 AM

If you are looking for a new experience of Galerie then visit Leine Art for the Best Experience in Hannover.

     

assignment commented on 11/12/2019 12:24:20 PM

You actually make it look so easy with your performance but I find this matter to be actually something which I think I would never comprehend. It seems too complicated and extremely broad for me. I'm looking forward for your next post, I’ll try to get the hang of it!
     

Your Comment:






Blog Home   SBP Home
RSS Feed       Contact




Archives




 Blog Archives  |  Terms of Use  |  Privacy Policy
© 2019 SBP Romania. All rights reserved.