1. Foren
  2. Kommentare
  3. Software-Entwicklung
  4. Alle Kommentare zum Artikel
  5. › Veröffentlichung von PHP…
  6. Thema

goto

  1. Thema
  1. 1
  2. 2
  3. 3

Neues Thema Ansicht wechseln


  1. Re: goto

    Autor: IhrName9999 25.06.09 - 13:08

    GodsBoss schrieb:
    -------------------------------------------------------
    > Nun schreibt jemand
    > einen Compiler, der Code in X zu ausführbaren
    > Binaries kompiliert. Urplötzlich ist sie nun also
    > eine Programmiersprache,

    Nein. Es ist nach wie vor eine Scriptsprache, deren Quelltext mittels einer zweiten, unabhängigen Programmiersprache in eine Binary verpackt wurde.

    > Außerdem gibt es Compiler für PHP, wie auch für
    > einige andere Skriptsprachen.

    Die im Übrigen alle diverse PHP - Interpreter in C/C++ oder einer anderen Programmiersprache beinhalten, zusammen mit einer kompletten Laufzeitumgebung.

    > Ein weiteres Manko ist, dass jemand Hardware bauen
    > könnte, die eine bestimmte Skriptsprache nativ
    > ausführt.

    Nein, denn der Quelltext einer Scriptsprache ist nicht ausführbar - Binarys hingegen schon. Da wird _immer_ ein nativer Interpreter rumgewickelt, manche von ihnen verschlüsseln den Quelltext sogar noch, auf dass es fast nicht mehr erkennbar ist dass da nur Binary als Interpreter läuft

    > Für Java-Bytecode gibt es m.E. etwas
    > Derartiges.

    Kann es nicht geben. Sogar portable JVMs haben (übrigens in C++ geschriebene) Interpreter mit bei bzw. sind sogar selbige - wieder nur eine Schachtel um eine Schachtel herum

    > Einen habe ich noch: Ein Programm, dass eine
    > beliebige Datei als Input erhält und als Ausgabe
    > ein Programm entstehen lässt, welches den Inhalt
    > dieser Datei anzeigt (von mir aus als hexadezimale
    > Codes), ließe sich leicht schreiben.

    Text >> Input v. Datei (Parameter?) >> Binary >> Ausgabe von Text / andere Aufgaben?
    Das nennt sich "Compiler" :)

    > Da hiermit
    > jede beliebige Datei als Basis für ein Binary
    > dienen könnte, wären sie deiner Definition zufolge
    > alle Programme.

    Nein. Das ist zirkuläre Logik. Hat leider nicht geklappt :)

    > Wie wäre es mit einer Definition, die auf dem
    > Begriff der Berechenbarkeit basiert? Die entledigt
    > nämlich lästige technische Details.

    Soso. "Lästig" also. Ich sehe schon, wo das mit dir hinführt...

    > Das Chaos
    > erzeugst du selbst, wenn du deine Definition
    > konsequent anwendest (siehe oben).

    Aha?


    > Falsch liegst höchstens du. Deine Unterscheidung,
    > was eine Programmiersprache ist und was nicht, ist
    > nicht sinnvoll (siehe oben).

    Wenn ich nun einmal (so wie du) versuche, deine "Waffen" gegen dich zu wenden, dann müsste ich sagen : "Alles ist Energie, es existiert keine Materie sondern nur unterschiedlich konzentrierte Bereiche aus Energie" und so weiter und so fort.


    > Diese Aussage ist falsch, ich programmiere selbst
    > und bestätige mir das nicht.

    Tut mir leid das sagen zu müssen, aber das Erstellen von ein paar Websites und evtl. das rumgehacke mit Java als Hobby ist nun wirklich nicht das was man als "hauptberuflicher Programmierer / Anwendungsentwickler" bezeichnen würde :)

  2. Re: goto

    Autor: -.-.-.-.-.-.-.-.-. 25.06.09 - 13:16

    IhrName9999 schrieb:
    -------------------------------------------------------
    > GodsBoss schrieb:
    > --------------------------------------------------
    > -----
    > > Nun schreibt jemand
    > einen Compiler, der
    > Code in X zu ausführbaren
    > Binaries
    > kompiliert. Urplötzlich ist sie nun also
    > eine
    > Programmiersprache,
    >
    > Nein. Es ist nach wie vor eine Scriptsprache,
    > deren Quelltext mittels einer zweiten,
    > unabhängigen Programmiersprache in eine Binary
    > verpackt wurde.

    Irgendwie wird's gerade immer blödsinniger!
    Sprachen sind nichts weiter als Syntax und Grammatik.
    Ob ich jetzt einen Kompiler schreibe, der eine Binary erzeugt oder
    einen Interpreter ist vollkommen egal. Daran ändert sich für die Sprache nichts. Für Java gibt es z.B. beides!

    Nochmal zum mitschreiben:
    +----------------------------------------+
    +Skriptsprachen sind Programmiersprachen!|
    +----------------------------------------+

    (Bitte ausschneiden und übers Bett hängen!)

  3. Re: goto

    Autor: GodsBoss 25.06.09 - 13:50

    > > Nun schreibt jemand
    > einen Compiler, der
    > Code in X zu ausführbaren
    > Binaries
    > kompiliert. Urplötzlich ist sie nun also
    > eine
    > Programmiersprache,
    >
    > Nein. Es ist nach wie vor eine Scriptsprache,
    > deren Quelltext mittels einer zweiten,
    > unabhängigen Programmiersprache in eine Binary
    > verpackt wurde.

    Du machst Mutmaßungen über den Compiler, über den ich überhaupt nichts geschrieben habe und lässt darauf deine Argumentation fußen. Meinst du, ich merke das nicht?
    Wie genau das Binary am Ende aussieht, habe ich gar nicht geschrieben. Ob der Code nun wie bei C mehr oder weniger Stück für Stück in Maschinencode umgesetzt wird oder wie bei vielen Skript- und Interpretersprachen die virtuelle Maschine mitgebracht wird, die den Code beim Ausführen interpretiert, blieb offen. Du nimmst jedoch einfach das Zweite an.
    Was ist, wenn Ersteres der Fall ist? Wird X dann von der Skript- zur Programmiersprache (nach deiner Definition)?

    > > Außerdem gibt es Compiler für PHP, wie auch
    > für
    > einige andere Skriptsprachen.
    >
    > Die im Übrigen alle diverse PHP - Interpreter in
    > C/C++ oder einer anderen Programmiersprache
    > beinhalten, zusammen mit einer kompletten
    > Laufzeitumgebung.

    Und? Es ist trotzdem ein nativ ausführbares Programm. Außerdem weißt du gar nicht, ob das wirklich so ist oder ob nicht einige andere aus Skriptsprachen kompilierte Programme ohne mitgebrachte virtuelle Maschine auskommen.

    > > Ein weiteres Manko ist, dass jemand Hardware
    > bauen
    > könnte, die eine bestimmte
    > Skriptsprache nativ
    > ausführt.
    >
    > Nein, denn der Quelltext einer Scriptsprache ist
    > nicht ausführbar - Binarys hingegen schon. Da wird
    > _immer_ ein nativer Interpreter rumgewickelt,
    > manche von ihnen verschlüsseln den Quelltext sogar
    > noch, auf dass es fast nicht mehr erkennbar ist
    > dass da nur Binary als Interpreter läuft

    Lies nochmal, was ich geschrieben habe, du hast es nämlich falsch verstanden.

    > > Für Java-Bytecode gibt es m.E. etwas
    >
    > Derartiges.
    >
    > Kann es nicht geben. Sogar portable JVMs haben
    > (übrigens in C++ geschriebene) Interpreter mit bei
    > bzw. sind sogar selbige - wieder nur eine
    > Schachtel um eine Schachtel herum

    Java-Prozessor - das Ding ist *Hardware*!

    > > Einen habe ich noch: Ein Programm, dass
    > eine
    > beliebige Datei als Input erhält und als
    > Ausgabe
    > ein Programm entstehen lässt, welches
    > den Inhalt
    > dieser Datei anzeigt (von mir aus
    > als hexadezimale
    > Codes), ließe sich leicht
    > schreiben.
    >
    > Text >> Input v. Datei (Parameter?) >>
    > Binary >> Ausgabe von Text / andere
    > Aufgaben?
    > Das nennt sich "Compiler" :)
    >
    > > Da hiermit
    > jede beliebige Datei als
    > Basis für ein Binary
    > dienen könnte, wären sie
    > deiner Definition zufolge
    > alle Programme.
    >
    > Nein. Das ist zirkuläre Logik. Hat leider nicht
    > geklappt :)

    Nein, ist es nicht. Und es hat sehr wohl geklappt. Der von mir erdachte Compiler kompiliert Texte, Bilder, etc. zu Programmen, ergo müssen diese Texte, Bilder, etc. *dir zufolge* Programmtext gewesen sein.

    > > Wie wäre es mit einer Definition, die auf
    > dem
    > Begriff der Berechenbarkeit basiert? Die
    > entledigt
    > nämlich lästige technische Details.
    >
    > Soso. "Lästig" also. Ich sehe schon, wo das mit
    > dir hinführt...

    Achja? Wohin denn? Zu einer Definition von Programmiersprache, die direkt aus dem Begriff der Berechenbarkeit ableitbar ist. Am klügsten dürfte hierbei die Turing-Vollständigkeit sein, denn es ist bisher kein mächtigeres Berechnungsmodell gefunden worden.
    Mit dieser Definition kann man jede Sprache eindeutig als Programmiersprache oder Nichtprogrammiersprache klassifizieren.

    > > Das Chaos
    > erzeugst du selbst, wenn du
    > deine Definition
    > konsequent anwendest (siehe
    > oben).
    >
    > Aha?
    >
    > > Falsch liegst höchstens du. Deine
    > Unterscheidung,
    > was eine Programmiersprache
    > ist und was nicht, ist
    > nicht sinnvoll (siehe
    > oben).
    >
    > Wenn ich nun einmal (so wie du) versuche, deine
    > "Waffen" gegen dich zu wenden, dann müsste ich
    > sagen : "Alles ist Energie, es existiert keine
    > Materie sondern nur unterschiedlich konzentrierte
    > Bereiche aus Energie" und so weiter und so fort.

    Falsch. „Materie“ ist eine Bezeichnung für eine bestimmte Form von Energie. Materie ist also immer Energie, aber nicht alle Energie liegt als Materie vor. Kein Widerspruch, kein Problem, keine Uneindeutigkeit.
    Genauso bei den Programmiersprachen. Auch Skriptsprachen sind Programmiersprachen. Fertig. Die Unterscheidung zwischen Programmiersprachen und anderen kann man anders machen als über sowas wie „muss kompilierbar sein“.

    > > Diese Aussage ist falsch, ich programmiere
    > selbst
    > und bestätige mir das nicht.
    >
    > Tut mir leid das sagen zu müssen, aber das
    > Erstellen von ein paar Websites und evtl. das
    > rumgehacke mit Java als Hobby ist nun wirklich
    > nicht das was man als "hauptberuflicher
    > Programmierer / Anwendungsentwickler" bezeichnen
    > würde :)

    Du weißt doch gar nicht, was ich tue. Außerdem schriebst du nur „Programmierer“, es handelt sich dabei nicht um eine geschützte Berufsbezeichnung. Ein Programmierer ist also jemand, der programmiert. Egal, was.

    Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.

  4. Re: Ein wohlplaziertes GOTO kann den Code deutlich vereinfachen

    Autor: GodsBoss 25.06.09 - 14:24

    > http://david.tribble.com/text/goto.html#part-3

    Kann man L-1 nicht ersetzen durch:

    int ch;
    while ((ch=read())!=EOF){
     parse(ch);}

    (oder was Ähnliches, habe zurzeit keinen C-Compiler zur Hand und bin nicht so C-bewandert)? Wobei ich intuitiv eher zu L-2 tendieren würde, weil ich die von mir genannte Variante hässlich finde, aber ich vermute, dass ein C-Programmierer eben diese bevorzugen würde. ;-)

    Allerdings geht es dort auch noch um break, nicht um goto. Ersteres sollte nur zu strukturell übergeordneten Orten führen und gehört ja zu den bekannten Schleifenkonstrukten, siehe auch N-1. Demgegenüber kann goto sonstwohin führen.

    Natürlich kann man die C/C++-Variante von goto genauso einsetzen wie in Java break. Das erfordert aber wiederum Disziplin des Programmierers. Daher sollte statt goto lieber ein ordentliches break vorhanden sein.

    Die Beispiele E-1 bis E-3 halte ich für untauglich, da dort zwar das Misslingen einer Aktion deutlich wird (NULL als Rückgabewert (wieso eigentlich nicht 0?)), aber überhaupt nicht, was schiefgelaufen ist.

    Weiter schauen werde ich im Moment nicht, ich halte aber die Beispiele dort für mehr oder weniger extra dafür erstellte Labor-Beispiele ohne praktische Relevanz.

    Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.

  5. Re: goto

    Autor: _mike 25.06.09 - 17:09

    Ja ich denke schon, dass eine Sprache sich positiv dadurch auszeichnet, dass sie den Programmierer in gewissen Situationen bevormundet.
    Strikte Regeln dienen nur dem Wohl der Allgemeinheit.
    Fremder Code kann einfacher und schneller gelesen werden etc.
    Hab jahrelang c/c++ programmiert und jetzt im Studium mit Java angefangen und hab mich erstmal daran gestört, dass ich für jeden scheiß die exception behandeln muss. Wenn man mal so drüber nachdenkt, ist das aber auch einfach nur vorteilhaft wenn man sich das dadurch einfach angewöhnt. Es verhindert viele Fehler - so sehe ich das.

  6. Re: goto

    Autor: Monito 28.06.09 - 11:27

    Das ende von PHP ist damit eingeläutet. War eine nette Sprache, die viel Potentzial hatte. Leider sind immer die mittelmässigen und Hobby Programmierer die, die das Ende der Sprache und den verruf der Gemeinde brachte...
    Ich denke, es lohnt sich ernsthaft darüber nachzudenken ein PHP Klon zu entwerfen, um den Gedanken zu retten... Lass aber bitte Zend daraus!

  7. Re: goto

    Autor: Monito 28.06.09 - 11:29

    Also schon wieder der.. Nochmal. Wenn man nicht programmieren kann, dann lass es!
    PHP war als Wrapper für C konzipiert worden. Hat mit Java oder Basic nichts zu tun.... Das Problem von PHP ist, dass es noch kein Sprung geschafft hat aus der "Bastlerecke" herrauszukommen....

  8. Re: goto

    Autor: Monito 28.06.09 - 11:41

    Danke -.-.-.- oder so ist dein Nick
    Vielleicht sollten unsere "Programmierer" hier tatsächlich wieder die Bücher lesen (ermal lesen lernen bitte, erleichtert die sache). Grundlagen der Informatik wäre ein guter Anfang (Automaten und Sprache/Grammatik in der Informationsverarbeitung, dazu gibt es schöne Bücher in Amazon). Tatsache ist, dass die Sprache PHP (PROGRAMMIERSPRACHE ODER SCRIPTSPRACHE EGAL WIE) ein Wrapper für eine andere Sprache ist. Der PHP interpreter packt die Anweisungen in sog. OPCodes (hier ist wieder ein Buch notwendig und nicht einfach Wikipedia, die ist auch von trottel wie euch auch geschrieben [ist keine abwertung der seite, aber ich habe auch fehler darin gefunden] ) und diese OPCOdes werden "On the Fly" durch den C Compiler durchgeführt. Deswegen braucht man immer ein C Program oder PHP Core im hintergrund für die Ausführung.

    Eine Idee PHP zu retten wäre (wie ich schon mal geschrieben habe) die PHP Engine völlig neu zu schreiben in C++.

  9. Re: goto

    Autor: GodsBoss 28.06.09 - 21:19

    > PHP war als Wrapper für C konzipiert worden. Hat
    > mit Java oder Basic nichts zu tun....

    Es ist egal, wofür PHP mal konzipiert worden ist, es ist jetzt (Stand: 5.2.x) eine Mischung aus Java und BASIC, ein Teil ist imperativ (wie BASIC), ein anderer Teil objektorientiert (wie Java).

    > Das Problem
    > von PHP ist, dass es noch kein Sprung geschafft
    > hat aus der "Bastlerecke" herrauszukommen....

    Ich behaupte auch nicht das Gegenteil…

    Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.

  10. Re: goto

    Autor: GodsBoss 28.06.09 - 21:50

    > Vielleicht sollten unsere "Programmierer" hier
    > tatsächlich wieder die Bücher lesen (ermal lesen
    > lernen bitte, erleichtert die sache). Grundlagen
    > der Informatik wäre ein guter Anfang (Automaten
    > und Sprache/Grammatik in der
    > Informationsverarbeitung, dazu gibt es schöne
    > Bücher in Amazon). Tatsache ist, dass die Sprache
    > PHP (PROGRAMMIERSPRACHE ODER SCRIPTSPRACHE EGAL
    > WIE) ein Wrapper für eine andere Sprache ist. Der
    > PHP interpreter packt die Anweisungen in sog.
    > OPCodes (hier ist wieder ein Buch notwendig und
    > nicht einfach Wikipedia, die ist auch von trottel
    > wie euch auch geschrieben ) und diese OPCOdes
    > werden "On the Fly" durch den C Compiler
    > durchgeführt. Deswegen braucht man immer ein C
    > Program oder PHP Core im hintergrund für die
    > Ausführung.

    Schön, dass du uns erklären willst, wie die virtuelle Maschine, die PHP ausführt, nun genau funktioniert, auch wenn ich glaube, dass du daneben liegst, denn warum sollte ein C-Compiler während der Ausführung involviert sein?
    Und was hat das Ganze mit diesem Thread zu tun?

    > Eine Idee PHP zu retten wäre (wie ich schon mal
    > geschrieben habe) die PHP Engine völlig neu zu
    > schreiben in C++.

    Wieso sollte jemand PHP „retten“? Davon, in der Praxis nicht mehr eingesetzt zu werden, ist es weit entfernt. Oder möchtest du die Qualität der Sprache selbst „retten“? Da würde eine neue Engine sicher nicht helfen.

    Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.

  1. Thema
  1. 1
  2. 2
  3. 3

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Zum Login

