Web Analytics

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Visual Basic - Wikipedia

Visual Basic

aus Wikipedia, der freien Enzyklopädie

Visual Basic (Abk. VB) ist der Sammelbegriff für verschiedene Programmiersprachen, die auf der Sprache BASIC basieren und aus der MS-DOS-Anwendung „Microsoft QBasic“ hervorgegangen sind. Visual-Basic-Programme laufen vornehmlich auf Windows und anderen Microsoft-Plattformen.

Der historische Erfolg von VB beruht vor allem auf der einfachen Erlernbarkeit, visuellen Entwicklungsumgebungen und der unkomplizierten Ausbaufähigkeit der zugehörigen Programmbibliotheken.

Inhaltsverzeichnis

[Bearbeiten] Geschichte

Visual Basic
{{{Logo}}}
Basisdaten
Paradigmen: prozedural, vollständig objektorientiert
Erscheinungsjahr: 1991
Designer:
Entwickler: Microsoft Corp.
Aktuelle Version: 6.0  (1998)
Typisierung: stark, statisch, implizit und explizit (auf Wunsch nur explizit)
wichtige Implementierungen: Microsoft Visual Basic
Dialekte: VBA, VBScript
Einflüsse: QBasic
Beeinflusste: Gambas
Betriebssystem: Windows
Lizenz: proprietär
Website:

In den frühen 1990ern hatte BASIC, das damals mit vielen Betriebssystemen mitgeliefert wurde, gegenüber anderen Hochsprachen wie C und C++ an Bedeutung verloren. BASIC bot eine viel eingeschränktere Funktionalität und Erweiterbarkeit, wodurch es für den professionellen Einsatz nicht geeignet war.

[Bearbeiten] 1991 - 1993: Integrierung des Entwicklungsprozesses

Die Firma Microsoft, die in ihren frühen Jahren vor allem durch BASIC-Interpreter groß geworden war, verband im Jahre 1991 Ihren QuickBasic-Compiler mit einer Umgebung zur interaktiven Gestaltung von Benutzeroberflächen. Diese Umgebung, die auf Alan Cooper (manchmal als „Vater“ von Visual Basic bezeichnet) zurückgeht, erlaubte es zum ersten Mal, schnell und einfach Anwendungen für Windows zu erstellen. Für Visual Basic 1 war als einzige Version ebenfalls eine DOS-Version erhältlich. Anders als QuickBasic gab es Visual Basic in zwei verschiedenen Ausführungen, der „Standard Edition“ und der „Professional Edition“.

Der Quellcode von Visual-Basic-1-Programmen wurde interpretiert, d.h. die Programme werden erst beim Start in Maschinencode übersetzt. Zur Ausführung mussten deshalb sogenannte Laufzeitbibliotheken separat mitgeliefert werden; diese Bibliotheken übernahmen die erwähnte Übersetzung in Maschinencode.

Mit den Folgeversionen „Visual Basic 2“ (1992) und „Visual Basic 3“ (1993) wurden vor allem Erweiterungen der Sprache und der Entwicklungsumgebung umgesetzt. Unter anderem wurden Objekte eingeführt. Ab Visual Basic 2 wurden außerdem so genannte Zusatzsteuerelemente (Controls) unterstützt, mit denen Dritthersteller die Funktionalität von Visual Basic erweitern konnten und die ein wichtiger Faktor beim Erfolg von Visual Basic waren.

[Bearbeiten] 1996 - 1998: Erste Schritte ins 21. Jahrhundert

