Беларусь  БеларусьDeutschland  DeutschlandUnited States  United StatesFrance  FranceҚазақстан  ҚазақстанLietuva  LietuvaРоссия  Россияประเทศไทย  ประเทศไทยУкраина  Украина
Unterstützung
www.aawiki.de-de.nina.az
  • Heim

Dieser Artikel behandelt die Tätigkeit der Erstellung von Software Zu weiteren Bedeutungen siehe Programmierung Begriffs

Programmierung

  • Startseite
  • Programmierung
Programmierung
www.aawiki.de-de.nina.azhttps://www.aawiki.de-de.nina.az
image
Dieser Artikel behandelt die Tätigkeit der Erstellung von Software. Zu weiteren Bedeutungen siehe Programmierung (Begriffsklärung).

Programmierung (von altgriechisch πρόγραμμα prógramma „öffentlich und schriftlich bekannt gemachte Nachricht, Befehl“) bezeichnet die Tätigkeit, Computerprogramme zu erstellen und wird der Softwareentwicklung zugerechnet.

Computerprogramme werden mit Hilfe einer Programmiersprache formuliert („codiert“). Die Programmierenden überführen dabei die z. B. im Pflichtenheft vorgegebenen Anforderungen in eine bestimmte Programmiersprache. Teilweise werden dazu Codegeneratoren verwendet, die Teile des Programmcodes auf Basis von Modellen (die im Entwurf entstanden sind) automatisch erzeugen.

Beim Programmieren sind wesentliche Aspekte zur Softwarequalität zu berücksichtigen und durch die Gestaltung des Quellcodes umzusetzen. Siehe dazu als Beispiele: Programmierstil, Benutzerfreundlichkeit,Wiederverwendbarkeit / Modularität, Wartbarkeit.

„Programmieren“ in erweitertem Sinn umfasst neben der Codeerstellung zahlreiche weitere Tätigkeiten, zum Beispiel das Testen (Entwicklertest) des Programms oder das Erstellen der Programmdokumentation. Abgrenzen vom Begriff des Programmierens lassen sich andere Tätigkeiten zur Softwareentwicklung wie beispielsweise das Projektmanagement, die Anforderungsanalyse oder die Datenmodellierung.

Abhängig vom Typ und der Einsatzumgebung von Software (z. B. für Systemsoftware, Spielesoftware, Standardsoftware, Grafiksoftware. usw.) können zur Entwicklung unterschiedliche Verfahren oder/und Werkzeuge (wie Programmiersprachen, Testverfahren etc.) zum Einsatz kommen und/oder von spezialisierten Entwicklern ausgeführt werden.

Je nach angewendetem Vorgehensmodell verlaufen die Aktivitäten zur Programmierung in zeitlich voneinander abgegrenzten Projektphasen, parallel oder iterativ. In der Praxis geschieht das Programmieren häufig in Teamarbeit, mit modernen Entwicklungsmethoden (wie Agile Softwareentwicklung) und Programmierwerkzeugen.

Ähnliche Bedeutungen: Umgangssprachlich bezeichnet man gelegentlich auch das Konfigurieren (das Einstellen/Einrichten) von Haushalts- oder anderen elektrischen Geräten als „Programmieren“. Auch Organisationseinheiten von Unternehmen, in denen Software entwickelt wird, werden oder wurden zum Teil „Programmierung“ genannt.

Geschichte

Siehe auch: Computerprogramm: Geschichte, Geschichte der Programmiersprachen und Programmiersprache – Geschichte

Charles Babbage beschrieb 1834 eine programmierbare Maschine, die Analytical Engine, welche allerdings nie gebaut wurde. Seine „Notations of calculations for the Analytical Engine“ umfasst 27 Programme. Diese sind in „The Babbage Papers“ des Science Museums von London abrufbar. Die Programme enthalten bereits „Indirekte Adressierung“ und „bedingte Ausführungen“ (IF-THEN-ELSE-Befehle). Diese Dokumente dürften als erste Programme und Programmiersprache bezeichnet werden.

