get the solution


Modelle in der Informatik

By
on Regards: Article;

Probleme, die in der realen Welt vorkommen können mit Hilfe von Programmen gelöst oder reduziert werden. In der Softwareentwicklung wird dazu aus einem bestimmten Ausschnitt der realen Welt, ein Abbild erstellt. Dieses Abbild ist das Modell.

Ein abgebildetes Modell der Realität hat daher folgende Kennzeichen (vgl. Stachowiak Herbert 1987):

  • Abbildungsmerkmal – Modelle bilden etwas ab, Teilbereich der Realität
  • Verkürzungsmerkmal – Modelle verkürzen und vereinfachen auf das, was den Modellerstellern oder Modellbenutzer relevant erscheint
  • Pragmatisches Merkmal – sind ihren Originalen nicht eindeutig zuordenbar

Das pragmatische Merkmal kann in weitere Punkte unterteilt werden.

  • Modelle dienen bzw. haben einen Zweck für jemanden. Sie interpretieren interpretieren das Model subjektiv
  • Modelle beziehen sich auf einen bestimmten Zeitpunkt
  • Modelle beziehen sich auf bestimmte gedankliche oder tatsächliche Operationen

Abbildung 1

Mit Original ist nichts anderes gemeint, als ein Ausschnitt aus der Realität.

Beim Erstellen von Modellen kann man (Marco Thomas):

  • einige Originalattribute weglassen (Präterition), aber auch
  • einige Modellattribute zusätzlich einfügen (Abundanz),
  • einige Originalattribute mit anderen Bedeutungen belegen (Transkodierung) oder
  • einige Originalattribute hervorheben. (Kontrastierung).

„Objekte mit Zuständen und eigenem Verhalten sind gut geeignet, um den Ausschnitt der realen Welt, den das System repräsentieren soll, in einem Modell abzubilden.“ (Müller, T. 1998)

In der Softwareentwicklung gibt es viele verschiedene Darstellungsmodelle. Mit  UML wurde eine standardisierte Beschreibungssprache gefunden. Es wurden unter anderem folgende  Darstellungsmodelle definiert: Aktivitätsdiagramme, Anwendungsfalldiagramme. Das Klassendiagramm ist dabei wohl das Bekannteste. Aber auch das ERM- Diagramm, das sich beim Designen von Datenbanken etabliert hat, ist ein weiteres Darstellungsmodell.

Detailliertere Informationen zum Thema „Allgemeine Modelltheorie“ findet man in Stachowiak, H. (1973). Allgemeine Modelltheorie. Wien: Springer oder hier .

Bei der Erstellung von Modellen gibt es keine Garantie, dass das Modell in der Einsatzsituation so verstanden wird wie in der Entwicklungssituation. Auch kann nicht garantiert werden, dass das Modell  für die Einsatzsituation angemessen ist. (vgl. C. Floyd, H. Klaeren 1998).

Man darf nicht außer Acht lassen, dass der Computer um seine Umwelt nur durch das ihm  zugrunde liegende Modell Bescheid weiß. Das bedeutet nichts anderes, als dass das Modell festlegt, wie der Computer in der Wirklichkeit „agiert“. (vgl. C. Floyd, H. Klaeren 1998).

Folgendes Beispiel zeigt, dass ein „fehlerhaftes“ oder unvollständiges Modell  fatale Auswirkungen haben kann.

Beim Transrapid handelt es sich um eine Magnetschwebebahn. Der Transrapid übermittelt dem System ständig seine Position, was ein Kollidieren mit anderen Fahrzeugen verhindern soll. Trotzdem kam es beim Transrapid-Unglück im September 2006 zu einem tragischen Unfall mit 23 Toten. Dabei  kollidierte ein Fahrzeug mit einem Einsatzfahrzeug.

Eigentlich hätte das nicht passieren dürfen, weil das System weiß auf welchem Gleis sich ein  Fahrzeug  befindet. Dies passierte, weil die Einsatzfahrzeuge nicht in das Modell aufgenommen wurden. Das Einsatzfahrzeug war somit für das System unsichtbar. Die Mitarbeiter hätten durch Hinschauen überprüfen müssen, ob der Transrapid freie Fahrt hat.

Literatur

C. Floyd, H. Klaeren: Informatik gestern, heute, morgen. Studienbrief 1 zu Informatik und Gesellschaft. Universität Tübingen, 1998 S. 75ff

Müller, T. (1998) CORBA-basiertes Management von UNIX-Workstations mit Hilfe von ODP-Konzepten. Dipl.-Arb., Institut für Informatik der Technischen Universität München S. 47

Marco Thomas Die Vielfalt der Modelle in der Informatik, 23.12.10 http://ddi.cs.uni-potsdam.de/Personen/marco/Infos01_Thomas.pdfS. 3-5

Stachowiak, H. (1973). Allgemeine Modelltheorie. Wien: Springer. S. 131f

Abbildungsverzeichnis

Abbildung 1 Modell entnommen aus http://ddi.cs.uni-potsdam.de/Personen/marco/Infos01_Thomas.pdf Seite 3

Andere intressante Artikel:

Online Communities


ONLINE COMMUNITIES

By
on Regards: Article;

Heutige große Webplattformen wie z.B. Youtube, Twitter, Lima-City, kernel.org, wikipedia, aboutpixe.com  haben eines gemeinsam. Sie besitzen, oder sind eine Onlinecommunity. Ein Webmaster der eine große Plattform mit einer Onlinecommunity schaffen will, muss mehr als nur eine Seite ins Netz stellen, damit eine lebendige, gesunde, wachsende Onlinecommunity entsteht. In diesem Artikel erfährt man die wichtigsten Dinge über eine Onlinecommunity. Viel Spaß beim lesen.

Inhalt

1. Einführung
1.2 Was ist eine Onlinecommunity?
1.3 Entstehung und Charakteristik von Communities
2. Online kommunizieren
2.1 Faktoren, die Kommunikation erleichtern
2.2 Soziales Auftreten, Identität und Beziehungen
2.3 Rollen, Rituale, Normen und Community Politiken
2.4 Onlinecommunity Formen und Veränderungen
3 Online Communities entwickeln und evaluieren
3.1 Technologie-Übersicht von Onlinecommunitys
3.2 Soziabilität und Benutzerfreundlichkeit
3.2 Erfolgreiche Onlinecommunitys
4 Onlinecommunity Typen
5 Analyse und Forschung
5.1 Data Logging
6 Zusammenfassung
8 Literatur

1. Einführung

Das Internet hat seit seinem Bestehen unseren Alltag Leben maßgeblich beeinflusst. Durch die, in den letzten Jahren, entstandenen Plattformen namens „Social Networks“, wie Facebook oder Twitter hat das Internet noch mehr Einfluss auf unser Tun und Handeln. So ist es nicht verwunderlich, dass sich ein Teil des gesellschaftlichen Lebens mittlerweile im Internet abspielt.

„From discussion boards, to wikis, to social networking sites, people do things together through digital communication.” (Gleave, 2009, S. 1)

Es gibt’s nichts was man im Internet nicht kann. Einkaufen, Spiele spielen, nach Informationen suchen oder fragen, mit anderen Menschen über Themen diskutieren, all das ist in der „Virtuellen Welt“ kein Problem. Durch die zahlreichen Internetbenutzer haben sich virtuelle Gemeinschaften gebildet. Diese virtuellen Gemeinschaften werden auch Onlinecommunitys genannt. Was eine Onlinecommunity ausmacht und welche Arten es gibt, wird in den nächsten Kapiteln erörtert.

1.2 Was ist eine Onlinecommunity?

Zunächst möchte ich in den Begriff Offlinecommunity einführen und definieren. Eine Offlinecommunity ist eine Gemeinschaft, wie wir sie aus dem realen Leben kennen. Das kann zum Beispiel eine Familiengemeinschaft oder eine Vereinsgemeinschaft sein.

Ausgehend von der akademischen Ausbildung und der Ansichtsweise werden die Kriterien zur Definition einer Onlinecommunity anders gewichtet (vgl. Preece, 2003, S.597).