Stellenmarkt
  1. operational services GmbH & Co. KG, Berlin, Dresden, Frankfurt a. M., München
  2. MVTec Software GmbH, München
  3. finanzen.de, Berlin
  4. Bayerische Versorgungskammer, München

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Hardware-Angebote
  1. täglich neue Deals bei Alternate.de


Haben wir etwas übersehen?

E-Mail an news@golem.de


Amazon, Netflix und Sky: Disney bringt 2020 den großen Umbruch beim Videostreaming
Amazon, Netflix und Sky
Disney bringt 2020 den großen Umbruch beim Videostreaming

In diesem Jahr wird sich der Video-Streaming-Markt in Deutschland stark verändern. Der Start von Disney+ setzt Netflix, Amazon und Sky gehörig unter Druck. Die ganz großen Umwälzungen geschehen vorerst aber woanders.
Eine Analyse von Ingo Pakalski

  1. Peacock NBC Universal setzt gegen Netflix auf Gratis-Streaming
  2. Joyn Plus+ Probleme bei der Kündigung
  3. Android TV Magenta-TV-Stick mit USB-Anschluss vergünstigt erhältlich

Schräges von der CES 2020: Die Connected-Kartoffel
Schräges von der CES 2020
Die Connected-Kartoffel

CES 2020 Wer geglaubt hat, er hätte schon alles gesehen, musste sich auch dieses Jahr auf der CES eines Besseren belehren lassen. Wir haben uns die Zukunft der Kartoffel angesehen: Sie ist smart.
Ein Bericht von Martin Wolf

  1. Smart Lock Netatmo und Yale zeigen smarte Türschlösser
  2. Eracing Simulator im Hands on Razers Renn-Simulator bringt uns zum Schwitzen
  3. Zu lange Ladezeiten Ford setzt auf Hybridantrieb bei autonomen Taxis