Ada Lovelace übersetzte 1843 eine ursprünglich französische Beschreibung der Analytical Engine von Luigi Federico Menabrea ins Englische und fügte eigene Notizen hinzu. Diese Anmerkungen enthielten einen tabellarischen Plan zur Berechnung der Bernoulli-Zahlen. 1941 realisierte Konrad Zuse mit dem Z3 die erste programmgesteuerte Rechenmaschine, von 1942 an entwickelte er mit Plankalkül die erste höhere Programmiersprache. Die Mathematikerin Grace Hopper schuf 1949 den ersten Compiler, der Quellcode in Maschinencode übersetzt.

Qualitätskriterien

→ Hauptartikel: Softwarequalität

Die Qualität von Software entsteht zu großen Teilen im Rahmen der Tätigkeiten des Programmierens, besonders die folgenden Qualitätskriterien betreffend:

Korrektheit

→ Hauptartikel: Programmfehler

Ein Programm muss die im Entwurf gemachten Vorgaben korrekt umsetzen. Dazu muss es in der Regel fehlerfrei sein, wobei beim Programmieren meist zwei verschiedene Arten von Fehlern auftreten:

  1. Syntaxfehler: Fehlerhaft formulierter Quellcode – man verwendet Formulierungen oder Konstrukte, die so nicht in der verwendeten Programmiersprache vorkommen (Tippfehler, Unkenntnis, …). Syntaxfehler können beim Übersetzen vom Compiler/Interpreter oder Parser erkannt werden und verhindern i. d. R. die Programmausführung.
  2. Semantische Fehler: Das Programm verhält sich nicht wie gewünscht, weil möglicherweise der Algorithmus oder seine Umsetzung fehlerhaft war. Semantische Fehler können in der Regel nicht automatisch erkannt, sondern nur durch gewissenhaftes Testen gefunden werden – beispielsweise in Form von Unittests.

Der Übergang zwischen diesen beiden Fehlerarten ist fließend. Beispielsweise wird ein Tippfehler im Code (z. B. „>“ anstatt „<“ in einem Vergleichsbefehl) zu einem gültigen ausführbaren Programm führen, das Resultat dürfte jedoch falsch sein. An anderer Stelle könnte derselbe Fehler ein Syntaxfehler sein.

Robustheit

Statistisch gesehen wird die meiste Zeit für die Entwicklung von Quelltext benötigt, um auf Fehler oder außergewöhnliche Anwendungs- oder Hardwareumgebungen zu reagieren. Ein Programmtext, der auch bei unvorhergesehenen Fehlern oder ungewöhnlichen Umgebungen sinnvoll reagiert, wird als robust bzw. portabel bezeichnet. Geübte Programmierer können die möglichen Fehler und Laufzeitumgebungen gut einschätzen und strukturieren das Programm und seinen Quelltext dementsprechend. Der Zeitdruck bei der Entwicklung von Anwendungen stellt selbst an erfahrene Programmierer immer höchste Ansprüche hinsichtlich dieses Kriteriums.

Wartbarkeit

Damit eine Software dauerhaft funktioniert, muss sie wartbar sein. Das heißt, Änderungen wie Bugfixes, Anpassungen und neue Features müssen ohne großen Aufwand eingepflegt werden können. Dies erfordert vor allem, dass der Programmierer keinen zu kurzen, „kryptischen“ Quelltext (oder Quellcode) erzeugen soll, der für andere Entwickler nicht oder nur mit hoher Einarbeitungszeit verständlich ist.

Um solche Probleme zu vermeiden, existieren häufig Namenskonventionen, in denen beispielsweise selbsterklärende (oder auch „sprechende“) Bezeichner/Namen für Variablen etc. zur Verwendung empfohlen/vorgeschrieben werden – oder die Verwendung aussagefähiger Kommentare im Code. Auch eine sinnvolle Aufteilung des Codes in intuitiv verständliche Funktionen und Klassen trägt zum Verständnis und Übersichtlichkeit bei.

Siehe auch: Programmierstil

Effizienz

In der Regel stehen einem Programm nur begrenzte Ressourcen (Laufzeit, Speicherverbrauch, Bandbreite) zur Verfügung. Gute Programmierung kann dazu beitragen, unnötigen Ressourcenverbrauch zu reduzieren. Beispielsweise erfolgt dies, indem bei Verwendung großer Datenmengen an mehreren Stellen im Programm nicht jeweils der gesamte Datensatz kopiert wird, sondern nur die Adresse übertragen wird, an der die Daten gespeichert werden.

Effiziente Programmierung

