Today we’re gonna talk about… therightabstractions.com.

Slides:



Advertisements
Similar presentations
Gerardo Schneider Department of Informatics University of Oslo December 2008.
Advertisements

Matthew Grove Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.
Chapter 3.2 C++, Java, and Scripting Languages. 2 C++ C used to be the most popular language for games Today, C++ is the language of choice for game development.
Chapter 3.2 C++, Java, and Scripting Languages “The major programming languages used in game development.”
Multiple Tiers in Action
Chapter 3.2 C++, Java, and Scripting Languages hacked by jeffery.
Groovy & Grails Jean Barmash CTO, EnergyScoreCards.com
Web Tools.
Languages and tools. BY SA machine code.
Chapter 0: Introduction CSCI-UA 0002 – Introduction to Computer Programming Mr. Joel Kemp.
Chair of Software Engineering Beyond Eiffel these slides contain advanced material and are optional.
A TOUR OF RUBY 2011 ACM Class, Dong Xie. What is Ruby?  Dynamic programming language  Complex but expressive grammar  A core class library with rich.
Jordan Maxwell ADVANCED PROGRAMMING. DEFINITIONS PHP: A server side Programming language often used in websites. API: ( Application programming interface.
MONGODB NOSQL SERIES Karol Rástočný 1. Prominent Users 2  AppScale, bit.ly, Business Insider, CERN LHC, craigslist, diaspora, Disney Interactive Media.
MCS 270 Spring 2014 Object-Oriented Software Development.
“ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1.
Java Virtual Machine Java Virtual Machine A Java Virtual Machine (JVM) is a set of computer software programs and data structures that use.
Programming Languages: Scratch Intro to Scratch. Lower level versus high level Clearly, lower level languages can be tedious Higher level languages quickly.
In the 20th Century, meaningful education was all about learning your ABCs. Today, it's centered on learning a programming language such as C++.
SQLite Cole Hoosier Overview  RDBMS –Relational database management system  ACID Compliant –Atomicity, consistency, isolation, durability.
By Neng-Fa Zhou1 Evolution of programming languages –Machine language –Assembly language –Sub-routines and loop (Fortran) –Procedures and recursion (Algol,
Programming History. Who was the first programmer?
Arnold Geraldo Designing and Making of The Online Auction Website Using CakePHP Framework.
AUIS Assignment 01 IT Part A Visual Studio IDE   Developing IDE from Microsoft.
SE-2840 Dr. Mark L. Hornick1 NodeJS Server-side JavaScript.
Ruby on Java Luc Castera
Cross Platform Development Techniques Adam Best 4/30/12.
Lindley Codes Touch Develop Youth Spark Day at Lindley Middle School.
Linux Essentials Chapter 4: Using Common Linux Programs.
Cindy Royal Texas State U PROGRAMMING FOR COMMUNICATORS
Analysis of Programming Languages (2). 2 LANGUAGE DESIGN CONSTRAINTS  Computer architecture  Technical setting  Standards  Legacy systems.
The High Velocity Web Framework For Java and Scala.
4th Dimension/4D ABAP ABC ActionScript Ada Agilent VEE Algol Alice Angelscript Apex APL AppleScript Arc Arduino ASP AspectJ Assembly.
CMS 2: Advanced Web Editing - Content Presented By: Katie Pagano, Special Projects Manager Steve Pont, Product Architect.
The Inverse World of the FOREST Object Web Duncan Cragg Part 1 - Overview.
PROGRAMMING LANGUAGES Trends and why you should care.
Creative Commons Attribution- NonCommercial-ShareAlike 2.5 License Sakai Programmer's Café Sakai Training Workshop University of Amsterdam Aaron Zeckoski.
 Can access all API’s made available by OS vendor.  SDK’s are platform-specific.  Each mobile OS comes with its own unique tools and GUI toolkit.
NativeScript – Open source platform to build Native iOS/Android Apps.
Phillip Trelford Blog:
INTRODUCING HYBRID APP KAU with MICT PARK IT COMPANIES Supported by KOICA
Developing I/O module of KIAPS Framework with Test-Driven Development Sang-Yoon Jun, Ki-Hwan Kim, Junghan Kim, In-Sun Song, Seoleun Shin, Youngsu Lee,
PaaS solutions evaluation CERN openlab Summer Students Lightning Talks Sessions Sofia Danko › 19/08/2014.
Dive into web development
Programming Club To learn about programming languages and how they can be used for fun and for useful work. What programming languages are available and.
Crawling Twitter Data Konstantinos Semertzidis
Interview Questions and Answers
Programming Languages Dan Grossman 2013
Outline Introduction Programming in eclipse Debugging in eclipse
Programming Languages Dan Grossman 2013
Outline Introduction Programming in eclipse Debugging in eclipse
2016/2017 Fundamentals in Web Development
Azure SDKs and Tools for You
Calix ONOS Contribution
SQL Server + PHP: What’s New
Special types Objects and operators built into the language but used only in modules: Ellipsis (also “…”): used chiefly in slices in modules like numpy.
SimpleITK Historical Overview: Standing on the Shoulders of Giants
Evolution of programming languages
Programming vs. Packaged
Introduction to Computers and Python
Type system of Go/C# Seminar
آشنایی با جاوا Introduction to Java
Accelerate application delivery with a Cloud-native mindset
Selenium vs Protractor
Pumping Iron on the web IronRuby IronPython by Jimmy Schementi
1 مفهوم ارتباطات ارتباطات معادل واژه communications ) ميباشد(. ارتباطات يك فرايند اجتماعي و دو طرفه است كه در آن اطلاعات مبادله شده و نوعي تفاهم بين طرفهاي.
EXTENSION AND INTEGRATION
MUST HAVE PASSENGER AND DRIVER TAXI APP FEATURES.
ENIAC – the first computer
What is TypeScript, and Should You Care?
Presentation transcript:

Today we’re gonna talk about… therightabstractions.com

What’s the best programming language? therightabstractions.com

What’s the best __________________? X vs Y therightabstractions.com

IT DEPENDS therightabstractions.com

A Simplified Model therightabstractions.com “System-ish” ProgrammingApplication Programming Operating Systems Drivers Browsers Virtualization Low-level Resource Management CRUD / Line of Business Apps Reports Websites RESTful APIs Mobile Apps

What’s the best programming language for what I’m trying to do ? therightabstractions.com most appropriate

Qualitative Considerations Context Features Total Cost Longevity Community Substitutability Leadership therightabstractions.com

Qualitative Considerations Context – Expertise, codebase, external constraints Features Total Cost Longevity Community Substitutability Leadership therightabstractions.com

Qualitative Considerations Context – Expertise, codebase, external constraints Features – Expressive power, ease of starting, tool chain, etc. Total Cost Longevity Community Substitutability Leadership therightabstractions.com

Expressive power example therightabstractions.com

Ease of starting therightabstractions.com

Qualitative Considerations Context – Expertise, codebase, external constraints Features – Expressive power, ease of starting, tool chain, etc. Total Cost Longevity Community Substitutability Leadership therightabstractions.com

Qualitative Considerations Context – Expertise, codebase, external constraints Features – Expressive power, ease of starting, tool chain, etc. Total Cost – Price over the long term of owning and maintaining the codebase Longevity Community Substitutability Leadership therightabstractions.com

Qualitative Considerations Context – Expertise, codebase, external constraints Features – Expressive power, ease of starting, tool chain, etc. Total Cost – Price over the long term of owning and maintaining the codebase Longevity – How long will this language / library be maintained for? Community Substitutability Leadership therightabstractions.com

Qualitative Considerations Context – Expertise, codebase, external constraints Features – Expressive power, ease of starting, tool chain, etc. Total Cost – Price over the long term of owning and maintaining the codebase Longevity – How long will this language / library be maintained for? Community – Size, knowledge, culture, and energy of community that use this language Substitutability Leadership therightabstractions.com

Qualitative Considerations Context – Expertise, codebase, external constraints Features – Expressive power, ease of starting, tool chain, etc. Total Cost – Price over the long term of owning and maintaining the codebase Longevity – How long will this language / library be maintained for? Community – Size, knowledge, culture, and energy of community that use this language Substitutability – Do you have a way out if things go wrong? Leadership therightabstractions.com

Qualitative Considerations Context – Expertise, codebase, external constraints Features – Expressive power, ease of starting, tool chain, etc. Total Cost – Price over the long term of owning and maintaining the codebase Longevity – How long will this language / library be maintained for? Community – Size, knowledge, culture, and energy of community that use this language Substitutability – Do you have a way out if things go wrong? Leadership – Making things work. therightabstractions.com

C# therightabstractions.com Unavoidable Tier

C# JavaScript therightabstractions.com Unavoidable Tier

C# JavaScript therightabstractions.com Top Tier

C# JavaScript C# Java Python Ruby therightabstractions.com Top Tier

C# JavaScript C# Java Python Ruby therightabstractions.com Almost Top Tier

C# JavaScript C# Java Python Ruby Swift PHP therightabstractions.com Almost Top Tier

C# JavaScript C# Java Python Ruby Swift PHP therightabstractions.com Up And Coming Tier

C# JavaScript C# Java Python Ruby Swift Go PHP therightabstractions.com Up And Coming Tier

C# JavaScript C# Java Python Ruby Swift Go PHP therightabstractions.com Non-mainstream Tier

C# JavaScript C# Java Python Ruby Swift Go PHP Groovy Scala F# therightabstractions.com Non-mainstream Tier

C# JavaScript C# Java Python Ruby Swift Go PHP Groovy Scala F# therightabstractions.com Rarely Used Tier

C# JavaScript C# Java Python Ruby Swift Go PHP Groovy Scala F# Erlang OCaml Clojure Haskell therightabstractions.com Rarely Used Tier

C# JavaScript C# Java Python Ruby Swift Go PHP Groovy Scala F# Erlang OCaml Clojure Haskell therightabstractions.com Omissions C / C++ Better JavaScript – TypeScript, CoffeeScript, etc. Objective-C “Academicy” Languages – Ada, Idris, Coq Too obscure – Elm, Elixir Racket, Common Lisp Others