Fitnesstracker im Test: Aldi sportlich abgeschlagen hinter Honor und Mi Band 4
Fitnesstracker im Test
Aldi sportlich abgeschlagen hinter Honor und Mi Band 4

Alle kosten um die 30 Euro, haben ähnliche Funktionen - trotzdem gibt es bei aktuellen Fitnesstrackern von Aldi, Honor und Xiaomi spürbare Unterschiede. Als größte Stärke des Geräts von Aldi empfanden wir kurioserweise eine technische Schwäche.
Von Peter Steinlechner

  1. Wearable Acer und Vatikan präsentieren smarten Rosenkranz
  2. Apple Watch Series 5 im Test Endlich richtungsweisend
  3. Suunto 5 Sportuhr mit schlauem Akku vorgestellt

  1. Kickstarter: Gebundener Mars-Atlas zeigt Karten des Roten Planeten
    Kickstarter
    Gebundener Mars-Atlas zeigt Karten des Roten Planeten

    The Mars-Atlas ist ein interessantes Buch: Es zeigt detaillierte Karten vom Mars statt der Erde. Mehr als 2.000 Standorte sind darauf zu sehen. Auch eine digitale Applikation wird angeboten, auf der Hobbyforscher ein 3D-Modell des Mars erkunden können - ähnlich wie bei Google Mars.

  2. 5G: Österreich sieht sich beim Mobilfunk klar vor Deutschland
    5G
    Österreich sieht sich beim Mobilfunk klar vor Deutschland

    Das schlechteste Mobilfunknetz in Österreich sei immer noch besser als das beste Netz in Deutschland, hat Wirtschaftsministerin Margarete Schramböck behauptet. Auch Messungen bestätigen das.

  3. TLS: Netgear verteilt private Schlüssel in Firmware
    TLS
    Netgear verteilt private Schlüssel in Firmware

    Sicherheitsforscher haben private Schlüssel für TLS-Zertifikate veröffentlicht, die Netgear mit seiner Router-Firmware verteilt. Der Hersteller hatte nur wenige Tage Reaktionszeit. Die Forscher lehnen die Praktiken von Netgear prinzipiell ab, was zur Veröffentlichung geführt hat.


  1. 17:20

  2. 17:07

  3. 16:45

  4. 15:59

  5. 15:21

  6. 13:38

  7. 13:21

  8. 12:30