Wikipedia:Userboxes/Language/Programming/04

This is an old revision of this page, as edited by Impiaaa (talk | contribs) at 17:47, 28 August 2008 (Added my own Python variant). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Programmers often have advanced methods of browsing and working on Wikipedia. To participate in discussions on advanced Wikipedia skills, see the Virtual classroom. You are invited to share and compare your wikiways. What power tools do you use?

Below is a list of all the programming-related userboxes on Wikipedia. Placing one of these on your userpage automatically lists you in Wikipedia's category system under the corresponding category so that other users may find you based on your skills. The available programming userboxes are:

Specific languages

Often skill levels -1 up to -4 are supported by corresponding templates. However, skill levels may extend as high as -6. Sometimes -0 and -N (derived from native, meaning superlative ) are also offered. A typical example is the programming language C:

Ada

Code Result
{{Template:User ada}}
adaThis user is a native speaker of Adangme.
Usage
{{Template:User ada-1}} Template:User ada-1 Usage
{{Template:User ada-2}} Template:User ada-2 Usage
{{Template:User ada-3}} Template:User ada-3 Usage
{{Template:User ada-4}} Template:User ada-4 Usage
{{Template:User ada-N}}
Ada-NThis user is Ada Lovelace reincarnated.
Usage

ASP

Code Result
{{Template:User asp}}
aspThis user can program in ASP.
Usage
{{Template:User asp-1}}
asp-1This user is a beginner ASP programmer.
Usage
{{Template:User asp-2}}
asp-2This user is an intermediate ASP programmer.
Usage
{{Template:User asp-3}}
asp-3This user is an advanced ASP programmer.
Usage
{{Template:User asp-4}}
asp-4This user is an expert ASP programmer.
Usage
{{Template:User asp-N}}
asp-NThis user is a native ASP programmer.
Usage

BASIC

Code Result
{{Template:User bas}}
basThis user is a native speaker of Basaa.
Usage
{{Template:User bas-0}}
bas-0This user does not understand Basaa (or understands it with considerable difficulty).
Usage
{{Template:User bas-1}}
bas-1This user is able to contribute with a basic level of Basaa.
Usage
{{Template:User bas-2}}
bas-2This user is able to contribute with an intermediate level of Basaa.
Usage
{{Template:User bas-3}}
bas-3This user is able to contribute with an advanced level of Basaa.
Usage
{{Template:User bas-4}}
bas-4his user is able to contribute with a near-native level of Basaa.
Usage
{{Template:User bas-N}}
BASIC-NThis user is a native BASIC programmer.
Usage

Assembly/Assembler

Category:User asm

C

Code Result
{{Template:User C}}
CThis user can program in C.
Usage
{{Template:User C-0}}
C-0This person does not understand C (or does not want to program in C).
Usage
{{Template:User C-1}}
C-1This user is a beginning C programmer.
Usage
{{Template:User C-2}}
C-2This user is an intermediate C programmer.
Usage
{{Template:User C-3}}
C-3This user is an advanced C programmer.
Usage
{{Template:User C-4}}
C-4This user is an expert C programmer.
Usage
{{Template:User C-5}}
C-5This user is a professional C programmer.
Usage
{{Template:User C-N}}
C-NThis user has written C compilers, or tweaked C runtime libraries in Assembly language.
Usage

C++

Code Result
{{Template:User c++}}
C++This user can program in C++.
Usage
{{Template:User c++-0}}
C++-0This user does not understand C++ (or does not want to program in C++).
Usage
{{Template:User c++-1}}
C++-1This user is a beginning C++ programmer.
Usage
{{Template:User c++-2}}
C++-2This user is an intermediate C++ programmer.
Usage
{{Template:User c++-3}}
C++-3This user is an advanced C++ programmer.
Usage
{{Template:User c++-4}}
C++-4This user is an expert C++ programmer.
Usage
{{Template:User c++-N}}
C++-NThis user is a fluent C++ programmer.
Usage

C#

Code Result
{{Template:User c sharp}}
C#This user can program in C#.
Usage
{{Template:User c sharp-0}}
C#-0This user does not understand C#, or does not want to program in C#.
Usage
{{Template:User c sharp-1}}
C#-1This user is a beginning C# programmer.
Usage
{{Template:User c sharp-2}}
C#-2This user is an intermediate C# programmer.
Usage
{{Template:User c sharp-3}}
C#-3This user is an advanced C# programmer.
Usage
{{Template:User c sharp-4}}
C#-4This user is an expert C# programmer.
Usage
{{Template:User c sharp-N}}
C#-NConsole.WriteLine("This user is a C# programmer.");
Usage

