TIOBE 编程社区指数定义

TIOBE 编程社区指数定义

TIOBE 编程语言排名根据语言的搜索查询命中数进行计算。

在计算范围的搜索引擎和编程语言如下。

搜索引擎

有 25 个搜索引擎用于计算 TIOBE 指数。选定的搜索引擎是 Similarweb1 中排名最高且满足以下条件的 25 个网站:

  • 网站的入口页面包含一个搜索工具
  • 查询网站的结果包含页面点击数
  • 结果应以 HTML 格式提供,并带有清晰的标签
  • 使用特殊字符的语言的搜索引擎应该进行适当的编码
  • 搜索引擎应至少为 1 个查询返回 1 个命中
  • 查询网站的结果不应包含太多异常值
  • 色情网站排除在外

根据这些标准,以下搜索引擎是合格的:

  • Google.com: 7.69%
  • Wikipedia.org: 7.38%
  • Amazon.com: 7.08%
  • Bing.com: 6.77%
  • Microsoft.com: 6.46%
  • Sharepoint.com: 6.15%
  • Ebay.com: 5.85%
  • Amazon.co.jp: 5.54%
  • Rakuten.co.jp: 5.23%
  • Msn.com: 4.92%
  • Google.de: 4.62%
  • Google.co.jp: 4.31%
  • Amazon.de: 4.00%
  • Amazon.in: 3.69%
  • Walmart.com: 3.38%
  • Amazon.co.uk: 3.08%
  • Google.com.br: 2.77%
  • Google.it: 2.46%
  • Google.co.uk: 2.15%
  • Google.fr: 1.85%
  • Amazon.ca: 1.54%
  • Ebay.co.uk: 1.23%
  • Amazon.it: 0.92%
  • Google.ca: 0.62%
  • Google.es: 0.31%

以下搜索引擎不符合要求,原因如下:

  • Baidu.com: SOURCES_NOT_PARSABLE
  • Bbc.co.uk: NO_COUNTERS
  • Bilibili.com: NO_COUNTERS
  • Canva.com: NO_SEARCH_FIELD
  • Chatgpt.com: NO_RESULTS_AT_ALL
  • Duckduckgo.com: NO_COUNTERS
  • Dzen.ru: NO_COUNTERS
  • Facebook.com: NO_SEARCH_FIELD
  • Fandom.com: NO_RESULTS_AT_ALL
  • Globo.com: NO_COUNTERS
  • Instagram.com: NO_SEARCH_FIELD
  • Kwai-video.com: NO_RESULTS_AT_ALL
  • Lazlogistics.ph: NO_WEBSITE
  • Linkedin.com: NO_COUNTERS
  • Live.com: NO_SEARCH_FIELD
  • Mail.ru: NO_COUNTERS
  • Microsoftonline.com: NO_WEBSITE
  • Naver.com: NO_COUNTERS
  • Netflix.com: NO_SEARCH_FIELD
  • News.yahoo.co.jp: SOURCES_NOT_PARSABLE
  • Office.com: NO_SEARCH_FIELD
  • Ozon.ru: SOURCES_NOT_PARSABLE
  • Pemsrv.com: PORN_SITE
  • Pinterest.com: NO_SEARCH_FIELD
  • Pornhub.com: PORN_SITE
  • Quora.com: NO_COUNTERS
  • Reddit.com: NO_COUNTERS
  • Roblox.com: NO_SEARCH_FIELD
  • Samsung.com: NO_RESULTS_AT_ALL
  • T.me: NO_SEARCH_FIELD
  • Tiktok.com: NO_COUNTERS
  • Twitch.tv: NO_COUNTERS
  • Vk.com: NO_COUNTERS
  • Weather.com: NO_RESULTS_AT_ALL
  • Whatsapp.com: NO_SEARCH_FIELD
  • X.com: NO_SEARCH_FIELD
  • Xhamster.com: PORN_SITE
  • Xhamster.desi: PORN_SITE
  • Xnxx.com: PORN_SITE
  • Xvideos.com: PORN_SITE
  • Yahoo.co.jp: SOURCES_NOT_PARSABLE
  • Yahoo.com: SOURCES_NOT_PARSABLE
  • Yandex.ru: SOURCES_NOT_PARSABLE
  • Youtube.com: NO_COUNTERS

