PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Editor ( HTML CSS PHP JS ) für Noob zum rumspielen


Knuddelbearli
2015-08-02, 01:39:24
Moin glaube Titel sagt alles. ^^
Möchte einfach bisschen rumspielen und als Noob wäre mir halt wichtig das ich den Quatsch den ich da eingebe sofort sehe :freak:


OS ist Windows wobei ich absolut nichts dagegen hätte wenn es AUCH unter Linux läuft. :biggrin:

samm
2015-08-02, 12:18:04
Wenn es nur um einen Editor auf Windows ginge, würde ich ja sagen: Notepad++. HTML, CSS, JS kann man ja dann einfach im Browser öffnen, und sieht sofort, was man gemacht hat. Damit es aber bei PHP direkt sichtbar ist, was man da programmiert hat, braucht es einen lokal laufenden Webserver mit PHP-Modul, ist also etwas aufwändiger.

Damit es unter Windows und Linux vergleichbar ist: Apache 2.x + PHP, und als Editor z.B. Ultra Edit, was es für Win und Linux gibt (hab ich schon lange nicht mehr verwendet, weiss nicht ob es noch taugt)

Argo Zero
2015-08-02, 12:21:24
PHPStorm und als Framework beispielsweise Bootstrap.
Warum PHPStorm? Classes werden direkt aus dem css gelesen und als Autovervollständigung angeboten. Das erspart dir jedes mal das Nachschauen wie was heißt.
Kannst dir die Trial ja mal anschauen.

Gibts auch für Win/Mac/Linux :)

Megatron
2015-08-06, 15:02:48
Eigentlich ist da PHPStorm in dem Bereich schon ein sehr gutes Werkzeug.

Als kostenlose Alternative (mit einigen Abstrichen beim Komfort) kann man auch zu Netbeans greifen. Das ist genauso für beide Plattformen verfügbar.

Allgemein bietet so eine IDE schon deutliche Vorteile, sobald es PHP-seitig darüber hinausgeht die aktuelle Serverzeit anzuzeigen :wink:

5tyle
2015-08-07, 18:49:27
Für einfache Dinge ist sowas http://www.w3schools.com/ recht schön, da man alles als Beispiel anzeigen und abändern und ausprobieren kann. Um direkt Änderungen zu sehen kann man entweder die Dev Tools im jeweiligen Browser selbst verwenden oder sich eine der Entwicklerversionen holen z.B. https://www.mozilla.org/de/firefox/developer/ Einfach eine index.html anlegen und damit öffnen, mit strg+shift+c den Editor öffnen und los geht's. Das funktioniert vor allem mit CSS besonders gut. Wie man das im einzelnen verwendet wird ausführlich in Video Tutorials beschrieben.
Wenn du eine Entwicklungsumgebung suchst kann ich z.B. Aptana (http://www.aptana.com/)empfehlen.

Knuddelbearli
2015-08-08, 21:09:07
ah genau sowas wie w3scools habe ich gesucht nur halt mit php und halt offline als Programm. Hab leider nicht immer Internet zur Verfügung, vor allem bei Regen in meiner 2t Wohnung geht gar nix.

Inzwischen habe ich meine erste Seite auch halbwegs in gang gebracht.

Ne Frage dazu. Wie schwer ist es einen text zu parsen? ( wie nennt man sowas richtig? eventuell finde ich dann paar bespiele die mich weiterbringen mit google )
zB habe ich ziemlich viel text und will dort was bestimmtes rauslesen und dann abspeichern. alles innerhalb der selben seite in php. zB steht da [...] bla blub blib gib ta 23[...] und will eben die Zahl die hinter bla blub blib gib ta steht auslesen und in einer variable abspeichern um damit dann zu rechnen.

oder ich möchte den text in einem Array speichern wobei jedes leerzeichen einen neuen Wert bedeutet.

zB aus Hello beautiful World!
wird dann
array[0] Hello
array[1] beautiful
array[2] World!

für letzteres brauche ich im Prinzip nur eine schleife die bei jedem leerezeichen stoppt, array um 1 hochzählt und dann weitermacht, bis Inhalt "empty" ist


hoffe man versteht was ich meine und habe alle begriffe richtig genutzt

fdk
2015-08-08, 21:29:04
$text = 'Leckere Kühe';
$words = explode(' ', $text);
var_dump($words);
// array(2) { [0]=> string(7) "Leckere" [1]=> string(5) "Kühe" }

Das tolle unglaublich Ätzende an PHP ist das es für jeden Scheiß eine Funktion gibt.
Deine Zahlen kannst du mit einem regulären Ausdruck abgreifen ... Doku dazu gibts wie Sand am Meer, zB http://www.regexr.com/ .

Knuddelbearli
2015-08-08, 22:01:10
naja Funktionen sind zwar nett wenn man sich auskennt als Neuling finde ich das eher ätzend da ich dann nicht weiss wie ich die abändern kann / muss wenn ich was bestimmtes will.

Bitte nicht vergessen ich bin ein totaler Newb der sich gerade erstmals einliest und sich an paar Projekten versucht die gerade so rumliegen bzw von Clankumpels kommen und glaube das sie irgendwie umsetzbar sind ^^

Achill
2015-08-10, 09:41:11
@Knuddelbearli, ich würde dir WebStorm (https://www.jetbrains.com/webstorm/) als Alternative zu PHPstorm empfehlen, wird von den gleichen Leuten (jetbrains (https://www.jetbrains.com)) entwickelt.

Ist rein auf Web-Entwicklung mit JavaScript auf Client- und Server-Seite ausgerichtet.

Ansonsten noch als Empfehlung für die Programmier-Laufbahn ... beginne nicht mit (nimm nie) PHP!!!

Ich empfehle dir, wenn es stark in die Web-Richtung gehen soll, NodeJS + Express als Server-Plattform und AngularJS + JS-Libs für den Client.

Ganz gut zum Starten:
- Getting MEAN with Mongo, Express, Angular, and Node (http://www.manning.com/sholmes/)
- Express in Action / Node applications with Express and its companion tools (http://www.manning.com/hahn/)

Matrix316
2015-08-10, 22:59:22
Wie wäre es mit dem Klassiker Netbeans?

https://netbeans.org/downloads/index.html

Dazu noch XAMPP für Datenbank und Server:

https://www.apachefriends.org/de/index.html

schreiber
2015-08-10, 23:07:45
http://www.geany.org/
Wenn es etwas kleineres sein soll. Hab ich früher oft genutzt.

Asaraki
2015-08-10, 23:34:42
Finger weg von zu mächtigen Editoren und zu Beginn auf Frameworks verzichten. Vorausgesetzt du willst wirklich lernen und nicht möglichst schnell ein kleines Projekt umsetzen.

Ich empfehle eig. Immer sublime text. Aber die meisten klassischen Advanced notepads sind ok.

The_Invisible
2015-08-12, 11:17:15
. beginne nicht mit (nimm nie) PHP!!!

Begründung? Und bitte nicht weil irgendwelche Skriptkiddies für XSS/CSRF/usw einladen bzw. Wurstelcode schreiben, das kann man auch in JS sehr gut.

Achill
2015-08-13, 11:38:31
Meine Erfahrungen mit dem letzten PHP-Projekt liegen schon etwas zurück (>6 Jahre), generell gab es immer mehrere folgende Punkte, die in den Projekten auftraten:
- Keine Abstraktion zwischen UI und Logik. Es ging sogar so weit, das SQL in PHP-Scripten direkt mit HTML-Markup gemixed wurde...
- Mix von Logik und SQL - keine Separation
- Keine Abstraktion von SQL-Abfragen
- Wenige / keine Tests
- Arbeiten am lebenden Herzen (Hey ich habe was gefixed -> rsync Richtung Produktiv-System)
- Dependency Management per Hand im eingecheckten Lib-Ordner
...

Ich gebe zu, dass ich da ggf. etwas verbrand bin wenn es um PHP geht. Ich weiß nicht woran es liegt, aber ich bin diesen Sachen nicht so extrem in der Java-/.Net-/Ruby-Welt begegnet. Evtl. liegt es auch daran, dass PHP einen bestimmten Programmier-Stil zulässt (Html+PHP+SQL mix) und die alten Tutorials dies auch nutzten (k.a. wie es aktuell Aussieht).

Noch zu Klarstellung, man kann natürlich mit PHP auf Abstraktion wischen Schichten achten und dies auch umsetzen, es gibt Template-Frameworks, Test-Lib und habe sogar ein Projekt Composer (https://getcomposer.org/) gefunden für Dependency Management ... evtl. hat sich da etwas mit der Zeit geändert, ich hatte nur nicht so viel "Glück" mit meinen Real-Life-Projekten bei Kunden.

Warum schlage ich NodeJS vor? Man braucht nur eine Programmiersprache (JS), man kann damit sehr gut Performante Webseiten bauen, JS Libs können im Server und auf dem Client verwendet werden, es gibt Dependency Management "out of the box" (npm), es gibt gute test- und mock frameworks, gute build tool integration mit web tools (mimosa.io (http://mimosa.io/), gruntjs (http://gruntjs.com/), yeoman.io (http://yeoman.io/), ...)

Asaraki
2015-08-13, 11:42:19
Meine Erfahrungen mit dem letzten PHP-Projekt liegen schon etwas zurück (>6 Jahre), generell gab es immer mehrere folgende Punkte, die in den Projekten auftraten:
- Keine Abstraktion zwischen UI und Logik. Es ging sogar so weit, das SQL in PHP-Scripten direkt mit HTML-Markup gemixed wurde...
- Mix von Logik und SQL - keine Separation
- Keine Abstraktion von SQL-Abfragen
- Wenige / keine Tests
- Arbeiten am lebenden Herzen (Hey ich habe was gefixed -> rsync Richtung Produktiv-System)
- Dependency Management per Hand im eingecheckten Lib-Ordner
...

Ich gebe zu, dass ich da ggf. etwas verbrand bin wenn es um PHP geht. Ich weiß nicht woran es liegt, aber ich bin diesen Sachen nicht so extrem in der Java-/.Net-/Ruby-Welt begegnet. Evtl. liegt es auch daran, dass PHP einen bestimmten Programmier-Stil zulässt (Html+PHP+SQL mix) und die alten Tutorials dies auch nutzten (k.a. wie es aktuell Aussieht).

Noch zu Klarstellung, man kann natürlich mit PHP auf Abstraktion wischen Schichten achten und dies auch umsetzen, es gibt Template-Frameworks, Test-Lib und habe sogar ein Projekt Composer (https://getcomposer.org/) gefunden für Dependency Management ... evtl. hat sich da etwas mit der Zeit geändert, ich hatte nur nicht so viel "Glück" mit meinen Real-Life-Projekten bei Kunden.

Warum schlage ich NodeJS vor? Man braucht nur eine Programmiersprache (JS), man kann damit sehr gut Performante Webseiten bauen, JS Libs können im Server und auf dem Client verwendet werden, es gibt Dependency Management "out of the box" (npm), es gibt gute test- und mock frameworks, gute build tool integration mit web tools (mimosa.io (http://mimosa.io/), gruntjs (http://gruntjs.com/), yeoman.io (http://yeoman.io/), ...)

Nur weil du mit Idioten gearbeitet hast, ist PHP deswegen noch lange nicht der Hölle entsprungen :D

z3ck3
2015-08-20, 22:28:20
Packagemanager, MVC und ORM sind doch schon lange Standard ^^ Wer mixt denn heute noch PHP und HTML? Und vor allem wer arbeitet noch ohne Frameworks?


Zum bissel rumspielen könnte Silex (ohne ORM, aber immerhin mit Doctrine DBAL) evt. ganz nett sein:
Silex (http://silex.sensiolabs.org) (Twig Templateengine, kein ORM)

Alternativ:
Laravel (http://laravel.com/) (mit Twig ähnlicher Templateengine, eigenes ORM)
CakePHP (http://cakephp.org) (hat keine eigene Templateengine, eigenes ORM)

Wenn es dann ans eingemachte gehen soll:
Symfony (http://symfony.com/) (Twig, Doctrine ORM <3)
Zend Framework (http://framework.zend.com/) (hat keine eigene Templateengine, das ORM ist bescheiden, muss man selbst um Doctrine erweitern)


Was das Webfrontend angeht kann man sich auch gleich mit CSS und einem JS Framework eindecken. Für den Anfang:
Twitter Bootstrap (http://getbootstrap.com/) (CSS)
jQuery (https://jquery.com/) (JS)

Dann noch ne Stufe drauf:
Foundation (http://foundation.zurb.com/) (CSS, am besten gleich mit SASS einsteigen)
AngularJS (https://angularjs.org/) Quasi ein browserseitiges Javascript MVC
CreateJS (http://www.createjs.com/) Javascript Canvas Framework

Und wenn man schon mal dabei ist sind die Tools auch nicht unwichtig, kommt aber eh wenn man sich z.b. mit Foundation beschäftigt:
node.js (https://nodejs.org/)
bower (http://bower.io/)
gulp (http://gulpjs.com/)
sass (http://sass-lang.com/)/compass (http://compass-style.org/)


IDEs zum entwickeln:
Netbeans (https://netbeans.org/) (kostenlos)
PhpStorm (https://www.jetbrains.com/phpstorm/) (kostenpflichtig)

Ich persönlich brauch auch noch meinen Firefox samt Firebug und ne Linux VM oder direkt eine Linux Maschine zum entwickeln. Ich hasse den Wamp kram und NTFS ^^


Aber ich glaube ursprünglich meinte der Threadstarter wirklich nur so etwas wie einen WYSIWYG Editor zum zusammenklicken einer Webseite mit ggf. dann im Quellcode reingewuseltem PHP-, ASP-Code oder was auch immer. Halt nur etwas rumspielen um mal einen Blick drauf zu werfen.


Edit:
Und man kann natürlich auch PHP weglassen. In freier Wildbahn wird man jedoch öfter auf Webanwendungen die in PHP geschrieben sind stoßen als auf node.js oder ruby. Node.js ist jedoch wegen den Tools und dem Paketmanager ganz nett, die man eigentlich nur bei der Entwicklung braucht. Bei den meisten Webhostern hat man da dann gar keinen Zugriff mehr drauf, was dann bedeutet das man sich Lokal alles zusemmen "kompiliert" und dieses dann halt per ftp hoch läd.

Übrigens auch sehr empfehlenswert, auch wenn man nur privat etwas rumspielt:
Git (https://git-scm.com/)

Das ist aber wirklich optional. Hilft einem aber den Verlauf der eigenen Entwicklung nachzuvollziehen und ggf. auf einen älteren Stand zurück greifen zu können. Git integriert sich z.b. auch sehr gut in die oben genannten IDEs.


Edit 2:
ggf. ein möglicher Lernpfad ist:
Notepad++ oder Notepad2 oder einen anderen simplen Texteditor installieren
-> HTML5 Basics -> CSS3 Basics -> Javascript Basics -> jQuery
-> Netbeans installieren -> HTML5/CSS3 vertiefen -> Twitter Bootstrap einsetzen
-> WAMP installieren (oder eben direkt unter Linux die entsprechenden Pakete Apache, PHP, MySQL) -> PHP Basics
-> Silex Doku lesen -> Silex installieren (composer)

Dann solltest du schon eine kleine Webanwendung umsetzen können. z.b. einen Blog oder ähnliches. Wenn das klappt, dann kannst du den weiteren Weg auch selbst gut finden. Vermutlich in der Art:
-> Symfony installieren -> Symfony, Twig und Doctrine doku wälzen -> Twitter Bootstrap mit Less nutzen oder Foundation mit Sass/Compass

Knuddelbearli
2015-08-21, 13:13:34
ja das klingt jetzt alles sehr chinesisch für mich ^^

will aber ausdrücklich nicht eine Webseite zusammen klicken sondern schon alles von Grund auf selber machen bzw nur so sachen wie Bootstrap da ich zB kein allzu optischer/stylischer Mensch bin ( von mir aus darf ne Webseite einfach nur grüne Schrift auf schwarzen Hintergrund bestehen ^^ )

Matrix316
2015-08-21, 13:29:58
Also ICH nutze für sowas zu Hause:

Microsoft Expression Web
http://www.microsoft.com/en-us/download/details.aspx?id=36179

Ist umsonst, WYSIWYG, zwar keine spezielle PHP und JS Unterstützung (Intellisense ist solala) , aber du kannst alles schreiben und gerade HTML Formatierung ist sehr einfach zu machen (auch wenn da viel CSS Zeug dann automatisch geschrieben wird). Man kann aber auch alles von Hand schreiben. Vorteil von dem ist, dass du sofort eine Vorschau der Seite hast.

Unter Linux gibt's zum Beispiel den Bluefish Editor. http://bluefish.openoffice.nl/index.html

Dazu nutz ich halt XAMPP für Webserver und MySQL Datenbank.

Novum
2015-08-21, 14:23:10
Nur weil du mit Idioten gearbeitet hast, ist PHP deswegen noch lange nicht der Hölle entsprungen :D
PHP ist auch ohne diese Idioten aus der Hölle entsprungen.

Die Sprache ist so hirntot, dass man nicht mehr weiß was Code überhaupt macht, es ist praktisch unmöglich sichere Programme damit zu schreiben.

RattuS
2015-08-21, 19:08:41
Die Sprache ist so hirntot, dass man nicht mehr weiß was Code überhaupt macht, es ist praktisch unmöglich sichere Programme damit zu schreiben.
Werkzeug ist immer nur so nützlich, wie der Mensch, der damit umgeht.

z3ck3
2015-08-22, 01:53:30
@alle Hater: Es interessiert keine Sau ob ihr PHP mögt oder nicht und glaubt das es irgendwie ne Kacksprache ist. Die einzigen Argumente die hier gegen PHP genannt wurden stammen aus der Steinzeit und sind einfach zu widerlegen. Jeder soll die Sprache nutzen die er kann und welche optimal für das Ökosystem ist für das er entwickeln will.



@Knuddelbaerli:

Step 1

Bei Codeschool gibts ein paar kostenlose Kurse, die sind ganz nett. Einfach mal einsteigen und die Basics lernen:

https://www.codeschool.com/

Für HTML5, CSS3 und Javascript brauchst du auch erst mal nur deinen Webbrouser und einen stink normalen Text Editor mit Syntax Highlighting:

https://notepad-plus-plus.org/


Step 2.1

Wenn du das durch hast, dann kannst du dich an PHP ran wagen. Dafür brauchst du optimalerweise lokal einen Webserver (Apache2 mit PHP) und MySQL (bzw. MariaDB). Windowsnutzer nehmen da normalerweise WAMP, das alle Programme vereint:

http://www.wampserver.com/en/


Step 2.2

Wenn du den zum laufen gebracht hast, dann kannst du dir mal eine richtige IDE ansehen. Da wird vermutlich NetBeans das richtige für dich sein. Du kannst auch weiter mit Notepad++ arbeiten, NetBeans hat aber den Vorteil das du Fehler leichter siehst und es eine Autovervollständigung gibt samt Informationen zu der Funktion die du gerade aufrufen willst:

https://netbeans.org/


Step 2.3

Um in die PHP Welt gleich richtig einzusteigen solltest du direkt mit der objektorientierte Programmierung samt Framework starten. Vermutlich erst einmal ein Wald-vor-lauter-Bäume Problem, aber du gewöhnst dir dann erst gar nicht den Code Style der 90er an ^^ Dafür würde ich dir Silex empfehlen, oder alternativ CakePHP oder Laravel:

http://silex.sensiolabs.org/
http://laravel.com/
http://cakephp.org/

Jedes der Frameworks hat vor, aber auch Nachteile. Schau dir einfach mal die Dokus an und dann entscheidest du selbst aus dem Bauch herraus. Du kannst auch gleich direkt versuchen mit Symfony weiter zu machen, jedoch ist das vermutlich dann zu viel auf einmal.


Step 3

Ab hier kannst du deinen Weg auch selbst gut finden. Weitere Tools die einem bei der Entwicklung und beim Deployen helfen können hab ich dir ja oben schon aufgelistet. Was ich hier geschrieben habe prinzipiell auch, jedoch etwas ausführlicher. ;)


Ich hoffe das ist jetzt etwas weniger Chinesisch ;)

Novum
2015-08-22, 16:55:03
Werkzeug ist immer nur so nützlich, wie der Mensch, der damit umgeht.
Klopfst du auch mit Nitroglycerin Nägel in die Wand? Musst nur damit umgehen können!

@alle Hater: Es interessiert keine Sau ob ihr PHP mögt oder nicht und glaubt das es irgendwie ne Kacksprache ist. Die einzigen Argumente die hier gegen PHP genannt wurden stammen aus der Steinzeit und sind einfach zu widerlegen.
http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/

Schön zusammengefasst:
"The striking thing about PHP is the brain-melting combination of redundancy, inconsistency and unpredictability in the very heart of the language."

Das schlimme ist, das hat schon genügend Sicherheitslücken und Bugs erzeugt, obwohl die Programme auf Anhieb völlig okay aussehen. Ich mein WTF? https://habnab.it/php-table.html

RattuS
2015-08-22, 20:10:42
Klopfst du auch mit Nitroglycerin Nägel in die Wand? Musst nur damit umgehen können!
Ich denke, dass alles, was man nicht kennt und erlernt hat, wie Nitroglycerin aussehen kann.

Ich persönlich bin auch froh, dass ich nicht (mehr) mit PHP arbeiten muss, aber jede Programmiersprache/Technologie hat seine Inkonsistenzen und WTF-Momente. Je länger sich eine Sprache entwickelt, desto schlimmer wird es eben. Ein Gesetz der Natur.

Monger
2015-08-22, 20:45:16
ja das klingt jetzt alles sehr chinesisch für mich ^^

Keine Sorge, das ist normal.

Das Problem an Webtechnologien ist deren geradezu unfassbare Schwemme. Programmiersprachen sind eh immer unübersichtlich, aber was sich in den letzten zehn Jahren an Web Technologien entwickelt hat, ist beispiellos.

Völlig egal wofür du dich entscheidest: du wirst bis die gewählte Technologie wieder außer Mode ist nur an deren Oberfläche kratzen. Deshalb: nimm irgendwas, was dir auf Anhieb zusagt. Microsoft legt einem ja einen Mix aus Typescript (clientside) und ASP.NET (serverside) nahe. Du kannst serverseitig aber auch alles andere nehmen: Java, PHP, NodeJS... clientseitig kommst du um JavaScript kaum herum, aber die Aussage ist ungefähr so wertvoll wie dass man auf dem PC kaum um Assembler herum kommt. Unfassbar viele Sprachen und Frameworks setzen mehr oder minder direkt auf JS auf.

Auf Arbeit benutzen wir einen SignalR Server, um serverseitig C# schreiben zu können, und clientseitig dann nativ JavaScript, die UI besteht im wesentlichen aus AngularJS. Damit lassen sich schon ziemlich komplexe Single-Page Applications schreiben.

Fang einfach an, und stell dich darauf ein, regelmäßig Technologien wieder zu verwerfen und auszutauschen. Weil so geht es wohl nahezu allen Webentwicklern.

Novum
2015-08-22, 22:22:18
Ich denke, dass alles, was man nicht kennt und erlernt hat, wie Nitroglycerin aussehen kann.
Es gibt weitaus weniger in sich inkonsistent und fehleranfällige Sprachen als PHP, darüber braucht man nicht diskutieren.

Wer das nicht wahr haben will lügt sich nur selber an.

Ben Carter
2015-08-23, 00:26:27
Was z3ck3 sagt, sieht mir nach einem vernünftigen Weg aus. Ich finde allerdings, dass zwischen Schritt 2.1 und 2.2 viel Zeit und Übung vergehen sollte. Meiner Meinung nach ist es wichtig, sich mal ohne großartiger Tools an die Sprache zu gewöhnen. Zudem dann noch so Dinge dazu kommen, wie eben SQL.

lg Ben

z3ck3
2015-08-23, 22:24:35
Wat?
https://www.destroyallsoftware.com/talks/wat

;=)

Megatron
2015-08-25, 07:47:55
Ich mein WTF? https://habnab.it/php-table.html
Ach komm, ist es denn so schwer "===" zu schreiben? Das würde den Inhalt der Tabelle gleich ganz anders aussehen lassen. Zumal z.B. Netbeans das "==" auch direkt anmeckert, dass das unsauber ist.

Novum
2015-08-25, 10:48:02
Mehrere Probleme damit:
* Man muss es wissen. Wie erklärst du das einem Anfänger?
* Gängigiger PHP-Code und Tutorials sind voll damit
* Es gibt keine Lösung für die Vergleichsoperatoren

z3ck3
2015-08-25, 13:29:38
Ist in anderen Sprachen auch so. Einem Anfänger muss man auch erklären das man nicht if ($a = 1) schreibt wenn man wissen will ob $a = 1 ist ^^

"1" === 1
> false

(integer) "1" === 1
> true

"1" === (string) 1
> true

"1" == 1
> true

Is doch logisch. Und auch so gewollt. Letzteres macht man einfach nicht (mehr)

Novum
2015-08-25, 14:00:08
Lenk nich ab, das sind die verhältnismäßig logischen Fälle, du hast den vollkommenen Blödsinn ausgeblendet. Bei mir wäre das sowieso "Type Error" und Programm beenden. Ich halte es für eine grundlegende Designentscheidung da false zurückzugeben. Es ergibt keinen Sinn einen String und eine Nummer zu vergleichen. Das ist schlicht ein Fehler. Man muss dynamische Typisierung nicht noch durch implizites Casten noch unwartbarer machen. Man muss PHP da aber zugestehen, dass das Problem auch Python hat, was normalerweise wesentlich vernünftiger ist.

Dazu kommt dass das Verhalten von == nur eins von hunderten solcher Probleme in PHP ist. Und es gibt immer noch keine Lösung für </> etc.

z3ck3
2015-08-25, 14:29:51
...und Javascript und vermutlich auch X andere Sprachen.

Wenn das ein Argument gegen PHP ist, dann ist es ein schwaches.

Watson007
2015-08-25, 15:13:30
einer unserer Dozenten hat es für das Softwareengineering-Projekt strikt abgelehnt PHP-Lösungen entgegenzunehmen, stand sogar in den Aufgabenblättern.

Novum
2015-08-25, 17:52:54
...und Javascript und vermutlich auch X andere Sprachen.

Wenn das ein Argument gegen PHP ist, dann ist es ein schwaches.
JavaScript ist fast in der gleichen Völliger-Griff-Ins-Klo-Liga wie PHP. Aber da hatten die Affen, die es verbrochen haben nur gesoffen und nicht auch noch LSD genommen. Wenigstens die APIs sind da aber relativ okay abgesehen von DOM.

Aber nein, Python hat diese völlig bescheurten Inkosistenzen quer durch die Sprache zum Beispiel nicht.

PHP wird von Amateuren für Amateure entwickelt und genau so eine Katastrophe ist es auch.

RattuS
2015-08-25, 20:19:01
Novum weiß zu unterhalten. ;D

z3ck3
2015-08-26, 04:02:40
Die ganz Coolen schreiben eh alles in Erlang ^^

Es ist scheiß egal welche Sprache man nutzt, hauptsache sie erfüllt den Zweck für das Projekt an dem man arbeitet. Wenn irgendwelche Dozenten kleine Languagenazis sind, oder man glaubt das andere Sprachen nerdiger, hipper und voll pro sind, dann ist das eben so. Who cares. Wieso kann man andere Menschen nicht einfach das machen lassen was sie gerne möchten? Kann man sich wirklich so gar nicht vorstellen das man z.b. Python nur sehr begrenzt attraktiv findet oder Java schlicht nicht mag? Das man eben gerne in PHP schreibt und ebenso in Javascript? Ich hab mir einiges angesehen, das Interesse hat keine der Sprachen geweckt. Auch Ruby nicht, welches eine Weile ziemlich gehyped wurde. Aber ich bin eben auch nur ein normaler Webentwickler. Habe es nicht studiert. Aber so großkotzig wie die Schnösel immer daher kommen, bin ich auch froh das mein Charakter nicht unter dem gelitten hat, was man scheinbar dort erleben muss. ^^

The_Invisible
2015-08-26, 08:01:26
Die ganz Coolen schreiben eh alles in Erlang ^^

Es ist scheiß egal welche Sprache man nutzt, hauptsache sie erfüllt den Zweck für das Projekt an dem man arbeitet. Wenn irgendwelche Dozenten kleine Languagenazis sind, oder man glaubt das andere Sprachen nerdiger, hipper und voll pro sind, dann ist das eben so. Who cares. Wieso kann man andere Menschen nicht einfach das machen lassen was sie gerne möchten? Kann man sich wirklich so gar nicht vorstellen das man z.b. Python nur sehr begrenzt attraktiv findet oder Java schlicht nicht mag? Das man eben gerne in PHP schreibt und ebenso in Javascript? Ich hab mir einiges angesehen, das Interesse hat keine der Sprachen geweckt. Auch Ruby nicht, welches eine Weile ziemlich gehyped wurde. Aber ich bin eben auch nur ein normaler Webentwickler. Habe es nicht studiert. Aber so großkotzig wie die Schnösel immer daher kommen, bin ich auch froh das mein Charakter nicht unter dem gelitten hat, was man scheinbar dort erleben muss. ^^

sign

@Novum

dann erleuchte uns mal mit deiner "perfekten" (web)programmiersprache wo es keinen "WTF" Artikel dazu gibt, etwas schlechtreden ist immer einfach wenn man keine alternativen aufzeigt die besser sind.

Argo Zero
2015-08-26, 08:24:29
PHP wird von Amateuren für Amateure entwickelt und genau so eine Katastrophe ist es auch.

In welcher Sprache würdest du denn so ein Portal wie XING umsetzen?

Ben Carter
2015-08-26, 12:07:14
ASP, Java Servlets/JSP wären mögliche Alternativen.

Ich sehe allerdings auch nicht ein, warum man PHP nicht empfehlen sollte. Nur weil man mit einer Sprache Mist bauen kann, muss man es noch lange nicht tun. Wer unsauberen Code schreibt, wird sowieso selbst relativ schnell darüber stolpern.

lg Ben

Novum
2015-08-27, 10:32:46
In welcher Sprache würdest du denn so ein Portal wie XING umsetzen?
ASP/JSP mit wahlweise C#/F# oder Java/Scala ist sicher schon mal kein schlechter Anfang.

Argo Zero
2015-08-27, 10:37:04
Da sehe ich schon die ersten Probleme mit dem Hosting.
Kunden wollen zudem oftmals ein bekanntes CMS wie Typo3.
Um PHP kommst du heutzutage nicht drum herum, auch nicht mit Idealismus.

Ben Carter
2015-08-27, 11:03:25
Bei etwas in der Größe von XING ist die Hostingsoftware kein Thema.

Novum
2015-08-27, 13:39:14
Da sehe ich schon die ersten Probleme mit dem Hosting.
Kunden wollen zudem oftmals ein bekanntes CMS wie Typo3.
Um PHP kommst du heutzutage nicht drum herum, auch nicht mit Idealismus.
Bla, es gibt virtuelle Root-Server für nen Appel und nen Ei. Kannst du machen was du willst.

z3ck3
2015-08-28, 01:29:40
Die Programmiersprache "voll pro" aber von Appel und Ei VServern sprechen, wenn es dann ums Hosting geht. Bei Projekten wie Xing wird in der Sprache programmiert in der die beauftragte Firma, bzw. das eigene Team entwickelt. Punkt aus. Und bei derartigen Projekten kann es auch gut sein das es eben Java etc. ist. Nur die werden sicher keine popelige VM als Plattform nutzen, die ja auch noch von irgend jemanden gewartet werden muss (was den Großteil der Kosten ausmacht).

Bei einem Kundenprojekt, das keine Hochverfügbarkeit anstrebt, dafür aber z.b. in die bestehende Web Infrastruktur integriert werden soll, da ist PHP nun mal die erste Wahl. Auch ist es einfacher Entwickler für den Bereich zu finden. Für den Kunden ist auch der Wechsel des Entwicklerteams, bzw. des Hosters problemloser, von den laufenden Kosten ganz zu schweigen.

Und PHP als Sprache ist sehr wohl geeignet für Projekte wie Xing und sogar Facebook etc. Es ist eine Frage wie gut die Entwicker sind, nicht wie "perfekt" oder "cool" die Sprache ist. Und ich habe schon einige echt beschissene Java Webanwendungen erlebt, vor allem was die UX angeht.

z3ck3
2015-08-28, 01:35:39
Nur mal so ne Frage, seid ihr PHP Hater überhaupt im realen Wirtschaftsleben unterwegs, oder faselt ihr nur nach was eure Dozenten euch vor labern, also noch Studenten?

Ben Carter
2015-08-28, 08:51:05
PHP Liebhaber und arbeite auch beruflich damit (Workflowmanagementsysteme). :)

Mit ASP und Servlets/JSP durfte ich vor etwas über 10 Jahren in der Schule Bekanntschaft machen. Damals war es noch so, dass Java unendlich langsam war, wenn man nur einen Standardserver zur Verfügung hatte.

Novum
2015-08-28, 09:55:38
Troll nich rum, PHP ist eine bis zwei Magnituden langsamer (https://benchmarksgame.alioth.debian.org/u32/benchmark.php?test=all&lang=java&lang2=php&data=u32) als Java. Das war auch vor 10 Jahren nicht anders.

PHP ist unglaublich langsam, das ist ein reiner Bytecode-Interpreter und die Sprache ist extrem dynamisch. Aber darauf bin ich mit Absicht noch nicht eingegangen, das ist ein Punkt über den ich hinwegsehen könnte, wenn die Sprache wenigstens von geistig normalen Leuten entwickelt wäre.

Argo Zero
2015-08-28, 10:07:49
Nur mal so ne Frage, seid ihr PHP Hater überhaupt im realen Wirtschaftsleben unterwegs, oder faselt ihr nur nach was eure Dozenten euch vor labern, also noch Studenten?

Diese Frage sollte vorerst geklärt werden bevor die Diskussion fortgeführt wird :)

Novum
2015-08-28, 10:09:46
Ich bin Senior Software-Entwickler bei einem großen Unternehmen, High-Performance-Software C++, 15+ Jahre Programmiererfahrung. Ich hatte auch schon die Ehre PHP zu professionell zu programmieren. Aber das ist hier nicht das Thema.

Ben Carter
2015-08-28, 10:17:00
Troll nich rum, PHP ist eine bis zwei Magnituden langsamer (https://benchmarksgame.alioth.debian.org/u32/benchmark.php?test=all&lang=java&lang2=php&data=u32) als Java. Das war auch vor 10 Jahren nicht anders.

Ich hab PHP nicht mit Java verglichen, sondern Java damals mit Java heute.

Novum
2015-08-28, 11:11:32
Und ich hab dir gesagt, dass sich die Java-Performance in den letzten 10 Jahren nicht wesentlich geändert hat.

z3ck3
2015-09-03, 00:44:01
@Novum: C++ und PHP bedienen absolut unterschiedliche Einsatzgebiete und sind nicht miteinander vergleichbar. PHP wird ja z.B. in der Regel nicht für rechenintensive Aufgaben eingesetzt. Ich weiß nicht ob du mit professioneller PHP Entwicklung die Arbeit mit einem aktuellen Framework samt ORM, z.b. Symfony2 oder Zend Framework mit Doctrine2 gemeint hast, oder noch etwas professionelleres, jedoch glaube ich kaum, das ein Professioneller C++ Entwickler "mal eben" auch professionell in PHP programmieren kann. Dazu sind die beiden Sprachen viel zu unterschiedlich und haben eben, wie bereits gesagt, einen komplett unterschiedlichen Einsatzbereich.

Wo man sich sicherlich bei Plattformen für das Finanzwesen und großen Communitys und Enterprise Shopsystemen noch für Java und C++, C# etc. entscheiden kann, ist das bei mittleren Plattformen schon meistens totaler Overkill, bei kleinen Plattformen in jedem Fall. Selbst Facebook und Wikipedia nutzen PHP, wenn auch in einer HHVM.

Matrix316
2015-09-03, 08:04:15
Wobei man sagen muss, so schlimm PHP ist ;), Javascript ist 1000 Mal schlimmer. :D

Novum
2015-09-04, 11:26:56
@Novum: C++ und PHP bedienen absolut unterschiedliche Einsatzgebiete und sind nicht miteinander vergleichbar. PHP wird ja z.B. in der Regel nicht für rechenintensive Aufgaben eingesetzt. Ich weiß nicht ob du mit professioneller PHP Entwicklung die Arbeit mit einem aktuellen Framework samt ORM, z.b. Symfony2 oder Zend Framework mit Doctrine2 gemeint hast, oder noch etwas professionelleres, jedoch glaube ich kaum, das ein Professioneller C++ Entwickler "mal eben" auch professionell in PHP programmieren kann. Dazu sind die beiden Sprachen viel zu unterschiedlich und haben eben, wie bereits gesagt, einen komplett unterschiedlichen Einsatzbereich.
Wo hab ich gesagt, dass ich C++ fuer eine sinnvolle Sprache im Webbereich halte? Und wer sagt, dass ich in den letzten 20 Jahren nur C++ programmiert habe? Ich habe gesagt, was ich im MOMENT mache.

Worauf willst du hinaus? Mir ernsthaft absprechen das beurteilen zu koennen? Ich waere vorsichtig.

Wo man sich sicherlich bei Plattformen für das Finanzwesen und großen Communitys und Enterprise Shopsystemen noch für Java und C++, C# etc. entscheiden kann, ist das bei mittleren Plattformen schon meistens totaler Overkill, bei kleinen Plattformen in jedem Fall. Selbst Facebook und Wikipedia nutzen PHP, wenn auch in einer HHVM.
Was ist "Overkill"? PHP ist keine einfachere Sprache. Ist es auf den ersten Blick vielleicht, aber dann hat es so viele Bullshit-Designentscheidungen dass man mehr wissen muss um es ordentlich zu programmieren als wenn man Java gemacht haette.

Sprache fuer Amateure von Amateuren, ich wiederhole mich gern.

Wobei man sagen muss, so schlimm PHP ist ;), Javascript ist 1000 Mal schlimmer. :D
Noe. PHP ist schlimmer. Mit Abstand.

RattuS
2015-09-04, 17:24:04
Was ist "Overkill"? PHP ist keine einfachere Sprache.
Ich glaube er bezieht sich auf Prototyping in der SE. Schnell etwas hinrotzen geht in Skriptsprachen wie PHP nun mal schneller.

z3ck3
2015-09-05, 01:41:04
Java setzt einiges auf dem Server Vorraus, das bei den wenigsten Hosting Anbietern vorhanden ist. Ich kenn mich mit Java nicht aus, denke aber letztendlich wird man damit das gleiche Machen können wie mit PHP, vorrausgesetzt Java bietet ähnliche Frameworks wie bei PHP u.a. Zend oder Symfony.

Ich will das Rad ja nicht neu erfinden. Wenn ich eine neue Plattform baue will ich nur das nötigste an Logik schreiben müssen. Optimalerweise nur etwas Configuration, Routing, ein paar Services, die Entities. Dann je nachdem ob es ein AngularJS Frontend oder ein konventionelles Frontend hat entsprechende Views/Templates/Controller. K.a. ob das in Java auch so einfach ist.

Für ein normales Projekt, bin ich da mit PHP absolut ausreichend und gut ausgestattet. Das geht sicher auch mit Ruby (on Rails), NodeJS oder eben Java. Aber es gibt keinen Grund dieses zu machen, wenn man es in der Sprache die man sehr gut kennt, die man beherrscht, auch kann. Und vor allem dann auch beim Hosting freie Wahl hat. Git und nodejs/ruby findet man auch immer öfters, aber Java? Bei keinem mir bekannten Anbieter ist das möglich. Und bitte, wer bezahlt die Serverwartung für eine Webseite im dreistelligen Bereich wenn er das für einen zweistelligen, teils sogar einstelligen, haben könnte.

Sämtliche OpenSource Shopsysteme, Blogs, CMS etc. sind in PHP geschrieben. Für dich mag der Grund sein das es eine "Amateur Sprache" ist. Für mich ist es die breite Unterstützung der Hosting Provider und die Anzahl der Entwickler die die Sprache verstehen. Und Amateure entwickeln PHP sicher nicht.

Und wie bereits erwähnt hat sich PHP die letzten Jahre schon stark entwickelt und macht mit PHP 7 jetzt noch mal einen guten Sprung.

Novum
2015-09-07, 16:57:33
Das ist alles richtig, aber nicht der Punkt.

Der Punkt ist, dass PHP eine absurd beschissen entworfene Sprache ist, die nur so vor Design-Schwächen, unverständlichen Regeln und Bug-Mienen strotzt. Auch PHP 7 behebt nur wenige dieser Probleme.

Ruby on Rails ist zum Beispiel eine weitaus bessere Alternative. Auch wenn dynamisch typisierte Sprachen meiner Meinung nach an sich nicht für größere Projekte geeignet sind, außer man hat wirklich 100% Unit-Test-Abdeckung.

Übrigens laufen die meisten großen Seiten im Internet unbemerkt auf Java oder ASP. Twitter war am Anfang Ruby, ist jetzt auch Java (oder Scala). Die einzigen die immer noch Krüppel-PHP benutzen sind Facebook.

Ben Carter
2015-09-08, 12:55:26
Und Wikipedia nicht zu vergessen. Wobei die, soweit ich weiß, sehr vieles cachen.

lg Ben