Deshalb gibt es keine allgemeine anerkannte Definition zu Onlinecommunitys. Jedoch haben sich einige Kernmerkmale, die jede Onlinecommunity besitzt herauskristallisiert (Whittaker, Issacs, & O’Day zit. nach Preece, 2003, S. 597):

  • Members have a shared goal, interest, need, or activity that provides the primary reason for belonging to the community.
  • Members engage in repeated, active participation and there are often intense interactions, strong emotional ties, and shared activities occurring between participants.
  • Members have access to shared resources, and there are policies for determining access to those resources.
  • Reciprocity of information, support, and services between members is important.
  • There is a shared context of social conventions, language, and protocols.

Diese Kernmerkmale sind sehr allgemein gehalten und treffen auch auf Offlinecommunitys zu. Da die Kommunikation bei Onlinecommunitys eine große Rolle spielt, zeigen sich rasch die Unterschiede zwischen Online- und Offlinecommunitys.

“An online community is a group of people who interact in a virtual environment. They have a purpose, are supported by technology, and are guided by norms and policies.” (Preece, 2000)

Die Benutzer einer Onlinecommunity haben den Nachteil, dass sie ein bestimmtes technisches Equipment benötigen, um an Onlinecommunitys teil nehmen zu können. Andererseits erhalten sie dadurch den Vorteil, dass sie nicht ortsgebunden sind. So können auch über große Distanzen enge Kontakte gepflegt werden. Dies ist ein wesentlicher Unterschied zu den Offlinecommunitys, die eine bestimmte Nähe voraussetzen, damit Kommunikation statt finden kann.

“Things such as birth and physical location determined belonging to a community.” (Preece, 2003, S. 597)

Die Teilnehmer können dabei genauso starke Gefühle entwickeln wie bei einer Offlinecommunity. Dabei spielt der Kommunikationskanal bei Onlinecommunitys eine wesentliche Rolle.

1.3 Entstehung und Charakteristik von Communities

Früher wurden Onlinecommunitys vorwiegend in Ausbildungs- und Büroplätzen eingesetzt. Alle Benutzer hatten in etwa die gleichen Voraussetzungen. Nachdem aber die Anzahl der Computer-und Internetbenutzer explodiert ist hat sich die Demografie stark verändert. Dadurch haben die Benutzer ein vielseitiges Profil erhalten die unter anderem folgendes beinhaltet:

  • Unterschiedliche Kulturen
  • Altersunterschiede
  • Soziale Hintergründe
  • unterschiedliches technisches „Know How“

(vgl. Preece, 2003, S. 599)
Nicht nur die Benutzergruppe hat sich verändert. Durch die ständig neu veröffentlichten Technologien, verändern sich die Onlinecommunitys ständig mit.
Wie bereits im Kapitel 1 Einführung erwähnt wurde, gibt es nichts was man im Internet nicht tun könnte. Oder anders gesagt, im Internet kann man fast alle Dinge wie im realen Leben tun. Menschen im Internet machen das Gleiche wie Leute, die sich in Gesellschaft befinden. Sie unterhalten sich, nur geschieht dies im Internet ausschließlich über Worte, mit der Tatsache verbunden, dass sie unabhängig sind von Zeit und Anwesenheit an einem bestimmten Raum oder Ort.

So schreibt auch Rheingold, „Online people do almost everything that people do when they get together, but they do it with words on screens, leaving their bodies behind independent of local time or location (Rheingold zit. nach Preece, 2003, S. 599).

Wissenschaftler versuchen heraus zu finden, wie das Internet unser Alltagsleben beeinflusst. Dabei ist die Kommunikationsweise und der Linguistische Part sehr interessant.

2. Online kommunizieren

Es gibt verschiedene Möglichkeiten zu kommunizieren, dabei hat jede Kommunikationsart hat ihre Vor- und Nachteile.

Wenn man zum Beispiel in einer Onlinecommunity mittels Text kommuniziert, repräsentieren sich die Teilnehmer nur über ihre Wörter. Dabei spielen Semantik und Syntax der Nachricht eine Rolle für den Inhalt. Diese Art der Kommunikationen hat den Nachteil, dass Zusatzinformationen wie z.B. Körpersprache, Gesichtsausdruck und Stimmlage verloren gehen. (vgl. Preece, 2003, S. 599)

Wenn man hingegen mit Videokonferenzschaltung kommuniziert, gehen keine nonverbalen Informationen verloren, denn durch das Bild ist der Tonfall, Gestik und Mimik sichtbar. Videokonferenzen haben den Nachteil, dass die Teilnehmeranzahl beschränkt ist. Wenn man z.B. mit 100 Personen gleichzeitig eine Videoschaltung hält, dann passen unmöglich alle Teilnehmer auf einen Bildschirm.

For example, video-conferencing conveys some nonverbal communication; but, because of limitations of communications bandwidth, screen size and resolution, subtle body language, and important contextual information about participants’ moods, the context in which they are participating and their environment is lost (Olson & Olson zit. nach Preece, 2003, S. 600)

Olson schreibt, dass aufgrund der beschränkten Breitbandverbindung die nonverbalen Informationen entfallen. Heutzutage hat aber der Großteil der Internetbenutzer, die auch über die notwendige Hardware für eine Videokommunikation verfügen, einen Breitbandanschluss. Das darauf folgende Zitat zeigt, dass die Aussage von Olson nicht mehr ganz zeitgemäß ist.