Das nach einer längeren Pause im Jahre 1996 veröffentlichte Visual Basic 4 gab es erstmals nicht nur in einer 16-Bit-Version für Windows-Systeme bis Version 3.1, sondern auch als 32-Bit-Version, mit der man für Windows NT und Windows 95 optimierte Programme erstellen konnte. Dem Sprung von 16 auf 32 Bit folgte im darauffolgenden Jahr die nächste große Neuerung: Visual-Basic-5-Programme wurden erstmals in nativen Code kompiliert. Damit war es - im Gegensatz zu den Vorgängerversionen - nicht mehr möglich, den Quelltext von Visual-Basic-Programmen aus der ausführbaren Datei zu extrahieren. Außerdem ergab sich ein erheblicher Performancegewinn. Durch diese Neuerungen eignete sich Visual Basic 5 erstmals auch zum Erstellen zeitkritischer Anwendungen. Trotzdem waren Visual-Basic-Programme immer noch langsamer als etwa C++-Programme.

Mit Visual Basic 4, 5 und 6 (1998) wurden der Sprache objektorientierte Elemente hinzugefügt, jedoch ohne alle Kriterien der objektorientierten Programmierung zu erfüllen. Visual Basic 6 war dabei die letzte Visual-Basic-Version, die die native Erstellung von Win32-Programmen ermöglichte.

Visual Basic 4 erweiterte das Konzept von „Standard Edition“ und „Professional Edition“ um die „Enterprise Edition“. Mit Visual Basic 5 wurde außerdem eine „Control Creation Edition“ (CCE) veröffentlicht, die zwar kostenlos war, jedoch nur zur Erstellung von Steuerelementen genutzt werden konnte.

[Bearbeiten] 2002 - 2003: Die .NET-Revolution

Visual Basic .NET

Basisdaten
Paradigmen: prozedural, vollständig objektorientiert
Erscheinungsjahr: 2002
Designer:
Entwickler: Microsoft Corp.
Aktuelle Version: 8.0.50727  (27. November 2005)
Typisierung: stark, explizit (auf Wunsch auch implizit), statisch
wichtige Implementierungen: Microsoft Visual Basic .NET, SharpDevelop
Dialekte:
Einflüsse: Visual Basic, Java, C#
Beeinflusste:
Betriebssystem: Windows
Lizenz: proprietär
Website: http://msdn.microsoft.com/vbasic/

Um die Jahrtausendwende hatte Visual Basic Vorsprung eingebüßt. Viele andere Hochsprachen boten nun auch die Möglichkeit, einfach Windows-Benutzeroberflächen zu erstellen, zum Beispiel C++ mit den Microsoft Foundation Classes. Aus diesem Grund zum Handeln gezwungen, integrierte Microsoft die Programmiersprache Visual Basic in die hauseigene .NET-Architektur. Dabei wurde die Sprache zu einem hohen Grad verändert, um den Ansprüchen an eine .NET-Sprache zu genügen. Visual Basic .NET ist deshalb vollständig objektorientiert. Der Quellcode wird bei der Kompilierung nicht mehr in nativen Win32-Code übersetzt, sondern in Code der Common Intermediate Language, dem .NET-Pendant des Java-Bytecodes. Dieser Code wird zur Laufzeit in Maschinencode umgesetzt und kann an die aktuelle Plattform angepasst werden.

Die Umstellung auf .NET-Technologie brachte neben diesen Änderungen im Hintergrund auch Änderungen für den Programmierer. Das .NET-Framework stellt zahlreiche Funktionsbibliotheken zur Verfügung, z.B. für Dateizugriffe oder zum Lesen und Schreiben von XML-Dateien. Am wichtigsten sind hier die Windows Forms, die das veraltete Thunder-Forms-System der vorherigen Versionen zur Erstellung von Benutzeroberflächen ablöst. Der augenscheinlichste Unterschied der Windows Forms gegenüber den Thunder Forms ist die Tatsache, dass kein spezielles Dateiformat mehr zur Speicherung verwendet wird, sondern die Formulare als Klassen durch Code erstellt werden. Dabei wird der Konstruktor der Fensterklasse verwendet, um die ebenfalls durch Klassen repräsentierten Steuerelemente zu erstellen. Moderne Integrierte Entwicklungsumgebungen ermöglichen die visuelle Erstellung von Formularen, wobei der für den Konstruktor der Fensterklasse notwendige Code von der Entwicklungsumgebung erzeugt wird. Auf der anderen Seite gab es mit dem Verlust der „Edit and Continue“-Funktion einen großen entwicklungstechnischen Rückschritt. So konnte man noch in der Version 6 im Debug-Modus den Code ändern und die Ausführung ohne Unterbrechung weiterlaufen lassen, was in VB.NET 2002 nicht mehr möglich war, in der übernächsten Version jedoch wieder eingeführt wurde.

