Frage vom Juristen an Programmierer und alle die sich damit auskennen

kenzo

Newbie
Registriert
Feb. 2011
Beiträge
3
Hallo liebe Forum Mitglieder,

vorab möchte ich mich entschuldigen falls dieser Beitrag falsch an dieser Stelle ist.

Nun zu meiner Frage.

Ich bin Jura Student und habe absolut keine Ahnung von Programmierung. Jedoch stellt sich die Frage für mich, nachdem ich so viele Studenten kenne die sich mit Programmierung auskennen,wofür die ganzen Programmiersprachen nützlich sind. Ich würde mich freuen wenn mir mal kurz jemand erklären könnte was man so mit den wichtigsten bzw. beliebtesten Programmiersprachen machen kann. Ich habe von folgenden gehört:


- C
- C++
- Visual Basic
- CSS
- PHP
- HTML, XHTML
- MySql
- Java
- Flash
- Delphi

und das wichtigste, mir hat mal ein Mitstudent erklärt er mache Websites mit Photoshop?! Was ist das?Und wenn man doch Programmiersprachen beherrscht, dann brauch man doch nicht dieses Programm oder ?! In welchem Zusammenhang steht es denn mit dem Programmieren?!

Natürlich habe ich bereits danach gegoogelt, jedoch ist das so fachmännisch erklärt das ich nichts davon verstehe. Wäre nett wenn mich mal jemand aufklären könnte :). Ich weiss nicht wieso, aber irgendwie habe ich den drang mich etwas mit solcher Materie auseinander zu setzten. Ich hab überhaupt kein plan, aber irgendwo muss es ja einen Einstieg geben. Vll kann mich ja jemand von euch beraten. MFG Kenzo
 
Hallo,

wie der name schon sagt ist eine Programmiersprache natürlich dazu da eine Anwendung zu Programmieren.

Jede dieser Sprachen die du aufgelistet hast hat ihre stärken und ihre speziellen einsatzgebiete, denn es gibt auch Programmiersprachen die z.B. für bestimmte Lösungen nicht geeignet sind.

C zum Beispiel ist ein Sprache die gerne für die Entwicklung von Hardware und weiteren technischen geräten benutzt wird, sie ist also eher eine sprache die sehr starke vorteile in der Programmierung von geräten wie Fernseher, Automaten, Handys usw. hat

C++ wird z.B. sehr verbreitet in der Spieleindustrie benutzt um Spiele zu entwickeln aufgrund der Geschwindikgkeit und der Effizienz.

usw.

Man könnte mit vielen verschiedenen Programmiersprachen die selben Programme machen können, das ist nicht das Problem, jedoch sind manche dafür besser geeignet als manch andere.

Z.B. währe es nicht vorteilhaft in Java ein Videospiel ala Crysis programmieren zu wollen da diese Sprache bei 3D anwendungen langsam und Performance fressend sein soll.

Gruß Ali.
 
Programmiersprachen sind für verschiedene Anwendungszwecke optimiert, manche eignen sich besser für Anwendungen die hochperformant laufen müssen, andere sind dafür angenehmer in der Entwicklung der Programme, einige versuchen einen Mittelweg zu beschreiben.
Außerdem muss man zwischen klassischen Programmiersprachen und Scriptsprachen unterscheiden. Bei den "klassischen" Programmiersprachen wird der Quelltext von einem Programm namens Compiler in Maschinencode ("einsen und nullen") übersetzt (da kommt dann die klassische *.exe raus, ist aber nicht allgemein so, insbesondere nur bei MS Windows). Interpretierte- oder Scriptsprachen werden erst bei der Ausführung von einem anderen Programm interpretiert und "übersetzt".

- C: Vor allem in hardwarenaher Programmierung eingesetzt, z.B. Treiber und Betriebssystem. Schwierig zu optimieren.

- C++: Weiterentwicklung von C. Sehr vielseitig einsetzbar, von sehr Hardwarenaher Programmierung bis zum Officepaket. Kann wie C sehr Performant aber es kann auch hier ziemlich aufwändig sein das Programm so effizient zu programmieren.

