Delphi projecten: Enkele statistieken over de top 1000 projecten op GitHub

Delphi projecten: Enkele statistieken over de top 1000 projecten op GitHub

Vorige week heb ik de top 1000 Delphi projecten op GitHub geanalyseerd, voornamelijk uit nieuwsgierigheid, en ook om te spelen met een andere programmeertaal (Python). Ik nam Delphi projecten omdat we bij GDK Software veel klanten hebben met deze programmeertaal.

Om de analyse te kunnen doen, heb ik de volgende stappen ondernomen:

1. Met behulp van de GitHub API heb ik een lijst gemaakt van Delphi projecten (gesorteerd op het aantal sterren).
2. Ik heb elke repository naar mijn omgeving gekloond.
3. Vervolgens heb ik de broncode geanalyseerd. Ik keek vooral naar enkele interessante statistieken die ik op deze manier uit de code kon halen.

Hieronder staat de hele lijst van toegevoegde repositories, gesorteerd op het aantal sterren op GitHub. Ik heb enkele projecten van de lijst verwijderd omdat het geen Delphi projecten waren, of (in het geval van “awesome-pascal”) omdat het slechts een overzicht is van veelgebruikte Delphi projecten.

Als we een selectie maken van de repositories met de meeste regels code, ziet het er heel anders uit (repositories met minstens 10 sterren):

Om enkele interessante bevindingen te laten zien: van de 1000 Delphi projecten zijn er maar liefst 240 waar lege “behalve…eindelijk” constructies voorkomen. Ook maken 291 projecten gebruik van Generics en 217 van het Firemonkey framework.

Er zijn nogal wat van deze openbare projecten die niet bang zijn voor lange functies of procedures. De grootste procedure die ik kon vinden bestaat uit meer dan 2939 lijnen (project MCH_Delphi_Software).

Wat betreft de grootste Pascal-bestanden, zie hieronder. Als je de Delphi-bestanden zelf wilt bekijken, zoek je gewoon in Github naar de bijbehorende bestandsnaam. Of zie hieronder hoe je de Delphi-archieven kunt klonen.

Download hier het CSV-bestand met de volledige lijst van repositories.

Als je de repositories zelf wilt downloaden, ga er dan voor! Zorg ervoor dat je eerst de Python bibliotheken pygit2 en PyGithub installeert.

pip install PyGithub
pip install pygit2

Geschreven door Marco Geuze
Directeur

Contact

Laat ons helpen jouw ambities concreet te maken.