Mit Visual Basic .NET kann man auch Web-Anwendungen erstellen, indem man den VB-Code in einer ASP.NET-Umgebung laufen lässt. Die hier verwendete GUI-Bibliothek heißt „Web Forms“ und ist größtenteils eine Anpassung von Windows-Forms-Elementen an die Möglichkeiten von Webbrowsern und sonstigen Webclients.

Die Umstellung von früheren Visual-Basic-Versionen, welche in Abgrenzung zu Visual Basic .NET Visual Basic Classic genannt werden, bringt einige Probleme mit sich: Da die Sprache und die Funktionsbibliothek so tiefgreifende Änderungen erfahren haben, kann ein Visual-Basic-Classic-Codeprojekt nur mit großem Aufwand auf die neue Version migriert werden. Microsoft liefert zwar mit seiner Entwicklungsumgebung Visual Studio einen sogenannten Migrationsassistenten mit. Dieser wandelt die Codestruktur meist korrekt um und beherrscht bis auf wenige Spezialfälle die Konvertierung von Thunderforms nach Windows Forms, hat aber zum Beispiel starke Probleme mit Grafikprogrammierung, da die verwendeten Grafiksysteme von Visual Basic Classic (GDI, in Thunder-Forms-Steuerelementen gekapselt) und Visual Basic .NET (GDI+) praktisch inkompatibel zueinander sind. Zur besseren Portierung gibt es von Microsoft neben dem Migrationsassistenten eine Funktionssammlung in der .NET-Umgebung (im Microsoft.VisualBasic-Namensraum), die einige wichtige Visual-Basic-Classic-Funktionen unter .NET zur Verfügung stellt. Bestehende COM-Komponenten können ohne Einschränkungen weiterbenutzt werden.

Seit Visual Basic .NET wird Visual Basic nur noch als Teil von Microsoft Visual Studio angeboten. Visual Basic 7 wurde mit „Visual Studio .NET 2002“ ausgeliefert und basiert auf dem .NET-Framework, Version 1.0 (build 3705). Das erste Update auf Visual Basic 7.1 bzw. .NET Framework 1.1 (build 4322) sowie „Visual Studio .NET 2003“ brachte nur kleinere Änderungen, was sich im „kleinen“ Versionssprung widerspiegelt. Etwa kann ab Visual Basic 7.1 eine Zählervariable im Kopf einer For-Schleife deklariert werden. Außerdem wurde die Unterstützung für mobile Geräte hinzugefügt. Auf diesen dient nicht das .NET Framework 1.1 als Laufzeitumgebung, sondern das „.NET Compact Framework 1.0“.

In Visual Basic .NET kann man, anders als in Visual Basic Classic, auch dann Programme erstellen, wenn man keine Entwicklungsumgebung erworben hat. Das .NET-Framework verfügt nämlich aus technischen Gründen über einen Kommandozeilencompiler namens vbc.exe.

[Bearbeiten] 2005 - 2007: Gegenwart und Zukunft von Visual Basic

Im November 2005 erfolgte der erste große Versionssprung des .NET Framework und des .NET Compact Framework auf Version 2.0, begleitet von der Veröffentlichung des neuen Visual Basic 8 als Teil von „Visual Studio 2005“. (Das „.NET“ ist aus dem Namen entfallen.) Mit dieser Version wurden einige Restrukturierungen an der .NET-Laufzeitbibliothek vorgenommen. Am auffälligsten ist die Unterstützung der generischen Programmierung mit Templates. Viele Schnittstellen und Attribute der Laufzeitbibliothek sind auch als generische Implementation verfügbar.

