Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.

For the best experience please use the latest Chrome, Safari or Firefox browser.

Programming languages

Measuring Health and Ethics
in programming languages

January 2016
Luis García Castro

Introduction

Luis García Castro

Software Engineer @ Sopra Steria


Twitter twitter.com/luiyo

Google Plus plus.google.com/+LuisGarcíaCastro

LinkedIn linkedin.com/in/LuisGC

GitHub github.com/LuisGC


OpenStreetMap Foundation Proud member of the Free Software Foundation Europe

OpenStreetMap Profile Proud member of the Open Street Map Foundation


Impress.js Presentation made with the awesome Open Source tool Impress.js

The usual comparisions...


Boring Bart
by projects created on Github since 2010
by jobs posted on Indeed.com
# jobs posted on Indeed.com

Source: Indeed.com/jobs

by activity in StackOverflow
by corporate interest
  • #1 . . . Java
  • #2 . . . Javascript
  • #3 . . . Python
  • #4 . . . C
  • #5 . . . PHP
  • #6 . . . C++
  • #7 . . . Ruby
  • #8 . . . C#
  • #9 . . . Perl
  • #10 . . . Objective-C
  • #11 . . . Scala
  • #12 . . . Haskell
  • #13 . . . Matlab
  • #13 . . . R
  • #15 . . . Clojure
  • ...

Rust is not even there

But we can go further...


Nervous minions

Original idea and disclaimers first...

Concerning governance...
What's democracy

Original Source: unknown (sorry)

This aspects are related to the Governance itself, but also to the community and the language general health

Governance systems: BDFLs vs Boards


Benevolent dictators

Source: teaparty.org

BDFLs

  • Dennis Ritchie* in C
  • Guido van Rossum in Python
  • Yukihiro Matsumoto* in Ruby
  • Larry Wall in Perl
  • Rich Hickey in Clojure
Main Free Software Licenses

Some licenses are no copy left compatible:

  • GPL: FSF yes, copyleft Yes
  • BSD: FSF yes, GPL compatible NO, copyleft No
  • MIT: FSF yes, GPL compatible yes, copyleft No
  • AL: FSF yes, GPL compatible yes, copyleft No
  • MPL: FSF yes, GPL compatible yes, copyleft Partial
Community size and relevance
Community diversity

Attributes: age, culture, ethnicity, gender identity or expression, national origin, physical or mental difference, politics, race, religion, sex, sexual orientation, socio-economic status, and subculture.

Source: python.org

Language Health
language rankings in the 2015 Q3

Source: Redmonk.com

Language popularity

The TIOBE Programming Community index is an indicator of the popularity of programming languages. The index is updated once a month. The ratings are based on the number of skilled engineers world-wide, courses and third party vendors

Public presence (and activity)
GitHut ranking 2014 Q4

Source: githut.info

Language evolution
Java Code Evolution

Source: @fabianenardon at JavaOne 2015

    Java 1: 1997

    Java 5: 2004

    Java 8: 2014

Suggestions for potential metrics

  • Ethics Parameters
    • Governance systems
    • Governance transparency
    • Freedom & Independence
    • Software licenses
    • Community value: size, relevance, ...
    • Efforts to promote diversity

  • Health Parameters
    • Language Popularity (TIOBE, ...)
    • Public presence (Github, ...)
    • Language evolution
    • Maturity
    • Expected tendency

Thanks !!

Thank you

Luis García Castro - @luiyo

Creative Commons Creative Commons CC-BY-SA