COBOL

Code Result
{{Template:User cobol}}
COBOLThis user can program in COBOL.
Usage
{{Template:User cobol-0}}
COBOL-0This person does not understand COBOL (or understands it with considerable difficulties or does not want to program in COBOL).
Usage
{{Template:User cobol-1}}
COBOL-1This user is a beginning COBOL programmer.
Usage
{{Template:User cobol-2}}
COBOL-2This user is an intermediate COBOL programmer.
Usage
{{Template:User cobol-3}}
COBOL-3This user is an advanced COBOL programmer.
Usage
{{Template:User cobol-4}}
COBOL-4This user is an expert COBOL programmer.
Usage

ColdFusion

Code Result
{{Template:User coldfusion}}
CFThis user can code in ColdFusion.
Usage
{{Template:User coldfusion-1}}
CF-1This user is a beginning ColdFusion programmer.
Usage
{{Template:User coldfusion-2}}
CF-2This user is an intermediate ColdFusion programmer.
Usage
{{Template:User coldfusion-3}}
CF-3This user is an advanced ColdFusion programmer.
Usage
{{Template:User coldfusion-4}}
CF-4This user is an expert ColdFusion programmer.
Usage

Fortran

Code Result
{{Template:User for}}
forThis user can program in Fortran.
Usage
{{Template:User for-1}}
for-1This user is a beginning Fortran programmer.
Usage
{{Template:User for-2}}
for-2This user is an intermediate Fortran programmer.
Usage
{{Template:User for-3}}
for-3This user is an advanced Fortran programmer.
Usage
{{Template:User programming-!3|Fortran}}
Fortran-3This user is an advanced Fortran programmer.
Usage
{{Template:User for-4}}
for-4This user is an expert Fortran programmer.
Usage

Forth

Code Result
{{Template:User fth}}
fthThis user can program in Forth.
Usage
{{Template:User fth-2}}
fth-2This user is an intermediate Forth programmer.
Usage
{{Template:User FORTH-3}}
fth-3This user is an advanced Forth programmer.
Usage
{{Template:User FORTH-4}}
fth-4This user is an expert Forth programmer.
Usage

Haskell

Code Result
{{Template:User haskell}}
hsThis user can program in Haskell.
Usage
{{Template:User haskell-0}}
hs-0This person does not understand Haskell (or does not want to program in Haskell).
Usage
{{Template:User haskell-1}}
hs-1This user is a beginning Haskell programmer.
Usage
{{Template:User haskell-2}}
hs-2This user is an intermediate Haskell programmer.
Usage
{{Template:User haskell-3}}
hs-3This user is an advanced Haskell programmer.
Usage
{{Template:User haskell-4}}
hs-4This user is an expert Haskell programmer.
Usage
{{Template:User haskell-N}}
hs-NThis user sees the world around them in Haskell.
Usage

Java

Code Result
{{Template:User java}}
JavaThis user can program in Java.
Usage
{{Template:User java-0}}
Java-0This user has some undisclosed problems with Java.
Usage
{{Template:User java-1}}
Java-1This user is a beginning Java programmer.
Usage
{{Template:User java-2}}
Java-2This user is an intermediate Java programmer.
Usage
{{Template:User java-3}}
Java-3This user is an advanced Java programmer.
Usage
{{Template:User java-4}}
Java-4This user is an expert Java programmer.
Usage
{{Template:User java-5}}
Java-5This user is a professional Java programmer.
Usage
{{Template:User java-N}}
Java-NThis user thinks in Java bytecode.
Usage



Warning: Default sort key "User Java" overrides earlier default sort key "User C".

Lisp

Code Result
{{Template:User lisp}}
Lisp(lambda (user)
    (setf (lisp-p user) t))
Usage
{{Template:User lisp-1}}
lisp-1This user is a basic Lisp programmer.
Usage
{{Template:User lisp-2}}
lisp-2This user is an intermediate Lisp programmer.
Usage

LPC

Code Result
{{User:Chaos5023/Userboxes/LPC}}
 This user is an LPC coder.
Usage
{{User:Chaos5023/Userboxes/LPC-1}}
 
1
This user is a beginning LPC coder, likely an area builder.
Usage
{{User:Chaos5023/Userboxes/LPC-2}}
 
2
This user is an intermediate LPC coder.
Usage
{{User:Chaos5023/Userboxes/LPC-3}}
 
3
This user is an advanced LPC coder.
Usage
{{User:Chaos5023/Userboxes/LPC-4}}
 