- Visual Basic: Auf einfaches Entwickeln ausgelegt, heute auf dem .Net-Framework von Microsoft laufend. Das bedeutet es ist ein Zwischending aus "klassischer", kompilierter Programmiersprache und Skriptsprache. Wird in eine Zwischensprache übersetzt und so ausgeliefert. Beim Ausführen "vom .Net-Framework" (nicht ganz korrekt, genauer von der CLR, mehr siehe Wikipedia) "interpretiert".
Syntax ist sehr gut lesbar weil nah an der natürlichen englischen Sprache.
Außerdem gibt's für das .Net-Framework noch C#, vom Funktionsumfang sehr nah an VisualBasic, aber Syntax ähnelt C++.

- CSS: Wird benutzt um HTML schön darzustellen, keine Programmiersprache sondern Formatierungssprache.

- PHP: Scriptsprache, findet breite Anwendung in der Web-Programmierung, Syntax ähnelt C++.

- HTML, XHTML: Auszeichnungssprache zur Inhaltlichen Strukturierung von Websites.

- MySQL: Eine Datenbankserversoftware, oft zusammen mit PHP verwendet. SQL ist eine Datenbank-Abfragesprache.

- Java: Ähnlich wie Visual Basic und C#, aber anderer Hersteller. Syntax ähnelt C++.
Außerdem gibt es noch JavaScript, das hat nicht viel mit Java zu tun sondern ist einfach eine Scriptsprache, die viel für Websites verwendet wird. Wird nicht wie PHP auf dem Server, sondern auf dem Rechner des Benutzers vom Browser ausgeführt.

- Flash: Entwicklungsumgebung von Adobe für interaktive Web-Inhalte, z.B. oft für animierte Werbung aber auch Spiele verwendet.

- Delphi: Programmiersprache, ursprünglich von der Firma Borland, habe ich selbst noch nicht verwendet. -> Wikipedia

Neben den genannten gibt es natürlich noch unzählige andere Programmiersprachen.


kenzo schrieb:
und das wichtigste, mir hat mal ein Mitstudent erklärt er mache Websites mit Photoshop?! Was ist das?Und wenn man doch Programmiersprachen beherrscht, dann brauch man doch nicht dieses Programm oder ?! In welchem Zusammenhang steht es denn mit dem Programmieren?!

Eine Website wird an den Benutzer (oder genauer dessen Browser) als HTML + Bilder und sonstige Medien ausgeliefert. Der HTML-Code wird vom Server mithilfe dort liegender Programme(/Scripts) z.B. in PHP generiert.
Photoshop ist ein bekanntes Bildbearbeitungsprogramm und wird unter anderen gerne verwendet um das Design einer Website zu entwerfen. Dieser Entwurf wird dann in HTML und CSS umgesetzt und teilweise auch als Bild darin integriert. Man braucht also beides.

Das HTML und CSS (und je nach dem JavaScript) wird vom Browser gelesen und dargestellt.
 
Vielen dank an euch beide,

backslash deine Antwort war ja super, nochmal dickes danke an dich!

So wie ich das verstanden habe, ist HTML, CSS, PHP und teilweise Java also eher für den Webdesigner gedacht! C, C++ eher für die Softwareentwicklung!

Hört sich extrem kompliziert an. Gerne würde ich mehr darüber erfahren, könnt ihr mir vll einen Tipp geben wie ihr angefangen habt?Was wäre denn für einen Anfänger geeignet der eine eigene Website erstellen möchte? Bevor man richtige Mathematik erlernen kann muss man ja auch erst mal das ein mal eins können. Wäre schön, wenn mich jemand beraten könnte.

Nochmals Danke mfg kenzo
 
Hallo Kenzo und willkommen im Forum!

Freut mich, dass sich auch Leute außerhalb unseres Fachgebiets für die Informatik zumindest so weit begeistern können, um sich zumindest in den Grundsätzen damit auseinandersetzen zu wollen. So schnell deine Frage jedoch gestellt ist, so schwer ist sie auch zu beantworten.

Als erstes ist es, glaube ich, wichtig zu verstehen, dass ein Computer in mehrere Schichten unterteilt werden kann. Zuerst eine einfache Auflistung dieser Schichten, von oben nach unten, wobei die oberste dem Benutzer am nächsten ist:

Ebene 5: Problemorientierte Sprachen
Ebene 4: Assemblersprache
Ebene 3: Betriebssystem
Ebene 2: ISA (Instruction Set Architecture)
Ebene 1: Mikroarchitektur
Ebene 0: Digitale Logik


Im Folgenden nun ein paar Informationen, was man sich unter diesen Schichten vorstellen kann. Die Ebenen 0 bis 2 sind für die Beantwortung deiner Frage nicht weiter von Bedeutung, daher werde ich nicht auf sie eingehen.

Problemorientierte Sprachen
Hier finden wir sogenannte höhere Programmiersprachen wir C, C++, Java, etc. Mit diesen können Programmierer bestimmte Probleme darstellen und lösen. Diese Sprachen werden meistens kompiliert, gelegentlich aber auch nur interpretiert. Das Kompilieren beschreibt den Vorgang, wenn ein Programm von der für den Menschen verständlichen Sprache in eine für den PC weiterbearbeitbare Sprache übersetzt wird.

Assemblersprache
Diese Schicht beinhaltete die Sprache, die ein Compiler (das Programm, welches kompiliert) erzeugt. Diese Sprache kann je nach System unterschiedlich sein. Stell dir vor, ein Programmierer will, dass eine Zeile mit einem bestimmten Text auf dem Bildschirm angezeigt wird. Nun kann es sein, dass zwar der Befehlt, mit dem er das erreicht, für ihn immer gleich aussieht, jedoch der kompilierte Assemblerbefehls je nach Zielsystem variiert, je nachdem, wie es eben arbeitet.

Betriebssystem
Das Betriebssystem kann man ganz grob als Schnittstelle zwischen Hardware und Software sehen. Zur Verdeutlichung ein einfaches Beispiel: Stell dir vor, du willst dir ein Urteil zu einem Fall ausdrucken, um es auf dem Weg in die Uni zu überfliegen. Du sagst also deinem jeweiligen Programm, es solle doch bitte das aktuelle Dokument ausdrucken. Woher soll das Programm jedoch wissen, welchen Drucker du besitzt? Es kann unmöglich alle Drucker der Welt kennen und wissen, wie jeder einzelne funktioniert. Dafür gibt es das Betriebssystem oder im folgenden OS für Operating System. Dein Programm sagt einfach dem OS, dass du etwas ausdrucken willst. Dieses schaut dann in den Druckertreibern nach, wie das funktioniert, und gibt deine Anfrage dann entsprechend an die Hardware weiter. Der Programmierer auf der obersten Ebene hat es also sehr leicht. Es braucht nur einen Befehl geben und sich um nichts weiter kümmern. Der Befehl wird dann Ebene für Ebene weiter nach unten durchgereicht, bis er schließlich am Zielgerät ausgeführt wird. Hier wird ein Pyramidensystem deutlich.

----------------

So, nun hast du ein recht ordentliches Fundament, auf dem aufbauend man nun über verschiedene Programmiersprachen diskutieren kann.

C und C++ sind Sprachen, mit denen man auch in Ebenen unterhalb der ersten eindringen kann. Das heißt, sie arbeiten nahe am OS. In C und C++ werden zum Beispiel gerne Treiber programmiert. Durch diese starke Nähe zum OS kann mit diesen Sprachen sehr guter, schlanker und vor allem schneller Programmcode erzeugt werden. Es wird nicht durch die oberen Schichten durchgereicht und greift direkt da an, wo er gebraucht wird. Daher werden bis heute, obwohl die zwei Sprachen schon extrem alt sind, immer noch C und C++ zur Entwicklung von Programmen hergenommen, die extrem schnell laufen müssen. Spiele sind ein schönes Beispiel hierfür. Nachteile gibt es natürlich auch. Dadurch, dass dem Entwickler die Logik der oberen Ebenen nicht zur Verfügung steht, ist der Preis für die hohe Geschwindigkeit meist deutlich mehr Code (damit meine ich die wirkliche Anzahl an Programmzeilen, die ich schreibe) und mehr Fehler, die er begehen kann, die normalerweise bereits von anderen Schichten abgefangen werden.

Java und C# sind Sprachen, die auf der obersten Ebene aufsetzen. Mit diesen Sprachen ist es sehr leicht, Programme zu entwickeln, weil man alle Möglichkeiten der zugrundeliegenden Schichten zur Verfügung hat. Das heißt, man kann mit weniger Arbeit genau das gleich erreichen wie in C oder C++, dabei aber das Programm nicht genau auf das Zielsystem abstimmen, was Geschwindigkeitsverluste angeht. Oft nimmt man diesen Nachteil jedoch in Kauf. Gründe dafür sind, dass durch den einfach zu handhabenden Befehlssatz Teamwork einfacher wird (das heißt, es können mehr Leute gleichzeitig am selben Programm arbeiten) und die Entwicklungszeit verkürzt wird.

