Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


 
 

The Next System Programming Language

Posted by Gigi Sayfan on Sep 25, 2015

Innovation in programming language design has been very visible over the last two decades. Java was the catalyst. It introduced many novel concepts such as garbage collection, the Java Virtual Machine and real cross-platform development to the mainstream. It also had cool applets. A few years later Microsoft came out with C# and a little later the scene exploded with dynamic languages like Python and Ruby gaining a lot of traction and real world success. Then, a lot of other languages piggybacked on the JVM and of course JavaScript became the de-facto language of the web. But in the frenzy, good old static, compiled languages were left behind. C++ took its time trying to get with the program and there were no other contenders for the main stage (D is nice, but never became popular).

Enter Mozilla - Mozilla has always created innovative stuff. Firefox was built in C++ on a technology called XPCOM (Cross Platform Component Object Model). This took Microsoft's very successful COM technology and created a cross-platform version from scratch. A couple of independent cool products were even developed on top of it (Python IDE Komodo from ActiveState). But, it was a very complicated piece of software.

Fast forward to today and Mozilla is building a new prototype browser using a new language of its own making, known as Rust. Rust is very unique. It brings memory management to the front and in the process also takes care of concurrent programming. It's able to detect a slew of issues at compile time that traditionally were discovered only at runtime. It is said - tongue in cheek - that if your program compiles it is correct. The problem is that getting a Rust program to compile is a non-trivial adventure. I played with Rust a little bit and it requires a lot of persistence. Right now, version 1.3 is out. There is an enthusiastic community around Rust and a lot of things are done right. They put a lot of emphasis on documentation. There is support for projects and packaging is not an afterthought (Python's Achilles' heel). Rust has great integration with C and other languages, so you can leverage many existing libraries.



I believe Rust is going to be a major player where critical, secure and performance-sensitive code is required. Give it a try, but don't count on it for serious production code just yet.

TAGS:

system programming, browser, Mozilla, Rust, CONCURRENT PROGRAMMING


Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date