Mit Visual Basic 8 wurde der Operator IsNot eingeführt, der Aufsehen erlangte, als Microsoft sich diese Erfindung patentieren ließ.[1] Eine andere Neuerung ist der My-Namensraum, der unterschiedliche systemabhängige Funktionen in einer für den Programmierer übersichtlichen Weise darstellt, etwa den Zugriff auf Computerkomponenten, die Windows-Registrierungsdatenbank oder Informationen über das Betriebssystem und den aktuellen Benutzer.

2007 wird parallel zur Veröffentlichung von Windows Vista die neue Visual-Basic-Version 9[2] bzw. das „Visual Studio 2007“ veröffentlicht. Die größte sprachliche Änderung ist wohl die Unterstützung der SQL-Einbindungstechnologie LINQ. Visual Basic 9 basiert auf dem mit Windows Vista ausgelieferten und für Windows XP erhältlichen .NET Framework 3.0 (vormals WinFX). Der wohl bedeutendste Bestandteil des Versionsupdates ist die Windows Presentation Foundation, die nicht nur Windows Forms, sondern auch das Windows-interne Grafiksubsystem GDI ablöst.[3]

[Bearbeiten] Ableger

Aufgrund seiner Popularität und einfachen Erlernbarkeit wurde Visual Basic Classic von Microsoft für verschiedene spezifische Umgebungen adaptiert.

[Bearbeiten] Visual Basic Script

Hauptartikel: Visual Basic Script

Visual Basic Script (kurz: VBScript oder VBS) ist eine Visual-Basic-Variante, die zum Erstellen von dynamischen Webseiten oder kleineren Scripts eingesetzt wird. VBS wird interpretiert, nicht kompiliert, und kann deshalb mit einem Texteditor erstellt werden. Die Sprache verwendet die gleiche Syntax wie Visual Basic Classic. Oberflächen können nicht direkt, sondern nur indirekt durch Einbetten des VBScript-Codes in HTML über den Windows Scripting Host erstellt werden. Dabei kann VBS auf alle COM-Objekte mit IDispatch-Schnittstelle zugreifen. VBS wurde außer für Windows- und clientseitige Web-Scripts auch für serverseitige Web-Scripts in einer ASP-Umgebung verwendet. Mit ASP.NET wurde VBS jedoch durch VB.NET verdrängt.

[Bearbeiten] Visual Basic for Applications

Hauptartikel: Visual Basic for Applications

Visual Basic for Applications (kurz: VBA) ist ebenfalls eine auf Visual Basic Classic basierende interpretierte Skriptsprache. Sie wurde speziell zum Automatisieren wiederkehrender Aufgaben innerhalb anderer Programme entwickelt und hat große Popularität erlangt, seit Microsoft es mit seinem Büroprogramm Office ausliefert. Über die ältesten VBA-Anbindungen verfügen Microsoft Excel, Microsoft Access (beide seit 1995) und Microsoft Word (seit 1997). Auch VBA konkurriert mit .NET, da Visual Studio .NET mit den Visual Studio Tools for Applications (vormals Visual Studio Tools for Office) ausgeliefert wird, die eine ähnliche Funktion wie VBA übernehmen.

[Bearbeiten] Entwicklungsumgebungen

