Ich hab in meinem Kurs einen der wirklich alles weiß, vor allem viel besser. Der beharrt darauf dass PHP eine vollwertige (es geht um dieses Wort) Programmiersprache ist.
Das interessiert mich doch jetzt mal wirklich, denn zB Wikipedia sagt PHP ist lediglich eine Skriptsprache ... und ... für eine Programmiersprache muss man so einen Touringtest bestehen, was PHP wohl nicht tut.
Was sagt denn Ihr Profis?
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
Moin,
mit Profi, in Sachen Programmierung, bin ich zwar sicherlich nicht gemeint. Aber ich bin dennoch der Meinung, das PHP eine Scriptsprache ist:
http://www.akademie.de/programmierung-administration/html-und-css/tipps/skripte-formulare/einstieg-in-php.html
Unter einer Programmiersprache verstehe ich einen kompilierten, programmierten Sourcecode.
Gruß
Maybe
Es gibt (gab) doch aber auch Programmiersprachen, die "nur" interpretiert werden. Ich denke, dass das Kompilieren nicht das alleinige Kriterium sein kann.
Ansonsten möchte ich mich anschließen: Auch ich bin mit Profi, in Sachen Programmierung nicht gemeint.
Gruß, mawe2
Java zum Beispiel.
Und PHP doch auch, oder?
Java lief nie im Interpreter. Java wurde schon immer kompiliert: In Bytecode als Maschinencode der innerhalb der JVM ausgeführt werden kann...
Bei JavaScript schaut das anders aus. Das läuft im Interpreter.
Es ging ja um diese Aussage Unter einer Programmiersprache verstehe ich einen kompilierten, programmierten Sourcecode. Der aus Java erzeugte Bytecode ist kein eigenständig ausführbares Programm, sondern bedarf einer entsprechenden Laufzeitumgebung, die den Code zur Laufzeit interpretiert oder kompiliert.
Es gab/gibt auch Hardware der Java-Byte-Code nativ ausführen kann...
Die JVM wird aber teilweise schon als Interpreter aufgefasst. Typische erforderliche Schritte wie eine Prüfung des Quellcodes auf syntaktische Korrektheit fallen da allerdings weg.
Hmmm... Bor... also die folgende Aussage von Dir enttäuscht mich nu doch ein wenig:
Java wurde schon immer kompiliert: In Bytecode als Maschinencode der innerhalb der JVM ausgeführt werden kann
1. Auch PHP wird kompiliert, nur eben zur Laufzeit
2. Bytecode ist dann doch etwas ganz anderes als Maschinencode, sonst bräuchte man keine VM
Hast Du nicht Inf studiert? ;)
PS: Nix für ungut, just kiddin´
Das ist nicht ganz richtig. Die JRE ist ein sogenannter Just In Time Compiler.
Ein kompilierter Sourcecode ist keine Programmiersprache, sondern das fertige Programm.
;O))
Richtige Programmiersprache ist Maschinensprache.
Alles andere was danach kam, Basic, Fortran, Pascal, Cobol, ADA, C, usw. sind zwar auch Programmiersprachen, aber ohne eine entsprechende Kompilierung ist es nichts.
Aber darauf läuft es doch, meist zumindest, hinaus, oder?! Das davor die entsprechende Sprache und der Editor, indem der Code geschrieben wird, wusste ich noch. Mit mehr als mit kläglichen Grundkenntnissen in C++ und VB kann ich nicht dienen.
Richtige Programmiersprache ist Maschinensprache.
Ich denke Du meinst Assembler, oder?
Gruß
Maybe
Da ist er nicht der erste. Vor einigen Jahren wurde sogar ein GTK-Interface für PHP geschaffen mit dem es möglich wäre Desktop-Anwendungen mit GUI zu entwickeln. Das PHP nicht turingvollständig sein soll wäre mir neu. Dann wäre es zu nix zu gebrauchen...
Warum zweifelst Du denn an PHP als vollständige Programmiersprache?
Die Übergänge sind da fließend. Mir fällt aber spontan auch keine Scriptsprache, die man nicht auch als Programmiersprache bezeichnen könnte. Man könnte Scriptsprachen u.U. sogar als Untermenge von Programmiersprachen auffassen, aber darüber lässt sich sicherlich vorzüglich streiten.
Das ^^ hatte ich erst für einen Schreibfehler gehalten - faszinierend, was es alles gibt: http://de.wikipedia.org/wiki/Berechenbarkeitstheorie (weiterleitet von Turingvollständigkeit) - lesen und staunen, gefällt mir!
THX
Olaf
Och ICH eigentlich weniger, ich hab nur mal einen selbsternannten Codegott gehört der auf PHP nur müde herab lächelte und es als lediglich Scriptsprache beschimpfte.
PHP ist Turing-vollständig, wie quasi alle Programmiersprachen. Das heisst, dass es keine Algorithmen gibt, die mit einer Programmiersprache X geschrieben werden können, die man nicht in PHP schreiben könnte. Generell sind alle Programmiersprachen gleichmächtig. Als Ausnahme wird z.B. gerne SQL genannt.
PHP ist auch eine Skriptsprache. Heisst, dass zwischen Compile-Time und Run-Time nicht unterschieden wird. Es entsteht kein "Kompilat", welches dann von einer realen oder virtuellen Maschine ausgeführt wird, sondern der Quellcode wird kurz vor der Ausführung vom Lautzeitsystem in eine interne Repräsentation gewandelt.
Ändert natürlich nichts an der Tatsache, dass PHP immer noch eine ziemlich kranke Programmiersprache ist :-)
Wieso das denn? Die wird doch so hoch gelobt!
Nicht von Leuten, die Ahnung haben :-)
Es gibt auch Leute, die Visual Basic ganz toll finden. Oder Haarausfall. Oder Fusspilz.
Dazu eine Nachfrage! Was ist denn der Nachteil von VB? Ich habe Programmierung damals auch zunächst mit VB gelernt (aber nur Grundkenntnisse). Was mir aufgefallen ist, dass die erstellten Programme doch erschreckend hardwarehungrig waren. Meinst Du den Punkt, oder generell gegen "visuelle Programmierung"? Es gibt ja auch noch Visual C. Unter C war mir allerdings der reine Editor lieber, da man den Code eben im Auge hatte. Bei der Automatisierung (Buttons) klicken wurde auch teilweise unnötiger Source-Code erzeugt.
Wie gesagt, ich bin kein Programmieren und habe lediglich ein paar, veraltete Grundkenntnisse. Also bitte nachsehen, sollte ich grade "Quatsch verzapft" haben! ;-)
Gruß
Maybe
Zunächst einmal die ganz üble inkonsistente Syntax. Brauchbare Standard-Datenstrukturen wie (Assoziative)Listen gibt es da auch nicht, keine brauchbares Exception-Handling, und wenn ich noch länger nachdenke fällt mir garantiert noch ein Haufen anderer Dinge ein. Besonders schlimm ist die Ausprägung VBA :-[
Gruß
Borlander
Yupp. allerdings gibt es mindestens ein Derivat, dass Anleihen bei Java genommen hat und das somit recht brauchbar ist: KBasic (www.kbasic.com) bzw dessen nachfolger Q7Basic (http://www.q7basic.org/index_de.html).
Ich hab mit KBasic mal herumgespielt, gefällt mir ganz gut. mal sehen, vielleicht besorge ich mir für mein noch anzuschaffendes neues Laptop eine Q7Basic vollizenz ... Für merin Ubuntu müsste ich das selbst compilieren (hmm... vielleicht ..)
Was VBA betrifft:
da hast du sicher recht. Aber wie willst du Access-DBs sonst entwickeln?
Klar könnte man auch Acces nur als DB-Backend (bzw Front-End für Abfragen) nutzen und das GUI z.B. in PHP oder sonstwas schreiben - aber für eine DB die nur von wenigen Personen, schlimmstenfalls nur von einer Person, genutzt wird, halte ich das für Overkill.
Volker
Nicht von Leuten, die Ahnung haben :-)
So sehen die typischen Diskussionen zu PHP-News bei Heise auch immer aus.
Die Realität liegt irgendwo in der Mitte, und die konkurrierenden Lösungen sind auch nicht alle so toll wie dann behauptet wird...
Gruß
Borlander
ANSI-SQL ist ja auch weder Programmier- noch Scriptsprache, sondern eine reine Abfragesprache.
erst die Erweterungen der diversen DB-hersteller, wie z.B. - PL/SQL von Oracle und das MS SQL des MS SQL-Server - könnte man durchaus als Programmiersprachen bezeichnen - PL/SQL ist sehr mächtig.
Volker
Das ist natürlich richtig, darum geht es aber bei der Definition der Mächtigkeit einer Programmiersprache nicht.
SQL enthält keine while-schleife (oder ein Äquivalent dazu). Deshalb ist SQL nicht Turing-mächtig. Man kann sie aber hinzufügen, viele SQL-Dialekte tun das sogar. Bei Oracle gibt es z.B. das CONNECT BY, welches eine beliebig tiefe rekursive Verknüpfung einer Tabelle mit sich selbst erlaubt. Das entspricht einer While-Schleife und damit wird SQL Turing-mächtig.
Mit PL/SQL wird es direkt einsichtig, denn dort gibt es explizit das while. Aber eigentlich braucht man das gar nicht.
Natürlich komt niemand auf die Idee, damit ein ernsthaftes Programm zu schreiben. Aber das tut man auf einer Turing-Maschine ja auch nicht. Es geht um die theoretische Machbarkeit und die Definition des Begriffs Turing-mächtig.
Du hast aber schon gesehen, dass ich Oracles 'PL/SQL als Gegenbeispiel erwähnt habe?
Insofern kann ich deinen versuch der Schulmeisterei nicht ganz nachvollziehen.
Natürlich komt niemand auf die Idee, damit ein ernsthaftes Programm zu schreiben.
du irrst. und zwar gewaltig.
Ich habe im Gegenteil sogar schon recht komplexe Anwendungen gesehen, die bis auf wenige Prozeduren komplett in Pl/SQL geschrieben waren.
Volker
Ja, das habe ich. Ich habe Dir auch explizit recht gegeben. Dennoch beziehen sicht meine AUsführungen auf SQL ohne prozedurale Erweiterungen. Und nur das habe ich ursprünglich als Beispiel angegeben.
du irrst. und zwar gewaltig.
Nochmal: Es gibt einen Unterschied zwischen dem "puren" SQL und einer Erweiterung a lá PL/SQL, T-SQL oder plpgsql oder was auch immer. Ja, es gibt Irre, die meinen, sie müssten ihre gesamte Businesslogik darin (in PL/SQL!) codieren. In SQL alleine geht es eben nicht.
Ich bin jetzt zwar nicht vom Fach, was das Thema Programmieren angeht, aber nur so mit gesundem Menschenverstand und aus dem Bauch heraus hätte ich kein ganz so großes Vertrauen in eine Programmiersprache, die ursprünglich eine reine *Datenbank-Abfrage*-Sprache war und nur durch einen "Aufsatz" zum Coden von kompletten Programmen geeignet ist.
Es gibt so viele andere Sprachen, die *von vornherein* dafür geeignet und für nichts anderes gemacht sind - C/C#, Java, früher noch Modula-2 und Pascal - da würde ich mich also rein aus dem Bauch heraus fragen, ob man dafür unbedingt ein SQL-"Derivat" nehmen müsse.
Aber deiner Formulierung nach zu urteilen ("Irre, die meinen, sie müssen...") sind wir da so ziemlich der gleichen Meinung.
CU
Olaf
Hat weit entfernt damit zu tun: Ich kannte mal einen der hat seine ganzen Briefe mit einem DTP-Programm (Pagemaker ?) geschrieben ;-)
Und - sahen die dann gestylter aus als andere Briefe? ;-)
CU
Olaf
Ich weiß ja nicht wie Pagemaker bedient wird, aber ich nutze für alles was über einen Standard-Brief hinausgeht Quark Xpress. Es kotzt mich einfach an, mich mit irgendwelchen Auto-Formatierungen herumzuschlagen oder Bilder völlig unpräzise einzusetzen. Da ist es egal ob ich Open Office oder Word nehme, keines der beiden Programme hat irgendwelche DTP-Fähigkeiten die sich gut kontrollieren lassen.
Jedenfalls ist es mit einem DTP-Programm, wenn man es kennt, angenehmer zu arbeiten. Die einzige gängige Funktion die sich mit Word oder Open Office tatsächlich einfacher erledigen lässt ist der Serienbrief. Ansonsten macht ein gutes DTP-Programm die normalen Textverarbeitungsfunktionen locker mit. Nützlich sind für manche Anwender evtl. auch die Möglichkeiten im Text Tabellen mit rudimentären Rechenfunktionen einzubauen. Habe ich noch nicht genutzt, kann aber nützlich sein. Dann hört aber schon auch schon auf.
Lustig ist halt nur, das Word & Co von ihren Machern auch DTP-Funktionen nachgesagt bekommen. Lächerlich! Die sollen lieber mal zusehen das sie Grundfunktionen vernünftig geregelt bekommen. Meine Freundin muss regelmäßig für die Arbeit Sitzungsprotokolle schreiben mit zig Listenformatierungen. Da kriege ich graue Haare bei. Das kann kein Mensch richtig kontrollieren...
Setzt du denn oft Bilder ein, wenn du Briefe schreibst? So ganz spontan finde ich das jetzt erst einmal eher ungewöhnlich.
Was genau meinst du mit "Herumschlagen"? Wenn ich keine Auto-Formatierung wünsche, benutze ich sie einfach nicht.
CU
Olaf
Ich weiß ja nicht, was Du so alles an Möglichkeiten brauchst, die Quark bietet und Word nicht.
Ich habe bisher noch nie etwas Wichtiges in Word vermisst. Wenn man weiß, wie es geht, kann man auch mit Word ganz ansprechende Dokumente erstellen.
Sicher ist Quark in Gänze das professionellere DTP-Programm. Aber dass ich in Word irgendwas nicht richtig kontrollieren kann, ist mir noch nicht passiert.
Kannst Du da ein Beispiel nennen?
Das Beispiel mit dem Einbinden von Fotos hat Markus schon genannt - da fluche ich jedes Mal, auch in OpenOffice. Irgendwie kriegt man das alles irgendwann hingefummelt, aber entspanntes Arbeiten geht anders.
Nur - Ausgangspunkt war Rösleins Aussage "ich kenne jemanden, der schreibt Briefe mit einem DTP-Programm". Und bei Briefen vermisse ich so fortgeschrittene Features gerade am wenigsten.
CU
Olaf
Das Beispiel hat er erwähnt - ich weiß trotzdem nicht, was dabei das Problem sein soll? Vielleicht habe ich auch nur zu wenig Phantasie? Aber ich habe schon oft Bilder in allen möglichen Situationen in Word-Dokumente eingefügt und kann keine gravierenden Probleme erkennen.
Ist ja auch egal - vom eigentlichen Thema (PHP) sind wir schon wieder weit entfernt.
Gruß, mawe2
Sorry, es wurde wirklich off topic. Um Eure Fragen zu beantworten: Quark Xpress war Vorreiter der DTP-Programme, wo man auf der Fläche einfach Rahmen positioniert, die mit Text, Bildern oder Farben gefüllt werden. Das ist extrem konstruktiv und macht kaum Stress beim Formatieren. Ich nutze Quark zwar nicht ständig, aber so häufig, dass ich da eine gewisse Routine habe. Jedenfalls habe ich gerade einen dreiseitigen Lebenslauf getippt, bei dem ich mit enem normalen Textverarbeitungsprogramm bestimmt wahnsinnig geworden wäre.
Zum Thema Autoformatierung: Zu Word kann ich hier nix sagen, wohl aber zu OpenOffice. Das ist Listenpunkten extrem zickig und unkontrollierbar. Sobald man da irgendwas schreibt was das Programm als Liste erkennt, fängt es an einem entsprechende Funktionen aufzuzwängen. Und damit zu kämpfen ist schneller, als es selber manuell zu machen. Das bringt so nix.
Sicherlich gibt es viele Aufgaben eines DTP-Programms sowie einer Textverarbeitung, die man mit beiden Programmen gut hinbekommt. Doch es gibt sicherlich Grenzen. Und als jemand, der selber gerne die absolute Kontrolle behält und Assistenten nicht leiden kann, kommt mit Quark einfach weiter. Wobei ich natürlich für Standard-Briefe auch OpenOffice einsetze.
OK. Jedes dieser Programme hat sicher seine Vor- und Nachteile. Es kommt aber sicher auch drauf an, womit man die meiste Erfahrung hat. (Eine kurze Berührung mit Quark hatte ich schon mal und weiß nur, dass es keinewegs selbsterklärend ist und man sich nicht mal so nebenbei darin einarbeiten kann.)
Natürlich ist es für professionelle Anwendungen in der Druckvorstufe eines der wichtigsten Programme. Leider ist auch der Preis so heftig, dass dieses Programm kaum den Weg zu Otto-Normal-Schreiber finden wird.
Die Autoformatierungen kann man in Word zumindest auch alle abschalten - in OpenOffice wahrscheinlich auch.
Gruß, mawe2
Teuer ist relativ. Ich habe Quark 5.01, das gab es mal bei einer zeitschrift für 5 euro. Die Version ist natürlich recht alt, aber außer transparenzefekten und ordentlicher mehrbildschirmunterstützung vermisse ich nix. Was die bedienbarkeit betrifft kann ich natürlich nur von meiner alten Version sprechen, aber gerade in dem Punkt bin ich mit Grafik-Freeware wie GIMP oder scribus sehr unglücklich. Vor allem macht meine Software ohne Zicken sofort was ich will.
Aber das ist lange her. Und die reguläre Lizenz kostet aktuell schon ca. 500 EUR.
PL/SQL ähnelt einem simplen BASIC-Dialekt. Ähnlich mittelalterlich wie ABAP. Es gibt aber ältere Semester, die das als Arbeitsplatzsicherungsmethode verwenden und sich damit unkündbar machen, indem sie dieses Werkzeug weit über den ursprünglich gedachten Verwendungszweck hinaus verwenden.
...wahrscheinlich genau die, die sowieso wenn auch nicht un-, so doch schwer kündbar sein werden :-| Da sollte die zuständige IT-Leitung einmal energisch dazwischen gehen und zügig umstellen.
Aber die Mühlen mahlen langsam - ich weiß noch, was das bei uns in der Firma für ein Kampf gewesen ist, bis man sich endlich vom Internet Explorer 6 getrennt hat. Als "Programmierschnittstelle" für hausgemachte Web-Anwendungen war der vermeintlich unentbehrlich.
CU
Olaf
1.000 Dank an alle für Eure Beiträge und Meinungen. Ich weiss nun also in welche Schublade ich solche Schwätzer stecken muss :-)
Wieso denn das - Deiner Frage nach hatte der "Schwätzer" doch letztendlich recht!?
Jaaaaa, natürlich, Ironie war das Stichwort!!!!
PHP ist Turing-vollständig (das hat nichts mit Touren zu tun, sondern mit Herrn Turing) und eine Scriptsprache... eine Scriptsprache zu sein heißt nicht, keine Programmiersprache zu sein, zumal man PHP auch kompilieren kann um auf dem PHP-Interpreter lauffähigen Bytecode zu erhalten und wenn dies ein Ausschlusskriterium für Programmiersprachen wäre, dann dürfte Java auch keine sein.