MomentumSI Programming Language Recommendations


Published on

MomentumSI provides updated recommendations on programming languages.

Published in: Technology
  • Be the first to comment

MomentumSI Programming Language Recommendations

  1. 1. MomentumSI Programming Language Recommendations 2013 – Q4 November 17, 2013
  2. 2. This Report…  For the last 16 years, MomentumSI has provided guidance to start-ups, ISV’s and enterprise organization on their use of technology.  MomentumSI is a provider of both consulting and engineering services. As “doers” we understand what works – and what doesn’t.  This presentation reflects our position on software development, specific to the use of programming languages.  Readers should note that the ‘language of choice’ will change over time and with the problem at hand. November 17, 2013
  3. 3. Recommendations Avoid Perl VB.Net ASP PHP Cobol Lisp Tcl November 17, 2013 Risk Averse Use Only Java C C++ C# Special case Recommended requires approval Eiffel Scala Haskell Objective-C Closure Groovy JavaScript Go Ruby Python
  4. 4. Java moves to ‘Risk Averse’  Java is one of the most commonly used programming languages today and has a tremendous ecosystem.  It remains a viable choice for organizations who have lots of programs written in it, and skilled people.  To some extent, Java has become a victim of it’s own success  Has had to innovate new features while largely retaining backward compatibility  Major new changes have come in the form of add-on’s or frameworks that are written in Java, but have little to do with the Java language itself  Where Java is ‘one size fits all’, languages like Go and JavaScript are being used for mainstream uses cases, with specialized capabilities. November 17, 2013
  5. 5. GoLang moves to Recommended  Go is a modern language from Google, started in 2007 when invented by heavyweights Rob Pike and Ken Thompson.  Originally targeted multi-site/cloud server work, though now provides extensive client and mobile support.  It resembles the ‘C’ language in terms of speed and power, but removes most of the dangers while taking influences from the history of other languages (e.g., Python, Ruby, Java, C++).  It is highly supportive of multi-project, collaborative work via multi-site remote import  Many modern projects have taken to it: e.g., Docker, Packer, Juju, Flynn (Docker PaaS), Cloud Foundry, etc.  Great built-in features:  Concurrency/multi-core support is a fundamental part of the language:  Goroutines; channels, select, etc.  Go programs are a single, static, native executables; Dependencies resolve early, not late; Rollback = "run the previous binary.”  Code formatting (gofmt); Easy concurrency; Multi-core, High performance; Built-in Profiling Web frameworks (net/http) etc. November 17, 2013
  6. 6. JavaScript moves to Recommended  Long overdue, we’re moving JavaScript to recommended status  JavaScript on the client is producing compelling interactive user experiences  JavaScript on the server-side has matured. Recent innovations include:  Google V8 JavaScript Engine has significantly increase performance  Node.JS makes server side development easier / faster  Multiple JavaScript UI frameworks have overtaken features that were previously only available in Flash/Flex  Commercial support of Node.JS from StrongLoop November 17, 2013
  7. 7. Contact MomentumSI provides consulting and implementation services for:      Software development Architecture guidance Cloud adoption / migration DevOps & Continuous Delivery Big Data Contact: November 17, 2013