Skip to content

Latest commit

 

History

History
81 lines (71 loc) · 1.97 KB

list-tiobe-index.md

File metadata and controls

81 lines (71 loc) · 1.97 KB

Script: list-tiobe-index.ps1

list-tiobe-index.ps1

Parameters

[<CommonParameters>]
    This script supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, 
    WarningVariable, OutBuffer, PipelineVariable, and OutVariable.

Script Content

<#
.SYNOPSIS
	Lists the TIOBE index of top programming languages
.DESCRIPTION
	This PowerShell script lists the TIOBE index of top programming languages.
.EXAMPLE
	PS> ./list-tiobe-index.ps1
.LINK
	https://github.com/fleschutz/PowerShell
.NOTES
	Author: Markus Fleschutz | License: CC0
#>

function WriteBar { param([string]$Text, [float]$Value, [float]$Max, [float]$Change)
	$Num = ($Value * 100.0) / $Max
	while ($Num -ge 1.0) {
		write-host -noNewLine ""
		$Num -= 1.0
	}
	if ($Num -ge 0.875) {
		write-host -noNewLine ""
	} elseif ($Num -ge 0.75) {
		write-host -noNewLine ""
	} elseif ($Num -ge 0.625) {
		write-host -noNewLine ""
	} elseif ($Num -ge 0.5) {
		write-host -noNewLine ""
	} elseif ($Num -ge 0.375) {
		write-host -noNewLine ""
	} elseif ($Num -ge 0.25) {
		write-host -noNewLine ""
	} elseif ($Num -ge 0.125) {
		write-host -noNewLine ""
	}
	write-host -noNewLine " $Text $($Value)%"
	if ($Change -ge 0.0) {
		write-host -foregroundColor green " +$($Change)%"
	} else {
		write-host -foregroundColor red " $($Change)%"
	}
}

try {
	& write-big.ps1 "TIOBE INDEX 2021-06"
	"                                           Source: https://www.tiobe.com"
	""

	$Table = import-csv "$PSScriptRoot/../data/TIOBE-index.csv"
	foreach($Row in $Table) {
		[string]$Name = $Row.Language
		[float]$Value = $Row.Popularity
		[float]$Change = $Row.Change
		WriteBar $Name $Value 14.0 $Change
	}
	exit 0 # success
} catch {
	"⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"
	exit 1
}

(generated by convert-ps2md.ps1 using the comment-based help of list-tiobe-index.ps1 as of 05/19/2024 10:25:22)