U bent hier:

Distributie programmeertaal

Vraag: Wat zijn de verschillende programmeertalen die aanwezig zijn in een open source-project(en), en wat is het percentage van elke taal?

Omschrijving

Het aantal programmeertalen en het percentage van elke taal in een project geeft enig inzicht in de vaardigheden die vereist zijn van codebijdragers, evenals de aard van het project zelf.

Doelstellingen

Deze maatstaf zal nieuwkomers in een bepaald open source-project helpen en managers van open source-programma's een perspectief bieden op het profiel van het project, in de context van hun eigen ervaring en organisatie.

  • Deze statistiek kan door ontwikkelaars worden gebruikt om projecten te identificeren die sterk afhankelijk zijn van de talen die ze gebruiken, als onderdeel van het zoeken naar een baan.
  • Deze statistiek kan nuttig zijn voor het identificeren van veranderingen in het aantal bestanden of coderegels in elke taal in de loop van de tijd. Een project kan bijvoorbeeld op een bepaald moment X% Python en Y% Javascript zijn. Misschien een jaar later kan de hoeveelheid Javascript gemeten door bestanden, of regels code, groter zijn als gevolg van de verschuiving van de focus naar gebruikerservaring.
  • Deze statistiek kan worden gecombineerd met afhankelijkheidsstatistieken om te bepalen of er een prominente taal wordt gebruikt in een project, maar waarvoor nog geen afhankelijkheidsscanner is geïdentificeerd.
  • Wanneer inclusieve, diverse en rechtvaardige gemeenschappen worden geïdentificeerd, zullen ze een zekere mate van taalverdeling hebben.
  • Als een individu op zoek is naar nieuwe projecten om aan te werken, kan het een van een aantal "persoonlijke filters" zijn om te weten welke projecten afhankelijk zijn van talen die ze al kennen of willen leren.
  • Deze statistiek is handig voor OSPO's en communitymanagers die willen begrijpen welke talen het meest prominent zijn, en misschien welke talen weinig worden gebruikt, maar cruciaal zijn.

Implementatie

Taaldistributie houdt rekening met verschillende eigenschappen van elk bestand in een repository met een a priori identificeerbare computerprogrammeertaal. Naarmate er nieuwe talen verschijnen, kunnen er aanvankelijke perioden zijn waarin teltools hun extensies niet herkennen, in welk geval ze als "andere" kunnen worden geteld. Dergelijke perioden zijn doorgaans kort.

filters

  • Tijd
  • Aantal bestanden - Het aantal bestanden van elke taal.

    Tabel met aantal bestanden

  • Regels code - Het percentage regels code voor elke taal.

    Tabel met aantal bestanden

Regels code of bestanden kunnen worden weergegeven als absolute getallen of percentages, afhankelijk van de toepassing van de metriek. In veel gevallen is een eenvoudige telling van bestanden nuttig, terwijl het absolute aantal regels code moeilijk te onderscheiden kan zijn omdat de aantallen veel groter zijn.

Tools die de metriek leveren

De Augur-Community-rapporten repository biedt deze statistiek momenteel

GrimoireLab biedt deze informatie via de proxy van bestandsextensies

augur biedt deze informatie zowel in de frontend als via een API-eindpunt.

Strategieën voor gegevensverzameling

De inhoud van een repository kan worden geteld door elk bestand te doorlopen, hoewel er verschillende bibliotheken bestaan, waaronder die van Augur: https://github.com/boyter/scc

Bestandsextensies voor sommige talen, zoals Jupyter Notebooks, kunnen worden uitgesloten omdat ze de daadwerkelijk gebruikte taal verdoezelen.

Referenties

medewerkers

  • Dageraad Foster
  • Bet Hancock
  • Matt Germonprez
  • Elisabeth Baron
  • Daniël Izquierdo
  • Kevin Lumbard
  • Sean Goggins

Als u deze statistiek wilt bewerken, dient u hier een wijzigingsverzoek in: https://github.com/chaoss/wg-common/blob/main/focus-areas/contributions/programming-language-distribution.md

Gebruik deze stabiele URL om naar deze statistiek te verwijzen in software of publicaties: https://chaoss.community/?p=3430

Het gebruik en de verspreiding van gezondheidsstatistieken kan leiden tot privacyschendingen. Organisaties kunnen worden blootgesteld aan risico's. Deze risico's kunnen voortvloeien uit naleving van de AVG in de EU, staatswetten in de VS of andere wetten. Er kunnen ook contractuele risico's voortvloeien uit de servicevoorwaarden voor gegevensproviders zoals GitHub en GitLab. Het gebruik van metrische gegevens moet worden onderzocht op risico's en mogelijke problemen met gegevensethiek. Alsjeblieft zie CHAOSS Data Ethiek document voor aanvullende begeleiding.

Tags:
Was dit artikel behulpzaam?
Afkeer 0