4
This user is an expert LPC coder.
Usage
{{User:Chaos5023/Userboxes/LPC-N}}
 
N
This user is a native LPC speaker.
Usage

Lua

Code Result
{{Template:User lua}}
LuaThis user can program in Lua.
Usage
{{Template:User lua-1}}
Lua-1This user is a beginning Lua programmer.
Usage
{{Template:User lua-2}}
Lua-2This user is an intermediate Lua coder.
Usage
{{Template:User lua-3}}
Lua-3This user is an advanced Lua programmer.
Usage

Mathematica

Code Result
{{Template:User mathematica}}
 This user can program in
Wolfram.
Usage
{{Template:User mathematica-1}}
 -1This user is a beginner Wolfram programmer.
Usage
{{Template:User mathematica-2}}
 -2This user is an intermediate Wolfram programmer.
Usage
{{Template:User mathematica-3}}
 -3This user is an advanced Wolfram programmer.
Usage
{{Template:User mathematica-4}}
 -4This user is an expert Wolfram programmer.
Usage

Pascal

Code Result
{{Template:User opas}}
opasThis user can program in Object Pascal (Delphi).
Usage
{{Template:User pas}}
pascalThis user can program in Pascal.
Usage
{{User:Piksi/Userboxes/Freepascal}}
 This user promotes using the Free Pascal compiler
Usage

Scheme

Code Result
{{Template:User scheme}}
 This user can program in Scheme.
Usage
{{Template:User scheme-1}}
 This user is a beginning Scheme programmer.
Usage
{{Template:User scheme-2}}
 This user is an intermediate Scheme programmer.
Usage
{{Template:User scheme-3}}
 This user is an advanced Scheme programmer.
Usage
{{Template:User scheme-4}}
 This user is an expert Scheme programmer.
Usage

Other Programming languages

Code Result
{{User:UserBox/AS400-CL}}
CLThis user can program in AS/400 Control Language.
Usage
{{User:UBX/matlab}}
MATThis user is a MATLAB programmer and user.
Usage
{{User:SamuelRiv/Userboxes/ML}}
MLThis user thinks in ML.
Usage
{{Template:User MOO}}
MOOThis user can code in MOO.
Usage
{{Template:User MUMPS}}
MUMPSThis user can program in
MUMPS (or a derivative).
Usage
{{Template:User nwscript}}
NWscriptThis user is a NWscript programmer.
Usage
{{Template:User objc}}
objcThis user can program in
Objective-C.
Usage
{{Template:User ocaml}}
ocaml-This user can program in OCaml.
Usage
{{User:Quasar Jarosz/Userboxes/Perl}}
PerlThis user is just another Perl hacker.
Usage
{{User:ZeroOne/Userboxes/php}}
PHPThis user can code PHP.
Usage
{{User:ZabMilenko/Userboxes/php coder}}
PHP This user is a PHP Coder.
Usage
{{Template:User pro}}
plThis user can code Prolog.
Usage
{{Template:User py}}
 This user can program in Python.
Usage
{{User:Impiaaa/Userboxes/Python}}
 This user programs in the awesome language of Python.
Usage
{{Template:User rexx-N}}
REXX-NThis user is held together by REXX.
Usage
{{User:UserBox/AS400-RPG}}
RPGThis user can program in AS/400 Report Program Generator.
Usage
{{Template:User ruby}}
 This user can program in Ruby.
Usage
{{Template:User SmallTalk}}
STThis user can program in Smalltalk.
Usage
{{Template:User tcl}}
TclThis user is a Tcl scripter.
Usage
{{Template:User tcltk}}
TclThis user is a Tcl scripter.
Usage
{{Template:User vb}}
vbThis user is a Visual Basic programmer.
Usage
{{Template:User vb.net}}
vb.netThis user is a Visual Basic .NET programmer.
Usage

Markup, Query, and Scripting languages

Code Result
{{Template:User fpml}}
<FpML>This user can swap Assets with FpML.
Usage
{{Template:User ActionScript}}
asThis user knows ActionScript.
Usage
{{Template:User Ascript-n}}
Ascript-NThis user is a native AppleScript programmer.
Usage
{{Template:User bash}}
bashThis user can program in Bash.
Usage
{{Template:User batch-1}}
bat-1This user is an occasional Batch programmer.
Usage
{{Template:User css}}
 
This user can write Cascading Style Sheets.
Usage
{{User:Serprex/GML}}
GMLThis user programs in the GML.
Usage
{{Template:User html}}
<html>This user can write HTML.
Usage
{{Template:User js}}
 This user can program in JavaScript.