Gemäß Niklaus Wirth zeichnet sich gute Programmierung zum einen dadurch aus, dass die Funktionen, die die jeweils verwendete Programmierumgebung bereitstellt, möglichst effizient genutzt werden. Insbesondere geht es darum, für neue Aufgabenstellungen das Rad nicht immer wieder neu zu erfinden, wenn bestimmte Funktionen schon bereitgestellt werden (zum Beispiel durch die Programmierumgebung in Form von Programmbibliotheken). Sie zeichnet sich also vor allem dadurch aus, dass ein guter Überblick über den grundsätzlichen Funktionsumfang und die Systematik der von der Programmierumgebung bereitgestellten Funktionen (die in die zehntausende gehen können) möglich ist. Für eine definierte Aufgabenstellung kann in entsprechenden Dokumentationen dann schnell eine verfügbare Funktion ermittelt, eingesetzt und ggf. erweitert werden.

Arbeitsmittel

→ Hauptartikel: Programmierwerkzeug

Theoretisch reichen zum Programmieren ein einfacher Texteditor und ein Compiler/Interpreter für die jeweilige Programmiersprache aus. In der Praxis wird jedoch zusätzlich auf eine Reihe von Werkzeugen zurückgegriffen, die typische Programmierarbeiten vereinfachen sollen. Dazu gehören beispielsweise Texteditoren mit speziellen Features wie Syntax-Highlighting, Autovervollständigen und Refactoring – wobei der Übergang zur Integrierten Entwicklungsumgebung (IDE) fließend ist.

Daneben existieren verschiedene Werkzeuge zur Fehlersuche, sogenannte Debugger, sowie Programme zur Durchführung statischer und dynamischer Tests. Zur Performanzanalyse kann zusätzlich ein Profiler eingesetzt werden.

Arbeiten mehrere Entwickler an derselben Software, kommen meist Versionierungssysteme zum Einsatz, die den Code inklusive früherer Versionen auf einem zentralen Server speichern, auf den alle beteiligten Programmierer Zugriff haben.

Siehe auch

  • Programmiergerät
  • Programmierparadigma

Literatur

  • Michael Sperber, Herbert Klaeren: Schreibe dein Programm! Einführung in die Programmierung. Tübingen Library Publishing, Tübingen 2024, ISBN 978-3-947251-88-9

Weblinks

imageWiktionary: Programmierung – Bedeutungserklärungen, Wortherkunft, Synonyme, Übersetzungen
image
Commons: Programmierung – Sammlung von Bildern, Videos und Audiodateien
image
Wikibooks: Das Buchregal "Programmierung" – Lern- und Lehrmaterialien
  • Joachim Korb: Die Geschichte der Softwareprogrammierung. perspektive89.com
  • Einführung ins Programmieren. az2000.de (für Neueinsteiger).
  • Allgemeine Grundlagen der Programmierung. highscore.de (Online-Buch).

Einzelnachweise

  1. Wilhelm Pape, Max Sengebusch (Bearb.): Handwörterbuch der griechischen Sprache. 3. Auflage, 6. Abdruck, Vieweg & Sohn, Braunschweig 1914; zeno.org
  2. Was ist Softwareentwicklung? IBM; abgerufen am 18. Juni 2024
  3. Sebastian Dörn: Programmieren lernen und Algorithmen verstehen. Abgerufen am 12. Januar 2018. 
  4. computerhistory.org
  5. collection.sciencemuseumgroup.org.uk
  6. link.springer.com
  7. Grace Hopper. Yale University; abgerufen am 7. Juni 2016
  8. Ulrich Kohler, Frauke Kreuter: Datenanalyse mit Stata: Allgemeine Konzepte der Datenanalyse und ihre praktische Anwendung. 4. Auflage. Oldenbourg Wissenschaftsverlag, 2012, ISBN 978-3-486-70921-6, S. 113 (books.google.com – Datenanalyse mit Stata: Allgemeine Konzepte der Datenanalyse und ihre praktische Anwendung – mit „sprechende Variablennamen“ im Abschnitt „5.6 Beschriftung von Variablen“). 
  9. Niklaus Wirth: A Brief History of Software Engineering. In: IEEE Annals of the History of Computing. Band 30, 3, Juli–September, 2008, S. 32–39, doi:10.1109/MAHC.2008.33 (computer.org [PDF; abgerufen am 30. April 2009]). 