编程语言

在本节中,介绍了哪些编程语言会被 TIOBE 统计,应同时满足 3 个要求:

  • 该语言应该在维基百科上有一个单独的条目,并且维基百科应该清楚地说明它与编程语言有关。这就是为什么 (Ruby on) Rails、Excel、Android、Boost、Cocoa、ASP 和 AJAX 被排除的原因。
  • 编程语言应该是图灵完备2的。因此,HTML 和 XML 被排除。
  • 该编程语言应该至少有 5,000 次 +“<language> programming” 谷歌搜索的点击。

将非常相似的编程语言归为一组。目前,在计算分组评分时,会考虑各个语言的点击量的最大值。将来,可能会采用所有命中的并集(来自数学集合论)。

根据以下规则确定语言的分组:

  • 如果一种语言有自己的维基百科条目,则不会与另一种语言归为一组。
  • 如果一种语言 A 自动重定向到另一个维基百科条目 B,则 A 将与 B 归为一组。
  • 如果一种语言 A 没有单独的维基百科条目,但作为另一个维基百科条目 B 的一部分被提及,则 A 将与 B 归为一组。

使用了两种机制来排除误报。首先,为一种语言定义了置信度。默认情况下,置信度为 100%,但对于一些困难的搜索查询,例如 “Basic Programming”,置信度会偏低。除了置信度之外,有时还会使用异常或强制添加来排除误报。