CSS, HTML und XHTML sind nicht wirklich Programmiersprachen, sondern Skriptsprachen. Das bedeutet, sie besitzen keine Logik, sondern beschreiben einfach nur, wie eine Website auszusehen hat, so dass ein Browser sie darstellen kann. Flash beinhaltet zwar eine Programmiersprache, die sogar objektorientiert aber so langsam ist, dass sie nicht wirklich als Option zur Entwicklung von Programmen zur Debatte steht.

PHP ist ebenfalls eine einigermaßen objektorientierte Programmiersprache, die benutzt wird, um Websites gewisse Logik einzuhauchen. Passwortabfragen werden beispielsweise mit PHP realisiert.

MySQL ist eine Sprache, mit der zugehörige Datenbanken gesteuert werden. Du kannst zum Beispiel Befehle damit bauen wie „Suche in der Datenbank alle Lieferanten, deren Sitz in Berlin liegt und die mich in den letzen 4 Monaten beliefert haben, und gebe mir ihre Telefonnummer aus.“

Visual Basic und Delphi habe ich selbst noch nie benutzt, aber ich glaube sie ordnen sich vom Handlungsraum irgendwo zwischen C++ und Java ein.



So, ich hoffe das hilft dir ein wenig. Wenn du weitere Fragen hast, nicht zögern. Wir hier im Programmierforum sind ein ziemlich hilfsbereiter Haufen (manchmal sogar zu hilfsbereit für manche unserer Moderatoren, nicht wahr...? ;) )
 
Interessante Schichten die du da auflistest. Ist mir neu, dass es eine Assemblerschicht geben soll bzw. dass man es als Schicht interpretieren kann. Auch wenn man das als Schicht auffassen will, so ist diese dann wohl eher unter dem Betriebssystem anzusiedeln...
 
Also ich kenne das mit den Schichten auch anders:



Sprachen erster Generation:
Maschinensprachen
Befehle, die durch den Prozessor festgelegt sind. Unterste Programmierebene, die möglich ist. Allerdings schwer zu lesen (öffne mal eine .exe mit Notepad) und umfangreich zu programmieren (man muss dem Computer wirklich jede Kleinigkeit sagen).
Das programmiert heute keiner mehr von Hand sondern überlässt das einem Compiler.
Maschinensprachen sind die Sprachen, die ein Computer direkt verstehen kann.
Beispielcode: 10110000 01100001


Sprachen zweiter Generation:
Assemblersprachen
Äquivalent zu Maschinensprachen, aber es werden mnemotechnische Abkürzungen und symbolische Bezeichner verwendet, was den Quellcode einfach verständlich macht. Muss kompilliert werden, damit Maschinensprache daraus entsteht.
Wird heutzutage nur noch eher selten verwendet, meist um Studenten zu quälen und ihnen beizubringen, wie ein Computer auf der untersten Ebene funktioniert.
Wird unter anderem genau dann verwendet, wenn etwas auf bestimmte Hardware oder Geschwindigkeit optimiert werden soll, da man direkt die Hardware ansprechen kann.
Beispielcode: mov al, 97 ; kopiere die Zahl 971 in das 8-Bit-CPU-Register namens al
Dieser Code ist die direkte Übersetzung des Maschinencodes weiter oben.


Sprachen dritter Generation:
Hier kodiert man Algorithmen (Lösungsanleitung für ein Problem), es dreht also vor allem um das Wie. (Wie löse ich das Problem?)

Prozedurale/imperative Sprachen
Wie der Name es schon sagt, hat man eine Reihe von Befehlen, die gewisse (Teil-)Probleme lösen. Allerdings ist das hier schon deutlich abstrakter als bei Assemblersprachen. Ein Befehl einer prozeduralen Sprache kann hunderten bis tausenden Befehlen einer Assemblersprache entsprechen.
Es gibt eine große Anzahl an Sprachen, die in diese Kategorie fallen: BASIC, Fortran, Pascal, C, etc.
Beispielcode BASIC: a = 97


