software libraries and numbers

41
SOFTWARE LIBRARIES AND NUMBERS Wednesday, December 5, 12

Upload: robert-reiz

Post on 04-Dec-2014

2.244 views

Category:

Technology


2 download

DESCRIPTION

Software Libraries and Numbers. Some overall numbers from common package managers like Maven2, NPM, RubyGems, Packagist, PIP.

TRANSCRIPT

Page 1: Software Libraries And Numbers

SOFTWARE LIBRARIES AND NUMBERS

Wednesday, December 5, 12

Page 2: Software Libraries And Numbers

ROBERT REIZhttp://www.versioneye.com/https://twitter.com/robertreiz

Wednesday, December 5, 12

Page 3: Software Libraries And Numbers

WHAT IS A SOFTWARE LIBRARY?

Wednesday, December 5, 12

Page 4: Software Libraries And Numbers

RE-USABLE PEACE OF SOFTWARE WITH AN

APPLICATION PROGRAMMING INTERFACE

(API)

Wednesday, December 5, 12

Page 5: Software Libraries And Numbers

SOFTWARE LIBRARIESBUNDLED AS ...

• JAR file (Java)

•GEM file (Ruby)

•DLL file (.NET)

• tar.gz file (Python PIP)

bundle, share and re-useWednesday, December 5, 12

Page 6: Software Libraries And Numbers

HOW TO GET IT?

Wednesday, December 5, 12

Page 7: Software Libraries And Numbers

Wednesday, December 5, 12

Page 8: Software Libraries And Numbers

Wednesday, December 5, 12

Page 9: Software Libraries And Numbers

OLD SCHOOL!

Wednesday, December 5, 12

Page 10: Software Libraries And Numbers

USE PACKAGE-MANAGERS!

Wednesday, December 5, 12

Page 11: Software Libraries And Numbers

PACKAGE-MANAGERSLIKE ...

•Maven (http://search.maven.org) - Java

•RubyGems (http://rubygems.org) - Ruby

• PIP (http://pypi.python.org) - Python

•Composer (http://packagist.org) - PHP

•NPM (https://npmjs.org/) - Node.JS

Wednesday, December 5, 12

Page 12: Software Libraries And Numbers

WHY TO USEPACKAGE-MANAGERS?

Wednesday, December 5, 12

Page 13: Software Libraries And Numbers

BECAUSE OF DEPENDENCIES!

Wednesday, December 5, 12

Page 14: Software Libraries And Numbers

A SOFTWARE LIBRARY CAN USE OTHER

SOFTWARE LIBRARIES!

Wednesday, December 5, 12

Page 15: Software Libraries And Numbers

A DEPENDS ON BB DEPENDS ON CB DEPENDS ON DD DEPENDS ON X

Wednesday, December 5, 12

Page 16: Software Libraries And Numbers

A DEPENDS ON BB DEPENDS ON CB DEPENDS ON DD DEPENDS ON X

IF YOU WANT TO USE A YOU NEED A, B, C, D AND X

Wednesday, December 5, 12

Page 17: Software Libraries And Numbers

PACKAGE-MANAGERS ARE RESOLVING RECURSIVE

DEPENDENCIES

Wednesday, December 5, 12

Page 18: Software Libraries And Numbers

WWW.VERSIONEYE.COMMETA SEARCH ENGINE

Wednesday, December 5, 12

Page 19: Software Libraries And Numbers

META INFORMATIONS FROM ALL PACKAGE-MANAGERS IN ONE

SINGLE DATABASE.

Wednesday, December 5, 12

Page 20: Software Libraries And Numbers

VERSION EYE MAKES DEPENDENCIES AND

COMPLEXITY VISIBLE

Wednesday, December 5, 12

Page 21: Software Libraries And Numbers

http://www.versioneye.com/package/rails

Wednesday, December 5, 12

Page 22: Software Libraries And Numbers

WHICH SOFTWARE LIBRARY IS MORE COMPLEX?

Wednesday, December 5, 12

Page 23: Software Libraries And Numbers

Wednesday, December 5, 12

Page 24: Software Libraries And Numbers

SOME NUMBERS

Wednesday, December 5, 12

Page 25: Software Libraries And Numbers

HOW DO YOU KNOW THAT A PROJECT IS STILL ALIVE?

Wednesday, December 5, 12

Page 26: Software Libraries And Numbers

Wednesday, December 5, 12

Page 27: Software Libraries And Numbers

Wednesday, December 5, 12

Page 28: Software Libraries And Numbers

HOW MANY SOFTWARE ARTIFACTS PER LANGUAGE?

Wednesday, December 5, 12

Page 29: Software Libraries And Numbers

Java

Ruby

Python

Node.JS

PHP

0 125000 250000 375000 500000

Java 473413Ruby 456282Python 275904Node.JS 128647PHP 38901

Wednesday, December 5, 12

Page 30: Software Libraries And Numbers

HOW MANY LIBRARY PROJECTS PER LANGUAGE?

Wednesday, December 5, 12

Page 31: Software Libraries And Numbers

https://www.versioneye.com/statistics/

Wednesday, December 5, 12

Page 32: Software Libraries And Numbers

WHICH REPOSITORY IS GROWING LIKE CRAZY?

Wednesday, December 5, 12

Page 33: Software Libraries And Numbers

https://www.versioneye.com/statistics/

Wednesday, December 5, 12

Page 34: Software Libraries And Numbers

18%

82%

Java Open Source Libraries

Central MVN Repo Other Repos

Wednesday, December 5, 12

Page 35: Software Libraries And Numbers

YOU WANT MORE NUMBERS?

Wednesday, December 5, 12

Page 36: Software Libraries And Numbers

HOW OFTEN IS A LIBRARY USED?

Wednesday, December 5, 12

Page 37: Software Libraries And Numbers

85%

15%

Usage of JUnit

Using JUnit Not Using JUnit

99%

1%

Usage of TestNG

Using TestNG Not Using TestNG

Wednesday, December 5, 12

Page 38: Software Libraries And Numbers

MORE NUMBERS COMING SOON

Wednesday, December 5, 12

Page 39: Software Libraries And Numbers

MANY THANKS

Wednesday, December 5, 12

Page 40: Software Libraries And Numbers

DO YOU HAVE QUESTIONS?

Wednesday, December 5, 12

Page 41: Software Libraries And Numbers

DO YOU HAVE QUESTIONS?

TALK TO MEMY NAME IS ROBERT REIZ

Wednesday, December 5, 12