Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15
  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
    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!
    _______________________________



  4. #4
    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

  5. #5
    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)

  6. #6
    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!
    _______________________________



  7. #7
    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

  8. #8
    Anfänger Avatar von AstvomBaum
    Registriert seit
    10.05.2009
    Beiträge
    12

    Standard

    ich kann ancient87 nur zustimmen, und ebenfals die von VeryImportantPerson vorgestellten Bücher empfehlen, besonders natürlich di evon c++ erfinder Bjarne Stroustrup,

    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.
    we are because of who we all are

    we are what we are because of what we are

    I am what I am because of what I make me to be

    we are what we all are because of what we make us to be

  9. #9
    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 ^.^

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

    Standard

    http://en.wikipedia.org/wiki/Executa...inkable_Format
    is doch mehr oder weniger ne exe.
    führt programmcode aus.
    dosheader,magic bytes usw sind doch fast nur beiwerk...

Seite 1 von 2 12 LetzteLetzte

Stichworte

Berechtigungen

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