Objektorientierte Sprachen
Wenn man Daten und Algorithmen zusammenfasst, nennt man das Objekte. Objektorientierte Sprachen kann man als Weiterentwicklung der prozeduralen Sprachen sehen. Sie eignen sich für größere Programme, weil man hier länger die Übersicht behält. Mittlerweile zählen sie zum Standard der Programmierindustrie.
Bekannteste Vertreter sind Java und Smalltalk. C++ zählt man gewöhnlich auch dazu, obwohl es auch noch andere Konzepte umfasst.
Beispielcode Java: Objekt.setA(97);


Sprachen vierter Generation:
Datenbanksprachen
Das sind mengenorientierte Sprachen. Man hat eine Menge (= Anzahl) von Daten, die man durch Abfragen immer weiter einschränkt. Der Computer siebt dabei die Daten aus und überlässt das nicht mehr dem Programmierer.
Der bekannteste Vertreter ist SQL.
Beispielcode SQL: UPDATE ZAHLEN SET A = 97 WHERE A <> 97


Skriptsprachen
Diese Sprache liegen sozusagen auf der obersten Schicht. Ein Befehl hier kann unter Umständen tausende darunter liegende Programme aktivieren. Üblicherweise werden sie interpretiert, d. h. sie werden zur Laufzeit von einem Interpreter auseinander gepflückt und geschaut, was getan werden soll. Daher sind sie vergleichbar langsam.
Bekannteste Vertreter sind die UNIX-Shell (!), Perl und JavaScript.
Beispielcode UNIX-Shell: echo 97 >> zahl.txt


Sprachen fünfter Generation:
Diese Generation entstand, als man alles weiter abstrahierte. Es steht nicht mehr das Wie im Vordergrund sondern das Was. (Was ist das Problem?)

Logische Programmiersprachen
Hier bestehen Programme aus Daten und Fakten, die eine Beziehung zwischen den Daten herstellen und sie einschränken. Aus diesen Informationen sucht sich der Computer selbstständig die Lösung zu einem Problem heraus. Er versucht sich eben so lange daran, bis er eine (oder mehrere) Lösung gefunden hat oder alle Möglichkeiten durchprobiert hat. Dadurch, dass man den Lösungswegs nicht mehr direkt vorgibt, kann sich der Sourcecode um den Faktor 6 bis 10 verkürzen.
Ein Vertreter wäre Prolog.
Beispielcode: write97(97):-write('ist 97'). write97(_):-write('ist nicht 97').


Funktionale Programmiersprachen
Hier definiert man eine Vorgehensweise so ähnlich wie eine mathematische Funktion. Die Funktion beschreibt dann, wie aus den Eingabedaten Ausgabedaten werden. Durch dieses Konzept eignen sich diese Sprachen vor allem für Berechnungen.
Ein Vertreter wäre Lisp und dessen Varianten Scheme, DrScheme und DrRacket.
Beispielcode Scheme: (define is97 X (cond((= 97 X) (display 'ist 97')) (else (display 'ist nicht 97'))))




Das ist so die grobe Übersicht der Programmierparadigmen. Sie umfasst nicht alle Paradigmen, die es gibt (zB evolutionäre und genetische Programmiersprachen habe ich weggelassen).

Man wählt normalerweise immer das Paradigma aus, mit dem sich das aktuelle Problem am einfachsten lösen lässt. zB mit logischen Programmiersprachen ist es extrem einfach Navigationssoftware zu basteln. Das darunter liegende Betriebssystem könnte in C++ programmiert worden sein, die Treiber mit C, einzelne Verbesserungen mit Assembler und die Oberfläche in einer Skriptsprache. Das passt alles zusammen und geht Hand in Hand.
 
Würde sagen, dass Scheme und funktionale Programmierung deutlich älter sind als bspw SQL.
Scheme ist aus den 70ern und als Dialekt von Lisp ist letzteres entsprechend noch älter.
Lisp war eine der ersten hochsprachen und ist die älteste, die heute noch weit in Gebrauch ist.

Auch objektorientierte Programmierung ist etwas ganz brandneues im Vergleich dazu.

€: DrScheme/DrRacket sind nur Interpreter für Scheme.

€2:
The first complete Lisp compiler, written in Lisp, was implemented in 1962 by Tim Hart and Mike Levin at MIT.
1975: Scheme: An Interpreter for Extended Lambda Calculus
Und da wurde Scheme erst veröffentlicht. Angefangen hat die Entwicklung so um '72 rum.
 
Zuletzt bearbeitet:
So hat's mir mein Prof beigebracht. Die Generationen beschreiben mMn den Abstraktionsgrad eines Paradigmas, genauer weiß ich es jetzt allerdings auch nicht.

Gerade die 5. Generation ist für viele Programmierer recht gewöhnungsbedürftig, da man zB wesentlich öfter mit Rekursionen arbeitet, als es bei Sprachen der dritten Generation üblich ist.

Edit:
Afaik sind Scheme etc. Dialekte von Lisp. Also so ähnlich wie der Unterschied zwischen QuickBASIC und QBASIC.
 
Zuletzt bearbeitet:
Jo die Generationen sind in dem Sinne keine zeitlichen Entwicklungen sondern Abstraktionsebenen..
im heise-developer podcast war neulich eine Folge zu funktionaler Programmierung mit "killerbeispielen" die sich dort sehr elegant und einfach implementieren lassen und in java/c(++/#)/... viel arbeit bedeuten
(touring-mächtig sind sie ja alle - also bieten alle die gleichen möglichkeiten - nur eben unterschiedliche einfach/schnell)
 
Zuletzt bearbeitet:
Hey Leute,

Tut mir leid das ich erst so spät antworte aber leider hatte ich viel in der Uni zu tun. Strafrecht mal wider :)!

Nochmals vielen Dank für die Erklärung an alle! Ist ein wirklich sehr hilfsbereites Team das hier agiert. Ich hätte nicht gedacht das das so komplex ist. Wie bereits erwähnt, habe ich ein starkes Bedürfnis mir Materie in den Kopf zu pressen, was Programmierung angeht ;). Es scheint mir einfach extrem interessant zu sein, trotz der hohen Komplexität. Nach dem was ich nun so gelesen habe, bin ich total verwirrt. Es gibt ja unterschiedliche Anwendungsbereiche für die jeweiligen Sprachen. Könnte mir vll noch jemand einen Tipp geben, was für einen schlichten Anfänger geeignet wäre? Das wäre suuuuper ;)

mfg Kenzo
 
die Frage ist, was möchtest du machen? "Normale" Programmierung (C, C++, Java) ist am Anfang nicht sonderlich produktiv. Soll heißen das Ergebnis besteht meist in ziemlich kleinteiligen, nicht unbedingt praxistauglichen Ergebnissen (z.B. ein Hallo-Welt Programm, Geburtstagsberechnung, Eingaben von der Tastatur auslesen oder später mal ein einfacher Taschenrechner, ohne Grafik etc.)

Willst du eher was haben was auch "optisch" was hermacht, ist eine Webseite ein netter Einstieg. Man kommt recht schnell zu ersten sichtbaren Ergebnissen und lernt so ein paar "Informatik"-Grundbegriffe und erkennt wie komplex sowas werden kann. Allerdings sind HTML, CSS und Co. keine richtigen Programmiersprachen und halt auf ihr Einsatzgebiet beschränkt. Infos hierzu findest du wie schon erwähnt bei http://de.selfhtml.org/ oder einfach mal nach HTML Tutorials googeln (aber aufpassen, dass sie einigermaßen aktuell sind, denn das ganze Webdesign-Zeugs ist deutlich schnelllebiger als "richtige" Programmiersprachen) Später kann man dann in der Richtung auch weitermachen mit Scriptsprachen wie JavaScript, PHP und erste Erfahrungen mit Datenbanken (mySQL) sammeln.

Wenn du wirklich 'ne richtige "Anwendung" programmieren willst, würde ich evtl. zu VisualBasic tendieren, denn da kann man sich die Oberfläche recht einfach zusammenklicken und die IDE erstellt einem schonmal das Grundgerüst in dass du an bestimmten Stellen dann deinen Code programmierst. Ich persönlich finde diese Art des Lernens allerdings am schwersten, weil man häufig nicht versteht warum der eigene Code gerade jetzt ausgeführt wird etc. Man bekommt halt nicht unbedingt die Basics mit (wie ironisch ;-) ) Ich würde also eher Variante 1 oder 2 nehmen, je nachdem was deinem Lernstil besser zusagt.
 
Hey Hey,

vielen dank für die rasche Antwort. Entschuldige das ich meine Frage so ungenau gestellt habe! Also wenn ich ehrlich bin, dann würde mich schon interessieren wie man bestimmte (kleine) Softwareprogramme erstellt. Aber wenn das für den Einstig nicht wirklich was ist, dann wird das ja wohl nichts ;)! Hmmm, dann muss ich mir wohl erstmal die Grafikbezogenen Sprachen rein ziehen :)
 
ich kann dir wirklich java nahelegen. ich mache das atm im studium, habe mich auch schon mit anderen programmiersprachen auseinandergesetzt, aber mMn ist java sehr gut zum anfangen geeignet, da es doch sehr komfortabel zu schreiben ist. Als Alternativen kämen alle Sprachen der von e-laurin geposteten dritten generation in frage, ich finde, das sind die sprachen, die der landläufigen einschätzung einer programmiersprache am ehesten entsprechen. die sprachen darüber sind nochmal mehr abstrahiert und auf spezielle probleme (datenbanken, design) ausgelegt, dadrunter sollte man sich vorher mehrmals überlegen, ob man sich wirklich assembler antun will :D

edit: grafikbezogene sprachen in dem sinne gibt es nicht. die sprachen, die zum einstieg ratsam sind, sind zunächst einmal immer textbasiert. das problem ist einfach, sobald du mit GUIs programmieren willst, musst du vorgefertigte bibliotheken verwenden, wenn du damit anfängst, kannst du es vllt anwenden, verstehen tust dus jedoch nicht wirklich.
 
Also ich hab da auch mal als Anfänger reingeschnuppert und Visual Basic find ich wie mein Vorredner schon sagte auch ziemlich blöd, eben weil man dort Sachen zeichnet wie in nem Programm sie deklariert und den Code drum herum schreibt, aber übersichtlich fand ich das überhaupt net, und oft hängts an einem kleinen Buchstaben und den als Anfänger zu finden ist schwer, einer der damit Erfahrung hat, sieht das gleich.

Die Funktion mit dem roten Punkt, wo er anhält wenn was nicht funktioniert hilft da auch nicht viel, da der Fehler auch dazu führen kann, dass vorherige Schritte nicht richtig laufen.

HTML fand ich dagegen als Einstieg unabhängig vom Anwendungszweck wirklich gut, einfach um langsam in das Gefilde reinzukommen ohne wirklich programmiert zu haben.

Bzgl des Sprachenschemas kenn ich das von e-Laurin ausm BWL Studium, da hatten wir das in Wirtschaftsinformatik auch so.
 
Für absolute Frischlinge würde ich Java empfehlen. Habe selbst schon C, C++, C#, VB und ein paar andere Sprachen benutzt, Java jedoch besticht durch seine sehr strikte Art. Das heisst, man wird bei der Anwendung von Java fast schon zwangsweise in Richtung ordentliche objektorientierte Programmierung gedrängt. Man lernt also nicht nur die Sprache, sondern auch einige sehr wertvolle Konzepte.
Auch von Vorteil ist, dass es nur eine API gibt. Bei C oder C++ beispielsweise werden, je nach Hersteller des Compilers, verschiedene Bibliotheken mitgeliefert. Das erschwert die Hilfesuche im Internet.
 
html ist aber keine programmiersprache, sondern eine ausdruckssprache (hypertext markup(!) language), damit wird quasi nur das aussehen einer website beschrieben, keine anweisungen in dem sinne an den rechner gegeben
 
Schau dich doch mal auf der Microsoft-Seite um. Dort gibt es kostenlose Versionen der Visual Studio-Sprachen angeboten. Das kommt komplett mit Entwicklungsumgebung und allem Pipapo. Nur die Funktionalität ist im Vergleich zu den kommerziellen Varianten etwas eingeschränkt. Das macht aber zu Anfang überhaupt nichts.

Dann besorgst du dir noch ein paar Tutorials aus dem Netz bzw. kaufst Programmierbücher und schon kann es losgehen.


Als Sprache würde ich dir Java und C# empfehlen. Java ist relativ einfach zu lernen und hat sehr, sehr viele Funktionen. C# ist ähnlich.
Ich vermute, in der näheren Zukunft werden C, C++, C# und Java dominieren, so ähnlich wie C und C++ das heute schon tun.
 
Zurück
Oben