下表包含跟踪的所有编程语言,包括其分组、置信度和异常。

  • (Visual) FoxPro: FoxPro, Fox Pro, VFP, VFPA
  • 1C:Enterprise script
  • 4th Dimension/4D: 4D, 4th Dimension
  • ABAP
  • ABC: ABC (exceptions: -tv -channel)
  • ActionScript: ActionScript, AS1, AS2, AS3
  • Ada
  • Agilent VEE
  • Algol
  • Alice: Alice (confidence: 90%)
  • Angelscript
  • Apex
  • APL
  • Applescript
  • Arc
  • AspectJ
  • Assembly language: Assembly, Assembly language
  • ATLAS
  • AutoHotkey: AutoHotkey, AHK
  • AutoIt
  • AutoLISP
  • Automator
  • Avenue
  • Awk: Awk, Mawk, Gawk, Nawk
  • B4X
  • Ballerina
  • Bash
  • Basic: Basic (confidence: 0%)
  • BBC BASIC
  • bc
  • BCPL
  • BETA: BETA (confidence: 10%)
  • BlitzMax: BlitzMax, BlitzBasic, Blitz Basic
  • Boo
  • Bourne shell: Bourne shell, sh
  • Brainfuck
  • C shell: Csh, C shell (confidence: 90%)
  • C#: C#, C-Sharp, C Sharp, CSharp, CSharp.NET, C#.NET
  • C++
  • C++/CLI
  • C-Omega
  • C: C (exceptions: -“Objective-C”)
  • Caml
  • Carbon
  • Ceylon
  • CFML: CFML, ColdFusion
  • cg: cg (confidence: 80%, exceptions: -“computer game” -“computer graphics”)
  • Ch: Ch (exceptions: +ChScite)
  • Chapel: Chapel (exceptions: -christ)
  • CHILL
  • CIL
  • Citrine
  • CL (OS/400): CL (exceptions: -Lisp), CLLE
  • Clarion
  • Classic Visual Basic: Visual Basic (confidence: 50%), VB (confidence: 50%), VBA, VB6
  • Clean: Clean (confidence: 43%)
  • Clipper
  • CLIPS
  • Clojure: Clojure, ClojureScript
  • CLU
  • COBOL
  • Cobra
  • CoffeeScript
  • COMAL
  • Common Lisp
  • CORAL 66
  • Crystal: Crystal (confidence: 61%, exceptions: -healing), crystallang
  • cT
  • Curl
  • D: D (confidence: 90%, exceptions: -“3-D programming” -“DTrace”), dlang
  • Dart
  • DCL
  • Delphi/Object Pascal: DwScript, Object Pascal, Delphi, Delphi.NET, Pascal (confidence: 95%)
  • DiBOL: DBL, Synergy/DE, DIBOL
  • Dylan
  • E: E (exceptions: +specman)
  • ECMAScript
  • EGL
  • Eiffel
  • Elixir
  • Elm
  • Emacs Lisp: Emacs Lisp, Elisp
  • Emerald
  • Erlang
  • Etoys
  • Euphoria
  • EXEC
  • F#: F#, F-Sharp, FSharp, F Sharp
  • Factor
  • Falcon
  • Fantom
  • Felix: Felix (confidence: 86%)
  • Forth
  • Fortran
  • Fortress
  • FreeBASIC
  • Gambas
  • GAMS
  • GLSL
  • GML: GML, GameMaker Language
  • GNU Octave
  • Go: Go, Golang
  • Gosu
  • Groovy: Groovy, GPATH, GSQL, Groovy++
  • Hack
  • Harbour
  • Haskell
  • Haxe
  • Heron
  • HPL
  • HyperTalk
  • Icon: Icon (confidence: 90%)
  • IDL: IDL (exceptions: -corba -interface)
  • Idris
  • Inform
  • Informix-4GL
  • INTERCAL
  • Io
  • Ioke
  • J#
  • J: J (confidence: 50%)
  • JADE
  • Java
  • JavaFX Script
  • JavaScript: JavaScript, JS, SSJS
  • JScript
  • JScript.NET
  • Julia: Julia, Julialang, julia-lang
  • Korn shell: Korn shell, ksh
  • Kotlin
  • LabVIEW
  • Ladder Logic
  • Lasso
  • Limbo
  • Lingo
  • Lisp
  • LiveCode: Revolution, LiveCode
  • Logo: Logo (confidence: 90%, exceptions: -tv)
  • LotusScript
  • LPC
  • Lua: Lua, LuaJIT
  • Lustre
  • M4
  • MAD: MAD (confidence: 50%)
  • Magic: Magic (confidence: 50%)
  • Magik
  • Malbolge
  • MANTIS
  • Maple
  • MATLAB
  • Max/MSP
  • MAXScript
  • MDX
  • MEL
  • Mercury
  • Miva
  • ML
  • Modula-2
  • Modula-3
  • Mojo
  • Monkey
  • MOO
  • Moto
  • MQL5: MQL4, MQL5
  • MS-DOS batch
  • MUMPS
  • NATURAL
  • Nemerle
  • NetLogo
  • Nim: Nim, Nimrod
  • Nix
  • NQC
  • NSIS
  • NXT-G
  • Oberon
  • Object Rexx: Object Rexx, ooRexx, Open Object Rexx
  • Objective-C: Objective-C, objc, obj-c
  • OCaml: Objective Caml, OCaml
  • Occam
  • OpenCL
  • OpenEdge ABL: Progress, Progress 4GL, ABL, Advanced Business Language, OpenEdge
  • OPL
  • Oxygene
  • Oz
  • Paradox
  • Pascal: Pascal (confidence: 5%)
  • Perl
  • PHP
  • Pike
  • PILOT: PILOT (confidence: 50%, exceptions: -“Palm Pilot programming”)
  • PL/I: PL/1, PL/I
  • PL/SQL
  • Pliant
  • Pony
  • PostScript: PostScript, PS
  • POV-Ray
  • PowerBasic
  • PowerScript
  • PowerShell
  • Processing: Processing (exceptions: +“sketchbook”)
  • Programming Without Coding Technology: Programming Without Coding Technology, PWCT
  • Prolog
  • Pure Data: Pure Data, PD
  • PureBasic
  • Python
  • Q
  • R: R (confidence: 90%, exceptions: +“statistical”)
  • Racket
  • Raku: Perl 6, Raku
  • REBOL
  • Red: Red (confidence: 20%)
  • REXX
  • Ring
  • RPG: RPG (confidence: 80%, exceptions: -role), RPGLE, ILERPG, RPGIV, RPGIII, RPG400, RPGII, RPG4
  • RPL
  • Ruby
  • Rust: Rust, Rustlang
  • S-PLUS: S-PLUS (exceptions: +statistical)
  • S: S (exceptions: +statistical)
  • SAS
  • Sather
  • Scala
  • Scheme: Scheme (exceptions: -tv -channel)
  • Scratch
  • sed
  • Seed7
  • SIGNAL: SIGNAL (confidence: 10%)
  • Simula
  • Simulink
  • Slate: Slate (confidence: 57%)
  • Small Basic
  • Smalltalk
  • Smarty
  • Snap!
  • SNOBOL
  • Solidity
  • SPARK
  • SPSS
  • SQL
  • SQR
  • Squeak
  • Squirrel
  • Standard ML: Standard ML, SML
  • Stata
  • Structured Text
  • Suneido
  • SuperCollider: SuperCollider (confidence: 80%)
  • Swift
  • SystemVerilog: SystemVerilog, Verilog
  • TACL
  • Tcl: Tcl/Tk, Tcl
  • tcsh
  • Tex
  • thinBasic
  • TOM: TOM (confidence: 50%)
  • Transact-SQL: T-SQL, Transact-SQL, TSQL
  • TypeScript: TypeScript, TS
  • Uniface
  • Vala/Genie: Vala, Genie
  • VBScript
  • VHDL
  • Visual Basic: Visual Basic .NET, VB.NET, Visual Basic.NET, Visual Basic (confidence: 50%), VB (confidence: 50%)
  • WebAssembly: WASM, WebAssembly
  • WebDNA
  • Whitespace
  • Wolfram: Mathematica, Wolfram
  • X++
  • X10
  • xBase
  • XBase++
  • XC
  • Xen
  • Xojo: REALbasic, Xojo
  • XPL
  • XQuery
  • XSLT
  • Xtend
  • yacc
  • Yorick
  • Z shell: Z shell, zsh
  • Zig: Zig, zlan

