41
SOFTWARE LIBRARIES AND NUMBERS Wednesday, December 5, 12

Software Libraries And Numbers

Embed Size (px)

DESCRIPTION

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

Citation preview

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