„In der EU verfügen bereits im Frühjahr 2008 80 Prozent der Haushalte mit Internetanschluss über einen Breitbandzugang.“ (Breitband-Internetzugang, 11.02.2010, http://de.wikipedia.org/wiki/Breitband-Internetzugang ).

Oft ist eine Videokonferenz nicht erforderlich oder die Situation erlaubt eine Video-Schaltung nicht. Wenn der Inhalt einer Nachricht falsch interpretiert wird, kann es trotz Videokonferenzschaltung  zu Problemen kommen. Es muss bekannt sein welche Person in welcher Funktion spricht und wie sie aussieht,  damit die Nachricht möglichst richtig verstanden wird.

Trotz einer Videokonferenzschaltung kann es zu Kommunikationsproblemen kommen, wenn der Inhalt der Nachricht falsch interpretiert wird.

Bei einem Gespräch müssen die Gesprächsteilnehmer über die gleichen Grundvoraussetzungen verfügen. Zum Beispiel, wenn Person A über seine Tochter zu Person B spricht, muss Person B wissen, dass Person A das spielende Kind im Zimmer nebenan meint und nicht die Kinder drei Blocks weiter. (vgl. Preece, 2003, S. 600)

Die Sprecher erkennen auch, anhand der Aufmerksamkeit des Teilnehmers, ob dieser dem Inhalt folgen kann (vgl. Preece, 2003, S. 600).

2.1 Faktoren, die Kommunikation erleichtern

Damit die Gesprächsteilnehmer die gleichen Grundvoraussetzungen mit bringen gilt es folgende Punkte zu beachten kann (Preece, 2003, S. 600):

  • sharing the same physical space, i.e., co-presence
  • being able’to see each other, i.e., visibility
  • being able to hear each other and detect voice tone, i.e., audibility
  • both partners experiencing the conversation at roughly the same time, i.e., co-temporality
  • sending and receiving more or less simultaneously, i.e., simultaneity
  • keeping turns in order, i.e., sequentiality
  • being able to review messages, i.e., reviewability o being able to revise messages; i.e., revisability

Für die Auswahl des Kommunikationstypus ist der Grund der Kommunikation ausschlaggebend. Der Grund der Kommunikation ist ausschlaggebend, welcher Kommunikationstyp gewählt wird. Werden zum Beispiel Heikle Themen (wie persönliche Probleme) angesprochen, wählt man eine eher unpersönlichere Kommunikationsmethode, wie das darauffolgende Zitat zeigt.

“Text-only environments can be preferable when the content of the conversation is potentially embarrassing, as in a discussion about a rape incident.” (Newell & Gregor zit. nach Preece, 2003, S. 600).

Weiters unterscheidet man bei der Kommunikationsart zwischen synchroner und asynchroner Kommunikation.

„Synchrone Kommunikation beinhaltet all jene Kommunikationsformen, bei denen die Aktionspartner zur selben Zeit teilnehmen, wie dies zum Beispiel bei Text-, Video- oder Audiochats der Fall ist.“ (Marchtrenker,2008, S. 17)

„Der Begriff asynchrone Kommunikation bezeichnet die zeitlich versetzt stattfindende Kommunikation.“ (Marchtrenker,2008, S. 14)

Eine asynchrone Kommunikation ist von Vorteil, wenn die Onlinecommunity Teilnehmer gehandicapt sind, weil sie z.B. nicht schnell schreiben können., sie lässt ihnen Zeit sich eine passende Antwort zu überlegen und zu tippen. In einer Alkohol Selbsthilfe Onlinecommunity wollen z.B. die Benutzer zu jeder Zeit Nachrichten schreiben können (vgl. Preece, 2003, S. 600).
Damit wäre die asynchrone Kommunikation zweckmäßiger, als die synchronische.

Bei einem Chat der synchron abläuft, stehen die Chattenden unter einem zeitlichen druck, da der Gegenüber auf eine Antwort wartet. Somit bleibt dem antwortendem nicht immer genug Zeit über seine Antwort nach zu denken.

2.2 Soziales Auftreten, Identität und Beziehungen

Wenn sich zwei Personen zum ersten Mal treffen, spielt der erste Eindruck eine wichtige Rolle. Mit den uns zu Verfügung stehenden Informationen die unser der Gegenüber mit dem Aussehen, Geruch, seinem agieren usw. vermittelt, hinterlässt dieser bei uns einen Eindruck.

Das soziale Auftreten im Internet unterscheidet sich zum realen Auftreten dahin gehend, dass bestimmte Informationen, Geruch des Gegenübers, Aussehen usw. beim Aufeinandertreffen fehlen.
“So, another feature of reduced social presence, particularly in low bandwidth environments, is that the way people form impressions of each other is different, which can have both positive and negative effects, depending on the situation.” (Preece, 2003, S. 601)

Die fehlenden Informationen können also einen falschen Eindruck vom Onlinecommunity Teilnehmer hinterlassen. Die Benutzer haben ein falsches Bild von ihrem „Gegebenüber“.

Die fehlenden nonverbalen Informationen können auch schnell, zu Missverständnissen führen, wenn die Beiträge schlecht erklärt oder nichts mit dem Kontext zu tun haben (vgl. Preece, 2003, S. 601).

Gerade Anfänger die noch nicht ganz mit der Technik vertraut sind und noch nicht richtig mit dem Medium Internet umgehen können, sind gefährdet Nachrichten falsch auf zu fassen (vgl. Preece, 2003, S. 601).

Falsch verstandene Beiträge können rasch, unerwartete beleidigte Attacken hervorrufen. Diese werden im Internet-Jargon als „Flamewar“ bezeichnet.

Es gibt auch Situationen in denen es von Vorteil ist, wenn man über den Kommunikationspartner nicht alles weiß. Es ist dann einfacher über heikle Themen zu sprechen. Mit der Zeit lernen sich die Benutzer Stück für Stück immer näher kennen. Dies geschieht nach dem Schneeballprinzip.

“[…] If you tell me something about yourself, I’ll tell you something about me.” (Preece, 2003, S. 601).

Damit es zu keinen schlimmeren Missverständnissen und zu einem kargen Tonfall kommen kann, wird in Onlinecommunitys darauf geachtet, dass die Beiträge in einem „sanften Tonfall“ geschrieben werden.
Mittels Emoticons alias „smilies“ kann man dem Beitrag abschwächen bzw. mehr Ausdruckskraft verleihen.

„Durch den Einsatz der zuvor genannten Zeichen Kombinationen versuchen die User der elektronischen Medien die fehlenden nonverbale Kommunikation zu ersetzen.“ (Wascher, 2007,S. 9)

2.3 Rollen, Rituale, Normen und Community Politiken

Wie im vorherigen Kapitel erwähnt wurde, wird in Onlinecommunitys darauf geachtet, einen milden Ton an zu schlagen.
Die Benutzer schreiben dann einfachheitshalber „IMHO“ was so viel bedeutet wie „In my humble opinion“.

Dies ist eine der vielen Internet Abkürzungen die in Onlinecommunitys verwendet werden. „Da die Kommunikation mittels quartärer Medien meist sehr schnell funktioniert, verwenden viele User dieser neuen Kommunikation Akronyme, um schneller schreiben, also kommunizieren zu können.“ (Wascher, 2007,S. 8)

Eine Liste von Abkürzungen (Netzjargon) gibt es in der Wikipedia. (11.02.2010 http://de.wikipedia.org/wiki/Liste_von_Abk%C3%BCrzungen_(Netzjargon) )

Wie bei Vereinen werden in Onlinecommunitys Betreuer benötigt. Die Rollen der Vereinsmitglieder können in den meisten Fällen direkt in die Onlinecommunity importiert werden. Falls eine neue Onlinecommunity ohne realen Bezug entwickelt wird sind Normen und Regeln erforderlich, die festlegen was erlaubt ist und was nicht. Auch muss entschieden werden ob Entscheidungen demokratisch gefällt werden oder nicht. Wichtig ist auch wie man, die Regeln durchsetzen will. (vgl. Preece, 2003, S. 603)

In den meisten Fällen kommt ein Moderator zum Einsatz der die Onlinecommunity betreut. Er hat unter anderem die folgenden Aufgaben.” (Berge, 1992; Collins & Berge, 1997; Salmon, 2000 zit. nach Preece, 2003, S. 603)

  • Facilitating so that the group is kept focused and on topic.
  • Managing the list, e.g., archiving, deleting, and adding subscribers.
  • Filtering messages and deciding which ones to post; typically, this involves removing flames, libelous posts, spam, inappropriate or distracting jokes, and generally keeping the ratio of relevant messages high, which is often described as the signal/ noise ratio.
  • Being the expert, which involves answering frequently asked questions (PAQs) or directing people to online FAQs and understanding the topics of discussion.
  • Editing text, digests, or formatting messages.
  • Promoter of questions that generate discussion.
  • Marketing the list to others so that they join, which generally involves providing information about it.
  • Helping people with general needs.
  • Being a fireman by ensuring that flaming and ad hominem attacks are done offline.

2.4 Onlinecommunity Formen und Veränderungen

Kritische Masse:

Damit eine Onlinecommunity sich am Leben erhält, benötigt diese genug Teilnehmer, die an Diskussionen teilnehmen und neue erstellen. Gibt es zu wenig Benutzer und somit weniger Beiträge sinkt das Interesse der Benutzer an der Onlinecommunity. Es wird immer weniger Beiträge geben, bis es schlussendlich keine aktiven Benutzer mehr in der Onlinecommunity gibt. (vgl. Preece, 2003, S. 602)

Will man eine Onlinecommunity aufbauen und hat noch nicht die kritische Masse erreicht, so kann man mithilfe von gefälschten Benutzern, die dem Administrator der Onlinecommunity gehören, eine aktive Onlinecommunity vorgaukeln. Der Administrator schreibt mit den gefälschten Benutzern Beiträge, damit außenstehende glauben, dass es sich um eine lebendige Onlinecommunity handelt.
(vgl. Was versteht man unter…? Kritische Masse, 20.02.2010, http://www.community-management.de/2008/06/was-versteht-man-unter%E2%80%A6-kritische-masse/ ).

Wechselwirkung und soziales Dilemma:

In einer „gesunden“ Onlinecommunity findet ein Informationsaustausch zwischen den Benutzern statt. Dabei ist es wichtig, dass alle Benutzer an diesem Informationsaustausch teilnehmen. Wenn zum Beispiel Benutzer A einem anderen Benutzer in einer sachlichen Fragestellung weiterhilft, erwartet dieser, dass ihm später auch Ratschläge gegeben werden, falls dieser danach fragt. Ist dieser Fall gegeben spricht man von einer Wechselwirkung. Problematisch ist, es wenn diese Wechselwirkung unter den Benutzern nicht stattfindet. Die aktiven Benutzer werden die Onlinecommunity verlassen und es wird die kritische Masse erreicht.

So heißt es auch, “whatever is given ought to be repaid, if only to ensure that more is available when needed. Repayment of support and social resources might be in the form of exchanges of the same kind of aid, reciprocating in another way or helping a mutual friend in the network.” (Wellman & Gulia zit. nach Preece, 2003, S. 603)

Es handelt sich um ein soziales Dilemma, wenn das Verhalten eines Benutzers einer Onlinecommunity schadet. (vgl. Preece, 2003, S. 603)

Das soziale Dilemma kann derart gravierende Auswirkungen auf die Onlinecommunity haben, dass die Anzahl an aktiven Benutzern zurück geht.

Wenn z.B. immer mehr Benutzer Beiträge nur noch lesen, anstatt sich an der Diskussion aktiv zu beteiligen wird es immer weniger interessante Beiträge geben. Die Folge ist eine sterbende Onlinecommunity.

Benutzer die in einer Onlinecommunity registriert sind aber nur mit lesen werden auch „lurker“ genannt. Es gibt in jeder Onlinecommunity einen hohen Anteil an Beobachter. Dies kann unterschiedliche Gründe haben. Entweder sie wissen nicht wo sie starten sollen, sie sind schüchtern, oder sie finden keine interessanten Themen. (vgl. Inside the mind of an online community lurker, 27.02.2010, http://www.communityspark.com/inside-the-mind-of-an-online-community-lurker/ )

Es kann aber noch ganz andere Gründe geben, warum diese nicht aktiv in der Community werden.

3 Online Communities entwickeln und evaluieren

Eine Onlinecommunity zu entwickeln erfordert eine strukturierte Planung.

Zuerst muss festgelegt werden welche Aufgaben die Benutzer in der Onlinecommunity haben und welches Ziel hinter der Kommunikation verfolgt wird. Der nächste Schritt ist, das Entwickeln eines Konzept-Models der Onlinecommunity. Danach kann die passende Software erstellt, oder eine vorhandene eingesetzt werden. Beim vorletzten Schritt geht es um den letzten Fein-schliff der Onlinecommunity. Unter anderem soll die Benutzerfreundlichkeit geprüft und überarbeitet werden. Zum Schluss gilt es die Onlinecommunity zu veröffentlichen und den Benutzern schmackhaft zu machen. (vgl. Preece, 2003, S. 605)
Das kann man in dem man bereits zum Start den Inhalt für die BesucherInnen hinterlegt. (vgl. Marchtrenker,2008, S. 21)

„Um eine Attraktivität für neue potentielle MitgliederInnen zu erzeugen, sollte eine kritische Masse von TeilnehmerInnen von Beginn an vorhanden sein, denn leere Chats und Foren ohne Themen […] würden eher abweisend wirken.“ (Kim zit. nach Marchtrenker,2008, S. 21)

Damit die Benutzer der Onlinecommunity sich schnell zu recht finden, ist es wichtig, dass die richtigen Technologien und Systeme eingesetzt werden. „[…]Es ist ratsam, nicht zu viele Systeme zu kombinieren, um einerseits die BenutzerInnen nicht zu überfordern und andererseits besonders am Anfang die Community in einem System zu bündeln und aufzubauen.“ (Marchtrenker,2008, S. 18)

Trotzdem sollten synchrone und asynchrone Technologien miteinander verknüpft werden.
“Instant messages are used to signal that a document has been posted for review and so on. These combinations of technologies and the Web site on which they reside provide a richer basis for community than any single technology could on its own; they are the community.” (Preece, 2003, S. 605)
Im Gegensatz zu herkömmlicher Software müssen, Onlinecommunity-Softwares laufend mit der Community mit entwickelt werden.
„So muss Wachstum und Veränderung der Gemeinschaft noch vor der Eröffnung einer Commmunity-Plattform einkalkuliert werden und die technischen Systeme mit Weitblick ausgewählt werden. Oft wird der Fehler gemacht, dass Systeme zu detailliert geplant werden und damit jegliche Entwicklungschancen verloren gehen, obwohl genau solche Entwicklungen für das Wachsen von Gemeinschaften unabdingbar sind.“ (Marchtrenker,2008, S. 25)

3.1 Technologie-Übersicht von Onlinecommunitys

In diesem Kapitel werden die wichtigsten und verbreitetesten Technologien aufgezählt, die in Onlinecommunitys Verwendung finden.

Mit einer Mailinglist findet die asynchrone Kommunikation über E-Mail statt. Alle Beteiligten müssen sich dazu registrieren. (vgl. Preece, 2003, S. 605) Für den Zugang ist ein E-mail-Client notwendig, sofern der Anbieter der Mailinglist keine Weboberfläche zu Verfügung stellt.

Ein Nachteil dieser Technologie ist das anmelden an einer Mailinglist, da dieses Verfahren sich von Betreiber zu Betreiber unterscheidet. Außerdem können viele Beiträge schnell unübersichtlich werden. (vgl. Mailingliste, 20.02.2010, http://de.wikipedia.org/wiki/Mailingliste ).

„Newsgroups sind schriftliche Foren, die ein bestimmtes Thema behandeln. Zum Unterschied zu Mailinglisten werden die Nachrichten aber nicht automatisch an alle TeilnehmerInnen gesandt, sondern stehen auf einem Server zum Abruf bereit.“ (Döring, 2003 zit. nach Marchtrenker,2008, S. 15)

In Diskussionsforen werden Beiträge asynchron verfasst. Dabei werden die Themen klar strukturiert geordnet. Größere Forensysteme werden in Unterforen unterteilt, in denen jeweils bestimmte Themen abgehandelt werden. (vgl. Marchtrenker,2008, S. 14 f.)

Alte geschriebene Beiträge werden archiviert und können anderen Benutzern als Informationsquelle dienen. Um einen geregelten Ablauf in den Foren zu gewährleisten kommt meist ein Moderator zum Einsatz. (vgl. Marchtrenker,2008, S.15)

Viele Foren können durch kleine Features von den Administratoren erweiter werden. So gibt es zum Beispiel ein Feature das dem Teilnehmer eine E-mail sendet, wenn jemand auf seinen Beitrag geantwortet hat. Für Internetneulinge ist es anfangs schwer sich zu recht zu finden. (vgl. Preece, 2003, S. 606).

WikiWebs erfreuen sich in den letzten Jahren immer größere Beliebtheit. Die asynchrone Kommunikationsform wird in den Bereichen Bildung und Nachschlagewerke eingesetzt. (vgl. Marchtrenker,2008, S.15)

„Ein Wiki […] ist ein Hypertext-System für Webseiten, dessen Inhalte von den Benutzern nicht nur gelesen, sondern auch online direkt im Browser geändert werden können.“ (Wiki, 20.02.2010, http://de.wikipedia.org/wiki/Wiki ).

Den Betreibern des Wikis bleibt es selbst überlassen, ob die Benutzer den Inhalt ohne Registrierung verändern dürfen.

Bei synchron ortsunabhängigen verschickten Textmitteilungen handelt es sich um Text-basierte Chats. Dabei können an der Konversation ein oder mehrere Benutzer teilnehmen. Die Nachrichten können schnell ausgetauscht und die Unterhaltung geht schnell voran. “(vgl. Preece, 2003, S. 606 f.) Der Einstieg in den Chat, kann unter Umständen durch die diversen Abkürzungen die Benutzer verwenden erschwert werden (mehr dazu siehe 2.3 Rollen, Rituale, Normen und Community Politiken).

„Besonders bei vielen gleichzeitigen TeilnehmerInnen ist es wichtig, schlagfertig zu sein und sich aktiv am Chat zu beteiligen, um dem schnellen Wechsel der Nachrichten folgen zu können.“ (Marchtrenker,2008, S.17) Je nach Betreiber ist eine Registrierung notwendig. Für mache Chats ist es notwendig zusätzlich Software zu installieren.

Neben den Text-basierten-Chats gibt es auch Audiochats. „Anders als bei Textchats erfolgt hierbei der Informationsaustausch visuell bzw. über den Audiokanal.“ (Marchtrenker,2008, S.17) .Das hat den Vorteil, dass keine Schreibarbeit geleistet werden muss. Der Benutzer kann während des Audiochats also auch anderen Tätigkeiten nachgehen. Für den Audiochat ist eine zusätzliche Installation von Hard- und Sofware nötig.

Eine besondere Form von Onlinecommunitys stellen Online-3D-Infratkuren dar. Die Teilnehmer halten sich in einer grafischen, virtuellen Welt auf, um dort untereinander zu kommunizieren. Die Kommunikation findet synchron und mittels Audio- oder Text-basierten Chat statt.

Die Benutzer selber können sich Visuell anderen Teilnehmern präsentieren, was die Kommunikation unterstützt. Online-3D-Infrasktruturen setzen in Punkto Software und Hardware hohe Maßstäbe an die Benutzer. Auch dauert die Eingewöhnung erwartungsgemäß länger wie in anderen Systemen. “(vgl. Preece, 2003, S. 607)

3.2 Soziabilität und Benutzerfreundlichkeit

Unter Soziabilität versteht man, dass Individuen schnell neue soziale Beziehungen knüpfen können. (vgl. Soziabilität, 20.02.2010, http://de.wikipedia.org/wiki/Soziabilit%C3%A4t ).

Etwas anders ausgedrückt kann man dies auch wie folgt definieren. „Sociability is concerned with planning and developing social policies and supporting social interaction. “(Preece, 2003, S. 605)

Bei Soziabilität in einer Onlinecommunity spielen die Ziele, Teilnehmer und die Richtlinien der Onlinecommunity eine wichtige Rolle.
So sollte aus dem Namen der Onlinecommunity das Ziel hervorgehen. Interessierte finden so die Community schneller. Je nach dem Ziel der Onlinecommunity unterscheiden sich deren Teilnehmer. Z.B. erfüllen Onlinecommunitys für Kinder andere Kriterien wie für Erwachsene. (vgl. Preece, 2003, S. 607)

Onlinecommunitys für Kinder haben zum Beispiel ein grafisch verspieltes auftreten und beschäftigen sich mit anderen Inhalten, als eine für Erwachsene.
Die Richtlinien müssen stark genug sein um die Onlinecommunity zu leiten, gleichzeitig muss diese aber flexibel genug sein, dass sich die Onlinecommunity weiterentwickeln kann. (vgl. Preece, 2003, S. 607)

Die Soziabilität kann mit Hilfe der Usability verbessert werden.

Usability zu Deutsch Benutzerfreundlichkeit nimmt eine immer wichtigere Rolle in Onlinecommunitys ein. „Auch das immer größere Angebot im Netz verleiht den BersucherInnen die Macht, zwischen verschiedenen Webseiten auswählen zu können, wobei neben Qualität und Quantität der bereitgestellten Inhalte vor allem auch die Usability als wesentliche Kriterien herangezogen werden.“ (Marchtrenker,2008, S. 44)
Eine einfache Benutzerfreundlichkeit zeichnet sich dadurch aus, dass sie intuitiv ist und nach kürzester Zeit erlernbar. Wieder Erkennbarkeitsmerkmale bei Navigation und Dialogen sind dabei wichtig. Die Informationen müssen für den Benutzer schnell und klar ersichtlich sein. Der Benutzer steuert die Software und nicht umgekehrt. Der Zugang zur Onlinecommunity kann für die Benutzer erschwert werden, wenn zusätzlich Software installiert werden muss. (vgl. Preece, 2003, S. 607 f.)
Durch Umfragen in der Onlinecommunity kann festgestellt werden ob die Benutzer eine Verbesserung der Bedienbarkeit wünschen.

3.2 Erfolgreiche Onlinecommunitys

Erfolgreiche Onlinecommunitys sind leicht zu erkennen. Sie haben viele aktive Benutzer mit vielen interessanten Beiträgen. Die Benutzer sind schon länger bei der Onlinecommunity angemeldet und gehen mit einander respektvoll um.

“[…]the number and type of incidents that produce uncivil behavior (low in successful communities); average duration of membership (high); the percentage of people who are still members after a certain period of time (high); etc” (Preece zit. Preece, 2003, S. 608)

Im nächsten Absatz werden wichtige Dinge beschrieben, die einen Benutzer veranlassen sich bei einer Onlinecommunity aktiv zu beteiligen.
Der Titel der Onlinecommunity muss klar ersichtlich sein, damit der Benutzer das Ziel der Community schnell erkennt. Die Registrierung und das Abmelden darf nicht kompliziert sein. Außerdem sollten die Richtlinien den Benutzer nicht zu sehr einschränken, damit dieser sich in der Community entfalten kann. (vgl. Preece, 2003, S. 609)

Dem Benutzer sollte ein einfacher Zugang zu den Ressourcen der Onlinecommunity gewährt werden.
„Um die TeilnehmerInnen verstärkt an die Community zu binden, sollten regelmäßige Veranstaltungen organisiert werden. Sofern möglich, und dies kommt vor allem bei kleineren Gemeinschaften vor, auch reale Treffen.“ (Marchtrenker,2008, S. 24)

4 Onlinecommunity Typen

Angefangen von den verschiedensten Hobbys bis zu jeder Gruppierung oder Vereinigung hat einfach alles eine Onlinecommunity. Dadurch, dass das Internet nur begrenzt kontrollierbar ist, haben sich auch Gruppen mit illegalem bzw. verfassungswidrigem Inhalt verbreitet. (vgl. Preece, 2003, S. 609)

Ein weiter Bereich sind Patienten Onlinecommunitys. Dort werden Selbsthilfegruppen gebildet, oder Teilnehmer mit den gleichen Leiden tauschen ihre Erfahrungen aus. (vgl. Preece, 2003, S. 610)

Ein weiterer Vorteil kann die Text-basierte Kommunikation sein, da diese nicht so persönlich ist. (siehe 2.1 Faktoren die Kommunikation erleichtern)
Auch im Bildungssektor werden Onlinecommunitys eingesetzt. Die Studenten organisieren und  helfen sich gegenseitig. „Online communities […] have a role in bringing social interaction to learning and supporting the learning process.” (Preece, 2003, S. 611)

Auch die Industrie hat Onlinecommunitys entdeckt und investiert derzeit in diesen Markt. Die Benutzer können zu Produkten der Hersteller ihr Feedback abgeben. So kann die Industrie schneller auf Kundenwünsche reagieren. Die Kunden fühlen sich auf deren Plattformen ernst genommen und sind deshalb treuere Kunden als andere. Die Firmen errichten auch Onlinecommunitys auf denen sich die Kunden untereinander zu den Produkten helfen können. (vgl. Erfolgreiche Online Communities I, 26.02.2010, http://www.contentmanager.de/magazin/artikel_1766-657_online_communities.html  ).
Erwähnt sollte noch werden, dass diese Plattformen stärker von Zensur betroffen sind um ein positives Image nach außen zu gewährleisten.

6 Zusammenfassung

In einer Onlinecommunity können sich Menschen über das Internet unterhalten. Dabei spielt die Kommunikationsart eine wichtige Rolle, denn jede hat ihre Vor- und Nachteile. So kann zum Beispiel bei einer Audiokommunikation der Teilnehmer ungestört weitere Eingabemittel bedienen. Allerdings ist für diese eine weitere Hardware erforderlich.
Bei der Text basierten Kommunikation wurden bestimmte Normen bzw. Akronymen von Internetbenutzern eingeführt, um eine schnellere Kommunikation zu gewährleisten. Neben diesem Ritual haben sich auch noch verschiedene Netzpolitiken durchgesetzt, die ein Zusammenleben in der Onlinecommunity unterstützten sollen. Diese Richtlinien können z.B. die verwendete Sprache, innerhalb der Onlinecommunity, fest legen.
Bei der Entwicklung einer Onlinecommunity ist es wichtig, dass auf die Bedürfnisse der Benutzer eingegangen wird, um den Mitgliedern eine möglichst passende Umgebung zu Verfügung zu stellen. Werden falsche Kommunikationsarten in die Plattform integriert hat dies Auswirkungen auf die Soziabilität und somit auf die Anzahl der aktiven Benutzer innerhalb der Onlinecommunity. Auch muss die Plattform ständig mit der Onlinecommunity mitentwickelt werden.
Viele Firmen haben das große Potential von Onlinecommunitys erkannt und investieren in Onlinecommunitys. Die Firmen erhalten unmittelbar Rückmeldung vom Kunden und können auch so den Markt besser analysieren.

8 Literatur

Berge, Z. L., & Collins, M.P. (1995) Computer-mediated communication and the online classroom: Overview and perspectives. Zitiert nach Preece, J., Maloney-Krichmar, D., (2003) “Online Communities: focusing on sociability and usability”, in Jacko, J. A., Sears, A. The Human-Computer Interaction Handbook. Mahwah, New Jersey, London: Lawrence Erlbaum, S.597-616

Breitband-Internetzugang, 11.02.2010, http://de.wikipedia.org/wiki/Breitband-Internetzugang

Döring Nicola. (2003) Sozialpsychologie des Internets. Die Bedeutung des Internets für Kommunikationsprozesse, Identitäten, soziale Beziehungen und Gruppen. Zitiert nach Marchtrenker, F., (2008) Virtual Communities – Technische und gesellschaftliche Aspekte am Beispiel eines Online-Spielemagazins. Dipl.-Arb., Institut für Gestaltungs- und Wirkungsforschung der Technischen Universität Wien

Eine Liste von Abkürzungen (Netzjargon). 11.02.2010, http://de.wikipedia.org/wiki/Liste_von_Abk%C3%BCrzungen_(Netzjargon)

Erfolgreiche Online Communities I, 26.02.2010, http://www.contentmanager.de/magazin/artikel_1766-657_online_communities.html

Gleave, E., Welser, H., Lento, T., Smith, M, (2009) A Conceptual and Operational Definition of “Scial Role” in Online Community. In Proceedings of the 42nd Hawaii International Conference on System Sciences – 2009 (conference proceedings)

Inside the mind of an online community lurker, 27.02.2010, http://www.communityspark.com/inside-the-mind-of-an-online-community-lurker/

Kim Amy Jo. Community Building on the Web. zitiert nach Marchtrenker, F., (2008) Virtual Communities – Technische und gesellschaftliche Aspekte am Beispiel eines Online-Spielemagazins. Dipl.-Arb., Institut für Gestaltungs- und Wirkungsforschung der Technischen Universität Wien

Mailingliste, 20.02.2010, http://de.wikipedia.org/wiki/Mailingliste

Marchtrenker, F., (2008) Virtual Communities – Technische und gesellschaftliche Aspekte am Beispiel eines Online-Spielemagazins. Dipl.-Arb., Institut für Gestaltungs- und Wirkungsforschung der Technischen Universität Wien

Newell, A. F., & Gregor, P. (1997) Human computer interaction for people with disabilities. Zitiert nach Preece, J., Maloney-Krichmar, D., (2003) “Online Communities: focusing on sociability and usability”, in Jacko, J. A., Sears, A. The Human-Computer Interaction Handbook. Mahwah, New Jersey, London: Lawrence Erlbaum, S.597-616

Olson, G. M. & Olson, J.S. (1997). Research on computer supported cooperative work. Zitiert nach Preece, J., Maloney-Krichmar, D., (2003) “Online Communities: focusing on sociability and usability”, in Jacko, J. A., Sears, A. The

Human-Computer Interaction Handbook. Mahwah, New Jersey, London: Lawrence Erlbaum, S.597-616

Preece, J. (2001) Sociability and usability in online communities: Determining and measuring success. Zitiert nach Preece, J., Maloney-Krichmar, D., (2003) “Online Communities: focusing on sociability and usability”, in Jacko, J. A., Sears, A. The Human-Computer Interaction Handbook. Mahwah, New Jersey, London: Lawrence Erlbaum, S.597-616

Preece, J., Maloney-Krichmar, D., (2003) “Online Communities: focusing on sociability and usability”, in Jacko, J. A., Sears, A. The Human-Computer Interaction Handbook. Mahwah, New Jersey, London: Lawrence Erlbaum, S.597-616

Rheingold, H., (1994) The virtual  community. Homesteading on the electronic frontier. Zitiert nach nach Preece, J., Maloney-Krichmar, D., (2003) “Online Communities: focusing on sociability and usability”, in Jacko, J. A., Sears, A.
The Human-Computer Interaction Handbook. Mahwah, New Jersey, London: Lawrence Erlbaum, S.597-616

Soziabilität, 20.02.2010, http://de.wikipedia.org/wiki/Soziabilit%C3%A4t

Wascher, K., (2009) Einflüsse moderner Medien auf das Kommunikationsverhalten der Dotcom-Generation. Mag. , Institut für Mathematik an der Universität

Was versteht man unter…? Kritische Masse, 20.02.2010, http://www.community-management.de/2008/06/was-versteht-man-unter%E2%80%A6-kritische-masse/

Wellman, B. &Gulia, M. (1999b). Virtual communities as communities: Net surfers don’t ride alone. Zitiert nach Preece, J., Maloney-Krichmar, D., (2003) “Online Communities: focusing on sociability and usability”, in Jacko, J. A., Sears, A. The Human-Computer Interaction Handbook. Mahwah, New Jersey, London: Lawrence Erlbaum, S.597-616

Wiki, 20.02.2010, http://de.wikipedia.org/wiki/Wiki

Whittake, S., Issacs, E., &O’Day, V. (1997) Widening the net. Workshop report on theory and practice of physical and network communities. Zitiert nach Preece, J., Maloney-Krichmar, D., (2003) “Online Communities: focusing on sociability and usability”, in Jacko, J. A., Sears, A. The Human-Computer Interaction Handbook. Mahwah, New Jersey, London: Lawrence Erlbaum, S.597-616


Einführung in die Programmierung

By
on Regards: Article;

Ab und zu schau ich auf meiner alten Seite vorbei und stöbere deren Artikel durch. Die Seite ist für Besucher nicht sichtbar. Es ist schade um die Artikel, wenn diese ohne einen Nutzen vor sich hin faulen. Deshalb habe ich diesen Artikel von der alten Homepage in den Blog eingetragen. Er wurde am 14.02.04 verfasst. Da er sich aber grundlegend mit der Programmierung befasst, hat sich am Inhalt nichts geändert. Anregungen und Kritik sind erwünscht. ? Viel Spaß beim lesen.

Einleitung
Einführung
Anweisungen
Syntax
Abarbeitung
Algorithmus
Programmiersprachen
Basic
Java
Fortran
Cobol
Pascal
Perl
PHP
C
C++
C#
Assembler
Niedrige Programmiersprachen
Grundbegriffe
Maschinensprache
Niedrige Programmiersprachen
Hohe Programmiersprachen
Interpreter Sprachen
Compiler

1 Einleitung

Bevor wir mit dem eigentlichen Programmieren beginnen, sollten wir uns zuerst dem theoretischen Teil, sprich den Grundbegriffen, widmen.

Alle Operationen die ein digitaler Computer vornimmt, basieren auf einem Bauteil, welcher erkennen kann ob ein Schalter bzw. ein Gatter geöffnet oder geschlossen ist. Ein Computer kann also zwischen zwei Zuständen unterscheiden, Strom an oder aus, Zustand 1 oder 0. Aus diesen Erkennungsbauteilen lassen sich logische Schaltungen anordnen, mit denen sich dann mathematische Operationen ausführen lassen. Die mathematischen Grundlagen dieser logischen Schaltungen legte der britische Mathematiker George Boole in der ersten Hälfte des 19. Jahrhunderts fest. Die von ihm erfundene Boolesche Algebra beschreibt das Rechnen, mit den logischen Ausdrücken wahr und falsch.
Ein Programm gibt dem Prozessor also Befehle, die beschreiben wie diese Logikschaltungen angesteuert werden. Diese Befehle müssen aber, damit der Prozessor sie versteht im Binärsystem als in einer Anordnung von 0 und 1 vorliegen. Ein Programm bedeutet also das Senden einer zeitlich genau abgestimmten Serie von An- und Aus-Signalen. Diese Signalfolgen ergeben den Maschinencode (Binärcode oder auch Maschinensprache genannt).
Das Programmieren der ersten Computer war eine schwierige und mühevolle Aufgabe, weil die Programme von Hand gesteckt werden mussten. Die Programmierer benötigten oft Tage um einfache Aufgaben zu programmieren. Die nachfolgenden Computer erhielten Speichersysteme in denen die Programme gespeichert werden konnten. Statt ein Programm von Hand zu stecken, wurde es z.B. auf Lochkarten gespeichert und vom Computer eingelesen. Die Idee der Lochkarten hatte übrigens der französische Erfinder Joseph Marie Jacquard. Er verwendete bei dem Entwurf einer automatischen Webmaschine dünne, gelochte Holzbretter zur Steuerung komplizierter Webmuster.
Durch die Einführung dieser Speicher konnte ein einmal geschriebenes Programm auf beliebig vielen Rechnern ausgeführt werden, ohne jedes Mal die Relais oder Elektronenröhren neu verdrahten zu müssen. Immer noch musste aber ein Programm im Binärcode geschrieben werden. Es lag nahe für diese sehr zeitaufwändige Übersetzungsaufgabe Programme zu entwerfen. Diese Übersetzerprogramme erlaubten es nun, anstelle oft wiederkehrender Standardanweisungen, einfache kurze Merkwörter einzusetzen. Diese Merkwörter (Mnemonics) wurden dann vom Programm auf Fehler kontrolliert und übersetzt. Diese frühen Programmiersprachen heißen Assemblersprachen.
Ein großer Nachteil der Assemblersprachen war allerdings, dass die einmal geschriebenen Programme nur auf diesem einen Prozessortyp liefen. Dies führte zur Entwicklung sogenannter “Höherer Programmiersprachen”. Höhere Programmiersprachen bestehen ganz aus diesen Merkwörtern. Diese werden dann genau wie bei Assemblersprachen auf Fehler überprüft und übersetzt. Diese Übersetzer in den Binärcode heißen Compiler. Eine „Höhere Programmiersprache“ ist also nicht mehr so stark vom Prozessor, sondern vom Compiler abhängig. Dies führt aber dazu, dass “Höhere Programmiersprachen“ nicht mehr die volle Leistung des jeweiligen Prozessortyps ausschöpfen können und dadurch etwas langsamer sind.
Eine Programmiersprache ist also ein Programm welches jedem Befehl Merkwörter zuordnet und dann in den Binärcode übersetzt.

1.1 Allgemeine Einführung

Ein Programm hat die Aufgabe ein Problem zu lösen. Dabei besteht jede Datenverarbeitung aus drei Schritten:

E … Eingabe von Daten (Input)
V … Verarbeitung der Eingangsdaten zu neuen Daten, den Ausgabedaten (Processing)
A … Ausgabe der Daten (Output)

1.2 Anweisungen

Unter einer Anweisung versteht man einen Befehl, der eine bestimmte Aktion ausführt. In jeder Programmiersprache müssen Anweisungen bestimmten Regeln entsprechen, die man in ihrer Gesamtheit als Syntax bezeichnet.

1.3 Syntax

Syntax bedeutet wenn man diese ins Deutsche übersetzt „Satzbau“.
Eine Programmiersprache ist definiert durch eine Folge von Zeichen, die nach bestimmten Regeln aneinander gereiht werden. Eine Syntax gibt ausschließlich Regeln vor, nach denen man Folgen von Zeichen konstruieren kann.

1.4 Abarbeitung

Ein Computerprogramm wird immer Schritt für Schritt abgearbeitet. Bei einer solchen Abarbeitung wird immer nach dem selben Grundprinzip vorgegangen, das die Problemlösung beschreibt (=Algorithmus), dieses Prinzip wird von jeder Programmiersprache vorgegeben.

1.5 Algorithmus

Algorithmus bezeichnet eine Verarbeitungsvorschrift, die die Problemlösung beschreibt. Oder anders ausgedrückt, ein Algorithmus fasst alle Schritte zusammen, die man auf dem Weg zur Lösung gehen muss. Diese Verarbeitungsvorschrift ist genauestens formuliert, sodass sie direkt im geschrieben Programm umgesetzt werden kann.

1.6 Programmiersprachen

Basic

…bedeutet „Beginners All Purpose Symbolic Instruction Code“ zu Deutsch „Symbolischer Allzweck Befehlscode für Anfänger“. 1963 befassten sich Thomas E. Kurtz und John Kemeny am Dartmouth College mit dem Problem, das man Nicht-Technik-Studenten, die Arbeit am Computer näher bringen wollte, damit diese später in der Wirtschaft ein grundsätzliches Verständnis besitzen. Man ging dazu über, eine eigene Sprache zu entwickeln, die speziell auf die Bedürfnisse der Studenten abgestimmt sein sollte – die Geburtsstunde von BASIC. Wie aus dem Namen schon zu entnehmen ist, ist Basic leicht zu erlernen. Es wird bei dieser Programmiersprache kein strukturiertes Programmieren gefordert, deshalb ist es sehr leicht, unübersichtliche Programme zu schreiben.

Java

… wurde von „Sun“ entwickelt, mit dem Ziel, eine plattformunabhängige Programmiersprache zu entwickeln. Dies gelingt, indem das Java-Programm (der Quellcode) in eine Metasprache (übergeordnete Sprache) übersetzt wird & diese erst bei der Ausführung mittels der „Virtual machine“, also einem virtuellen Computer –quasi ein Interpreter, in die Maschinensprache der jeweiligen Plattform umgesetzt wird. Java ist eine objektorientierte Sprache.

Fortran

…ist die Abkürzung für Formula Translation (Formelübersetzung). Fortran wurde im Jahre 1954 entwickelt. Früher wurden alle wissenschaftlichen- technischen Anwendungen in dieser Sprache programmiert.

Cobol

…steht für Common Business Oriented Language was soviel wie „Allgemeine Geschäfts orientierte Sprache“ bedeutet. 1960 wurde Cobol entwickelt, anschließend im Jahre 1974 genormt und ist die meistbenutzte Programmiersprache für kaufmännische Aufgabenstellungen. Cobol ist besonders vorteilhaft bei der Verarbeitung großer Datenmengen.

Pascal

Die Programmiersprache ist nach dem Französischen Mathematiker Blaise Pascal(1623-1663) benannt. Sie ist 1971 von Niklas Wirth an der ETH Zürich entwickelt worden. Die Programmiersprache wurde 1983 genormt. Die Sprache ist sehr übersichtlich. Da wichtige Teile wie z.B. I/O Steuerung nicht genormt wurden, entstanden auch hier verschiedene Dialekte, dadurch konnte sich die Sprache nicht durchsetzten.

Perl (Practical Extraction and Report Language)

Perl wurde ursprünglich von Larry Wall entworfen, er stellte 1993 die Skriptsprache der Allgemeinheit zu Verfügung. Perl wurde ursprünglich unter „Unix“ entwickelt, ist jedoch inzwischen für die meisten Betriebssysteme verfügbar. Perl verfügt über leistungsfähige Routinefunktionen für Zeichenfolgen zum Extrahieren von Informationen aus Textdateien. Perl kann eine Zeichensprache assemblieren und an die Shell als Befehl senden. Aufgrund dessen wird dieses Sprache häufig bei Tasks für die Systemverwaltung eingesetzt. Dies ist ein weiterer Grund warum Systemadministratoren und Webentwickler Perl besonders gern einsetzen.
Bemerkung: Skriptsprachen, ermöglichen die Ausführung des Programmcodes ohne getrennte Übersetzungsphasen.
Programme, die in Skriptsprachen geschrieben sind, werden auch Skripte genannt. Es handelt sich immer um Textdateien oder Textfragmente, die mit einem normalen Editor bearbeitet werden können.

PHP

Die Scriptsprache PHP wurde 1994 von Rasmus Lerdorf entwickelt. Er nannte seine Sprache Personal Home Page / Form Interpreter, da er sie für seine eigene Homepage verwendete um Formulare auszuwerten. Mittlerweile verbirgt sich hinter der Abkürzung der lange Name „PHP Hypertext Preprocessor“ Der PHP-Code wird auf dem Server verarbeitet. PHP unterstützt eine Vielzahl von Datenbanksystemen und kann durch eine Vielzahl von Modulen um wichtige Funktionen erweitert werden.

C

C wurde 1972 von Brian Kernighan und Dennis Ritchie in den Bell Laboratories entwickelt und ist sehr streng genormt. C hat ein sehr klares Sprachkonzept, verfügt über ein breites Anwendungsspektrum (z.B. Linux wurde in C programmiert) und über knappe Befehle. Da der Sprachumfang von C klein ist, kann es auch leicht auf den verschiedensten Plattformen implementiert werden und eignet sich hiermit auch für Hardwarezugriffe. Die Vorteile von C bestehen in seiner sehr variablen Architektur (C kann für die verschiedensten Anforderungen spezialisiert werden) und seine damals unglaubliche Effizienz (Programme waren bis zu 10-mal schneller als gleiche Programme in COBOL).

C++

C++ ist der Nachfolger von C und wird so genannt, weil es “Eins mehr” ist. In Sprachen wie Java(script) und PHP wird eine Zahl durch das Ansetzen von “++” um Eins erhöht. Die Sprache C++ wurde von Bjaarne Stroustrup in Jahre 1985 entwickelt. C++ ist baukastenförmig aufgebaut, wobei jeder Baustein ein Programmteil ist. Aufgrund dieser Baustein -Architektur ist C++ so effizient. Da lediglich die Objekte (Befehle) ins Programm integriert werden, die für ein Programm benötigt werden, befindet sich kein unnötiger Ballast im Quelltext.

C#

C# wird als C Sharp gesprochen. C# wurde von Microsoft in Kooperation mit Anders Hejlsberg, dem Designer der Sprache „Delphi“, entwickelt und ist am 14. Februar 2002 im Rahmen des .NET Framework veröffentlicht worden. C# ist grundsätzlich keine neue Programmiersprache, zumindest was die Syntax betrifft. C# ist mehr oder weniger aus der Syntax der C/C++ Sprachfamilie hervorgegangen. C# vereint die hohe Performance von C++ und die Einfachheit von Visual Basic. Das Konzept ist aber von Grund auf neu entwickelt worden und fügt sich hundertprozentig in die neue .NET-Technologie ein. Außerdem unterstützt C# vollständig die „component-based (komponentenbasierte)” Programmierung. Komponente sind Bausteine, die einmal entwickelt und immer wieder verwendet werden können. Das spart Entwicklungszeit. C# ist wie Java plattenformunabhängig. Das heißt, ein Programm läuft nicht nur unter dem Betriebssystem, unter dem es entwickelt wurde, son dern auf allen Systemen, für die eine Version des .NET Framework existiert. Wie C++ ist auch C# eine moderne objektorienierte Programmiersprache.

Assembler

Assembler ist eine Maschinensprache und somit die älteste Programmiersprache überhaupt. Assembler ist eine sehr schlichte Sprache, die die Maschinenbefehle direkt in eine für den Menschen lesbare Form abbildet. Dabei entspricht eine Assembleranweisung im Allgemeinen genau einer Maschinenspracheanweisung.
Statt 00000101 00000011 11101000 kann man in Assembler kürzer und lesbarer „add ax1000“ schreiben. Eine Maschinensprache und damit auch der Assemblercode sind auf den jeweiligen Prozessor zugeschnitten, d.h. Maschinenspracheprogramme sind im Allgemeinen nicht portierbar!

1.7 Niedrige Programmiersprachen
1.7.1 Grundbegriffe

Prozessor oder CPU ( Central Processing Unit), quasi das „Herz“ eines Computers, kann nur relativ einfache Befehle ausführen wie addieren, Daten von einer bestimmten Speicheradresse laden oder dort abspeichern, zu einer bestimmten Speicheradresse springen (z.B. Grafikkarte) und dort den Programmablauf fortführen, etc.
Diese Befehle sind codiert, also sozusagen durchnumeriert, der Befehl „Springe zur Adresse D3AAH“ könnte z.B. den Code „CAD3AA“ haben. Es ist leicht nachvollziehbar, dass diese Befehle bzw. deren Codes von Prozessor zu Prozessor unterschiedlich sind.

1.7.1.2 Maschinensprache

Maschinensprache: Befehlssprache des jeweiligen Prozessors. Besteht in der Regel aus einigen hundert Befehlen, jeder davon ist eine Abfolge von ein bis vier Bytes.
Typische Befehle: Wert in einem Prozessorspeicherplatz (Register) ablegen, von dort auslesen, einfachste Additionen und Vergleiche, …

Beispiel: Möchte man z.B. auf einem Intel-Prozessor (80×86) den Wert 1000 im Register ax ablegen, verwendet man folgenden Maschinensprachebefehl:

00000101 00000011 11101000

Das erste Byte bezeichnet den Code des entsprechenden Befehls (binär 5), die nächsten zwei Bytes den Datenanteil (binär 1000).

1.7.1.3 Niedrige Programmiersprachen

Niedrige Programmiersprachen sind z.B. Assembler und C. Diese verfügen über einen dem tatsächlichen CPU-Befehlssatz sehr ähnlichen Wortschatz. Es gibt für diese Plattform keinen Compiler oder Interpreter.

1.8 Hohe Programmiersprachen

Hohe Programmiersprachen sind Programme, die in einer Sprache geschrieben sind, die für den Menschen (relativ) leicht, jedoch für den Prozessor unlesbar ist. Man könnte auch sagen, dass die Problematik mittels eines Computerprogramms mit einer abstrakten, d.h. nicht CPU-abhängige Sprache gelöst werden kann.
Im Gegensatz zur Assemblersprache, die maschinenorientiert ist, ist eine höhere Programmiersprache mehr problemorientiert und nicht plattformabhängig. Nachdem die Aufgabe mit einer dieser Sprachen gelöst wurde, muss diese Sprache in die Sprache des jeweiligen Computertyps, also CPU, (und Grafikkarte, etc) umgesetzt werden. Dazu gibt es zwei Strategien: den Interpreter und den Compiler.

 

1.9 Interpreter Sprachen

Englische Bezeichnung für “Übersetzer”. Beim Interpreter wird das jeweilige, in einer höheren Programmiersprache erstellte Programm unmittelbar vor dem Durchführen (zeilenweise) in die Maschinensprache übersetzt und anschließend ausgeführt. Daraus ergibt sich, dass die Ablaufgeschwindigkeit wesentlich geringer wird. Im Gegensatz zu einem Compiler erzeugt ein Interpreter keinen speicherbaren Maschinencode.

 

1.10 Compiler

Ein Übersetzungsprogramm, welches Programme einer höheren Programmiersprache in die vom Prozessor ausführbare Maschinensprache umwandelt.
Allgemein: Die gesamte Programmbearbeitung mit einem Übersetzer (Compiler) erfolgt in drei Stufen, wobei auch drei Dateien erzeugt werden:
In den Quell- oder Source-Code schreibt der Programmierer mit seiner gewählten Programmiersprache das Programm.
Der Compiler übersetzt diesen vom Programmierer geschriebenen Quellcode und erzeugt den Object-Code, der noch nicht ausführbar ist. Er führt einen Syntaxtest durch und gibt im Fehlerfall Hinweise auf die Art des Kodierungs-Fehlers.
Der Linker oder „Verbinder“ hängt noch Teile des Compilers wie Ein-/Ausgabe Routinen, Funktionsberechnungen oder fremde Routinen an. Nach dem Linken entsteht das ausführbare Element, das der Prozessor verarbeiten kann.

Quellen:

Informatik Skriptum aus der Schule

Autor(en):Schmaranz, Klaus; Softwareentwicklung in C. Verlag: Springer, Berlin; Auflage: 1 (September 2001) ISBN: 3540419586
Autor(en):Dirk Louis, Shinja Strasser; C# in 21 Tagen 2002 Verlag: Markt+Technik ISBN: 3-8272-6069-8
Autor(en):Walter Doberenz, Thomas Kowalski; Visual C#.NET – Grundlagen und Profiwissen 2003
Verlag: Carl Hanser ISBN 3-446-22021-6
Autor(en): Joscha Feth; Dynamische Webseiten mit Flash und PHP 2002 Verlag: Markt+Technik ISBN: 3827262852
Links vom 14.02.2004
http://php.martin-jansen.de/entstehung.php
http://de.wikipedia.org/
http://www.principia-natura.de
http://www.guidetocsharp.de/
http://www.masterportal24.com