评分

评分是通过计算最流行的搜索引擎的点击量来计算的。使用的搜索查询是:

+"<language> programming"

点击数决定了语言的评分。针对列表中所有语言的每个搜索引擎,将对计数的命中数进行标准化。换句话说,所有语言的总分是 100%。我们将“hits(SE)”定义为搜索引擎 SE 的所有语言的点击数之和,将“hits(PL,SE)”定义为搜索引擎 SE 的编程语言 PL 的点击数。查询的可能误报已在“hits(PL,SE)”的定义中筛选掉。这是通过对每个查询使用手动确定的置信因子来完成的。诸如“Basic programming”之类的查询也会返回包含“Improve your basic programming skills in Java”的页面。检查每个搜索引擎的前 100 个页面是否存在可能的误报,这用于定义置信度因子。如果此系数为 90%,则只有 90% 的点击用于“hits(PL,SE)”。

评分使用以下公式计算:

(hits(PL,SE1)/hits(SE1) + ... + hits(PL,SEn)/hits(SEn))/n

其中 n 是使用的搜索引擎数量。

链接


  1. Similarweb 是一家于 2007 年创立的以色列软件研发与数据聚合公司,通过多渠道收集数据,为用户提供网站和应用的流量、来源、行为、受众等多维度分析以及行业和股票等方面的数据与报告,帮助用户洞察市场趋势、了解竞争对手并做出决策。 ↩︎

  2. 在可计算性理论,如果一系列操作数据的规则(如指令集、编程语言、细胞自动机)可以用来模拟任何图灵机,那么它便符合图灵完备(Turing-complete或computationally universal)。这意味着这个系统也可以识别其他数据处理规则集,图灵完备性被用作表达这种数据处理规则集的一种属性。如今,几乎所有编程语言都是具有图灵完备性的。这个词以引入图灵机概念的数学家艾伦·图灵命名。 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值