Normdaten (Sachbegriff): GND: 4076370-5 (GND Explorer, lobid, OGND, AKS)

Autor: www.NiNa.Az

Veröffentlichungsdatum: 25 May 2025 / 08:31

wikipedia, wiki, deutsches, deutschland, buch, bücher, bibliothek artikel lesen, herunterladen kostenlos kostenloser herunterladen, MP3, Video, MP4, 3GP, JPG, JPEG, GIF, PNG, Bild, Musik, Lied, Film, Buch, Spiel, Spiele, Mobiltelefon, Mobil, Telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, komputer

Dieser Artikel behandelt die Tatigkeit der Erstellung von Software Zu weiteren Bedeutungen siehe Programmierung Begriffsklarung Programmierung von altgriechisch programma programma offentlich und schriftlich bekannt gemachte Nachricht Befehl bezeichnet die Tatigkeit Computerprogramme zu erstellen und wird der Softwareentwicklung zugerechnet Computerprogramme werden mit Hilfe einer Programmiersprache formuliert codiert Die Programmierenden uberfuhren dabei die z B im Pflichtenheft vorgegebenen Anforderungen in eine bestimmte Programmiersprache Teilweise werden dazu Codegeneratoren verwendet die Teile des Programmcodes auf Basis von Modellen die im Entwurf entstanden sind automatisch erzeugen Beim Programmieren sind wesentliche Aspekte zur Softwarequalitat zu berucksichtigen und durch die Gestaltung des Quellcodes umzusetzen Siehe dazu als Beispiele Programmierstil Benutzerfreundlichkeit Wiederverwendbarkeit Modularitat Wartbarkeit Programmieren in erweitertem Sinn umfasst neben der Codeerstellung zahlreiche weitere Tatigkeiten zum Beispiel das Testen Entwicklertest des Programms oder das Erstellen der Programmdokumentation Abgrenzen vom Begriff des Programmierens lassen sich andere Tatigkeiten zur Softwareentwicklung wie beispielsweise das Projektmanagement die Anforderungsanalyse oder die Datenmodellierung Abhangig vom Typ und der Einsatzumgebung von Software z B fur Systemsoftware Spielesoftware Standardsoftware Grafiksoftware usw konnen zur Entwicklung unterschiedliche Verfahren oder und Werkzeuge wie Programmiersprachen Testverfahren etc zum Einsatz kommen und oder von spezialisierten Entwicklern ausgefuhrt werden Je nach angewendetem Vorgehensmodell verlaufen die Aktivitaten zur Programmierung in zeitlich voneinander abgegrenzten Projektphasen parallel oder iterativ In der Praxis geschieht das Programmieren haufig in Teamarbeit mit modernen Entwicklungsmethoden wie Agile Softwareentwicklung und Programmierwerkzeugen Ahnliche Bedeutungen Umgangssprachlich bezeichnet man gelegentlich auch das Konfigurieren das Einstellen Einrichten von Haushalts oder anderen elektrischen Geraten als Programmieren Auch Organisationseinheiten von Unternehmen in denen Software entwickelt wird werden oder wurden zum Teil Programmierung genannt GeschichteSiehe auch Computerprogramm Geschichte Geschichte der Programmiersprachen und Programmiersprache Geschichte Charles Babbage beschrieb 1834 eine programmierbare Maschine die Analytical Engine welche allerdings nie gebaut wurde Seine Notations of calculations for the Analytical Engine umfasst 27 Programme Diese sind in The Babbage Papers des Science Museums von London abrufbar Die Programme enthalten bereits Indirekte Adressierung und bedingte Ausfuhrungen IF THEN ELSE Befehle Diese Dokumente durften als erste Programme und Programmiersprache bezeichnet werden Ada Lovelace ubersetzte 1843 eine ursprunglich franzosische Beschreibung der Analytical Engine von Luigi Federico Menabrea ins Englische und fugte eigene Notizen hinzu Diese Anmerkungen enthielten einen tabellarischen Plan zur Berechnung der Bernoulli Zahlen 1941 realisierte Konrad Zuse mit dem Z3 die erste programmgesteuerte Rechenmaschine von 1942 an entwickelte er mit Plankalkul die erste hohere Programmiersprache Die Mathematikerin Grace Hopper schuf 1949 den ersten Compiler der Quellcode in Maschinencode ubersetzt Qualitatskriterien Hauptartikel Softwarequalitat Die Qualitat von Software entsteht zu grossen Teilen im Rahmen der Tatigkeiten des Programmierens besonders die folgenden Qualitatskriterien betreffend Korrektheit Hauptartikel Programmfehler Ein Programm muss die im Entwurf gemachten Vorgaben korrekt umsetzen Dazu muss es in der Regel fehlerfrei sein wobei beim Programmieren meist zwei verschiedene Arten von Fehlern auftreten Syntaxfehler Fehlerhaft formulierter Quellcode man verwendet Formulierungen oder Konstrukte die so nicht in der verwendeten Programmiersprache vorkommen Tippfehler Unkenntnis Syntaxfehler konnen beim Ubersetzen vom Compiler Interpreter oder Parser erkannt werden und verhindern i d R die Programmausfuhrung Semantische Fehler Das Programm verhalt sich nicht wie gewunscht weil moglicherweise der Algorithmus oder seine Umsetzung fehlerhaft war Semantische Fehler konnen in der Regel nicht automatisch erkannt sondern nur durch gewissenhaftes Testen gefunden werden beispielsweise in Form von Unittests Der Ubergang zwischen diesen beiden Fehlerarten ist fliessend Beispielsweise wird ein Tippfehler im Code z B gt anstatt lt in einem Vergleichsbefehl zu einem gultigen ausfuhrbaren Programm fuhren das Resultat durfte jedoch falsch sein An anderer Stelle konnte derselbe Fehler ein Syntaxfehler sein Robustheit Statistisch gesehen wird die meiste Zeit fur die Entwicklung von Quelltext benotigt um auf Fehler oder aussergewohnliche Anwendungs oder Hardwareumgebungen zu reagieren Ein Programmtext der auch bei unvorhergesehenen Fehlern oder ungewohnlichen Umgebungen sinnvoll reagiert wird als robust bzw portabel bezeichnet Geubte Programmierer konnen die moglichen Fehler und Laufzeitumgebungen gut einschatzen und strukturieren das Programm und seinen Quelltext dementsprechend Der Zeitdruck bei der Entwicklung von Anwendungen stellt selbst an erfahrene Programmierer immer hochste Anspruche hinsichtlich dieses Kriteriums Wartbarkeit Damit eine Software dauerhaft funktioniert muss sie wartbar sein Das heisst Anderungen wie Bugfixes Anpassungen und neue Features mussen ohne grossen Aufwand eingepflegt werden konnen Dies erfordert vor allem dass der Programmierer keinen zu kurzen kryptischen Quelltext oder Quellcode erzeugen soll der fur andere Entwickler nicht oder nur mit hoher Einarbeitungszeit verstandlich ist Um solche Probleme zu vermeiden existieren haufig Namenskonventionen in denen beispielsweise selbsterklarende oder auch sprechende Bezeichner Namen fur Variablen etc zur Verwendung empfohlen vorgeschrieben werden oder die Verwendung aussagefahiger Kommentare im Code Auch eine sinnvolle Aufteilung des Codes in intuitiv verstandliche Funktionen und Klassen tragt zum Verstandnis und Ubersichtlichkeit bei Siehe auch Programmierstil Effizienz In der Regel stehen einem Programm nur begrenzte Ressourcen Laufzeit Speicherverbrauch Bandbreite zur Verfugung Gute Programmierung kann dazu beitragen unnotigen Ressourcenverbrauch zu reduzieren Beispielsweise erfolgt dies indem bei Verwendung grosser Datenmengen an mehreren Stellen im Programm nicht jeweils der gesamte Datensatz kopiert wird sondern nur die Adresse ubertragen wird an der die Daten gespeichert werden Effiziente ProgrammierungGemass Niklaus Wirth zeichnet sich gute Programmierung zum einen dadurch aus dass die Funktionen die die jeweils verwendete Programmierumgebung bereitstellt moglichst effizient genutzt werden Insbesondere geht es darum fur neue Aufgabenstellungen das Rad nicht immer wieder neu zu erfinden wenn bestimmte Funktionen schon bereitgestellt werden zum Beispiel durch die Programmierumgebung in Form von Programmbibliotheken Sie zeichnet sich also vor allem dadurch aus dass ein guter Uberblick uber den grundsatzlichen Funktionsumfang und die Systematik der von der Programmierumgebung bereitgestellten Funktionen die in die zehntausende gehen konnen moglich ist Fur eine definierte Aufgabenstellung kann in entsprechenden Dokumentationen dann schnell eine verfugbare Funktion ermittelt eingesetzt und ggf erweitert werden Arbeitsmittel Hauptartikel Programmierwerkzeug Theoretisch reichen zum Programmieren ein einfacher Texteditor und ein Compiler Interpreter fur die jeweilige Programmiersprache aus In der Praxis wird jedoch zusatzlich auf eine Reihe von Werkzeugen zuruckgegriffen die typische Programmierarbeiten vereinfachen sollen Dazu gehoren beispielsweise Texteditoren mit speziellen Features wie Syntax Highlighting Autovervollstandigen und Refactoring wobei der Ubergang zur Integrierten Entwicklungsumgebung IDE fliessend ist Daneben existieren verschiedene Werkzeuge zur Fehlersuche sogenannte Debugger sowie Programme zur Durchfuhrung statischer und dynamischer Tests Zur Performanzanalyse kann zusatzlich ein Profiler eingesetzt werden Arbeiten mehrere Entwickler an derselben Software kommen meist Versionierungssysteme zum Einsatz die den Code inklusive fruherer Versionen auf einem zentralen Server speichern auf den alle beteiligten Programmierer Zugriff haben Siehe auchProgrammiergerat ProgrammierparadigmaLiteraturMichael Sperber Herbert Klaeren Schreibe dein Programm Einfuhrung in die Programmierung Tubingen Library Publishing Tubingen 2024 ISBN 978 3 947251 88 9WeblinksWiktionary Programmierung Bedeutungserklarungen Wortherkunft Synonyme Ubersetzungen Commons Programmierung Sammlung von Bildern Videos und Audiodateien Wikibooks Das Buchregal Programmierung Lern und Lehrmaterialien Joachim Korb Die Geschichte der Softwareprogrammierung perspektive89 com Einfuhrung ins Programmieren az2000 de fur Neueinsteiger Allgemeine Grundlagen der Programmierung highscore de Online Buch EinzelnachweiseWilhelm Pape Max Sengebusch Bearb Handworterbuch der griechischen Sprache 3 Auflage 6 Abdruck Vieweg amp Sohn Braunschweig 1914 zeno org Was ist Softwareentwicklung IBM abgerufen am 18 Juni 2024 Sebastian Dorn Programmieren lernen und Algorithmen verstehen Abgerufen am 12 Januar 2018 computerhistory org collection sciencemuseumgroup org uk link springer com Grace Hopper Yale University abgerufen am 7 Juni 2016 Ulrich Kohler Frauke Kreuter Datenanalyse mit Stata Allgemeine Konzepte der Datenanalyse und ihre praktische Anwendung 4 Auflage Oldenbourg Wissenschaftsverlag 2012 ISBN 978 3 486 70921 6 S 113 books google com Datenanalyse mit Stata Allgemeine Konzepte der Datenanalyse und ihre praktische Anwendung mit sprechende Variablennamen im Abschnitt 5 6 Beschriftung von Variablen Niklaus Wirth A Brief History of Software Engineering In IEEE Annals of the History of Computing Band 30 3 Juli September 2008 S 32 39 doi 10 1109 MAHC 2008 33 computer org PDF abgerufen am 30 April 2009 Normdaten Sachbegriff GND 4076370 5 GND Explorer lobid OGND AKS

Neueste Artikel
  • Mai 25, 2025

    Diapositiv

  • Mai 25, 2025

    Diachronie

  • Mai 25, 2025

    Desinvestition

  • Mai 25, 2025

    Deskriptor

  • Mai 25, 2025

    Demografie

www.NiNa.Az - Studio

    Newsletter abonnieren

    Durch die Anmeldung zu unserem Mailing-Verteiler erhalten Sie immer die aktuellsten Neuigkeiten von uns.
    Kontaktieren Sie uns
    Sprachen
    Kontaktieren Sie uns
    DMCA Sitemap
    © 2019 nina.az - Alle Rechte vorbehalten.
    Copyright: Dadash Mammadov
    Eine kostenlose Website, die Daten- und Dateiaustausch aus der ganzen Welt ermöglicht.
    Spi.