Die (historisch bedingt) populärste integrierte Entwicklungsumgebung für Visual Basic ist „Microsoft Visual Basic“ bzw. „Microsoft Visual Studio“, zu der es lange Zeit keine Alternative gab. Für Visual Basic .NET gibt es jedoch eine freie Entwicklungsumgebung namens SharpDevelop (kurz: #develop), die dem großen Vorbild in der aktuellen Version 2 fast in nichts nachsteht.

[Bearbeiten] Syntaxbeispiele

Um einen Vergleich zu ermöglichen, erfüllen alle der folgenden Programme denselben Zweck: Sie geben alle ein Hinweisfeld mit dem Inhalt „Hallo, Welt!“ aus.

[Bearbeiten] Syntax von Visual Basic Classic

Die Syntax von Visual Basic Classic ist sehr stark an QBasic angelehnt.

Module Hello
    Public Sub Main()
        MsgBox "Hallo, Welt!"
    End Sub
End Module

In diesem Beispiel befindet sich in dem Modul Hallo die Startfunktion Main des Programmes. Der Befehl MsgBox erstellt das Meldungsfeld. Man beachte, dass der Parameter "Hallo, Welt!" nicht in Klammern stehen muss.

[Bearbeiten] Syntax von Visual Basic .NET

Visual Basic .NET verfügt über Befehle, die denen von Visual Basic Classic sehr ähnlich sind. Dieser Ballast erleichtert vor allem die Konvertierung von Visual-Basic-Classic-Code nach Visual Basic .NET. So ist das folgende Visual-Basic-.NET-Codebeispiel dem vorangehenden sehr ähnlich. Die MsgBox-Funktion befindet sich hier im Microsoft.VisualBasic-Namensraum, der eine Kompatibilitätsschicht zwischen der .NET-Laufzeitbibliothek und der alten Visual-Basic-Funktionsbibliothek darstellt.

Module Hello
    Public Sub Main()
        MsgBox("Hallo, Welt!")
    End Sub
End Module

Mit Visual-Basic-.NET-Mitteln lässt sich dieser Code statt als Modul auch als Klasse realisieren. Diese Vorgehensweise hat den Vorteil, dass sie sich leichter erweitern lässt und sich besser in das Konzept von Visual Basic .NET einfügt. In der Klasse ist die Main-Funktion ein statisches Mitglied, kann also ohne Instanz aufgerufen werden. (Siehe auch Objektorientierte Programmierung.)

Class Hello
    Public Shared Sub Main()
        MessageBox.Show("Hallo, Welt!")
    End Sub
End Class

[Bearbeiten] Kritische Betrachtung

Visual Basic spaltet die Gemüter. Manche schätzen die einfache Erlernbarkeit, andere machen sich über die aus ihrer Sicht eingeschränkten Möglichkeiten [4] lustig.

[Bearbeiten] Vorteile

  • Der historisch wichtigste Vorteil von Visual Basic ist die einfache Erlernbarkeit der Sprache. Die Sprache ist bewusst an die englische Sprache angelehnt und benutzt Wörter (z.B. And, Or, Mod) anstelle von Symbolen (z.B. &&, ||, % in C++)
  • Da Visual Basic von Anfang an zum Einsatz mit einer integrierten Entwicklungsumgebung konzipiert wurde, können Visual-Basic-Programme in der Regel mit weniger Zeitaufwand erstellt werden. Dadurch eignet es sich für Rapid Application Development und wird oft eingesetzt, um erste Prototypen für Programme zu bauen, die später z.B. in C++ implementiert werden.
  • Vor allem Visual Basic .NET ist sehr gut dokumentiert. Die MSDN Library, die die komplette .NET-Architektur, alle Standard-.NET-Sprachen, sowie Visual Studio .NET dokumentiert und beschreibt, ist die wohl größte Informationssammlung über Programmierung der Welt. Mit Visual Studio wird die MSDN Library auf nicht weniger als 3 CDs ausgeliefert.

[Bearbeiten] Nachteile

  • Für Anfänger konzipiert, bietet Visual Basic Classic nur wenige fortgeschrittene Eingriffsmöglichkeiten ins System, die von Profis meistens über Aufrufe von API-Funktionen realisiert werden müssen.
  • Visual Basic Classic krankt häufig an einer langsamen Ausführungsgeschwindigkeit. Dies beruht auf dem Konzept, Visual-Basic-Programme nur in einen Zwischencode zu kompilieren und erst bei der Laufzeit in Maschinencode zu übersetzen, was Zeit kostet. Mit den Versionen 5 und 6 sind durch Compileroptimierungen und die Möglichkeit, auch direkt in nativen Code zu kompilieren, hat Visual Basic den Vorsprung anderer Programmiersprachen wie C oder C++ verkürzen, jedoch nicht aufholen können. Visual-Basic-.NET-Programme werden, wie die Programme aller anderen .NET-Programmiersprachen, in eine einheitliche Zwischensprache, die Common Intermediate Language, übersetzt. Alle .NET-Programme haben also letztendlich dieselbe gute Ausführungsgeschwindigkeit.
  • Visual-Basic-Programme benötigen auf dem Zielsystem, also dem Rechner des Kunden, zusätzliche Komponenten zur Ausführung. Bei Visual Basic Classic sind das die „Visual Basic X Runtime Files“, wobei X für die jeweilige Visual-Basic-Version steht, zum Beispiel 5 oder 6. Visual Basic .NET benötigt ein „.NET Framework“, meistens das von Microsoft. Da diese zusätzlichen Dateien für die Ausführung von Visual-Basic-Programmen erforderlich sind, werden Visual-Basic-Programme für gewöhnlich installiert. Während der Installation besteht nämlich die Möglichkeit, die Runtime Files oder das Framework zu installieren, ohne den Benutzer damit belästigen zu müssen.
  • Visual Basic ist, anders als viele moderne Hochsprachen, kein offener Standard, sondern proprietär und geistiges Eigentum von Microsoft. Dadurch ist Visual Basic auch an Microsoft Windows gebunden, also nicht portabel. Mit Visual Basic .NET hat sich diese Bindung gelockert, da einige Teile der .NET-Infrastruktur durch die European Computer Manufacturers Association standardisiert worden sind.
  • Visual Basic Classic verfügt über nur rudimentäre objektorientierte Fähigkeiten und eignet sich damit nur bedingt für professionelle Projekte. Mit Visual Basic .NET wurde dieser Nachteil vollständig ausgeräumt.
  • Visual Basic macht viele kleinere Dinge anders als andere Sprachen. Das erschwert das Übertragen von Programmen aus anderen Hochsprachen nach Visual Basic und umgekehrt. Auch erschwert es das Umlernen, wenn man bereits in einer anderen Hochsprache programmiert hat. Deshalb scheuen viele Programmierer den Umstieg auf Visual Basic und sehen Visual Basic im Vergleich z.B. mit Java nicht als Hochsprache an. Einige solcher Charakteristika sind nachfolgend genannt:
    • Üblicherweise hat der logische Wert Falsch bzw. False den Wert 0, Wahr oder True wird als 1 interpretiert. In Visual Basic steht True aber für -1.
    • Die Vergleichsoperatoren sind in Visual Basic gleichzeitig die bitweisen Operatoren. Es hängt von der Art der Operanden ab, welche Operation durchgeführt wird.
    • Die Untergrenze von Feldern (Arrays) kann durch eine dem Code vorangestellte Anweisung auf 0 oder 1 gesetzt werden. Da diese Einstellung pro Codedatei gilt, wird so die Übernahme von Code aus anderen Dateien erschwert.
    • Variablen können ohne expliziten Typ deklariert werden und haben dann den Typ Variant, der sich nachteilig auf das Typisierungsverhalten und die Ausführungsgeschwindigkeit von Visual-Basic-Programmen auswirkt.

[Bearbeiten] Quellen

  1. Patent auf den IsNot-Operator (englisch)
  2. Überblick über die Änderungen in Visual Basic 9 (englisch)
  3. Zukünftige Visual-Studio-Versionen (englisch)
  4. 13 Wege, Visual Basic zu hassen (englisch)

[Bearbeiten] Literatur

Wikibooks: Visual Basic Classic – Lern- und Lehrmaterialien
Wikibooks: Visual Basic .NET – Lern- und Lehrmaterialien

[Bearbeiten] Weblinks

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu