Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Hybrid-Darstellung

  1. #1
    Stiller Leser
    Registriert seit
    06.05.2009
    Beiträge
    4

    Standard Wie funktioniert eine programmiersprache?

    Hallo, bin neu hier im Forum und möchte gerne anfangen programmieren zu lernen. Ich hatte mal vor paar Jahren mit der Realschule Basics gelernt(uralte Programmiersprache)... Das hat mich sehr interessiert. Jetzt will ich anfangen mit den neueren Programmiersprachen, erstmal Java und danach C++ aber vorher wollte ich zum Verständniss erstmal fragen wie eine Programmiersprache überhaubt abläuft? braucht man da Unbedingt ein Programm?(oder dient es generell nur als große Hilfe - wie bei HTML? kann ich mir das so vorstellen wie Basics ? oder HTML? das es verschiedene Funktionen gibt, die man sinnvoll zusammenfügt und dann "Compiliert"(was passiert überhaubt genau in diesem Vorgang?) und dann ist es eine .exe datei? sind viele fragen^^ hoffe ihr könnt mir helfen bin zwar Anfänger, aber in dem Gebiet lerne ich schnell

  2. #2
    Bad Times Virus
    Registriert seit
    14.03.2009
    Beiträge
    579

    Standard

    also bei highlevel programmiersprachen(c,c++,cdelphi..) wird der programmcode compiliert.
    Das heisst das er in bytecode übersetzt wird den das betriebssystem ausführen kann. das nennt man dann exe.
    Es gibt 2 verschiedene exe arten die sich im format unterscheiden. Einmal das PE und das ELF format.
    PE=windows
    ELF=unix

  3. #3
    Der mit Anatidaephobie Avatar von blackberry
    Registriert seit
    11.07.2008
    Beiträge
    2.350

    Standard

    Zitat Zitat von wacked Beitrag anzeigen
    also bei highlevel programmiersprachen(c,c++,cdelphi..) wird der programmcode compiliert.
    ...und wo ist hier der Linker?

    Zitat Zitat von wacked Beitrag anzeigen
    Es gibt 2 verschiedene exe arten die sich im format unterscheiden. Einmal das PE und das ELF format.
    PE=windows
    ELF=unix
    EXEs gibt es nicht auf Unix(ähnlichen)-Systemen.
    Weiterhin finde ich diese Unterteilung sehr oberflächlich:
    http://en.wikipedia.org/wiki/COM_file
    (es gibt sicher noch mehr)

    PDFTT cr3w a.E. — ReiDC0Re, lindor, Sera, berry
    please do feed the trolls crew and elk
    Ehrenwerte Mitglieder im Ruhestand: OpCodez, SFX.
    "Was sich blackberry gerade denkt" — Vorsicht! Frei laufender Wahnsinn!
    Zitat von fuckinghot19: "PS: Blackberry ist auf FH der Trollkönig ^^."
    An dieser Stelle danke ich all meinen Fans und Hatern gleichermaßen ^.^

  4. #4
    Stanley Jobson Avatar von Bi0sh0k
    Registriert seit
    17.12.2007
    Beiträge
    773

    Standard

    Eine Programmierersprache z.B. C# (ist im Moment die neuste die bald in den Betrieben zu sehen sein wird) benutzt wie er schon erwähnt hatte Programmcode der kompiliert wird. Die Befehle zum programmieren findet das Programm in einer Bibliothek wie in Visual Studio 2008 in einer.lib Datei. Diese Befehle werden beim kompilieren in die jeweilige Maschienen Sprache übersetzt. Auf der untersten Ebene des Systems besteht diese Datei nur aus 0 und 1. Früher wurden die Systeme nur mit 0 und 1 programmiert, da die Speicherplätze nur 2 Zustände haben können 1 (An) und 0 (Aus)
    und wenn man schon 4 Stellen hatt den berechne mal wie viele Zustände sich dann azeigen lassen.

    MFG FH666

    _______________________________

    GFX Showroom
    Klick mich!
    _______________________________



  5. #5
    Richard Stallman Avatar von Sawyer
    Registriert seit
    26.07.2008
    Beiträge
    2.037

    Standard

    Zitat Zitat von FreeHacker666 Beitrag anzeigen
    Eine Programmierersprache z.B. C# (ist im Moment die neuste die bald in den Betrieben zu sehen sein wird) benutzt wie er schon erwähnt hatte Programmcode der kompiliert wird. Die Befehle zum programmieren findet das Programm in einer Bibliothek wie in Visual Studio 2008 in einer.lib Datei. Diese Befehle werden beim kompilieren in die jeweilige Maschienen Sprache übersetzt. Auf der untersten Ebene des Systems besteht diese Datei nur aus 0 und 1. Früher wurden die Systeme nur mit 0 und 1 programmiert, da die Speicherplätze nur 2 Zustände haben können 1 (An) und 0 (Aus)
    und wenn man schon 4 Stellen hatt den berechne mal wie viele Zustände sich dann azeigen lassen.

    MFG FH666
    total falsch

    C# ist eine .NET Sprache und Kompiliert eben nicht in Maschinencode^^
    Es wird zuerst in einem Sprachenunabhängigen zwischencode generiert (IL-Code = Intermediate Language)

    Dieser Code kann nur duch eine Laufzeitumgebung (CLR = Common Language Runtime) zur Laufzeit in Nativen Code Compiliert und Ausgeführt werden
    C# benutzt auch keine eigenen Libarys wie es bei C++ der Fall ist , sondern greift auf die .NET Bibliothek zu^^
    Das einzige was C# bzw Visual Studio selbst mitliefert , ist die eigentliche Sprachsyntax

    MfG

  6. #6
    Anfänger
    Registriert seit
    06.11.2008
    Beiträge
    6

    Standard

    @georg IV

    wenn du richtig programmieren lernen willst, würde ich dir empfehlen lehrbüchre zu kaufen, fals dus erstmahl nur ausprobieren willst dann das hier:
    http://www.amazon.de/C-Objektorienti...1945636&sr=8-1

    fals du schon was richtig vernünftiges(aber auch teureres) haben willst:
    http://www.amazon.de/Lernen-professi...1945684&sr=8-4

    ansonsten GANZ WICHTIG für jeden c++ programmiere ein muss: die Stroustrup bücher,
    aber unbedingt auf Englisch!


    ich habe alle gelesen und kann sie wirklich empfehlen, da steht alles drin was du wissen willst, auch über alle Hintergrüne(in c++ OOP von anfang an nicht unbedingt)

  7. #7
    Stiller Leser
    Registriert seit
    06.05.2009
    Beiträge
    4

    Standard

    Wie sieht das aus mit den Funktionen? sind die alle in einer bibliothek? kam hier glaube ich nicht so ganz rum...
    weil irgendwie muss man ja wissen was welche Texte oder zeichen machen



    Zitat Zitat von VeryImportantPerson Beitrag anzeigen
    ansonsten GANZ WICHTIG für jeden c++ programmiere ein muss: die Stroustrup bücher,
    aber unbedingt auf Englisch!
    wieso auf englisch? was ist überhaubt "Stroustrup"? einfach der Autor?

    Zitat Zitat von AstvomBaum
    sonst würde ich noch sagen, um eine programmiersprache wirklich zu verstehen empfehle ich ubuntu zu installieren (kostenloses linux system: http://www.ubuntu.com/getubuntu/download), da der gcc der einzig ware compiler ist, mit dessen tools sich die binärdateien untersuchen lassen, was für das echte verständnis unverzichtbar ist.
    was heißt binärdateien untersuchen? kann man da die ganzen 1 und 0 sehen? Wäre das aber nicht bisschen viel? müsste dann ja ein paar Tausende sein

    Das der PC nur 1 und 0 kennt weiß ich wir haben mal mit dem gleichen Lehrer einen 4-Bit Prozessor gebaut^^ angefangen nur mit Unds und Oders^^
    (fals es noch hilfreich ist: bin elektriker^^ und werde vlt bald anfangen Informatik zu studieren oder so...)

    ansonsten Danke für die Tipps^^
    die Bücher werde ich mir glaube ich anschaffen, oder kennt jemand bessere?

    wie sieht es aus mit Java Bücher?
    Geändert von gEoRg_IV (10.05.2009 um 15:44 Uhr)

  8. #8
    W32.FunLove
    Registriert seit
    11.08.2008
    Beiträge
    128

    Standard

    Zitat Zitat von gEoRg_IV Beitrag anzeigen
    wieso auf englisch? was ist überhaubt "Stroustrup"? einfach der Autor?
    Bjarne Stroustrup hat C++ aus der Programmiersprache C entwickelt.
    Habe selbst keins seiner Bücher, kann mir aber denken, dass er auch beschreibt, wieso er die Funktionen eingebaut hat und wieso sie gerade so geschrieben sind. Oder irre ich mich da?

    Zitat Zitat von gEoRg_IV Beitrag anzeigen
    wie sieht es aus mit Java Bücher?
    Glaube das OpenBook von GalileoComuting soll recht gut sein:
    http://openbook.galileocomputing.de/javainsel8/

  9. #9
    Stanley Jobson Avatar von Bi0sh0k
    Registriert seit
    17.12.2007
    Beiträge
    773

    Standard

    Ok ich sehs ein. XD
    Hab nicht gut genug in der Schule aufgepasst. XD

    _______________________________

    GFX Showroom
    Klick mich!
    _______________________________



  10. #10
    this.hatcolor = gray Avatar von Ancient87
    Registriert seit
    29.03.2009
    Beiträge
    143

    Standard

    Eine (high level) Programmiersprache ist in erster Linie mal ein abstrakte Menschlich leicht verstaendliche art dem pc was beizunbringen.

    Du musst ausserdem 2 Arten unterscheiden : interpretierte und kompilierte Sprachen. Java z.B ist interpretiert und wird von der JVM (java virtual machine) ausgefuehrt das auch einer der Gruende warum es Plattform unabhaengig ist. c/c++ wiederum wird in binaer code compiliert der je nach optimierungseinstellungen nur auf der Plattform lauft auf der es kompiliert / optimiert wurde.

    In jedem Fall brauchst nen compiler. Wenn es dich naeher interessiert empfehle ich "Modern compiler implementation" by Andrew w. appel. Wir hatten letztes Semester ein Fach compiler engineering ist hoch interessant aber auch relativ komplex.
    Ich versuchs mal so einfach wie moeglich auszudruecken:

    Ein compiler besteht aus vielen verschiedenen Teilen

    Lexikalische Analyse: In diesem (1. Schritt) wird erstmal das ganze unnoetige zeug (leerzeichen etc) vom source gestrippt und die keywords (tokens) z.B if, while etc.. rausgepickt. In diesem Schritt werden uebrigens auch syntax fehler entdeckt und zurueck geworfen. Mit hilfe dieser tokens wird dann im naechsten schritt der
    Parse tree generation ein parse tree generiert.


    Parser: Der parser interpretiert wennd u so willst die grammatik der Sprache. Im moment haben wir nur einen haufen nichtssagender token der Parser hat aber die "regeln" fuer die Sprache und kennt die bedeutung (semantik) der tokens. Mit hilfe dieser Regeln (context free grammars) baut der parser jetzt den sogenannten parse tree. Das ist eine abastrake Baumstruktur die den programmfluss mit nur den noetigsten informationen die der compiler braucht um das Program ausfuehren zu koennen. Nun gehts weiter zur Instruction selection.

    Instructions selection: Hier sucht der compiler die fuer die plattform noatigen CPU instruktionen heraus. In anderen worten wir versuchen Teile der parse trees in assembler instruktionen zu uebersetzen je nach Architektur (RISC/CISC) habenw ir verschiedene Instruktionen zu verfuegung. Als naechstes folgt die register allocation

    Register allocation: Hier beschliesst der compiler welche Daten zu laufzeit in welchen cpu registern gehalten werden.

    Emitter: in diesem vorletzten Schritt spucken wir nun Assembler code aus den wir im letzten schritt dem linker nach binaer compilen.

    Denn wie meine vorganeger schon gesagt haben intern versteht ein pc nichts anderes als 0/1 (an/aus)

    So das war jetzt wie gesagt seeeeeeeehr simpel ausgedrueckt wie ein compiler funktioniert.

    MFG
    Knowledge is power - don't abuse it!

    Fuer niveauvolle Anfragen bin ich unter 139156343 erreichbar

Seite 1 von 2 12 LetzteLetzte

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •