|By Udayan Banerjee||
|October 3, 2012 10:45 AM EDT||
Do we need programming languages?
You may think that the answer is no. But, if you go by the recent trend you may need to change your mind.
Consider for example the following questions:
- Why is Google working two (GO, DART) new programming languages?
- Why has IBM (X10), Cray (Chapel) and Red Hat (Ceylon) working on creating a new programming language of its own?
- Why did the attendees of a recent conference in London select 5 (HTML5, DART, Scala, Clojure, Node.js) new languages as the most important software development trends for 2012?
- What does Neil McAllister mean when he says that these 10 (DART, Ceylon, GO, F#, OPA, Fantom, Zimbu, X10, Haxe, Chapel) programming languages that could shake up IT?
- Why did Anders Hejlsberg of Microsoft, the creator of Turbo Pascal, Delphi and C# launch TypeScript?
Are new programming languages getting created just to satisfy the creative urge of somebody or has the technology evolution created the need for new way of programming and hence these new languages?
If you look back...
There are 3 periods in history when there was a burst of new programming languages. Each of these periods is linked to a critical point in technology evolution.
|1957-64||Invention of compiler and the era of 3GL||(1) Fortran, (2) Algol, (3) Lisp, (4) Cobol, (5) RPG, (6) APL, (7) Simula, (8) Basic and (9) PL/1|
|1978-84||Invention of RDBMS and the era of the 4GL||(1) SQL, (2) dBase, (3) C++, (4) Oracle Forms and PL/SQL, (5) Informix 4GL, (6) Gupta SQL, (7) Unify Accell and (8) Ingress|
|1990-95||O-O & Multi-tier programming and the era of WWW||(1) HTML, (2) Haskel, (3) Python, (4) Power Script (Power Builder), (5) Visual Basic, (6) Lua, (7) Ruby, (8) Object Pascal (Delphi), (9) Java, (10) Java Script and (11) PHP|
Other important languages which was created outside these time period are: (1) Pascal – 1970, (2) C – 1972, (3) Prolog – 1972, (4) Smalltalk – 1972, (5) Erlang – 1986, (6) Perl – 1987 and (7) C# – 2001. As you can see, they are very few.
Are we entering another period which on hindsight will be classified as another period of technology transition? Only time can tell.
Does cloud computing got anything to do with it?
It most certainly does. But that is not the whole story – there is more to it.
What could the Technology Drivers be?
If you analyze the primary motivation behind these languages, you will see several common themes emerging.
(1) Distributed/Parallel computing:
Programmability of parallel computers (Chapel from Cray, X10 from IBM), Concurrent programming (Clojure, Fantom, Go) and single language for complete cloud stack (Opa)
Cloud computing is all about distributing your process across multiple CPU and running them in parallel or concurrently. Current programming languages are not very well suited for that.
Hence this attempt to create languages tailored for parallel processing.
(2) Multi-paradigm programming:
Languages which support object oriented programming as well as functional programming (Clojure, F#, Fantom, Scala)
Functional programs are relatively easy to parallelize. However, pure functional languages have not been very successful.
Hence this attempt to create multi-paradigm programming language.
(3) Multi-platform programming:
Well this is a dream which we have been chasing for decades. Will it ever be a reality? We never know.
Hence this attempt to create multi-platform language!
(4) Programming at Scale:
Readability, Modularity (Ceylon), Speed of compilation (Go, Zimbu), Suitable for large team (Scala), Meta-programmability and extensibility (Ceylon, Scala), Concise (Scala, Zimbu)
Cloud provides almost unlimited computing power which encourages us to build larger and more complex application. Building such application will require large teams and the code has to be easily maintainable.
Also, the focus on frequent integration requires the process of compilation to be speeded up.
Hence this attempt to create programming language for large application.
(5) Client side programming:
Quick overview of the 12 new languages mentioned earlier
|Language||Who is behind it?||Primary Driver||Licensing|
|Red Hat - Home page||Readability, Predictability, Tool-ability, Modularity, Meta-programmability.Runs on JVM||GPL v2|
|Cray - Home page||Programmability of parallel computersRun on Cray supercomputers and various high-performance clusters.Portable to most Unix-style systems, Mac OS X and Windows||BSD|
|Microsoft - Home page||
Multi-paradigm: Functional + Imperative + Object-oriented.Runs on CLR and Mono
|Google - Home page||Compiled with the ease of programming of a dynamic language, concurrency and communication, speed of compilation.Compiler available for Linux, Mac OS X, Windows||BSD style + patent grant|
|MLstate - Home page||Targeted for cloud computing. Client-side UI, server-side logic, and database I/O are all implemented in a single languageRuntime environment own Web server and DBMS.Runs on 64bit Linux and Mac||AGPL|
|EPFL - Home page||
Scalability for multicore and distributed computing. For large team. Multi-paradigm: Functional and O-O. Extensible.Runs on JVM, Android, CLR
|IBM - Home page||Designed specifically for parallel programming, performance and scale.Runs on IBM AIX, Linux, Mac OS X, Windows||EPL|
|Bram Moolenaar - Home page||Aims to be fast, concise, portable, and easy-to-read and support GUI application to an OS kernel.Compiles to ANSI C||Apache v2|
What is most interesting is that all the 12 languages are available under some form of open source license.
Interesting articles on history of programming languages:
- The History of Programming Languages [Infographic]
- Programming Language History
- A Brief, Incomplete, and Mostly Wrong History of Programming Languages
- Modern books on multiple programming languages
Statistics on Language usage
|JayaramKrishnaswamy 05/09/12 11:40:00 PM EDT|
Continuous Delivery and Release Automation for Microservices By @Anders_Wallgren | @DevOpsSummit #Microservices
As software organizations continue to invest in achieving Continuous Delivery (CD) of their applications, we see increased interest in microservices architectures, which–on the face of it–seem like a natural fit for enabling CD. In microservices (or its predecessor, “SOA”), the business functionality is decomposed into a set of independent, self-contained services that communicate with each other via an API. Each of the services has their own application release cycle, and are developed and depl...
Feb. 5, 2016 06:30 PM EST Reads: 180
With microservices, SOA and distributed architectures becoming more popular, it is becoming increasingly harder to keep track of where time is spent in a distributed application when trying to diagnose performance problems. Distributed tracing systems attempt to address this problem by following application requests across service boundaries, persisting metadata along the way that provide context for fine-grained performance monitoring.
Feb. 5, 2016 03:45 PM EST Reads: 765
The battle over bimodal IT is heating up. Now that there’s a reasonably broad consensus that Gartner’s advice about bimodal IT is deeply flawed – consensus everywhere except perhaps at Gartner – various ideas are springing up to fill the void. The bimodal problem, of course, is well understood. ‘Traditional’ or ‘slow’ IT uses hidebound, laborious processes that would only get in the way of ‘fast’ or ‘agile’ digital efforts. The result: incoherent IT strategies and shadow IT struggles that lead ...
Feb. 5, 2016 03:00 PM EST Reads: 404
[session] From Build to Scale: Lifecycle of Microservices By @fortyfivan | @CloudExpo #Microservices
More and more companies are looking to microservices as an architectural pattern for breaking apart applications into more manageable pieces so that agile teams can deliver new features quicker and more effectively. What this pattern has done more than anything to date is spark organizational transformations, setting the foundation for future application development. In practice, however, there are a number of considerations to make that go beyond simply “build, ship, and run,” which changes ho...
Feb. 5, 2016 02:00 PM EST Reads: 116
SYS-CON Events announced today that Commvault, a global leader in enterprise data protection and information management, has been named “Bronze Sponsor” of SYS-CON's 18th International Cloud Expo, which will take place on June 7–9, 2016, at the Javits Center in New York City, NY, and the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. Commvault is a leading provider of data protection and information management...
Feb. 5, 2016 01:30 PM EST Reads: 329
SYS-CON Events announced today that AppNeta, the leader in performance insight for business-critical web applications, will exhibit and present at SYS-CON's @DevOpsSummit at Cloud Expo New York, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. AppNeta is the only application performance monitoring (APM) company to provide solutions for all applications – applications you develop internally, business-critical SaaS applications you use and the networks that deli...
Feb. 5, 2016 01:30 PM EST Reads: 312
SYS-CON Events announced today that Alert Logic, Inc., the leading provider of Security-as-a-Service solutions for the cloud, will exhibit at SYS-CON's 18th International Cloud Expo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. Alert Logic, Inc., provides Security-as-a-Service for on-premises, cloud, and hybrid infrastructures, delivering deep security insight and continuous protection for customers at a lower cost than traditional security solutions. Ful...
Feb. 5, 2016 01:15 PM EST Reads: 320
If we look at slow, traditional IT and jump to the conclusion that just because we found its issues intractable before, that necessarily means we will again, then it’s time for a rethink. As a matter of fact, the world of IT has changed over the last ten years or so. We’ve been experiencing unprecedented innovation across the board – innovation in technology as well as in how people organize and accomplish tasks. Let’s take a look at three differences between today’s modern, digital context...
Feb. 5, 2016 01:00 PM EST Reads: 132
SYS-CON Events announced today that VAI, a leading ERP software provider, will exhibit at SYS-CON's 18th International Cloud Expo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. VAI (Vormittag Associates, Inc.) is a leading independent mid-market ERP software developer renowned for its flexible solutions and ability to automate critical business functions for the distribution, manufacturing, specialty retail and service sectors. An IBM Premier Business Part...
Feb. 5, 2016 12:00 PM EST Reads: 516
SYS-CON Events announced today that Catchpoint Systems, Inc., a provider of innovative web and infrastructure monitoring solutions, has been named “Silver Sponsor” of SYS-CON's DevOps Summit at 18th Cloud Expo New York, which will take place June 7-9, 2016, at the Javits Center in New York City, NY. Catchpoint is a leading Digital Performance Analytics company that provides unparalleled insight into customer-critical services to help consistently deliver an amazing customer experience. Designed...
Feb. 5, 2016 11:00 AM EST Reads: 297
The (re?)emergence of Microservices was especially prominent in this week’s news. What are they good for? do they make sense for your application? should you take the plunge? and what do Microservices mean for your DevOps and Continuous Delivery efforts? Continue reading for more on Microservices, containers, DevOps culture, and more top news from the past week. As always, stay tuned to all the news coming from@ElectricCloud on DevOps and Continuous Delivery throughout the week and retweet/favo...
Feb. 5, 2016 10:30 AM EST Reads: 135
In most cases, it is convenient to have some human interaction with a web (micro-)service, no matter how small it is. A traditional approach would be to create an HTTP interface, where user requests will be dispatched and HTML/CSS pages must be served. This approach is indeed very traditional for a web site, but not really convenient for a web service, which is not intended to be good looking, 24x7 up and running and UX-optimized. Instead, talking to a web service in a chat-bot mode would be muc...
Feb. 5, 2016 09:15 AM EST Reads: 145
In the Bimodal model we find two areas of IT - the traditional kind where the main concern is keeping the lights on and the IT focusing on agility and speed, where everything needs to be faster. Today companies are investing in new technologies and processes to emulate their most agile competitors. Gone are the days of waterfall development and releases only every few months. Today's IT and the business it powers demands performance akin to a supercar - everything needs to be faster, every sc...
Feb. 5, 2016 08:00 AM EST Reads: 497
At the heart of the Cloud Native model is a microservices application architecture, and applying this to a telco SDN scenario offers enormous opportunity for product innovation and competitive advantage. For example in the ETSI NFV Ecosystem white paper they describe one of the product markets that SDN might address to be the Home sector. Vendors like Alcatel market SDN-based solutions for the home market, offering Home Gateways – A virtual residential gateway (vRGW) where service provider...
Feb. 5, 2016 07:00 AM EST Reads: 130
SYS-CON Events announced today that Interoute, owner-operator of one of Europe's largest networks and a global cloud services platform, has been named “Bronze Sponsor” of SYS-CON's 18th Cloud Expo, which will take place on June 7-9, 2015 at the Javits Center in New York, New York. Interoute is the owner-operator of one of Europe's largest networks and a global cloud services platform which encompasses 12 data centers, 14 virtual data centers and 31 colocation centers, with connections to 195 ad...
Feb. 5, 2016 12:00 AM EST Reads: 307
Web performance issues and advances have been gaining a stronger presence in the headlines as people are becoming more aware of its impact on virtually every business, and 2015 was no exception. We saw a myriad of major outages this year hit some of the biggest corporations, as well as some technology integrations and other news that we IT Ops aficionados find very exciting. This past year has offered several opportunities for growth and evolution in the performance realm — even the worst failu...
Feb. 3, 2016 10:00 PM EST Reads: 532
Are you someone who knows that the number one rule in DevOps is “Don’t Panic”? Especially when it comes to making Continuous Delivery changes inside your organization? Are you someone that theorizes that if anyone implements real automation changes, the solution will instantly become antiquated and be replaced by something even more bizarre and inexplicable?
Feb. 3, 2016 06:30 PM EST Reads: 307
Welcome to the first top DevOps news roundup of 2016! At the end of last year, we saw some great predictions for 2016. While we’re excited to kick off the new year, this week’s top posts reminded us to take a second to slow down and really understand the current state of affairs. For example, do you actually know what microservices are – or aren’t? What about DevOps? Does the emphasis still fall mostly on the development side? This week’s top news definitely got the wheels turning and just migh...
Feb. 3, 2016 03:00 PM EST Reads: 282
Test automation is arguably the most important innovation to the process of QA testing in software development. The ability to automate regression testing and other repetitive test cases can significantly reduce the overall production time for even the most complex solutions. As software continues to be developed for new platforms – including mobile devices and the diverse array of endpoints that will be created during the rise of the Internet of Things - automation integration will have a huge ...
Feb. 3, 2016 02:00 PM EST Reads: 634
Providing a full-duplex communication channel over a single TCP connection, WebSocket is the most efficient protocol for real-time responses over the web. If you’re utilizing WebSocket technology, performance testing will boil down to simulating the bi-directional nature of your application. Introduced with HTML5, the WebSocket protocol allows for more interaction between a browser and website, facilitating real-time applications and live content. WebSocket technology creates a persistent conne...
Feb. 3, 2016 07:00 AM EST Reads: 309