Usage
{{User:Unimaginative Username/Userboxes/Javascript disabled}}
 js  This user browses with JavaScript disabled. Everyone should.
Usage
{{Template:User kon}}
kgThis user is a native speaker of Kikongo.
Usage
{{Template:User latex}}
LaTeXThis user can typeset using LaTeX.
Usage
{{Template:User LOLCODE}}
LolcatI CAN HAS LOLKITTEH!!1
Usage
{{Template:User mircs}}
mircsThis user is a mIRC scripter.
Usage
{{Template:User mysql}}
mysqlThis user writes programs that access MySQL.
Usage
{{Template:User postgresql}}
 This user writes programs that access PostgreSQL.
Usage
{{Template:User re}}
reThis user writes regular expressions.
Usage
{{Template:User sql-N}}
SQLThis user uses SQL queries to locate their car keys.
Usage
{{Template:User t}}
{{t|1}}This user knows roughly how a template works.
Usage
{{Template:User TeX}}
TeXThis Wikipedian is a TeX user.
Usage
{{User:Nihiltres/Userboxes/TI-BASIC}}
 This user screwed up the TI-BASIC programmer template by not specifying a skill level. Help is here.
Usage
{{Template:User vba}}
 User programs in VBA.
Usage
{{Template:User vbs}}
vbsThis user can program in VBScript.
Usage
{{Template:User standards compliant}}
W3CThis user believes in compliance with W3C standards.
Usage
{{Template:User wiki lang}}
{{Wiki}}This user can write in the MediaWiki language.
Usage
{{Template:User wikimarkup enthusiast}}
w:)This user is a wiki markup enthusiast.
Usage
{{Template:User xaml}}
xamlThis user can write XAML.
Usage
{{Template:User xml}}
XMLThis user can write XML.
Usage
{{User:Barfbagger/Userboxes/XL macro}} Usage
{{Template:User xhtml}}
xhtmlThis user can write XHTML.
Usage
{{Template:User xslt}}
xsltThis user is an XSL Transformations programmer.
Usage
{{Template:User xul}}
XULThis user can code in XUL.
Usage

Missing languages

If your language doesn't have a specific level userbox and you don't want to create it yourself, you can use a generic programming language userbox. Pages with these templates show the specified language skill, and belong to the corresponding general programming skill category:

Code Result
{{Template:User programming-!2|VRML}}
VRML-2This user is an intermediate VRML programmer.
Usage
{{Template:User programming-!1|RuneScript}}
RuneScript-1This user is a beginner RuneScript programmer.
Usage
{{Template:User programming-!4|Foo90}}
Foo90-4This user is an expert Foo90 programmer.
Usage
{{Template:User programming-!N|Unlambda}}
Unlambda-NThis user is a native Unlambda programmer.
Usage
{{Template:User programming-!3|SNOBOL}}
SNOBOL-3This user is an advanced SNOBOL programmer.
Usage
{{Template:User programming-!3|PL/1}}
PL/1-3This user is an advanced PL/1 programmer.
Usage
{{Template:User programming-!3|COBOL}}
COBOL-3This user is an advanced COBOL programmer.
Usage
{{Template:User programming-!3|Algol}}
Algol-3This user is an advanced Algol programmer.
Usage

Note that e.g. {{user programming-!3|Fortran}} won't add you to Category:User for-3, but you can add existing categories manually to the end of your page:

[[Category:User for-3|{{PAGENAME}}]]

On a user page the {{PAGENAME}} is simply the user name, used as sort key for the category, otherwise the entry would be sorted under U = User.

General

You can also use one of the general programming language skill level templates:

Code Result
{{Template:User programming-0}}
prog-0This user does not know how to program.
Usage
{{Template:User programming-1}}
prog-1This user is a beginning programmer.
Usage
{{Template:User programming-2}}
prog-2This user is an intermediate programmer.
Usage
{{Template:User programming-3}}
prog-3This user is an advanced programmer.
Usage
{{Template:User programming-4}}
prog-4This user is an expert programmer.
Usage
{{Template:User programming-N}}
prog-NThis user thinks in bytecode and dreams of electric sheep.
Usage
{{Template:User programming-x}}
prog-xThis user is merely a humble programmer.
Usage
{{User:Mistman123/Userboxes/Recursive}}
UBX(){
  UBX();
}
This user loves Recursion!
UBX(){
  UBX();
}
This user loves Recursion!
UBX(){
  UBX();
}
This user loves Recursion!
UBX(){
  UBX();
}
This user loves Recursion!
UBX(){
  UBX();
}
This user loves Recursion!
Usage

Userbox system overview