Haha, lieber Vitalij, ich bin genau den umgekehrten Weg gegangen: C#, JavaScript, nodeJS und Angular und seit ca. 2 Jahren programmiere ich gerne in PHP! PHP hat eine gute leicht verständliche Struktur. Man kann rein objektorientiert oder prozedural programmieren und es ist bei fast allen Webhostern vorinstalliert! Ich habe PHP wirklich schätzen gelernt!
ich denke auf langer Sicht wird PHP sich auch näher an C# gehen, viele PHP Entwickler begrüßen einige C# Fetatures wie getters/setters, generics und mehr Typisieung:D
PHP ist wirklich eine Geile Sprache und muss wie auch C# oder Java richtig gelernt werden. Funktionalen Spaghetti Code kann man auch wunderbar in C# schreiben. Habe das auch schon gesehen :) Top Video!
Dankeschön. Bei C# hat man halt die Typisierung wodurch man weniger Fehler macht, viele bekannte PHP Entiwckler haben auch gesagt, allein wenn man sich an die Typen hällt hat man viel weniger Komische bug die langes Debugging verlangen.
Super! Ich stecke gerade fest, habe zuletzt auf PHP4 gemurkst und fühle mich nun völlig überfordert. Auf's Datum schaue ich immer. Leider habe ich ständig das Gefühl, dass die TUTs - quer durch die Bank - Müll sind. Seit 2 Wochen versuche ich Tutorien in 2 Sprachen zu folgen. Dabei habe ich bestimmt 200 verschiedenen Personen zugehört. Den meisten konnte ich 5 Minuten zuhören, dann hatte ich die Krise. Danke für die Tipps.
Super gutes Video, Vitaliy. Dein Statement stimme ich zu 100% zu. Es ist in Prinzip egal was andere sagen, denn nur die Fakten zählen. PHP ist das meistgenutze Werkzeug für Webanwendungen. Und schlechten Code kann man mit allen Sprachen schreiben. PHP ist nicht einfacher als andere Sprachen. Klar, man kann schnell Ergebnisse sehen, aber wer gut sein will muss testen. ( PHP UNIT ). Ich würde mit solchen Leuten, kein Wort wechseln. Entwickler die sowas behaupten sind die reinste Zeitverschwendung, von solchen Menschen kann man nichts lernen.
Dankeschön, dem ist nichts entgegenzubringen :D (PS Sorry für die Späte Antwort, das Kommentar System von YT ist total unübersichtlich im Admin Interface)
Vitalij ich schätze Dich als Person, und Du bist ein Absolut schlauer Mensch (in meinen Augen). Mir macht es Freude deine Videos zu sehen. In dieser Sache (und mir geht es nur um die Sache). Sehe ich ein paar Dinge anders. Ich führe Seit php3 ein Softwareunternehmen (Insgesamt habe ich 8 Unternehmen wenn mein meinen Namen googelt wird man schlau). Das war noch kurz vor den 2000er Jahren, soweit ich mich erinnern kann. Ich möchte sagen, ich selbst kann nur über solche Sachen schmunzeln wie Standards. Damals haben die ersten Repositories unsere Firma fast in die Ruine getrieben. Ich nenne das den AA Topf. Viele Firmen betreiben heute noch den AA Topf, weil es ja modern, und standarisiert ist, also sollte man das so machen. Ich sage Dir was. Herr B schreibt einen Code A und wirft den in den Github. Nun 600 User ziehen den Code in den Composer. 600 Projekte entstehen. OOP schön und gut, aber nicht notwendig. Letzt endlich sind die 600 Projekte jetzt EXTENDET aus dem Composer. Nach 2 Jahren ändert HerrB den Code. Und 600 User ziehen das Update durch den Composer weil ja standarisiert. 200 der 600 Projekte laufen nicht mehr. Jetzt wirst Du sagen, ja aber man sollte extendet nicht so, oder nur selten oder nur in bestimmten Zusammenhängen verwenden. Ja, aber dann kannst das gleich kopieren. Ich Frage mich immer warum Ihr so viele Test fahrt. Das ist der AA Topf. Der funzt auf der Basis, dass Herr A was proggt. Herr B was ändert und Herr A einen Crash hat. Und dann gehen beide auf den AA Topf. Und müssen anpassen und callen und ändern und testen. Und das nennet die moderne Programmierwelt, Standards, und moderne OOP. Nein, Ich bin der Auffassung dass jeder einzelne Entwickel so callen soll wie er das will und braucht. Und das geht nur, in dem man den Composer Code erst einmal in eine LIB zieht und dann auch noch mit einer Version versieht. Jetzt kann Herr B eine Änderung vornehmen. Alle 600 Projekte laufen garantiert. Warum? Die einen callen diese Version die anderen die andere. Und wo soll das Problem denn sein? Wir kennen sowas gar nicht was du beschreibst. In unserer Firma gibt es solche Crash aus den genannten gründen so gut wie nie. Jeder kann rum extendet so viel er mag. Es funktioniert trotz allem. Und Testen auf dem AA Topf, müssen wir auch, aber wesentlich seltener. Eine Klasse gehört nicht geändert. Das meine persönliche Meinung. Und wenn dann muss man dem Namespace eine andere Version geben, damit der Entwickler der weiter entwickelt selben entscheiden kann was er callt. Herr B war nur ein Beispiel, aber durch den Composer und das herumwerfen des Codes, also jeder linkt jeden, ist der Code überhaupt nicht besser geworden. Nein er ist anfälliger und um Welten schlechter geworden. Denn na klar sollt was irgend wie nach irgend welchen Standards tun. Aber der Herr Defakto sagt Dir dass genau dies nur ein Wunschdenken ist. Es gibt natürlich auch Fälle wo ein Composer Update Vorteile hat, wenn zum Beispiel irgend ein API nicht mehr supportet wird. Klar kein Thema. Aber das lässt sich auch in einer Library berücksichtigen. Und glaube mir, man kann auch so sehr sehr große Projekte in Kurzer Zeit umsetzen. Die Gesichte ist einfach schlicht falsch wenn man was anderes behauptet. Wir haben z.B. mittlerweile ein paar Tausend Bibliotheken. Und das Funktioniert problemlos. Sogar dann, wenn Progger A im selben Projekt ein und die Selbe Lib call als Progger B und beide in einer anderen Version. Überhaupt kein Thema. Der Konflikt entsteht dann nur noch zwischen den 2 aber nicht mehr im Code. Vorausgesetzt man benennt die Klasse in Klasse_versionsnummer um. Die können jetzt extendet was die wollen. Es wird keinen Konflikt geben. Beide sparen sich den AA Topf. Und ja was bedeutet mehrere an einem Projekt arbeiten? Sowas ist doch von vorne rein schlecht. Wenn du in ein Auto 2 Lenkräder einbaust, der eine nach links und der andere nach rechts lenkt, wird es das Auto Zereisen. Meiner Meinung nach muss man die Aufgaben eben nur so aufteilen, dass sich die Leute kaum in Konflikt geraten können. Und dazu ist der Projektleiter verantwortlich, der nicht programmieren soll, sondern der den Überblick über das ganze stehts refreshen soll. Und am Ende des Projektes seht dann der AA Topf. Hier kann man auch schauen wass sich zusammenführen lässt. Wenn mir dann einer sagt, dass ein Projekt dadurch nicht übersichtlich ist muss einwenden. Die extendieren aus dem modernen PHP OOP sind das auch nicht mehr erstens, und zweitens wer der Meinung ist, dass sein Code verständlich ist, soll mal einen vorsetzen der zwar was auf dem Kasten hat, aber der noch nie in seinem Leben auch nur das geringste mit seinem Code zu tun hate. Und nach dessen sollte er urteilen. Ich kenne eben kein Framework, und kein andere Großprojekt wo einer sofort komplett durchsteigt. Aus dem Grund sind solche Aussagen fehlerhaft. Ich bin einfach nur der Meinung wenn jemand einen Fermdcode nutzt, dann soll diesen mit einer Version versehen. Damit er genau weis welchen Code er callt, also welche Ableitung. Und letzt endlich ist es dann doch übersichtlicher, weil jeder versteht warum er das abgeleitet hat und weswegen. Leider sehe ich das immer wieder wie sich andere Programmierer in Grund und Boden ärgern. 10% des Tages produktiv Coden 40% Crashes beheben, und 50% Testen. Wenn das produktiv ist, dann jedem das seine. Und zum Schluss, ich sage nicht das meines das richtige ist. Nein ich sage nur warum ich es so mache, und dass ich keine Probleme damit habe. Es gibt bestimmt unzählige andere Ansätze. Aber was mich ärgert, dass so viele das Ganze dann als Schlau und richtig verkaufen. Und wenn es nicht funzt setzt man Standards fest. Aber ich sage euch die Standards die verbessern es nur, aber die Probleme am AA Topf bleiben die gleichen. Und wenn mir dass dan die schlausten als "geniale Lösung" erklären weis ich auch nicht. Mmn. Modern ja, aber genial? Das ist auch der Grund warum viele Progger die gegen PHP schießen oft recht haben. Genau das geht in PHP ab. Ein Murks nach dem anderen. Und retten sollen es Standards. Seit PHP 5 hat jede Erweiterung im OOP auch so seine Nachteile mitgebracht. Und so genial und nützlich der Composer ist, so viel Nachteile bringt er mit sich. Und da ja viel gegen Javascript schießen. Ich progge sein 1997 und noch nie ist irgend wein Javascript Code veraltet von mir. Dass neues dazu gekommen ist klar. Aber warum geht das in PHP nicht? Erst hat man das Extendet eingeführt damals vor langer Zeit, und jetzt den Standard dass man nur bei gewissen Zusammenhängen extendet soll. Ja wunderbar. Aber ist jedem doch bewusst, dass OOP dazu gar nicht notwendig ist? Letzt endlich wäre jeder COPY und PASTE Codeschnipsel den man anpasst ein EXTENDET im klassischen Sinn, und brächte die selben Konflikte. Aber im OOP ist es modern also ist es mit einem gewissen Standard schon richtig so. Kann ich nicht ganz nachvollziehen. Aber letzt endlich ist der Composer auch nur ein copy und paste von irgend wo her. Schlimmer noch, den kann ein Fremder durch update ändern. Und letzt endlich ist dann das Thema coden doch selbst verfehlt. Und das ist es was PHP in Verruf bringt. Jeder versucht jetzt ein modernen Multikulticode zu entwickeln. Und Raus kommt am Ende oft verbuggtes. Klar rege ich mich da auf über PHP obwohl ich es selbst unendlich nutze. So ein Mißt in PHP kommt nur zustanden wenn man eine Programmiersprache so weiter Entwickelt wie es anfangs nicht vorgesehen war. Extendets war für die eigenen Projekte gedacht (ursprünglich) und jetzt wird es durch den Composer an Fremdcodes misshandelt weil ja die gesamte Syntax funzen muss. Und dann kommt genau sowas dabei raus. Und früher gab es diese Probleme nicht. Sorry im übrigen für die Buchstabendreher ist am Handy schwer zudem Kommentare sehr klein und bei mir ist eine neue Brille fällig. Und denkt nur ein paar Jahre weiter. Da wird euer Code im Composer vertausendfacht sein. Und dann wollt ihr was an eurem Projekt ändern. Das ganze wird zwangsläufig zu einer Mengen Ärger führen. Das Resultat wird der Aufenthalt auf dem AA Topf sein.
Die Beschreibung mit AA-Topf gefällt mir. :D Ich bin ja eigentlich Freund der OOP allein wegen der schönen Syntax. Ich muß aber sagen, je länger ich OOP programmiere - und das sind Jahrzehnte - umso mehr weiß ich wieder die gute alte prozedurale Programmierung zu schätzen. Strenge Typisierung gabs auch schon damals, ja besonders damals, als es neben schlechten Interpretersprachen wie Basic nur Compilersprachen gab. Imgrunde ist es genauso gut, wenn man ein struct/record deklariert und eine Funktion, die eben diesen als Argument erwartet. obj.doSomething bzw. $obj->doSomething und this sind halt etwas schöner zu lesen. Bis zu dem Punkt ist OOP echt die schönere Alternative. Dann kommen die Zugriffsmodifikatoren ins Spiel. Ok, ein schönes Feature für organisatorische Zwecke; man sieht beim späteren Aufruf, welche Methoden und Eigenschaften als Schnittstelle gedacht sind. Dann werden Grundsätze erfunden wie alle Eigenschaften privat + public getter & setter. Wozu der Overhead und Entwicklungsaufwand, solange die getter und setter nichts anderes tun, als die Eigenschaft unverändert zu setzen bzw. zu lesen? Klassen sollen also stark kapseln und möglichst nur eine kleine Aufgabe übernehmen. Da fängt man an zu überlegen, ob sie nicht zu viel tut, also lagert man Teile in andere Klassen aus. Die müssen auch gekapselt sein und nur wohl definierte Schnittstellen zulassen. Die neue Klasse B braucht aber auch Informationen aus Klasse A, der Zugriff darf aber nicht gestattet sein. Also vielleicht noch ein Interface deklarieren und die Methoden jeweils einzeln in den Klassen implementieren? Natürlich muß noch ein dependency injection System her. Eine simple Aufgabe wächst zu einem riesen Problem heran, das ständig neue Probleme aufwirft und einen haufen Zeit in Anspruch nimmt, was man auch mit ein paar kleinen direkten Aufrufen hätte lösen können. In Unity3d steht man einem C# Framework gegenüber, OOP natürlich, bei dem die meisten Klassen sealed sind. Man kann also nicht einmal davon erben, nur anwenden, so wie sie sind. Es gibt vorgesehene Funktionalitäten, die wunderbar funktionieren. Man kann schnell ein Mainstreamspiel zusammenklicken. Viele Funktionalitäten wurden aber "vergessen" bzw. halt einfach nicht vorgesehen. Oberflächlich kann man ja noch in den C# Code blicken, bis er dann in nativen Codeaufrufen endet. Die Lösung wäre oft einfach: eine protected Eigenschaft ändern oder interne Methode aufrufen, und der Drops ist gelutscht. Geht nicht, kein Zugriff. Was nun? Projekt aufblähen (besonders bei WebGL nicht wünschenswert) und mit reflection so gut wie möglich Zugriffssperren umgehen? Hilft oft wunderbar. Alles noch einmal redundant neu coden in einer eigenen Version? Auch da stößt man häufig an die Grenzen der Interna. Je weiter der OOP-Wahn mit allen DOs und DON'Ts voranschreitet, umso mehr erlebe ich, wie ein Großteil der Entwicklungszeit nur noch dafür drauf geht, Workarounds zu schreiben, um das unmöglich Gewordene noch möglich zu machen. Am Ende bleibt oft die Frage: clean code, der nichts kann, oder dirty hacks, aber man kommt zum Ziel.
Inzwischen gehört Klassenvererbung - früher der absolute Hype schlichthin - ja auch zu den eher verpönten Techniken. Es würde das Kapselungsprinzip untergraben usw. Dann existiert die Ansicht, eine Klasse sollte von außen "gebuildet" und initialisiert werden. Eigentlich war doch aber die Idee der OOP, daß jede Klasse für sich selbst zuständig ist, also gerade nicht von außerhalb bedient wird. Der ganze Katalog an Prinzipien widerspricht sich gegenseitig, und jeder vertritt unterschiedliche Meinungen, was jetzt in oder out ist. Persönlich würde ich einen Großteil der gehypten Design-Patterns eher schon als Anti-Patterns bezeichnen. Oft ist es besser, eine Lösung erst mal möglichst direkt zu programmieren. Das geht schnell, und man hat ein funktionierendes Stück Code. Stellt sich dann heraus, daß einige Teile häufiger in generalisierter Form wiederverwendet werden könnten, schreibt man die entsprechenden Stellen halt entsprechend den Anforderungen um. Meistens schreibt man ja doch nur Code für ein bestimmtes Projekt, die dann nie mehr wiederverwendet wird. Daß man ihn als Codebasis für ein weiteres Projekt irgendwann in der Zukunft nutzt, passiert erfahrungsgemäß selten. Wenn man das will, sollte man tatsächlich ganz gezielt ein reines Framework entwickeln, das kein spezielles Ziel hat. Meistens besteht aber die Zeit/das Budget dafür nicht, ein eigenes Framework zu erstellen und zu pflegen.
Fazit: OOP ist ein schöner, oft gut lesbarer Stil. Restriktionen können oft sinnvoll sein, um spätere Fehler zu vermeiden. Es bringt aber auf der anderen Seite auch einen Haufen Probleme mit sich. Man fährt einen Ferrari mit gedrosseltem Motor. Es fehlt an Vertrauen in die eigene weiterführende Programmierung und die des Teams, also riegelt man Zugriffe ab, was dann oft eine schnelle, effiziente und performante Programmierung verhindert. Die Grenze zwischen strukturierter Programmierung und Overengineering verläuft fließend. Manchmal wäre es besser, der Weiterentwicklung alle Möglichkeiten offen zu halten und stattdessen die Codebasis gut zu dokumentieren und Warnungen zu verzeichnen, welche Nebeneffekte beim direkten Zugriff auftreten könnten. Manchmal macht es aber Sinn, einfach die Motorhaube zu öffnen, einen Schraubenzieher in die Choke-Klappe (die guten alten Vergaser) des abgesoffenen Motors zu stecken und die Zündung zu betätigen. War so nicht vorgesehen, aber funktioniert; der Motor bekommt wieder Luft und das Gemisch stimmt.
alte und oder schlechte Tutorials sind kein PHP Problem allein, das gilt wohl für alle Sprachen. PHP verleitet halt viele dazu schnell mal was zusammen zu klatschen, bei Java zB wird man schon vom Compiler gezwungen halbwegs sauberen Code zu schreiben. Gebe dir da vollkommen recht, wohl alle Sprachen haben Ihre Leichen im Keller, unglaublich welche Meinungen man von manchen zB über Java hört, mag bei V4 so gewesen sein, aber wer arbeitet damit schon noch. Muss zugeben bin selbst auch kein großer Freund von PHP da mich gerade in der Webentwicklung die ganzen Tools und Frameworks nerven. Dazu HTML CSS JS, von allem ein bisschen, während man bei anderen Sprachen bestenfalls paar passende Bibliotheken einbindet und fertig ... Aus meiner Sicht daher: in anderen Sprachen (Java, C#, Python, ...) entwickeln macht Spaß. In PHP gerade wieder aktuell, Augen zu und durch
Naja dann wird dir bestimmt PHP 8 gefallen;) Es geht aktuell mehr in Richtung C#/Java uns fehlen noch Generics und Getter/Setter und schon ist php auf einem nahezu Perfektem Zustand ;) Compiler haben wir jetzt auch schon und das Einbinden von externen Libraries geht auch. www.php.net/manual/de/book.ffi.php Also ich denke PHP muss sich nicht vor anderen Sprachen im Jahr 2020 verstecken ;)
Hi Vitalij, habe mir vorhin dein anderes Video zu "Collection" angesehen. Da hattest du ja auch das Thema Generics angesprochen. Für mich ist genau das, was in PHP leider fehlt. Alle Umwege wie instanceof und Spread-Operator sind ziemlich unschöne Workarounds. Ansonsten finde ich PHP super, es gibt so viele großartige Libraries und die Möglichkeit alles sauber zu testen. Viele Grüße!
Es ist halt nicht einfach feste Typen und dynamische typen zuzulassen in hashmaps. Generics ist echt kompliziert vielleicht kannst du dir ja den source code von PHP anschauen und es fixen? ;) Würdest der Community sicher weiterhelfen
Danke für deine gute Erklärung, für mich war es bisher unverständlich das manche über PHP so herziehen. Du könntest mal ein Video machen, wieso so viele professionelle Webdeveloper macOS oder Linux verwenden ;)
@@VitalijMik Meines wissens nach funktioniert das auch unter Windows problemlos. Egal ob Kommandozeile oder Powershell. Ich glaub die Begründung kann man so nun jetzt nicht stehen lassen.
@@techtroax7463 Moin, ja es funktioniert unter Windows aber es ist nicht First Priority. Die normale CMD.exe kann man in die Tonne kloppen. Dann wenn du ein Tool installierst ist es nicht immer automatisch in der Commandozeile verfügbar, nicht jedes Mal wird es in die Umgebungsvariable eingetragen. Dazu kommt es dass viele Tools gerne mit ssh public Keys arbeiten um einen User zu Identitzieren. Normalerweise liegen diese im Homeverzeichnis. Bei den ganzen Kommandlines unter windows wird jedes Mal in unterschiedlichen Ordnern geschaut. Dann die Windows Tools werden oft direkt mit einer Gui programmiert, unter Linux erstellt man meistens ein CLI Client und dann wird oben drauf eine GUI geschaltet, somit hat so gut wie jedes Linux tool ein CLI Interface Keine Frage Kommandozeilen funktionieren unter Windows auch aber nicht out of the box, du musst jedes Mal konfigurieren und einstellen. Unter Linux und Mac ist es nicht so. Da Linux und MAc auch noch einen "Appstore" haben, ist es auch bequmer die Tools einfach zu installieren via apt-get usw.. Windows hat ein Windows Store aber kaum einer nutzt es.. Joa man könne ein Video dazu machen :D
@@techtroax7463 Tut es bei Weitem nicht. Es gibt Extensions, die es unter Windows nicht gibt. Und komm bitte nicht mit selber kompilieren. Probleme mit der anderen Schreibweise der Pfade, die lausige Docker-Unterstützung, das langsame Dateisystem, das sich bei Frameworks wie Symfony bemerkbar macht, Probleme, die im live-Betrieb auchtauchen, weil Ordner und Dateien auf Windows case-insensitive sind, wenn Du Fullstack arbeitest, die miese Integration von npm, batch statt shell uswusw. Die meisten Web-Applikationen (abgesehen von .net) laufen auf Linux aka unixoiden Systemen. Mit Windows bist Du damit extrem weit von der Production-Umgebung entfernt. Und das sind alles reale und nicht irgendwelche an den Haaren herbeigezogene Probleme. Ich bin auch kein Windows-Hater. Ich halte Windows für ein klasse Betriebssystem.
Danke für das Video! War lange am Überlegen, ob ich PHP oder Javascript verwenden soll (ja, der Unterschied zwischen serverseitig und clientseitig ist mir klar). Ich entscheide mich jetzt für PHP.
Gute Wahl, ich habe noch ein Video wieso ich glaube, dass PHP in 10 Jahren immer noch relevant sein wird. ruclips.net/video/x7zC8MMb-B0/видео.html vielleicht ist es auch noch interessant;)
Stimme der Meinung zu, dass ich es auch nicht schön finde. Liegt vor allem daran, dass ich auf der Arbeit an einem etwa 10 Jahre (im Kern) alten Legacy Projekt arbeite, wo vieeeel doppelter und ge copy-pasteter Code, Design Antipatterns (Instanzen werden über Singletons erzeugt und diese Singletons sind als Abhängigkeit an vielen Stellen zu finden), keine URL Pfade sondern Navigation über POST Parameter. Zudem stimmt es schon ja immer noch wie der eine Artikel erwähnt, dass viele Funktionen unintuitiv benannt sind in PHP wie explode() etc. Stimme aber auch dem Video zu das PHP trotzdem per se nicht unbedingt schlecht ist weil man wenn man Frameworks nutzt und eigene Frameworks hat nach SOLID Prinzipien und mit gutem Design eigentlich genau so gute Software erzielen kann wie in anderen Sprachen.
Super Video. Die meisten PHP Entwickler kommen nicht aus Deutschland, Frankreich oder sonst noch wo, sondern meistens aus Indien, Nigerien usw... . Wenn man etwas auf YT über PHP nachschlägt, dann trifft man meistens auf Videos von Inda und diese haben meistens keine Qualität. PHP benötigt außerdem nicht so viele Ressourcen, wie c++ z:b und mehr.
@@VitalijMik ja war nur ein Beispiel. C++ benötigt mehr Ressourcen als PHP, sprich damit meine ich dass man nur 1x Editor 1x Lokalen Server 1x Browser braucht und das wars, was vielleicht um die 500mb mit allem sind . Bei c++ kommen wir über die 2gb
Ich bin tatsächlich bisher nicht mit PHP in Berührung gekommen und habe deshalb auch keine Meinung dazu, aber ich will nochmal herausstellen wie wichtig es ist sich mit Tests auseinanderzusetzen und diese in seine Software einzubauen. Das erleichtert den Refaktorierungsprozess ungemein und erlaubt auch neuen Entwicklern Änderungen am Code zu machen ohne völlig verunsichert zu sein, ob noch alles so funktioniert wie vorher.
Vollkommen richtig. Stolz kann ich bei einem unserer Projekte von 100% Testabdeckung (Unittests) schwärmen bei reichlich 10k ausgeführten Tests. Gepaart mit weiteren Arten von Integrationstests, Mutationstests und statischen Analyzern. Wenn man will, geht das...😊
Hallo Vitalij, vielen dank für deine Videos die sind sehr lehrreich. Ich bin ein Blutiger Anfänger was Programmieren angeht , ich möchte gerne in die Webentwicklung gehen überwiegen in WordPress. Heute stehe ich vor der Entscheidung ob ich zuerst JavaScript und React lernen soll oder doch lieber PHP und Laravel, ich bin mir sehr unsicher womit ich zuerst anfangen soll, weil ich Zeit und Geld investieren werde, kannst du mir bitte eine entscheidungshilfe geben. Macht es vielleicht doch Sinn mit PHP anzufangen, da ich sowieso in WordPress Bereich arbeiten möchte? und dann später erst JavaScript zu lernen? Welche OS benutz du fürs programmieren ? lg
Hi, echt schwierig zu sagen, als PHP Dev wirst du um JS nicht herumkommen. Ich würde eher vorschlagen sich 1-2 Monate in PHP einzuarbeiten und dann 1-2 Monate mit JS und dann schauen was einem mehr spaß macht. Letztendlich ist Programmieren lernen ein langer Prozess und wenn dir die Sprache nicht gefällt. wirst du schnell aufgeben. In Wordpress muss auch auch javascript nutzen für Frontend, aber weniger mit React und mehr mit jQuery. in Wordpress wirst du aber nicht die best Practices lernen. Allerdings erlaubt dir wordpress den Fuß in den IT Job zu bekommen. Es lässt sich noch besser lernen wenn du das 8 Stunden am Tag machst und dafür bezahlt wirst. Also du wirst wohl oder übel beides lernen müssen ;)
@@VitalijMik Ernsthaft. Das liegt aber auch daran, dass ich nie was mit anderen Entwicklern zu tun hatte. Erst seitdem ich den neuen Job habe, habe ich einen anderen Entwickler als Kollegen.Und der schwört auch voll und ganz auf PHP. Also habe ich wirklich noch nie gehört, dass PHP unbeliebt ist :D
@@VitalijMik Lustig dass Du es ansprichst. Guck mal hier kaiser-world.com/rpg/ Da arbeite ich schon sehr lange dran. Die Version auf meinem PC läuft auch schon über Node.js und es können unendlich viele Spieler gleichzeitig durch diese Welt laufen. Kannst Dir ja mal den Quellcode ansehen view-source:kaiser-world.com/rpg/js/engine.js Aber wie gesagt, die Version auf meinen PC läuft über Node.js und ist um einiges weiter. Das Problem ist, ich habe keine Rootrechte auf dem Webspace. Kaufe mir bald dafür einen Server
In der Tat ein schönes Video, wobei sich diese Diskussion immer im Kreis dreht :-) Ich fand PHP schon immer gut, aber besonders seit 7.4 ist es erste Sahne. Das Problem liegt in der Tat in Vorurteilen von vor 10 Jahren begründet. Und es schreiben sich auch viele Entwickler sophisticated auf die Fahne, nur, weil sie in Java programmieren. Dort ist eher so, dass ich häufig völlig overengineerten Code sehe - Drei Adapter-Layer für einen Zweck. Der Wahnsinn. Und von wegen Objektorientierung - Das höre ich laufend. Aber nur, weil jemand eine Klasse verwendet, bedeutet das nicht, dass er auch OOP programmiert. Ich verstehe auch immer nicht, was so dermaßen gegen prozedurale Programmierung spricht. Klar - In großen und komplexen Applikationen lässt sich eine Applikation dann nicht mehr strukturieren, aber wenn Du nur eine kleine Sache hast, dann reichen Dateien, Funktionen und ein prozeduraler Ablauf völlig aus. Ich sehe sowieso in Zukunft eh die funktionale Programmierung immer mehr kommen. Die meisten, die in ihrem "OOP" das anemic Model verwenden, merken gar nicht, dass das eben gar kein OOP ist. Aber ich schweife ab :-D Der schlechte Ruf ist, denke ich, auch der weiten Verbreitung geschuldet. Auf jedem Mini-Webspace gibt es PHP und MySQL. Zeig mir mal den Webspace, auf dem Du .net oder Java benutzen kannst. Vielleicht wäre ja Java die Hass-Sprache, wenn es das überall gäbe und PHP der Geheimtipp...
I have a dream!! :D Irgendwann werden Golang und C# und Rust Entwickler sagen "Alter der Code hier stinkt.. ich habe gehört in PHP machen die da richtig coole Sachen, ich glaube ich muss den Job wechseln" Vielleicht erlebt PHP in der Zukunft eine Renaissance. Ich hoffe auf jeden Fall drauf und werde alles nötige dafür tun :D
@@VitalijMik Naja - Ich muss sagen, dass ich vor zwei Jahren zu Go gewechselt bin. Der Vorteil in meinen Augen: * Simplicity * Explicity * Geschwindigkeit (Ok, das ist nur ein halbes Argument) * Nebenläufigkeit * Zumindest teilweise besser für funktionale Programmierung geeignet * Built-in Testing * Built-In Template-Engine * Built-In Formatter * Man braucht kein FPM * ... Es ist natürlich opinionated. Aber welches PHP-Frameworks ist das nicht? Bei Go ist bis auf ein absoluten Kern alles selbst in Go implementiert. Wenn Du irgendeine Built-in-Library hast, z. B. das http-Package, dann kannst Du dort bis auf den allerletzten Grund gehen. Du kannst sogar debuggen, welche http-Version zwischen Browser und Applikation ausgehandelt wird. Das fällt bei PHP spätestens bei den Extensions flach. Und das hat mir schon diverse Male geholfen. Bsp.: Wir hatten eine Applikation, die laufend neue Datenbank-Verbindungen öffnen musste (Warum, sei hier mal nicht der Punkt). Und jeder Connect hat ~20ms gedauert. Erst mal nicht viel, aber bei dem, was wir gemacht haben, viel zu viel. Und was war? Es hat sich herausgestellt, dass der DNS-Call, den Go für den DB-Server gemacht hat, der Flaschenhals war. Das habe ich aber auch nur rausgekriegt, weil ich so tief graben konnte. Man mag das statische Typing nicht mögen und es ist in der Tat nervig, keine Generics zu haben und man hat wegen dem Error-Handling Boilerplate-Code, aber das ist alles nur ein kleiner Preis für die ganzen Vorteile, die man hat. Um es zusammenzufassen - Zumindest aktuell würde ich von Go nicht mehr zurück zu PHP wechseln wollen. Rust ist ja noch mal eine Spur minimalistischer - Das ist auf jeden Fall einen Blick wert.
Die Sache mit den schlechten Tutorials würde ich nicht nur auf PHP beschränken. In der heutigen Zeit kann einfach jeder "Hello-World-Programmierer" in einer x-beliebigen Sprache sein pseudo Wissen auf RUclips und / oder Udemy verbreiten. Ein totaler Anfänger hat es halt da schwer zu differenzieren wer einem was gutes und (oftmals ungewollt) was böses will. Eine Programmiersprache ist keine Religion, viel mehr sind sie Werkzeuge. Klar kann man auch mit einem Schraubenzieher einen Nagel in die Wand schlagen, aber eleganter und sinnvoller wäre da schon der Hammer, aber es muss ja auch nicht direkt zum Vorschlaghammer gegriffen werden. Manchmal muss man halt für den Nagel doch zum Schraubenzieher greifen, weil man keinen Hammer zur Hand hat (oder einem das Wissen und die Erfahrung fehlt wie man diesen Hammer effektiv verwendet - dann ist auf einmal der Schraubenzieher doch die bessere Wahl). Daher ist es immer schwierig das ganze allgemein zu betrachten. Viele große Software- / Internet- Firmen haben schließlich nicht ohne Grund einen breiten Tech-Stack. Was einem PHP Entwickler immer wieder an den Kopf geworfen wird ist folgende Aussage: "Man kann mit PHP keinen objektorientierten, hochperformanten und skalierbaren Code schreiben" darauf kontere ich immer mit einem "Falsch, du kannst das mit PHP nicht" - dann schaut man mal schnell in ratlose Gesichter ;-). PHP hat sich ständig weiterentwickelt und dank Hilfsmitteln wie Swoole kann man auch schneller als NodeJS werden und wo ich schon gerade NodeJS erwähne: Als im Jahr 2008 NodeJS vermehrt die Welt mit einem "Hello" begrüßte, prophezeite man schon das 10 Jahre später kaum mehr PHP verwendet wird... und siehe da...
Moin, ja das Stimmt dass man die Qualität des Tutorials nicht einschätzen kann, aber wenigstens mit einem Datum könnte ein bisschen aussortieren. Ich habe öfters in Foren gelesen wieso mysql_irgendwas nicht geht. In Russisch Sprachigen Foren hat sich sogar einer hingesetzt und mysql_ extension für php 7.4 kompeliert und er hat somit die Büchse der Pandora geöffnet. Das mit der Performance sitmmt..ich weis nicht wieso ich das nicht aufgebracht habe, denn genau das habe ich auch gelesen. Aber gut dass du das noch mal hier explizit erwähnst. Ich denke nicht dass PHP Komplett aussterben wird, nicht bis ich in die Rente gehe :D und wenn, dank PHP habe ich einiges an Wissen über die Programmierung an sich mir angeeignet, konnte vor Jahren eine C Applikation schreiben und ich meine kein Copy Paste von Stackoverflow. Habe dabei die Grafische SDL Library eingesetzt. Also auch schon wieter als irgend ein GUI Builder starten und dort in die Klick events meinen Code einbauen(was ich übrigens auch schon mal gemacht habe). Mit PHP kannst du echt bei 0 Beginnen und so viel erlernen dass du das Wissen sogar auf andere Programmiersprachen übertragen kannst und das finde ich ganz besonders an der Sprache.
Als ich mit dem Programmieren angefangen habe stand ich auch vor der Entscheidung welche Sprache es werden soll. PHP war dabei in der engeren Auswahl. Gegen aller Tips verschiedener Plattformen habe ich einfach mal verschiedene Sprachen probiert und gesucht was mir am besten liegt. Hab mich dann für Python, wegen der relativ einfachen Syntax, entschieden und inzwischen mit Django erweitert. PHP steht aber immer noch auf meiner Liste. Der Aussage, dass man mit WordPress mal schnell de WebSite baut muss ich aber klar widersprechen. Um was wirklich brauchbares hinzubekommen bedarf auch einiges an Wissen und man ist immer auf irgendwelche Plugins und/oder parallel noch auf PHP angewiesen. Da würde ich lieber WordPress sein lassen und gleich von Grund auf mit PHP anfangen.
Wenn man Programmierhintergrund hat dann stimme ich dir zu, viele wollen aber einfach einen online shop oder blog aufsetzen die nicht programmierer sind, Die kommen irgendwie komischerweise klar mit Wordpress :D sonst würde es ja niemand kennen.
@@VitalijMik ja gut, da gibts ja auch schon fertige Lösungen. Wenn man was spezielles, in meinem Fall ne RaceAPP, bauen will dreht man sich irgendwie im Kreis
Ja, das ist das Problem. PHP ist sehr einfach zu erlernen. Man hat schnell einen Erfolg. Daher gibt es auch viele Pages die unsicher sind und das rückt PHP leider in ein schlechtes Licht. PHP sicher zu programmieren ist nicht so einfach, da muß man schon etwas tiefer in die Materie.
@@VitalijMik Ja, das stimmt. Sicherheit ist aber leider das was am ehesten Auffällt. Kein Kunde findet es bestimmt nicht spaßig wenn seine Page, Shop oder was auch immer gehackt wird und womöglich Kundendaten gestohlen wurden. Das ist ja das Hauptproblem von den "Programmierern" die sich nicht tief genug in die Materie eingearbeitet haben und mal eben so etwas zusammen schreiben ohne darüber nach zu denken.
@@VitalijMik Hallo Vitalij Vielen Dank für Ihre Antwort! Am Ende wird immer das Kunstwerk betrachtet, das Werkzeug tritt in den Hintergrund. Oder frägt sich heute jemand welche Zange Carl Benz benutzte als er das Automobil baute. Zuerst ist die Idee da, dann erst geht man zum Werkzeugkasten um das passende Werkzeug zu suchen (z.B. PHP). Wenn man sich nur über das Werkzeug Gedanken macht, bzw. was andere darüber denken, tritt man auf der Stelle und hat keine Zeit um neue Ideen umzusetzen. Dass PHP einfach ist, ist im Grunde ein Segen, denn dadurch ermöglicht es vielen Menschen ihre Ideen umzusetzen. Da die Erde eine einfache Kugel ist, konnte Kolumbus Amerika entdecken, die Meinung der anderen war falsch. Die hatten auch Schiffe, waren aber nicht in der Lage über den Tellerrand hinaus zu sehen. Übrigens, ich kann nicht in PHP programmieren, habe aber ein paar Ideen und bin nun auf der Suche nach geeignetem Werkzeug um diese umzusetzen. So bin ich auf Ihren Kanal gestoßen. An dieser Stelle vielen Dank, dass Sie Ihr Wissen kostenlos zur Verfügung stellen! Liebe Grüße
@@mtotowamungu8259 ja da gebe ich dir Recht mit den Tools. Allerdings ist es immer so, sobald man anfängt sich intensiver mit einem Thema zu beschäftigen, interessiert man sich viel mehr für Tools. In der Fotografie hat man zum Beispiel das selbe Spielchen. Sony vs Fuji vs Canon. 4k vs 6k vs 8k. Raw oder JPEG. welche Color Grading tools eingesetzt werden usw. Es wird gestritten weil man sich darüber streiten will und einige Menschen sind da nicht rational. Und Siezen braucht du mich nicht, wir sind hier auf YT und hinter einen Nicknamen versteck, da ist es komisch zu siezen ;) Es gibt einen schönen Deutschen Spruch dazu "Du sagst ja auch nicht Sie Arsch" :D
@Vitalij Mik bin diese woche wegen wordpress zu php gestossen, da ich mir gerade ein neues eigenes theme am schreiben bin gestützt auf Tutorials auf dieser Plattform . Bin leidenschaftlicher system OEM Builder und der englischen Sprache nicht so mächtig. Mein grösstes problem sind aktuelle valide deutschsprachige quellen zu finden über php, wordpress allem was dazu gehört. Bücher oder pdf wären auch in ordnung als quelle Gruss Daniel aus der Schweiz
Puh da kann ich dir nicht sonderlich viel weiterhelfen, Wordpress ist etwas "eigen" weil die Zielgruppe von Wordress eben nicht PHP Entwickler sind. Du musst bei Wordpress einfach nur dran denken dass es sehr viel einfacher aufgebaut ist als alle anderen PHP Tools weil man als nicht Entwickler dort relativ schnell seine Seite umsetzen können soll. Mehr kann ich da leider auch nicht zu sagen :D
Guten Morgen Vitalij. Vielen Dank für deine Antwort, es geht mir auch nicht in erster Linie um WordPress, sondern um die Programmiersprachen die WordPress beinhalten wie html, css, php und java. html und css kenne ich ein wenig und was WP angeht, besitze ich endsprechend Valide Dokumentationen. Meine Meinung ist jedoch dass wenn ich etwas für WP programmieren will, sollte ich die jeweilige Sprache wie in diesem Fall PHP einwenig kennen und beherschen um dann alle Möglichkeiten in meinem Fall von WP auszuschöpfen. Aktuell habe ich ein Problem mit den WP-Themes (auch bezahlte Premium Themes) die mir einfach entweder vom Funktionsumfang nicht gefallen oder vom design und somit den entschluss gefasst habe, mein eigenes Theme zu gestallten. Ja, es isct für mich eine Menge Arbeit und mit Rückschläge verbunden, jedoch ist das genau meine Motivation um mein Ziel zu erreichen. deshalb bin ich auf der Suche nach deutschen Dokumentationen die frei Zugänglich sind über PHP, da mein Sparstrumpf wegen der Aktuellen Lage zur Zeit ziemlich leer ist und hoffe auf Gleichgesinnte, die bereit sind die ihr wissen mit uns teilen
Sehr gutes Video! Es ist wirklich sehr nervig, ständig gegen die Vorteile gegenüber PHP anzukämpfen bzw. sich für die Nutzung dessen rechtfertigen zu müssen. Ein schlechter Softwareentwickler wird in nahezu jeder Sprache schlecht programmieren wohingegen ein guter Softwareentwickler das Potential besitzt, in nahezu jeder Programmiersprache eine gute Software zu entwickeln. Das vergessen leider viele.
Danke für das Kommentar. Stimmt leider. Ich will dann auch nicht mehr mit denen diskutierten die einfach nur irgendwelche Vorurteile haben. Es wird nach einigen Jahren einfach anstrengend :D
Hallo Vitalij. Sehr schöne Videos. Ich habe im Jahre 2013 mit php und kohana framework ein Web Projekt umgesetzt und nun läuft es nicht mehr. Wie kann ich das Projekt aktualisieren? Mittlerweile gibt es ja php 7. Php ist eine logische Sprache.
Hallo Farsad, schwierige Frage, was funktioniert denn genau nicht? Ich hatte immer wieder Gespräche mit anderen Umsteigern geführt und alle erwarten irgendwie dass PHP 7 sofort auf anhieb funktionieren wird obwohl die ihren Webserver komplett verstellt hatten, plugins dazu aktiviert haben usw. Wenn dein PHP 7 die gleichen Plugins in der ini aktiviert hat wie PHP 5 UND im Kohana benutzt du nicht mysql_ Funktion sondern Kohanas Internes ORM. Dann sollte es eigentlich funktionieren, wenn nicht dann muss du schon konkret die Fehlermeldung nennen die angezeigt wird.
Ich bin ein alter (54) C++ Programmierer, ich genieße gerade im Moment das Programmieren mit PHP. Die Leute die über PHP meckern haben einfach keine Ahnung. Meine Meinung, meine Erfahrung....
Hallo nach ca. 3 Jahren Antworte ich auf diesem Video und ja es ist in der Tat so. Dinge die man seid zig Jahren so macht ändert man kaum. Angefangen habe ich mit PHP3 während meiner Lehre zum Metallbauer, diesem Beruf über ich noch immer aus. das ganze war vor gut 20Jahren. Inzwischen gibt es ja PHP8.3. PHP kommt bei mir zum Einsatz in Verbindung mit MySQL, ganz klassisch standard...öffnen, auslesen, anzeigen, editieren und updaten. Der Code hat sich für mich nur um das new pdo, prepared statement geändert. Oder täusche ich mich da? Vielleicht gibt es ja eine mitwachsende gut Erklärte Seite die sich den Versionen anpasst wo sie wie die Codes ändern. danke
Hi ich denke du täuschst dich da. PHP hat sich weiter entwickelt neben pdo und prepared statements, gibt es ja jetzt mehr typsicherheit, du hast verschiedene return types. du hast auch typisierung in klassen und als argumente. du kannst properties einer klasse direkt über constructor definieren und und und. auch intern wurde da einiges optimiert bezüglich arbeitsspeicher verbrauch und code optimierung. dazu gibt es noch ein just in time compiler der deinen code ,solange er nicht mit db oder externen services spricht, auch noch mal kompeliert und die ausführungszeit verbessert. es wurde da sehr viel getan ;)
@@VitalijMik Ja natürlich hat sich viel getan. deswegen, meinte ich auch eine gegenüberstellung von damals zu heute damit so eingefahre typen wie ich den unterschied besser sehen und neu erlernen. :) Lars
Hmmm in diesem Video habe ich im Grunde nur einen wirklichen roten Faden entdeckt. "PHP ist schlecht, weil es den Programmierern Möglichkeiten gibt, sich auf seine bevorzugte Art und Weise auszutoben und seine Ideen zu verwirklichen." PHP ist ein Werkzeug. Genauso wie jede andere Programmiersprache auch. Dieses Video wird am Ende allein nur durch den Erfolg von PHP obsolet. Diejenigen, die den Anspruch haben, professionell nach Standards mit MP Frameworks zu arbeiten, kennen ihre Wege und Tools, um mit PHP professionell zu arbeiten. Die Entwickler die von früher noch ihre Abneigung in sich tragen oder sich die Meinung gebildet haben, die Ihnen von anderen vorgekaut wurde, werden sich auch von so einem Video kaum bekehren lassen. Entweder es gibt die berühmte zweite Chance oder eben nicht. Ich finde man sollte einfach die negativen Stimmen ignorieren und sich davon nicht in den Sog ziehen lassen. Alle, die PHP nutzen tun das, weil sie es für das richtige Werkzeug für ihre Anforderungen halten. Und auch wenn am Ende die Umsetzung nicht dem entspricht, wie es sich die professionellen und eingesessenen PHP Programmierer wünschen würden, so haben alle das Recht, das Werkzeug so zu nutzen, wie sie es für richtig halten und wie sie es möchten. Und wenn einer nur prozedural arbeitet oder das Filesystem des Webservers als Router verwendet, hat er das Recht dazu. Oder das testen ohne zusätzliche Tools. Wenn derjenige das so machen will, dann lasst ihn doch. Im Kern höre ich zwei schuldige heraus. Zum einen diejenigen, die negativ über die Sprache reden und diejenigen, die nicht strikt nach den Standards (PSR) arbeiten, keine etablierten Bibliotheken oder Frameworks verwenden und keine Test-Suits verwenden. Damit würde wohl deiner Aussage nach dem Ruf der Sprache geschadet. Aber weißt du wer am Ende wirklich schuld daran ist? Richtig ... PHP! Denn würde es nicht mehr die Sprach-Features geben, die es einem erlauben, so zu entwickeln, wie man es will, würde die Sprache strikt den Standards folgen und somit die Masse an Entwicklern, die den anderen nicht in den Kram passt deutlich reduzieren. Es ist am Ende wie mit dem Billigfleisch beim Lidl oder Aldi. Es bringt nichts, wegen schlechter Tierhaltung, Medikamentenmissbrauch, Herkunft und/oder Schlachtverfahren den Konsumenten zu verurteilen, weil er es kauft. Das Problem ist bereits das Angebot. Denn so lange es das entsprechende Angebot gibt, wird es auch genutzt. Dieses Video verurteilt unterschwellig den Konsumenten, obwohl das Problem bereits beim Angebot liegt. So lange es also das Angebot so gibt, wie es jetzt existiert, wird es immer die geben, die PHP dafür lieben und die, die es dafür hassen.
Hey danke für das tolle Kommentar. Ja PHP ist ein Werkzeug und sogar ein Mächtiges es bietet dir weit aus mehr Möglichkeiten an. Ich rede hier nicht ein Mal von Frameworks oder Tools. Ich rede davon dass sehr viele PHP Entwickler prozedural Entwickeln mit Klassen und meinen sie würden OO Programmieren. Stichwort Statische Methoden. Dann rede ich von den neuerungen wie Return Types, Typehints, Traits usw. Viele neue Dinge sind ins PHP Gekommen aber vieles wird nicht genutzt. Und sagen wir, okay jeder kann man machen was er will, das Problem ist, dass durch dieses Verhalten beeinflusst er indirekt seine Kollegen, oder bringt solche Schlechten Stiele den Junior Developern bei. Viele Entwickler wissen ja was gut ist, und halten sich einfach nicht daran. Ich vergeliche das mit Sport und Ernährung, jeder weiß dass du dich besser fühlen wirst wenn du genug trinkst, Sport treibst usw nur macht das eben nicht jeder. Und wegen der Programmiersprache dass sie das alles anbietet, das ist ja das Gute, du kannst von 0 in PHP Einsteigen aber du kannst später richtig guten Code schrieben und genauso mit allen andren Entwicklern mithalten. Ich vergleiche das dann eher mit Autos. Dein Auto ist designed zu Fahren. Wohin du damit fährst ist dir überlassen. Du kannst ganz normal auf der Straße fahren, wenn du aber auf die Gleise damit fährst bist du als Fahrer schuld, nicht das Auto. Was bringt dich davon ab auf die Gleise zu Fahren? Richtig Regeln. Ich liebe PHP, aber ich finde es schade dass ich mich mit nur sehr wenigern über Architekturen und Tests unterhalten kann, von vielen wird man nur belächelt. Vielleicht müsste mich aber auch weniger in Anfänger Online Community Gruppen aufhalten :D
@@VitalijMik Das spielt alles keine Rolle. Keiner hat auch nur das geringste Recht dazu, andere dafür zu verurteilen, das sie PHP nicht so verwenden, wie es laut deiner Definition gut wäre. Und zum Thema Regeln: Du kannst ja gerne prozedurale Programmierung oder fehlendes Testing unter Geldstrafe stellen. Wenn ich mit einem Auto auf Gleisen fahre, weiß ich, das es empfindlich teuer werden kann ;)
Wenn ich mein Auto in die Werkstatt bringe und es dann repariert wird, gehe ich ja auch davon aus dass die Mechaniker eine Ausbildung hatten, die korrekten Tools einsetzen und auch dafür garantieren dass mein Auto nach den Industriestandards reparriert wird. Der Mechaniker kann ja zu Hause mit seinem Bastelauto machen was auch immer er will, aber wenn ich für etwas Geld bezahle, da erwarte ich doch standards oder nicht? Aktuell sind alle Kunden/Cheffs etc den Entwicklern komplett ausgeliefert weil jeder das macht wonach er Lust und Laune hat. Es kann ja keiner Überprüfen ob er alles korrekt gemacht hat oder nicht. Die bekannteren Entwickler Prophezeien seit Jahren, dass es nur irgend ein Blöder Unfall passieren muss bei dem Sehr viele Menschen sterben durch einen Software Fehler, danach wird die Regierung die Regeln setzen, WIE du programmieren sollst, WELCHE Frameworks/Tools pflich sind usw. Natürlich wird die Regierung sich dann irgendwelche Berater dazu ziehen die irgend ein Blödsinn vorschreiben und unser Beruf dann keinen Spaß mehr machen wird. Ich verurteile niemanden sondern animiere die darüber nachzudenken, sich mehr für bessere Qualtität im Code einzusetzen. Jeder weiß was gut ist und welche Best Pratices es gibt. Programmierung gibt es schon seit mehreren Jahrzehnten und es gibt viele gute Bücher in denen alles erklärt wird. Man kann sich auch dran halten wenn man will. In anderen Sprachen macht man das ja bereits immer mehr und mehr nur halt in PHP nicht so sehr.
@@VitalijMik Und jetzt gehst du wieder in Richtung professionelles programmieren. Wer mit schlechtem Code Geld verdienen kann, hat es anscheinend ja doch richtig gemacht. Wo wir wieder beim Angebot wären. Würde PHP extrem schlechten Code nicht zulassen, würde es das Angebot nicht geben. Es führt alles wieder auf die gleiche Wurzel zurück. Ob es dir passt oder nicht. Jeder macht sich selbst ein Bild von der Situation und jeder geht als dritter bzw. außenstehender anders mit Kritik an PHP um. Ich gebe niemanden die Schuld dafür, das PHP bei einigen im schlechten Ruf steht. Jeder, der PHP Entwickler aller Art auf Grund solcher Stimmen von oben herab behandelt, hat einen zu kurzen Horizont, um das Gesamtbild zu erfassen.
@@techtroax7463 nein lass mich mal das anders umformulieren. PHP ist gut WEIL es dir alles erlaubt, nicht jeder sollte wie bei C# erst mit OOP können um überhaupt Hello World zu programmieren. ALLERDINGS sollte man, wenn man schon Geld für sein Code verlangt, auch sich immer verbessern, daran ist PHP nicht schuld dass man seinen Code nicht besser schreibt. PHP Bietet einem die Tools an, man sollte die nutzen. Weil aber viele PHP Entwickler das genau wiessen und es trotz des Wissens nicht machen, machen die dann wiederum einen schlechten Eindruck auf die Sprache. Wert mit Schlechten Code Geld verdient, hat nur für sich was gutes getan. Aus der Sicht des Kunden wurde das Unwissen des Kunden ausgenutzt und der Kunde kann sich nicht mal dagegen Wehren. Wenn dann ein anderer Entwickler an diesem Code arbeiten muss, sagt er dann meistens "Wir müssen alles entfernen und neu machen". PHP Ist also nur schlecht weil es schlecht benutzt wird. Nutzt man PHP Korrekt kann sich keiner über die Sprache beschweren.
Hab ich noch nie gehört und bin seit PHP3 dabei. In Verbindung mit Ajax verhält sich PHP wie ein Windows Programm und z.B. mein Warenwirtschaftssystem wird noch von einigen Firmen genutzt weil es einfach alles abdeckt. Für Scanner-Anbindungen musste dann eine andere Programmiersprache zusätzlich eingesetzt werden (Portüberwachung), aber für den Rest braucht man nichts weiter als PHP5+Ajax. Selbst OOP wird nicht genutzt, weil es in Planung und Entwicklung einfach viel zulange dauert und man ein gut strukturiertes prozedurales PHP-System sehr schnell versteht. Selbst mein Cousin sagt, dass PHP extrem geil von der Hand geht und ihn als C - Profi vieles an seiner Programmiersprache auf den S..k geht. Also das PHP schlecht ist, naja (wurde ehr für die Aufmerksamkeit ala YT-Algo gemacht), kann ich nicht bestätigen.
Für Frontend war JavaScript schon sehr lange relevant, wenn auch verpönt unter vielen Softwareentwicklern, die nicht in der Webentwicklung tätig sind. Dass es heute nicht mehr so verpönt wird, liegt u.a. daran, dass das Design der Sprache deutlich verbessert wurde. Seit es anständige Klassen in JavaScript gibt (seit ECMAScript 2015) und in Verbindung mit Modulen kann man tatsächlich anständigen objektorientierten Code in JS schreiben. Vorher war es ein einziger Hack. Zusammengefasst, JavaScript ist heutzutage nur besser, weil es mehr Richtung Java und C# geht und sich vom ursprünglichen JavaScript Design entfernt :D
Finde JavaScript aber ehrlich gesagt auch nicht sonderlich ansprechend und trotzdem schlechter als PHP. In PHP hat man eigentlich so ziemlich alles, was man braucht. In JavaScript ... oh, du willst HTML Entities escapen, hahaha, tut mir leid, haben wir nicht. MVC oder MVVM, ach sorry, da können wir leider nur mit Vue.js oder Angular dienen wo man mit NPM abermillionen Dependencies braucht von denen einige einfach nur dazu da sind, irgend was triviales zu berechnen.
damals in der uni fiel mir html viel viel einfacher als c++. ist php viel viel einfacher als java zu lernen? denn java find ich genauso unständlich wie c++ und hab keine lust mehr. wenn aber php wesentlich einfacher ist, würde mich das interessieren
Danke für das Kommentar, in erster Linie kann man HTML nicht mit C++ vergleichen weil HTML nicht mal eine Programmiersprache ist. Aber ich kann aus Erfahrung sagen dass PHP viel einfacher ist als Java allerdings kannst du mit PHP NUR Webseiten entwickeln und mit Java kannst du Android Apps oder Windows/Linux/Mac Programme machen. PHP ist eine Server seitige Scriptsprache und man sollte sich nicht die Frage stellen welche Sprache man lernen will sondern was will man programmieren. Wenn du eine Mobile App machen willst dann ist PHP nicht das Richtige für dich ;)
@@VitalijMik ich will nur einen neuen beruf erlernen. wenns mir spass machen würde, würde ich java-entwickler lernen. mein berufsberater meint :"mach fachinformatiker systemintegration, da ist kaum programmierung, und auch dieser beruf ist gefragt". aus diesem grund habe ich diese vielleicht seltsamen vergleiche gemacht. danke für deine hilfe vitalij :)
ja es gibt viele Berufe die mit Informatik zu tun haben wo man weniger Programmieren muss. Systemintergration, Informatikkaufmann, und ganz neu " daten- und prozessanalyse" befor du dich in eine Ausbildung stürtz versuch mal ein Praktikumsplatz mit initial Bewerbung zu kriegen. Lieber ein Monat ausprobieren und feststellen dass es einem kein Spaß macht als 3 Jahre sich dann zu Quälen ;)
Ohne zu wissen was jetzt im Video noch kommt (man soll ja pausieren und seine Meinung jetzt schon schreiben)... Du kannst mit PHP viel zu viel Schweinerein machen... Erst ein bisschen OOP dann wieder Funktional dann wieder oop, zwischen durch bisschen html code ausgeben dann wieder mit Business Logic weiter... - mit PHP Kein problem. Als Entwickler, der etwas mehr als nur eine kleine Wordpress seite macht, ist das ein graus schlechthin! Zumal viele Features/Konzepte, welche in anderen Sprachen von Grund auf dazugehören, kamen bzw kommen erst nach und nach. Aber genau da liegt auch die stärke von PHP. Es ist sehr leicht zu erlernen und führt zu fixen Ergebnissen. Ob diese dann Sicher, von guter Qualität oder schön Wartbar sind sei mal dahin gestellt. Trotzdem kann die Mutti von nebenan in kurzer Zeit ihr eigenes kleines Script für ihren Wordpressblog schreiben. Desweiteren ist diese Typfreiheit für den Anfang ganz geil da man sich nicht damit rumärgern bzw. verstehen muss wo die Unterschiede von Typen sind. Jedoch in ein großes Projekt einsteigen, welches am besten sogar noch nach eigenen Standards arbeitet ist schon richtig gemein...Da zu verstehen wieso ggf. ein Fehler ist wie er ist kann schon manchmal etwas dauern. Oder sich auch im Team organisieren bedarf gewisse andere Regeln als in anderen Sprachen. Und (ob das jetzt ein Vor oder Nachteil ist muss jeder selbst wissen): PHP ist eine reine Websprache. So, gucken was jetzt noch im Video genannt wird :D
@@VitalijMik habs trotzdem zu ende geguckt :P Beim Video gucken dachte ich mir aber auch, dass es ggf. eine (deutsche) Mentalität ist alles erstmal negativ anzunehmen, was schnell und leicht erlernbar ist. Wenn ich ein Studium von 6 Semestern machen muss um mich Informatiker schimpfen zu dürfen, dann ist automatisch alles andere nicht so gut, was gefühlt in 1-2 Wochen erlernbar ist :D Und dann kommt auch jedesmal der Glaubenskrieg: OpenSource VS CloseSource Sprachen oder Tools die darauf basieren.Wie oft ich im Studium gehört habe: "Ich kann doch kein Geldverdienen mit Sprachen/Tools/Programme die OpenSource sind. Das kann doch nicht Sicher sein wenn jeder den Quellcode kennt"... etc. .. Du kennst es bestimmt :-p
Viele professionelle Entwickler habe die Vorstellung eine Sprache muss dir so viele Geländer wie möglich geben. Natürlich benötigt ein Baby ein ganz anderes Geländer als ein Erwachsener. Aber was sagt es über einen Entwickler aus der durch so viele Geländer wie möglich davon abgehalten werden muss kein Blödsinn zu machen?
PHP ist langsam (< JS) und eine in HTML embedded Sprache, das Problem daran ist, dass man die assets nicht vorhert komprimieren kann bzw. preprocessen (unbenutzter CSS entfernen etc.). Das ganze skalliert sich einfach nicht gut in einem größeren Produktions environment. Der syntax ist zu dem auch nicht das gelbe vom EI. PHP ist wie Python, aber mit komischen Syntax und schlechterer Performance.
Woher weißt du, dass PHP langsamer ist als JS? Was ist HTML embedded? PHP kann zwar dazu genutzt werden um HTML zu erzeugen, muss es aber nicht. Warum sollte man assets preprocessen? Wenn du von scss sprichst, was hat es mit PHP zu tun? Was sind größere Produktionsenvironment für dich? Ich entwickel an vielen großen online shops wo mehrere 100e Kunden pro Minute drauf gehen und am Black Friday und Weihnachten noch mehr zugriffe. läuft alles stabil. Syntax ist gar net so schlecht, lehnt viel an C# und Java an. Python find ich schlimmer, wenn man da die Leerzeichen an falscher Stelle setzt, gehört dann der Code zu einem anderen Funktions Block. Eine Datei in vi zu editieren ohne zu viele Plugins zu installieren ist echt gefährlich.
Finde ich jetzt eine Webseite herunterladen nennen wir jetzt zum Beispiel RUclipsr dann ist die immer so komisch vor Brücken und nutzlos zweiteilt wiso ?
Weil du nur den HTML Code herunterlädst und RUclips versucht ja eh sein Content zu schützen weil die damit Geld verdienen dass du auf der Seite bleibst
@@Der_Nevio Nein, beim Aufruf der Website schickt dein Computer eine Anfrage und der Server der Webseite bastelt dir aus Codefragmenten eine zu deiner Anfrage passende Webseite, die dir dann angezeigt wird.
Hm, also ich schreibe PHP seit 3.0, und ich finde, PHP gilt zu unrecht als Einsteigersprache. Meine Kritik an PHP ist, daß es zu viele Altlasten mit sich herumschleppt. Es würde mal Zeit für einen radikalen Versionsschnitt, der auf Rückwärtskompatibilität verzichtet und ordentlich ausmistet. Die neueren Versionen bieten viele Alternativen, die auch unbedingt eingesetzt werden sollten - zuvörderst Type Hinting. Das ist mir noch nicht konsequent genug umgesetzt. Ich möchte strenge Typisierung an jeder Stelle, ob Funktionswerte, Argumente, Eigenschaften, Variablen oder Konstanten. Ich bin jetzt eine Weile aus PHP raus und weiß nicht genau, wie weit das inzwischen vorangetrieben wurde. Meines Wissens ist es noch nicht vollständig konsequent realisiert. Das größte Problem sind unsichere Funktionen und kein einheitliches Verhalten. Von inkonsequenter schreibWeise/schreib_weise mal abgesehen, ist das Verhalten bei Encoding-Angriffen und Nullterminierung unterschiedlich. Ich wurde mal in eine Projektgruppe gerufen, wo der Chef stolz das selbst entwickelte CRM präsentierte. (Er hielt es für eine völlig neue Softwareidee, war aber nix weiter als eben ein schlechtes CRM.) Er zeigte mir die Oberfläche: "Hier kann der Admin - das bin ich - ..." Ich hatte mir daheim den Code durchgesehen, machte mir einen Account auf dem Entwicklungsserver, und nächsten Tag war ich der Admin. :D Im Code fand ich viele verschiedene Handschriften. Es war ein Sammelsurium an Spaghetticode, wo jeder mal etwas hinzugefügt hat. Prepared Statements Fehlanzeige, es wurde mit Sanitize gearbeitet. Ein einfaches Nullbyte reichte aus, um den String für die Plausibilitätsprüfung zu beenden. An die Datenbank ging aber der komplette String, sodaß es ein einfaches war, sich per SQL-Injection die Adminrechte für die soeben erfolgte Registrierung zu holen. So etwas sollte eigentlich bei einem vernünftigen Sprachdesign erst gar nicht möglich sein, zumindest sollten die Funktionen ein einheitliches Verhalten aufweisen. Man muß bei PHP sehr genau wissen und ggf. testen, ob Nullterminierung möglich ist, ob die Funktionen Multibyte-Safe sind usw. Man ist als Programmierer in vollem Umfang verantwortlich, für die Sicherheit sorgezutragen, und das an Stellen, wo man es gar nicht erwarten würde. PHP verbessert sich immer mehr; ich denke aber, es ist noch nicht auf einem Stand angekommen, den man uneingeschränkt befürworten kann. Schon gar nicht ist PHP für Anfänger geeignet, denn da sind extrem viele Sicherheitslücken schon vorprogrammiert. Positives in Sachen Webprogrammierung und Sicherheit höre ich häufig von Ruby on Rails. Ich habe mich damit aber noch nicht befaßt. Das Rails-Framework soll von vornherein sehr auf Sicherheit ausgelegt sein. Vielleicht kann ich mich ja mal motivieren, meinen Horizont etwas zu erweitern und Ruby on Rails eine Chance zu geben. Ehrlich gesagt schreibe ich für Webentwicklung immer noch PHP, weil es mein Hammer ist, also ist jedes Problem ein Nagel. :D Sich mit neuen Dingen auseinanderzusetzen kostet viel Energie und Nerven.
Btw. daß in einem gewöhnlichen String auch Nullbytes auftreten können und Funktionen existieren, die - da sie in C implementiert sind - auf eben diesem Datentyp nullterminiert arbeiten, dürfte überhaupt gar nicht passieren. Dafür müßte es dann einen gesonderten CString oder Bytebuffer geben, und Funktionen die gewollt nullterminiert arbeiten, akzeptieren nur diese Datentypen.
Guter vergleich mit Ruby on Rails ;) ja PHP im Kern hat Dinge die ein Anfänger sofort falsch machen kann. Strikte Typisierung ist übrigens seit php 7.4 zugelassen wenn man in der Datei wo man es haben will strict_types aktiviert. Aber zurück zu ruby on rails, Ruby an sich im kern ist sicherlich genauso anfällig wie PHP. Aber Rails das Framework schützt einen. Wir haben in PHP Natürlich auch unsere Frameworks wie Symofny, Laravel, Laminas. Jede größeres Unternehmen setzt nur noch auf Frameworks. Im beruflichen Umfeld nutzen wir Tests, Deployment Pipelines, Code Reviews usw. Also man kann nicht sagen ruby wäre besser weil rails da muss man schon fair bleiben;) Klar gibt es noch spaghetti code im umlauf, aber ich finde das zeigt die Langlebigkeit von PHP. Irgendwann vor jahren hat jemand was aufgesetzt um ein Problem zu lösen und es läuft immer noch, nicht schön aber selten sagt man doch :D
@@VitalijMik Was ich an PHP noch ziemlich müll finde, ist die inkonsequente Case-(In)Sensitivität. cOnSt KONSTANTE = 'konstant'; cLaSs WachsTube { puBLic $property = '123'; PubliC FUNction func(){ echo 'TEST'; } } $wt = new WachStube(); // warum ok? WachStube != WachsTube $wt->FUNC(); // warum ok? var_dump($wt->PROPERTY); // null, warning echo konstante; // fataler Fehler $WT->func(); // fataler Fehler Schlüsselwörter, Klassen und Methoden sind case insensitive, Konstanten, Variablen und Eigenschaften hingegen case sensitive. Für ein Schema sollte man sich endlich mal entscheiden, vorzugsweise case sensitive.
Der ::class operator ist auch relativ sinnbefreit: namespace some_namespace { $test = NonExistentIdentifier::class; var_dump($test); // string 'some_namespace\NonExistentIdentifier' (length=36) }
@@pinkeHelga sinnbefreit würde ich jetzt nicht sagen, nutze es oft, nur wird da keine klasse instantitiert und deshalb gibts keine Fehler an der stelle, vermute ich.
Es gibt leider sehr viele schlechte Anleitungen zum programmieren im Internet was PHP angeht. Von den ganzen Foren ganz zu schweigen. Daher ist mit PHP auch so viel Mist entstanden!
Jep und leider weil die Beiträge so alt sind, werden die immer noch hoch geranked in Google, deshalb sage ich immer, dass man auf das Datum des Tutorials achten sollte.
@@VitalijMik Weil es eine riesen große Software ist die von vielen Leuten entwickelt wird ist es klar dass auch hin und wieder mal bugs verursacht werden
Naja es gibt einige Bugs, die hat jede Software. Allerdings wenn man sich die Bugreports anschaut sind einige sehr sehr spezifisch und treten eher sehr selten auf. github.com/php/php-src/pulls das ist nicht wirklich eine Begründung. Vergleich das mit anderen Programmiersprachen wie etwa Pyhton bugs.python.org/ dann ist PHP doch moderater
@@memecompilation9014 naja ich muss korrekterweise sagen dass ich falschen Link da gepostet habe. Hier sind die Bugs von PHP bugs.php.net/search.php?limit=30&order_by=id&direction=DESC&cmd=display&status=Open&bug_type=All&project=PHP
Was genau? Hast du auch nur das Bild gesehen? Als ob ich PHP schlecht finden würde und dann eine PHP YT Channel führen. Als PHP Entwickler arbeiten. Für die Zeitschrift PHP Magazin Artikel verfassen.
@@VitalijMik Der Titel auf den ich mich beziehe ist eine pauschale Meinung.. das wollte ich schreiben. Eine und nicht deine..somit sollte das Kommentar: ,,Das ist eine pauschale Meinung'' lauten, aber keine Sorge Vitalij.. ich bilde mir immer eine eigene Meinung bevor ich ein Bild sehe.. Ich wollte deine Fähigkeiten und dein Wissen keinenfalls untergraben.. auch nicht deine Tätigkeit als PHP Entwickler, als PHP Kolumnist, PHP Redaktuer, PHP Regisseur, PHP Produzent, PHP Dozent, PHP Schriftsteller, PHP Kommentator, deinen PHP Vlog und vl. einen PHP Blog, deine PHP Philosophie, deine Bekenntnis zur PHP Programmiersprache, PHP Titel und tausende weitere PHP behaftende PHP Akronyme, Synonyme und Wortspiele rund um das Thema PHP nicht in Frage stellen.. Wie du im Video richtig angesprochen hast, googeln viele Neuelinge nicht wissend einen alten Beitrag zu PHP... und bilden sich eine eigene negativ behaftende Meinung zu PHP... weil diese das ml gelesen haben...... Alles ok und easy... :)
@@dzenisrizvic das stimmt der Titel ist sehr pauschal. Ich habe aber immer bei Konferenzen erlebt dass Entwickler anderer sprachen die PHP Entwickler nicht ernst nehmen. Diesen Konsens konnte ich auch auf redit Stack oferflow usw beobachten. Es gibt keine Studie oder Umfrage zu diesem Thema aber es heißt nicht dass es nicht existiert. Siehe den verlinkten Betrag.
@@VitalijMik leider Vitalij.. ich beschäftige mich sehr mit PHP.. und brauche es für Wordpress bzw. für die Erweiterung ..namens Woocommerce oder auch für Plug Ins die wir entwickeln oder erweitern.. Leider gebe ich dir in diesem Punkt recht, dass PHP Entwickler nicht - mehr - ernstgenommen werden... Die Frage ist wo sich dieser Trend hinentwickelt...
Hallo Vitalij, Du weist offensichtlich nicht von was Du redest! Sonst würdest Du nicht solch einen geistigen Dünnschiss von Dir geben. Was in Deiner Argumentation fehlt sind die Fakten. Ich höre hier nur Klischees.
@@VitalijMik Die Frage ist doch vielmehr, ob sich Dein Beitrag über die Unbeliebtheit von PHP gelohnt hat. Deine Argumentation beruht ausschließlich auf Klischees und es fehlen die Fakten. Du behauptest pauschal PHP sei unbeliebt unter vielen Programmierern. Auf welcher repräsentativen Statistik beruht diese Aussage? Ich entwickle beispielsweise als freiberuflicher Softwareentwickler seit vielen Jahren mit PHP und tue dies gerne. Aus meiner Sicht kann von Unbeliebtheit keine Rede sein. Ich denke, das muss gesagt werden dürfen, weil ich sicher für viele erfolgreiche PHP-Entwickler spreche, die mit Deinem Beitrag nicht einverstanden sind. Gruß Jörg
Du hast wohl mein Video nicht gesehen. Ich verteidige PHP und finde es schade dass Entwickler anderer sprachen es schlecht reden. Ich bin selbst ein PHP Entwickler und finde die Sprache toll. Wtf? Hast wohl nur das Bild gesehen und dachtest dir einfach so "ich beleidige den mal".
Sorry für den Text am Anfang.. da habe ich wohl nicht aufgepasst :(
Haha, lieber Vitalij, ich bin genau den umgekehrten Weg gegangen: C#, JavaScript, nodeJS und Angular und seit ca. 2 Jahren programmiere ich gerne in PHP! PHP hat eine gute leicht verständliche Struktur. Man kann rein objektorientiert oder prozedural programmieren und es ist bei fast allen Webhostern vorinstalliert! Ich habe PHP wirklich schätzen gelernt!
ich denke auf langer Sicht wird PHP sich auch näher an C# gehen, viele PHP Entwickler begrüßen einige C# Fetatures wie getters/setters, generics und mehr Typisieung:D
Super Videos Vitalij, die helfen mir alle sehr.
Dankeschön und danke fürs Zuschauen
PHP ist wirklich eine Geile Sprache und muss wie auch C# oder Java richtig gelernt werden. Funktionalen Spaghetti Code kann man auch wunderbar in C# schreiben. Habe das auch schon gesehen :)
Top Video!
Dankeschön. Bei C# hat man halt die Typisierung wodurch man weniger Fehler macht, viele bekannte PHP Entiwckler haben auch gesagt, allein wenn man sich an die Typen hällt hat man viel weniger Komische bug die langes Debugging verlangen.
Super!
Ich stecke gerade fest, habe zuletzt auf PHP4 gemurkst und fühle mich nun völlig überfordert. Auf's Datum schaue ich immer. Leider habe ich ständig das Gefühl, dass die TUTs - quer durch die Bank - Müll sind. Seit 2 Wochen versuche ich Tutorien in 2 Sprachen zu folgen. Dabei habe ich bestimmt 200 verschiedenen Personen zugehört. Den meisten konnte ich 5 Minuten zuhören, dann hatte ich die Krise. Danke für die Tipps.
Danke für das Kommentar;) vielleicht sind ja meine Tutorials nicht sooo langweilig und eventuell kannst du dir diese geben;)
Super gutes Video, Vitaliy. Dein Statement stimme ich zu 100% zu. Es ist in Prinzip egal was andere sagen, denn nur die Fakten zählen. PHP ist das meistgenutze Werkzeug für Webanwendungen.
Und schlechten Code kann man mit allen Sprachen schreiben. PHP ist nicht einfacher als andere Sprachen. Klar, man kann schnell Ergebnisse sehen, aber wer gut sein will muss testen. ( PHP UNIT ). Ich würde mit solchen Leuten, kein Wort wechseln. Entwickler die sowas behaupten sind die reinste Zeitverschwendung, von solchen Menschen kann man nichts lernen.
Dankeschön, dem ist nichts entgegenzubringen :D (PS Sorry für die Späte Antwort, das Kommentar System von YT ist total unübersichtlich im Admin Interface)
Vitalij ich schätze Dich als Person, und Du bist ein Absolut schlauer Mensch (in meinen Augen). Mir macht es Freude deine Videos zu sehen. In dieser Sache (und mir geht es nur um die Sache). Sehe ich ein paar Dinge anders. Ich führe Seit php3 ein Softwareunternehmen (Insgesamt habe ich 8 Unternehmen wenn mein meinen Namen googelt wird man schlau). Das war noch kurz vor den 2000er Jahren, soweit ich mich erinnern kann.
Ich möchte sagen, ich selbst kann nur über solche Sachen schmunzeln wie Standards. Damals haben die ersten Repositories unsere Firma fast in die Ruine getrieben. Ich nenne das den AA Topf. Viele Firmen betreiben heute noch den AA Topf, weil es ja modern, und standarisiert ist, also sollte man das so machen. Ich sage Dir was. Herr B schreibt einen Code A und wirft den in den Github. Nun 600 User ziehen den Code in den Composer. 600 Projekte entstehen. OOP schön und gut, aber nicht notwendig. Letzt endlich sind die 600 Projekte jetzt EXTENDET aus dem Composer. Nach 2 Jahren ändert HerrB den Code. Und 600 User ziehen das Update durch den Composer weil ja standarisiert. 200 der 600 Projekte laufen nicht mehr. Jetzt wirst Du sagen, ja aber man sollte extendet nicht so, oder nur selten oder nur in bestimmten Zusammenhängen verwenden. Ja, aber dann kannst das gleich kopieren. Ich Frage mich immer warum Ihr so viele Test fahrt. Das ist der AA Topf. Der funzt auf der Basis, dass Herr A was proggt. Herr B was ändert und Herr A einen Crash hat. Und dann gehen beide auf den AA Topf. Und müssen anpassen und callen und ändern und testen. Und das nennet die moderne Programmierwelt, Standards, und moderne OOP. Nein, Ich bin der Auffassung dass jeder einzelne Entwickel so callen soll wie er das will und braucht. Und das geht nur, in dem man den Composer Code erst einmal in eine LIB zieht und dann auch noch mit einer Version versieht. Jetzt kann Herr B eine Änderung vornehmen. Alle 600 Projekte laufen garantiert. Warum? Die einen callen diese Version die anderen die andere. Und wo soll das Problem denn sein? Wir kennen sowas gar nicht was du beschreibst. In unserer Firma gibt es solche Crash aus den genannten gründen so gut wie nie. Jeder kann rum extendet so viel er mag. Es funktioniert trotz allem. Und Testen auf dem AA Topf, müssen wir auch, aber wesentlich seltener. Eine Klasse gehört nicht geändert. Das meine persönliche Meinung. Und wenn dann muss man dem Namespace eine andere Version geben, damit der Entwickler der weiter entwickelt selben entscheiden kann was er callt. Herr B war nur ein Beispiel, aber durch den Composer und das herumwerfen des Codes, also jeder linkt jeden, ist der Code überhaupt nicht besser geworden. Nein er ist anfälliger und um Welten schlechter geworden. Denn na klar sollt was irgend wie nach irgend welchen Standards tun. Aber der Herr Defakto sagt Dir dass genau dies nur ein Wunschdenken ist. Es gibt natürlich auch Fälle wo ein Composer Update Vorteile hat, wenn zum Beispiel irgend ein API nicht mehr supportet wird. Klar kein Thema. Aber das lässt sich auch in einer Library berücksichtigen. Und glaube mir, man kann auch so sehr sehr große Projekte in Kurzer Zeit umsetzen. Die Gesichte ist einfach schlicht falsch wenn man was anderes behauptet. Wir haben z.B. mittlerweile ein paar Tausend Bibliotheken. Und das Funktioniert problemlos. Sogar dann, wenn Progger A im selben Projekt ein und die Selbe Lib call als Progger B und beide in einer anderen Version. Überhaupt kein Thema. Der Konflikt entsteht dann nur noch zwischen den 2 aber nicht mehr im Code. Vorausgesetzt man benennt die Klasse in Klasse_versionsnummer um. Die können jetzt extendet was die wollen. Es wird keinen Konflikt geben. Beide sparen sich den AA Topf. Und ja was bedeutet mehrere an einem Projekt arbeiten? Sowas ist doch von vorne rein schlecht. Wenn du in ein Auto 2 Lenkräder einbaust, der eine nach links und der andere nach rechts lenkt, wird es das Auto Zereisen. Meiner Meinung nach muss man die Aufgaben eben nur so aufteilen, dass sich die Leute kaum in Konflikt geraten können. Und dazu ist der Projektleiter verantwortlich, der nicht programmieren soll, sondern der den Überblick über das ganze stehts refreshen soll. Und am Ende des Projektes seht dann der AA Topf. Hier kann man auch schauen wass sich zusammenführen lässt. Wenn mir dann einer sagt, dass ein Projekt dadurch nicht übersichtlich ist muss einwenden. Die extendieren aus dem modernen PHP OOP sind das auch nicht mehr erstens, und zweitens wer der Meinung ist, dass sein Code verständlich ist, soll mal einen vorsetzen der zwar was auf dem Kasten hat, aber der noch nie in seinem Leben auch nur das geringste mit seinem Code zu tun hate. Und nach dessen sollte er urteilen. Ich kenne eben kein Framework, und kein andere Großprojekt wo einer sofort komplett durchsteigt. Aus dem Grund sind solche Aussagen fehlerhaft. Ich bin einfach nur der Meinung wenn jemand einen Fermdcode nutzt, dann soll diesen mit einer Version versehen. Damit er genau weis welchen Code er callt, also welche Ableitung. Und letzt endlich ist es dann doch übersichtlicher, weil jeder versteht warum er das abgeleitet hat und weswegen. Leider sehe ich das immer wieder wie sich andere Programmierer in Grund und Boden ärgern. 10% des Tages produktiv Coden 40% Crashes beheben, und 50% Testen. Wenn das produktiv ist, dann jedem das seine. Und zum Schluss, ich sage nicht das meines das richtige ist. Nein ich sage nur warum ich es so mache, und dass ich keine Probleme damit habe. Es gibt bestimmt unzählige andere Ansätze. Aber was mich ärgert, dass so viele das Ganze dann als Schlau und richtig verkaufen. Und wenn es nicht funzt setzt man Standards fest. Aber ich sage euch die Standards die verbessern es nur, aber die Probleme am AA Topf bleiben die gleichen. Und wenn mir dass dan die schlausten als "geniale Lösung" erklären weis ich auch nicht. Mmn. Modern ja, aber genial? Das ist auch der Grund warum viele Progger die gegen PHP schießen oft recht haben. Genau das geht in PHP ab. Ein Murks nach dem anderen. Und retten sollen es Standards. Seit PHP 5 hat jede Erweiterung im OOP auch so seine Nachteile mitgebracht. Und so genial und nützlich der Composer ist, so viel Nachteile bringt er mit sich. Und da ja viel gegen Javascript schießen. Ich progge sein 1997 und noch nie ist irgend wein Javascript Code veraltet von mir. Dass neues dazu gekommen ist klar. Aber warum geht das in PHP nicht? Erst hat man das Extendet eingeführt damals vor langer Zeit, und jetzt den Standard dass man nur bei gewissen Zusammenhängen extendet soll. Ja wunderbar. Aber ist jedem doch bewusst, dass OOP dazu gar nicht notwendig ist? Letzt endlich wäre jeder COPY und PASTE Codeschnipsel den man anpasst ein EXTENDET im klassischen Sinn, und brächte die selben Konflikte. Aber im OOP ist es modern also ist es mit einem gewissen Standard schon richtig so. Kann ich nicht ganz nachvollziehen. Aber letzt endlich ist der Composer auch nur ein copy und paste von irgend wo her. Schlimmer noch, den kann ein Fremder durch update ändern. Und letzt endlich ist dann das Thema coden doch selbst verfehlt. Und das ist es was PHP in Verruf bringt. Jeder versucht jetzt ein modernen Multikulticode zu entwickeln. Und Raus kommt am Ende oft verbuggtes. Klar rege ich mich da auf über PHP obwohl ich es selbst unendlich nutze. So ein Mißt in PHP kommt nur zustanden wenn man eine Programmiersprache so weiter Entwickelt wie es anfangs nicht vorgesehen war. Extendets war für die eigenen Projekte gedacht (ursprünglich) und jetzt wird es durch den Composer an Fremdcodes misshandelt weil ja die gesamte Syntax funzen muss. Und dann kommt genau sowas dabei raus. Und früher gab es diese Probleme nicht. Sorry im übrigen für die Buchstabendreher ist am Handy schwer zudem Kommentare sehr klein und bei mir ist eine neue Brille fällig. Und denkt nur ein paar Jahre weiter. Da wird euer Code im Composer vertausendfacht sein. Und dann wollt ihr was an eurem Projekt ändern. Das ganze wird zwangsläufig zu einer Mengen Ärger führen. Das Resultat wird der Aufenthalt auf dem AA Topf sein.
Worauf beziehst du dich genau? ;) Ich habe im Video nichts schlechtes über PHP gesagt, nur einen Titel gewählt der andere dazu anregt drauf zu klicken
Die Beschreibung mit AA-Topf gefällt mir. :D
Ich bin ja eigentlich Freund der OOP allein wegen der schönen Syntax. Ich muß aber sagen, je länger ich OOP programmiere - und das sind Jahrzehnte - umso mehr weiß ich wieder die gute alte prozedurale Programmierung zu schätzen. Strenge Typisierung gabs auch schon damals, ja besonders damals, als es neben schlechten Interpretersprachen wie Basic nur Compilersprachen gab. Imgrunde ist es genauso gut, wenn man ein struct/record deklariert und eine Funktion, die eben diesen als Argument erwartet. obj.doSomething bzw. $obj->doSomething und this sind halt etwas schöner zu lesen. Bis zu dem Punkt ist OOP echt die schönere Alternative.
Dann kommen die Zugriffsmodifikatoren ins Spiel. Ok, ein schönes Feature für organisatorische Zwecke; man sieht beim späteren Aufruf, welche Methoden und Eigenschaften als Schnittstelle gedacht sind. Dann werden Grundsätze erfunden wie alle Eigenschaften privat + public getter & setter. Wozu der Overhead und Entwicklungsaufwand, solange die getter und setter nichts anderes tun, als die Eigenschaft unverändert zu setzen bzw. zu lesen? Klassen sollen also stark kapseln und möglichst nur eine kleine Aufgabe übernehmen. Da fängt man an zu überlegen, ob sie nicht zu viel tut, also lagert man Teile in andere Klassen aus. Die müssen auch gekapselt sein und nur wohl definierte Schnittstellen zulassen. Die neue Klasse B braucht aber auch Informationen aus Klasse A, der Zugriff darf aber nicht gestattet sein. Also vielleicht noch ein Interface deklarieren und die Methoden jeweils einzeln in den Klassen implementieren? Natürlich muß noch ein dependency injection System her. Eine simple Aufgabe wächst zu einem riesen Problem heran, das ständig neue Probleme aufwirft und einen haufen Zeit in Anspruch nimmt, was man auch mit ein paar kleinen direkten Aufrufen hätte lösen können.
In Unity3d steht man einem C# Framework gegenüber, OOP natürlich, bei dem die meisten Klassen sealed sind. Man kann also nicht einmal davon erben, nur anwenden, so wie sie sind. Es gibt vorgesehene Funktionalitäten, die wunderbar funktionieren. Man kann schnell ein Mainstreamspiel zusammenklicken. Viele Funktionalitäten wurden aber "vergessen" bzw. halt einfach nicht vorgesehen. Oberflächlich kann man ja noch in den C# Code blicken, bis er dann in nativen Codeaufrufen endet. Die Lösung wäre oft einfach: eine protected Eigenschaft ändern oder interne Methode aufrufen, und der Drops ist gelutscht. Geht nicht, kein Zugriff.
Was nun? Projekt aufblähen (besonders bei WebGL nicht wünschenswert) und mit reflection so gut wie möglich Zugriffssperren umgehen? Hilft oft wunderbar. Alles noch einmal redundant neu coden in einer eigenen Version? Auch da stößt man häufig an die Grenzen der Interna.
Je weiter der OOP-Wahn mit allen DOs und DON'Ts voranschreitet, umso mehr erlebe ich, wie ein Großteil der Entwicklungszeit nur noch dafür drauf geht, Workarounds zu schreiben, um das unmöglich Gewordene noch möglich zu machen. Am Ende bleibt oft die Frage: clean code, der nichts kann, oder dirty hacks, aber man kommt zum Ziel.
Inzwischen gehört Klassenvererbung - früher der absolute Hype schlichthin - ja auch zu den eher verpönten Techniken. Es würde das Kapselungsprinzip untergraben usw.
Dann existiert die Ansicht, eine Klasse sollte von außen "gebuildet" und initialisiert werden. Eigentlich war doch aber die Idee der OOP, daß jede Klasse für sich selbst zuständig ist, also gerade nicht von außerhalb bedient wird. Der ganze Katalog an Prinzipien widerspricht sich gegenseitig, und jeder vertritt unterschiedliche Meinungen, was jetzt in oder out ist.
Persönlich würde ich einen Großteil der gehypten Design-Patterns eher schon als Anti-Patterns bezeichnen. Oft ist es besser, eine Lösung erst mal möglichst direkt zu programmieren. Das geht schnell, und man hat ein funktionierendes Stück Code. Stellt sich dann heraus, daß einige Teile häufiger in generalisierter Form wiederverwendet werden könnten, schreibt man die entsprechenden Stellen halt entsprechend den Anforderungen um.
Meistens schreibt man ja doch nur Code für ein bestimmtes Projekt, die dann nie mehr wiederverwendet wird. Daß man ihn als Codebasis für ein weiteres Projekt irgendwann in der Zukunft nutzt, passiert erfahrungsgemäß selten. Wenn man das will, sollte man tatsächlich ganz gezielt ein reines Framework entwickeln, das kein spezielles Ziel hat. Meistens besteht aber die Zeit/das Budget dafür nicht, ein eigenes Framework zu erstellen und zu pflegen.
Fazit: OOP ist ein schöner, oft gut lesbarer Stil. Restriktionen können oft sinnvoll sein, um spätere Fehler zu vermeiden. Es bringt aber auf der anderen Seite auch einen Haufen Probleme mit sich. Man fährt einen Ferrari mit gedrosseltem Motor. Es fehlt an Vertrauen in die eigene weiterführende Programmierung und die des Teams, also riegelt man Zugriffe ab, was dann oft eine schnelle, effiziente und performante Programmierung verhindert. Die Grenze zwischen strukturierter Programmierung und Overengineering verläuft fließend.
Manchmal wäre es besser, der Weiterentwicklung alle Möglichkeiten offen zu halten und stattdessen die Codebasis gut zu dokumentieren und Warnungen zu verzeichnen, welche Nebeneffekte beim direkten Zugriff auftreten könnten. Manchmal macht es aber Sinn, einfach die Motorhaube zu öffnen, einen Schraubenzieher in die Choke-Klappe (die guten alten Vergaser) des abgesoffenen Motors zu stecken und die Zündung zu betätigen. War so nicht vorgesehen, aber funktioniert; der Motor bekommt wieder Luft und das Gemisch stimmt.
Was ist ein "AA-Topf"?
alte und oder schlechte Tutorials sind kein PHP Problem allein, das gilt wohl für alle Sprachen. PHP verleitet halt viele dazu schnell mal was zusammen zu klatschen, bei Java zB wird man schon vom Compiler gezwungen halbwegs sauberen Code zu schreiben. Gebe dir da vollkommen recht, wohl alle Sprachen haben Ihre Leichen im Keller, unglaublich welche Meinungen man von manchen zB über Java hört, mag bei V4 so gewesen sein, aber wer arbeitet damit schon noch.
Muss zugeben bin selbst auch kein großer Freund von PHP da mich gerade in der Webentwicklung die ganzen Tools und Frameworks nerven. Dazu HTML CSS JS, von allem ein bisschen, während man bei anderen Sprachen bestenfalls paar passende Bibliotheken einbindet und fertig ... Aus meiner Sicht daher: in anderen Sprachen (Java, C#, Python, ...) entwickeln macht Spaß. In PHP gerade wieder aktuell, Augen zu und durch
Naja dann wird dir bestimmt PHP 8 gefallen;) Es geht aktuell mehr in Richtung C#/Java uns fehlen noch Generics und Getter/Setter und schon ist php auf einem nahezu Perfektem Zustand ;) Compiler haben wir jetzt auch schon und das Einbinden von externen Libraries geht auch. www.php.net/manual/de/book.ffi.php
Also ich denke PHP muss sich nicht vor anderen Sprachen im Jahr 2020 verstecken ;)
Hi Vitalij, habe mir vorhin dein anderes Video zu "Collection" angesehen. Da hattest du ja auch das Thema Generics angesprochen. Für mich ist genau das, was in PHP leider fehlt. Alle Umwege wie instanceof und Spread-Operator sind ziemlich unschöne Workarounds. Ansonsten finde ich PHP super, es gibt so viele großartige Libraries und die Möglichkeit alles sauber zu testen. Viele Grüße!
Es ist halt nicht einfach feste Typen und dynamische typen zuzulassen in hashmaps. Generics ist echt kompliziert vielleicht kannst du dir ja den source code von PHP anschauen und es fixen? ;) Würdest der Community sicher weiterhelfen
@@VitalijMik Vielen Dank für deine Antwort! Haha, ja ich kann ein Pull-Request machen, ob das dann durchkommt ist eine andere Frage :-D
Danke für deine gute Erklärung, für mich war es bisher unverständlich das manche über PHP so herziehen. Du könntest mal ein Video machen, wieso so viele professionelle Webdeveloper macOS oder Linux verwenden ;)
Dankeschön. Es ist halt einfach nur wegen der Konsole und den Command line tools
@@VitalijMik Meines wissens nach funktioniert das auch unter Windows problemlos. Egal ob Kommandozeile oder Powershell. Ich glaub die Begründung kann man so nun jetzt nicht stehen lassen.
@@techtroax7463 Moin, ja es funktioniert unter Windows aber es ist nicht First Priority. Die normale CMD.exe kann man in die Tonne kloppen. Dann wenn du ein Tool installierst ist es nicht immer automatisch in der Commandozeile verfügbar, nicht jedes Mal wird es in die Umgebungsvariable eingetragen.
Dazu kommt es dass viele Tools gerne mit ssh public Keys arbeiten um einen User zu Identitzieren. Normalerweise liegen diese im Homeverzeichnis. Bei den ganzen Kommandlines unter windows wird jedes Mal in unterschiedlichen Ordnern geschaut.
Dann die Windows Tools werden oft direkt mit einer Gui programmiert, unter Linux erstellt man meistens ein CLI Client und dann wird oben drauf eine GUI geschaltet, somit hat so gut wie jedes Linux tool ein CLI Interface
Keine Frage Kommandozeilen funktionieren unter Windows auch aber nicht out of the box, du musst jedes Mal konfigurieren und einstellen. Unter Linux und Mac ist es nicht so. Da Linux und MAc auch noch einen "Appstore" haben, ist es auch bequmer die Tools einfach zu installieren via apt-get usw.. Windows hat ein Windows Store aber kaum einer nutzt es..
Joa man könne ein Video dazu machen :D
@@techtroax7463 Tut es bei Weitem nicht. Es gibt Extensions, die es unter Windows nicht gibt. Und komm bitte nicht mit selber kompilieren. Probleme mit der anderen Schreibweise der Pfade, die lausige Docker-Unterstützung, das langsame Dateisystem, das sich bei Frameworks wie Symfony bemerkbar macht, Probleme, die im live-Betrieb auchtauchen, weil Ordner und Dateien auf Windows case-insensitive sind, wenn Du Fullstack arbeitest, die miese Integration von npm, batch statt shell uswusw.
Die meisten Web-Applikationen (abgesehen von .net) laufen auf Linux aka unixoiden Systemen. Mit Windows bist Du damit extrem weit von der Production-Umgebung entfernt.
Und das sind alles reale und nicht irgendwelche an den Haaren herbeigezogene Probleme. Ich bin auch kein Windows-Hater. Ich halte Windows für ein klasse Betriebssystem.
@@part-timegeek1861 Sowas von Amen, Bruder
Danke für das Video!
War lange am Überlegen, ob ich PHP oder Javascript verwenden soll (ja, der Unterschied zwischen serverseitig und clientseitig ist mir klar).
Ich entscheide mich jetzt für PHP.
Gute Wahl, ich habe noch ein Video wieso ich glaube, dass PHP in 10 Jahren immer noch relevant sein wird.
ruclips.net/video/x7zC8MMb-B0/видео.html
vielleicht ist es auch noch interessant;)
@@VitalijMik DANKE für Deine Antwort!
Danke für Deine Ermutigung und fachliche Einschätzung von PHP!
Ich bin nicht der Meinung, dass PHP eine schöne Programmiersprache ist, gebe dir aber trotzdem ein Like :D
Begründung? :D basiert die Meinung auf altem Code oder sagen hören?
Stimme der Meinung zu, dass ich es auch nicht schön finde. Liegt vor allem daran, dass ich auf der Arbeit an einem etwa 10 Jahre (im Kern) alten Legacy Projekt arbeite, wo vieeeel doppelter und ge copy-pasteter Code, Design Antipatterns (Instanzen werden über Singletons erzeugt und diese Singletons sind als Abhängigkeit an vielen Stellen zu finden), keine URL Pfade sondern Navigation über POST Parameter. Zudem stimmt es schon ja immer noch wie der eine Artikel erwähnt, dass viele Funktionen unintuitiv benannt sind in PHP wie explode() etc. Stimme aber auch dem Video zu das PHP trotzdem per se nicht unbedingt schlecht ist weil man wenn man Frameworks nutzt und eigene Frameworks hat nach SOLID Prinzipien und mit gutem Design eigentlich genau so gute Software erzielen kann wie in anderen Sprachen.
Top Video. Top Tipps
Super Video.
Die meisten PHP Entwickler kommen nicht aus Deutschland, Frankreich oder sonst noch wo, sondern meistens aus Indien, Nigerien usw... .
Wenn man etwas auf YT über PHP nachschlägt, dann trifft man meistens auf Videos von Inda und diese haben meistens keine Qualität.
PHP benötigt außerdem nicht so viele Ressourcen, wie c++ z:b und mehr.
wie kommst du auf C++? dir ist schon klar dass PHP in C++ entwickelt und es verwendet intern C Funktionen?
@@VitalijMik ja war nur ein Beispiel. C++ benötigt mehr Ressourcen als PHP, sprich damit meine ich dass man nur 1x Editor 1x Lokalen Server 1x Browser braucht und das wars, was vielleicht um die 500mb mit allem sind . Bei c++ kommen wir über die 2gb
Ich bin tatsächlich bisher nicht mit PHP in Berührung gekommen und habe deshalb auch keine Meinung dazu,
aber ich will nochmal herausstellen wie wichtig es ist sich mit Tests auseinanderzusetzen und diese in seine
Software einzubauen. Das erleichtert den Refaktorierungsprozess ungemein und erlaubt auch neuen
Entwicklern Änderungen am Code zu machen ohne völlig verunsichert zu sein, ob noch alles so funktioniert wie vorher.
Jep und das wird auch sehr oft bei uns umgesetzt, auch Clean Architecture usw setzen wir um
Vollkommen richtig. Stolz kann ich bei einem unserer Projekte von 100% Testabdeckung (Unittests) schwärmen bei reichlich 10k ausgeführten Tests. Gepaart mit weiteren Arten von Integrationstests, Mutationstests und statischen Analyzern. Wenn man will, geht das...😊
Hallo Vitalij,
vielen dank für deine Videos die sind sehr lehrreich.
Ich bin ein Blutiger Anfänger was Programmieren angeht , ich möchte gerne in die Webentwicklung gehen überwiegen in WordPress.
Heute stehe ich vor der Entscheidung ob ich zuerst JavaScript und React lernen soll oder doch lieber PHP und Laravel, ich bin mir sehr unsicher womit ich zuerst anfangen soll, weil ich Zeit und Geld investieren werde, kannst du mir bitte eine entscheidungshilfe geben.
Macht es vielleicht doch Sinn mit PHP anzufangen, da ich sowieso in WordPress Bereich arbeiten möchte? und dann später erst JavaScript zu lernen?
Welche OS benutz du fürs programmieren ? lg
Hi, echt schwierig zu sagen, als PHP Dev wirst du um JS nicht herumkommen. Ich würde eher vorschlagen sich 1-2 Monate in PHP einzuarbeiten und dann 1-2 Monate mit JS und dann schauen was einem mehr spaß macht. Letztendlich ist Programmieren lernen ein langer Prozess und wenn dir die Sprache nicht gefällt. wirst du schnell aufgeben.
In Wordpress muss auch auch javascript nutzen für Frontend, aber weniger mit React und mehr mit jQuery. in Wordpress wirst du aber nicht die best Practices lernen. Allerdings erlaubt dir wordpress den Fuß in den IT Job zu bekommen. Es lässt sich noch besser lernen wenn du das 8 Stunden am Tag machst und dafür bezahlt wirst.
Also du wirst wohl oder übel beides lernen müssen ;)
Bis zu diesem Video wusste ich noch garnicht, dass PHP so unbeliebt ist xD
Ernst oder Ironie? :D
@@VitalijMik Ernsthaft. Das liegt aber auch daran, dass ich nie was mit anderen Entwicklern zu tun hatte. Erst seitdem ich den neuen Job habe, habe ich einen anderen Entwickler als Kollegen.Und der schwört auch voll und ganz auf PHP. Also habe ich wirklich noch nie gehört, dass PHP unbeliebt ist :D
Sobald die Pandemie vorbei ist, empfehle ich dir zu einer Webentwickler Conf zu fahren, wo sehr viel was mit Javascript und NodeJS gemacht wird :D
@@VitalijMik Lustig dass Du es ansprichst. Guck mal hier kaiser-world.com/rpg/
Da arbeite ich schon sehr lange dran. Die Version auf meinem PC läuft auch schon über Node.js und es können unendlich viele Spieler gleichzeitig durch diese Welt laufen. Kannst Dir ja mal den Quellcode ansehen view-source:kaiser-world.com/rpg/js/engine.js
Aber wie gesagt, die Version auf meinen PC läuft über Node.js und ist um einiges weiter. Das Problem ist, ich habe keine Rootrechte auf dem Webspace. Kaufe mir bald dafür einen Server
@@VitalijMik Laufen kannst Du mit den Tasten W A S D
Super Video 👍
dankeschön
In der Tat ein schönes Video, wobei sich diese Diskussion immer im Kreis dreht :-) Ich fand PHP schon immer gut, aber besonders seit 7.4 ist es erste Sahne. Das Problem liegt in der Tat in Vorurteilen von vor 10 Jahren begründet. Und es schreiben sich auch viele Entwickler sophisticated auf die Fahne, nur, weil sie in Java programmieren. Dort ist eher so, dass ich häufig völlig overengineerten Code sehe - Drei Adapter-Layer für einen Zweck. Der Wahnsinn.
Und von wegen Objektorientierung - Das höre ich laufend. Aber nur, weil jemand eine Klasse verwendet, bedeutet das nicht, dass er auch OOP programmiert. Ich verstehe auch immer nicht, was so dermaßen gegen prozedurale Programmierung spricht. Klar - In großen und komplexen Applikationen lässt sich eine Applikation dann nicht mehr strukturieren, aber wenn Du nur eine kleine Sache hast, dann reichen Dateien, Funktionen und ein prozeduraler Ablauf völlig aus. Ich sehe sowieso in Zukunft eh die funktionale Programmierung immer mehr kommen. Die meisten, die in ihrem "OOP" das anemic Model verwenden, merken gar nicht, dass das eben gar kein OOP ist. Aber ich schweife ab :-D
Der schlechte Ruf ist, denke ich, auch der weiten Verbreitung geschuldet. Auf jedem Mini-Webspace gibt es PHP und MySQL. Zeig mir mal den Webspace, auf dem Du .net oder Java benutzen kannst. Vielleicht wäre ja Java die Hass-Sprache, wenn es das überall gäbe und PHP der Geheimtipp...
I have a dream!! :D Irgendwann werden Golang und C# und Rust Entwickler sagen "Alter der Code hier stinkt.. ich habe gehört in PHP machen die da richtig coole Sachen, ich glaube ich muss den Job wechseln" Vielleicht erlebt PHP in der Zukunft eine Renaissance. Ich hoffe auf jeden Fall drauf und werde alles nötige dafür tun :D
@@VitalijMik Naja - Ich muss sagen, dass ich vor zwei Jahren zu Go gewechselt bin. Der Vorteil in meinen Augen:
* Simplicity
* Explicity
* Geschwindigkeit (Ok, das ist nur ein halbes Argument)
* Nebenläufigkeit
* Zumindest teilweise besser für funktionale Programmierung geeignet
* Built-in Testing
* Built-In Template-Engine
* Built-In Formatter
* Man braucht kein FPM
* ...
Es ist natürlich opinionated. Aber welches PHP-Frameworks ist das nicht?
Bei Go ist bis auf ein absoluten Kern alles selbst in Go implementiert. Wenn Du irgendeine Built-in-Library hast, z. B. das http-Package, dann kannst Du dort bis auf den allerletzten Grund gehen. Du kannst sogar debuggen, welche http-Version zwischen Browser und Applikation ausgehandelt wird. Das fällt bei PHP spätestens bei den Extensions flach. Und das hat mir schon diverse Male geholfen.
Bsp.: Wir hatten eine Applikation, die laufend neue Datenbank-Verbindungen öffnen musste (Warum, sei hier mal nicht der Punkt). Und jeder Connect hat ~20ms gedauert. Erst mal nicht viel, aber bei dem, was wir gemacht haben, viel zu viel. Und was war? Es hat sich herausgestellt, dass der DNS-Call, den Go für den DB-Server gemacht hat, der Flaschenhals war. Das habe ich aber auch nur rausgekriegt, weil ich so tief graben konnte.
Man mag das statische Typing nicht mögen und es ist in der Tat nervig, keine Generics zu haben und man hat wegen dem Error-Handling Boilerplate-Code, aber das ist alles nur ein kleiner Preis für die ganzen Vorteile, die man hat.
Um es zusammenzufassen - Zumindest aktuell würde ich von Go nicht mehr zurück zu PHP wechseln wollen.
Rust ist ja noch mal eine Spur minimalistischer - Das ist auf jeden Fall einen Blick wert.
Die Sache mit den schlechten Tutorials würde ich nicht nur auf PHP beschränken. In der heutigen Zeit kann einfach jeder "Hello-World-Programmierer" in einer x-beliebigen Sprache sein pseudo Wissen auf RUclips und / oder Udemy verbreiten. Ein totaler Anfänger hat es halt da schwer zu differenzieren wer einem was gutes und (oftmals ungewollt) was böses will.
Eine Programmiersprache ist keine Religion, viel mehr sind sie Werkzeuge. Klar kann man auch mit einem Schraubenzieher einen Nagel in die Wand schlagen, aber eleganter und sinnvoller wäre da schon der Hammer, aber es muss ja auch nicht direkt zum Vorschlaghammer gegriffen werden. Manchmal muss man halt für den Nagel doch zum Schraubenzieher greifen, weil man keinen Hammer zur Hand hat (oder einem das Wissen und die Erfahrung fehlt wie man diesen Hammer effektiv verwendet - dann ist auf einmal der Schraubenzieher doch die bessere Wahl). Daher ist es immer schwierig das ganze allgemein zu betrachten. Viele große Software- / Internet- Firmen haben schließlich nicht ohne Grund einen breiten Tech-Stack.
Was einem PHP Entwickler immer wieder an den Kopf geworfen wird ist folgende Aussage: "Man kann mit PHP keinen objektorientierten, hochperformanten und skalierbaren Code schreiben" darauf kontere ich immer mit einem "Falsch, du kannst das mit PHP nicht" - dann schaut man mal schnell in ratlose Gesichter ;-). PHP hat sich ständig weiterentwickelt und dank Hilfsmitteln wie Swoole kann man auch schneller als NodeJS werden und wo ich schon gerade NodeJS erwähne: Als im Jahr 2008 NodeJS vermehrt die Welt mit einem "Hello" begrüßte, prophezeite man schon das 10 Jahre später kaum mehr PHP verwendet wird... und siehe da...
Moin, ja das Stimmt dass man die Qualität des Tutorials nicht einschätzen kann, aber wenigstens mit einem Datum könnte ein bisschen aussortieren. Ich habe öfters in Foren gelesen wieso mysql_irgendwas nicht geht. In Russisch Sprachigen Foren hat sich sogar einer hingesetzt und mysql_ extension für php 7.4 kompeliert und er hat somit die Büchse der Pandora geöffnet.
Das mit der Performance sitmmt..ich weis nicht wieso ich das nicht aufgebracht habe, denn genau das habe ich auch gelesen. Aber gut dass du das noch mal hier explizit erwähnst.
Ich denke nicht dass PHP Komplett aussterben wird, nicht bis ich in die Rente gehe :D und wenn, dank PHP habe ich einiges an Wissen über die Programmierung an sich mir angeeignet, konnte vor Jahren eine C Applikation schreiben und ich meine kein Copy Paste von Stackoverflow. Habe dabei die Grafische SDL Library eingesetzt. Also auch schon wieter als irgend ein GUI Builder starten und dort in die Klick events meinen Code einbauen(was ich übrigens auch schon mal gemacht habe).
Mit PHP kannst du echt bei 0 Beginnen und so viel erlernen dass du das Wissen sogar auf andere Programmiersprachen übertragen kannst und das finde ich ganz besonders an der Sprache.
Als ich mit dem Programmieren angefangen habe stand ich auch vor der Entscheidung welche Sprache es werden soll. PHP war dabei in der engeren Auswahl. Gegen aller Tips verschiedener Plattformen habe ich einfach mal verschiedene Sprachen probiert und gesucht was mir am besten liegt. Hab mich dann für Python, wegen der relativ einfachen Syntax, entschieden und inzwischen mit Django erweitert. PHP steht aber immer noch auf meiner Liste. Der Aussage, dass man mit WordPress mal schnell de WebSite baut muss ich aber klar widersprechen. Um was wirklich brauchbares hinzubekommen bedarf auch einiges an Wissen und man ist immer auf irgendwelche Plugins und/oder parallel noch auf PHP angewiesen. Da würde ich lieber WordPress sein lassen und gleich von Grund auf mit PHP anfangen.
Wenn man Programmierhintergrund hat dann stimme ich dir zu, viele wollen aber einfach einen online shop oder blog aufsetzen die nicht programmierer sind, Die kommen irgendwie komischerweise klar mit Wordpress :D sonst würde es ja niemand kennen.
@@VitalijMik ja gut, da gibts ja auch schon fertige Lösungen. Wenn man was spezielles, in meinem Fall ne RaceAPP, bauen will dreht man sich irgendwie im Kreis
Ja, das ist das Problem. PHP ist sehr einfach zu erlernen. Man hat schnell einen Erfolg. Daher gibt es auch viele Pages die unsicher sind und das rückt PHP leider in ein schlechtes Licht.
PHP sicher zu programmieren ist nicht so einfach, da muß man schon etwas tiefer in die Materie.
Sicherheit ist das Eine, Software Qualität und Langlebigkeit sind andere Merkmale die oft nicht umgesetzt werden
@@VitalijMik Ja, das stimmt. Sicherheit ist aber leider das was am ehesten Auffällt. Kein Kunde findet es bestimmt nicht spaßig wenn seine Page, Shop oder was auch immer gehackt wird und womöglich Kundendaten gestohlen wurden. Das ist ja das Hauptproblem von den "Programmierern" die sich nicht tief genug in die Materie eingearbeitet haben und mal eben so etwas zusammen schreiben ohne darüber nach zu denken.
Ist es wirklich wichtig was andere Programmierer sagen wenn man mit seiner eigenen Entscheidung zurecht kommt...
schon, wenn man nichts gegen sagt, dann werden die anderen immer lauter :D
@@VitalijMik
Hallo Vitalij
Vielen Dank für Ihre Antwort!
Am Ende wird immer das Kunstwerk betrachtet, das Werkzeug tritt in den Hintergrund. Oder frägt sich heute jemand welche Zange Carl Benz benutzte als er das Automobil baute.
Zuerst ist die Idee da, dann erst geht man zum Werkzeugkasten um das passende Werkzeug zu suchen (z.B. PHP).
Wenn man sich nur über das Werkzeug Gedanken macht, bzw. was andere darüber denken, tritt man auf der Stelle und hat keine Zeit um neue Ideen umzusetzen. Dass PHP einfach ist, ist im Grunde ein Segen, denn dadurch ermöglicht es vielen Menschen ihre Ideen umzusetzen. Da die Erde eine einfache Kugel ist, konnte Kolumbus Amerika entdecken, die Meinung der anderen war falsch. Die hatten auch Schiffe, waren aber nicht in der Lage über den Tellerrand hinaus zu sehen.
Übrigens, ich kann nicht in PHP programmieren, habe aber ein paar Ideen und bin nun auf der Suche nach geeignetem Werkzeug um diese umzusetzen. So bin ich auf Ihren Kanal gestoßen. An dieser Stelle vielen Dank, dass Sie Ihr Wissen kostenlos zur Verfügung stellen!
Liebe Grüße
@@mtotowamungu8259 ja da gebe ich dir Recht mit den Tools. Allerdings ist es immer so, sobald man anfängt sich intensiver mit einem Thema zu beschäftigen, interessiert man sich viel mehr für Tools. In der Fotografie hat man zum Beispiel das selbe Spielchen. Sony vs Fuji vs Canon. 4k vs 6k vs 8k. Raw oder JPEG. welche Color Grading tools eingesetzt werden usw. Es wird gestritten weil man sich darüber streiten will und einige Menschen sind da nicht rational.
Und Siezen braucht du mich nicht, wir sind hier auf YT und hinter einen Nicknamen versteck, da ist es komisch zu siezen ;)
Es gibt einen schönen Deutschen Spruch dazu "Du sagst ja auch nicht Sie Arsch" :D
@Vitalij Mik bin diese woche wegen wordpress zu php gestossen, da ich mir gerade ein neues eigenes theme am schreiben bin gestützt auf Tutorials auf dieser Plattform . Bin leidenschaftlicher system OEM Builder und der englischen Sprache nicht so mächtig.
Mein grösstes problem sind aktuelle valide deutschsprachige quellen zu finden über php, wordpress allem was dazu gehört.
Bücher oder pdf wären auch in ordnung als quelle
Gruss Daniel aus der Schweiz
Puh da kann ich dir nicht sonderlich viel weiterhelfen, Wordpress ist etwas "eigen" weil die Zielgruppe von Wordress eben nicht PHP Entwickler sind. Du musst bei Wordpress einfach nur dran denken dass es sehr viel einfacher aufgebaut ist als alle anderen PHP Tools weil man als nicht Entwickler dort relativ schnell seine Seite umsetzen können soll.
Mehr kann ich da leider auch nicht zu sagen :D
Guten Morgen Vitalij. Vielen Dank für deine Antwort, es geht mir auch nicht in erster Linie um WordPress, sondern um die Programmiersprachen die WordPress beinhalten wie html, css, php und java. html und css kenne ich ein wenig und was WP angeht, besitze ich endsprechend Valide Dokumentationen. Meine Meinung ist jedoch dass wenn ich etwas für WP programmieren will, sollte ich die jeweilige Sprache wie in diesem Fall PHP einwenig kennen und beherschen um dann alle Möglichkeiten in meinem Fall von WP auszuschöpfen. Aktuell habe ich ein Problem mit den WP-Themes (auch bezahlte Premium Themes) die mir einfach entweder vom Funktionsumfang nicht gefallen oder vom design und somit den entschluss gefasst habe, mein eigenes Theme zu gestallten. Ja, es isct für mich eine Menge Arbeit und mit Rückschläge verbunden, jedoch ist das genau meine Motivation um mein Ziel zu erreichen. deshalb bin ich auf der Suche nach deutschen Dokumentationen die frei Zugänglich sind über PHP, da mein Sparstrumpf wegen der Aktuellen Lage zur Zeit ziemlich leer ist und hoffe auf Gleichgesinnte, die bereit sind die ihr wissen mit uns teilen
Sehr gutes Video! Es ist wirklich sehr nervig, ständig gegen die Vorteile gegenüber PHP anzukämpfen bzw. sich für die Nutzung dessen rechtfertigen zu müssen. Ein schlechter Softwareentwickler wird in nahezu jeder Sprache schlecht programmieren wohingegen ein guter Softwareentwickler das Potential besitzt, in nahezu jeder Programmiersprache eine gute Software zu entwickeln. Das vergessen leider viele.
Danke für das Kommentar. Stimmt leider. Ich will dann auch nicht mehr mit denen diskutierten die einfach nur irgendwelche Vorurteile haben. Es wird nach einigen Jahren einfach anstrengend :D
Hallo Vitalij.
Sehr schöne Videos.
Ich habe im Jahre 2013 mit php und kohana framework ein Web Projekt umgesetzt und nun läuft es nicht mehr.
Wie kann ich das Projekt aktualisieren? Mittlerweile gibt es ja php 7.
Php ist eine logische Sprache.
Hallo Farsad,
schwierige Frage, was funktioniert denn genau nicht? Ich hatte immer wieder Gespräche mit anderen Umsteigern geführt und alle erwarten irgendwie dass PHP 7 sofort auf anhieb funktionieren wird obwohl die ihren Webserver komplett verstellt hatten, plugins dazu aktiviert haben usw.
Wenn dein PHP 7 die gleichen Plugins in der ini aktiviert hat wie PHP 5 UND im Kohana benutzt du nicht mysql_ Funktion sondern Kohanas Internes ORM. Dann sollte es eigentlich funktionieren, wenn nicht dann muss du schon konkret die Fehlermeldung nennen die angezeigt wird.
Bringen wir es auf den Punkt, das Hauptproblem ist das menschliche Ego. Nicht PhP Entwickler halten sich schlicht und ergreifend als was elitäres.
korrekt
Ich bin ein alter (54) C++ Programmierer, ich genieße gerade im Moment das Programmieren mit PHP. Die Leute die über PHP meckern haben einfach keine Ahnung. Meine Meinung, meine Erfahrung....
Und ich hatte Spass mit Borland Bilder c++ während meiner Ausbildung. Ehrlich gesagt denke ich immer noch nach wieder mit c++ anzufangen
Hallo nach ca. 3 Jahren Antworte ich auf diesem Video und ja es ist in der Tat so. Dinge die man seid zig Jahren so macht ändert man kaum.
Angefangen habe ich mit PHP3 während meiner Lehre zum Metallbauer, diesem Beruf über ich noch immer aus. das ganze war vor gut 20Jahren. Inzwischen gibt es ja PHP8.3.
PHP kommt bei mir zum Einsatz in Verbindung mit MySQL, ganz klassisch standard...öffnen, auslesen, anzeigen, editieren und updaten.
Der Code hat sich für mich nur um das new pdo, prepared statement geändert. Oder täusche ich mich da?
Vielleicht gibt es ja eine mitwachsende gut Erklärte Seite die sich den Versionen anpasst wo sie wie die Codes ändern.
danke
Hi ich denke du täuschst dich da. PHP hat sich weiter entwickelt neben pdo und prepared statements, gibt es ja jetzt mehr typsicherheit, du hast verschiedene return types. du hast auch typisierung in klassen und als argumente. du kannst properties einer klasse direkt über constructor definieren und und und.
auch intern wurde da einiges optimiert bezüglich arbeitsspeicher verbrauch und code optimierung. dazu gibt es noch ein just in time compiler der deinen code ,solange er nicht mit db oder externen services spricht, auch noch mal kompeliert und die ausführungszeit verbessert.
es wurde da sehr viel getan ;)
@@VitalijMik Ja natürlich hat sich viel getan. deswegen, meinte ich auch eine gegenüberstellung von damals zu heute damit so eingefahre typen wie ich den unterschied besser sehen und neu erlernen. :)
Lars
Php for the win haha
Hmmm in diesem Video habe ich im Grunde nur einen wirklichen roten Faden entdeckt. "PHP ist schlecht, weil es den Programmierern Möglichkeiten gibt, sich auf seine bevorzugte Art und Weise auszutoben und seine Ideen zu verwirklichen." PHP ist ein Werkzeug. Genauso wie jede andere Programmiersprache auch. Dieses Video wird am Ende allein nur durch den Erfolg von PHP obsolet. Diejenigen, die den Anspruch haben, professionell nach Standards mit MP Frameworks zu arbeiten, kennen ihre Wege und Tools, um mit PHP professionell zu arbeiten. Die Entwickler die von früher noch ihre Abneigung in sich tragen oder sich die Meinung gebildet haben, die Ihnen von anderen vorgekaut wurde, werden sich auch von so einem Video kaum bekehren lassen. Entweder es gibt die berühmte zweite Chance oder eben nicht.
Ich finde man sollte einfach die negativen Stimmen ignorieren und sich davon nicht in den Sog ziehen lassen. Alle, die PHP nutzen tun das, weil sie es für das richtige Werkzeug für ihre Anforderungen halten. Und auch wenn am Ende die Umsetzung nicht dem entspricht, wie es sich die professionellen und eingesessenen PHP Programmierer wünschen würden, so haben alle das Recht, das Werkzeug so zu nutzen, wie sie es für richtig halten und wie sie es möchten. Und wenn einer nur prozedural arbeitet oder das Filesystem des Webservers als Router verwendet, hat er das Recht dazu. Oder das testen ohne zusätzliche Tools. Wenn derjenige das so machen will, dann lasst ihn doch.
Im Kern höre ich zwei schuldige heraus. Zum einen diejenigen, die negativ über die Sprache reden und diejenigen, die nicht strikt nach den Standards (PSR) arbeiten, keine etablierten Bibliotheken oder Frameworks verwenden und keine Test-Suits verwenden. Damit würde wohl deiner Aussage nach dem Ruf der Sprache geschadet. Aber weißt du wer am Ende wirklich schuld daran ist? Richtig ... PHP! Denn würde es nicht mehr die Sprach-Features geben, die es einem erlauben, so zu entwickeln, wie man es will, würde die Sprache strikt den Standards folgen und somit die Masse an Entwicklern, die den anderen nicht in den Kram passt deutlich reduzieren. Es ist am Ende wie mit dem Billigfleisch beim Lidl oder Aldi. Es bringt nichts, wegen schlechter Tierhaltung, Medikamentenmissbrauch, Herkunft und/oder Schlachtverfahren den Konsumenten zu verurteilen, weil er es kauft. Das Problem ist bereits das Angebot. Denn so lange es das entsprechende Angebot gibt, wird es auch genutzt. Dieses Video verurteilt unterschwellig den Konsumenten, obwohl das Problem bereits beim Angebot liegt. So lange es also das Angebot so gibt, wie es jetzt existiert, wird es immer die geben, die PHP dafür lieben und die, die es dafür hassen.
Hey danke für das tolle Kommentar.
Ja PHP ist ein Werkzeug und sogar ein Mächtiges es bietet dir weit aus mehr Möglichkeiten an. Ich rede hier nicht ein Mal von Frameworks oder Tools. Ich rede davon dass sehr viele PHP Entwickler prozedural Entwickeln mit Klassen und meinen sie würden OO Programmieren. Stichwort Statische Methoden.
Dann rede ich von den neuerungen wie Return Types, Typehints, Traits usw. Viele neue Dinge sind ins PHP Gekommen aber vieles wird nicht genutzt.
Und sagen wir, okay jeder kann man machen was er will, das Problem ist, dass durch dieses Verhalten beeinflusst er indirekt seine Kollegen, oder bringt solche Schlechten Stiele den Junior Developern bei.
Viele Entwickler wissen ja was gut ist, und halten sich einfach nicht daran. Ich vergeliche das mit Sport und Ernährung, jeder weiß dass du dich besser fühlen wirst wenn du genug trinkst, Sport treibst usw nur macht das eben nicht jeder.
Und wegen der Programmiersprache dass sie das alles anbietet, das ist ja das Gute, du kannst von 0 in PHP Einsteigen aber du kannst später richtig guten Code schrieben und genauso mit allen andren Entwicklern mithalten. Ich vergleiche das dann eher mit Autos. Dein Auto ist designed zu Fahren. Wohin du damit fährst ist dir überlassen. Du kannst ganz normal auf der Straße fahren, wenn du aber auf die Gleise damit fährst bist du als Fahrer schuld, nicht das Auto. Was bringt dich davon ab auf die Gleise zu Fahren? Richtig Regeln.
Ich liebe PHP, aber ich finde es schade dass ich mich mit nur sehr wenigern über Architekturen und Tests unterhalten kann, von vielen wird man nur belächelt. Vielleicht müsste mich aber auch weniger in Anfänger Online Community Gruppen aufhalten :D
@@VitalijMik Das spielt alles keine Rolle. Keiner hat auch nur das geringste Recht dazu, andere dafür zu verurteilen, das sie PHP nicht so verwenden, wie es laut deiner Definition gut wäre. Und zum Thema Regeln: Du kannst ja gerne prozedurale Programmierung oder fehlendes Testing unter Geldstrafe stellen. Wenn ich mit einem Auto auf Gleisen fahre, weiß ich, das es empfindlich teuer werden kann ;)
Wenn ich mein Auto in die Werkstatt bringe und es dann repariert wird, gehe ich ja auch davon aus dass die Mechaniker eine Ausbildung hatten, die korrekten Tools einsetzen und auch dafür garantieren dass mein Auto nach den Industriestandards reparriert wird.
Der Mechaniker kann ja zu Hause mit seinem Bastelauto machen was auch immer er will, aber wenn ich für etwas Geld bezahle, da erwarte ich doch standards oder nicht? Aktuell sind alle Kunden/Cheffs etc den Entwicklern komplett ausgeliefert weil jeder das macht wonach er Lust und Laune hat. Es kann ja keiner Überprüfen ob er alles korrekt gemacht hat oder nicht.
Die bekannteren Entwickler Prophezeien seit Jahren, dass es nur irgend ein Blöder Unfall passieren muss bei dem Sehr viele Menschen sterben durch einen Software Fehler, danach wird die Regierung die Regeln setzen, WIE du programmieren sollst, WELCHE Frameworks/Tools pflich sind usw. Natürlich wird die Regierung sich dann irgendwelche Berater dazu ziehen die irgend ein Blödsinn vorschreiben und unser Beruf dann keinen Spaß mehr machen wird.
Ich verurteile niemanden sondern animiere die darüber nachzudenken, sich mehr für bessere Qualtität im Code einzusetzen. Jeder weiß was gut ist und welche Best Pratices es gibt. Programmierung gibt es schon seit mehreren Jahrzehnten und es gibt viele gute Bücher in denen alles erklärt wird. Man kann sich auch dran halten wenn man will.
In anderen Sprachen macht man das ja bereits immer mehr und mehr nur halt in PHP nicht so sehr.
@@VitalijMik Und jetzt gehst du wieder in Richtung professionelles programmieren. Wer mit schlechtem Code Geld verdienen kann, hat es anscheinend ja doch richtig gemacht. Wo wir wieder beim Angebot wären. Würde PHP extrem schlechten Code nicht zulassen, würde es das Angebot nicht geben. Es führt alles wieder auf die gleiche Wurzel zurück. Ob es dir passt oder nicht. Jeder macht sich selbst ein Bild von der Situation und jeder geht als dritter bzw. außenstehender anders mit Kritik an PHP um. Ich gebe niemanden die Schuld dafür, das PHP bei einigen im schlechten Ruf steht. Jeder, der PHP Entwickler aller Art auf Grund solcher Stimmen von oben herab behandelt, hat einen zu kurzen Horizont, um das Gesamtbild zu erfassen.
@@techtroax7463 nein lass mich mal das anders umformulieren. PHP ist gut WEIL es dir alles erlaubt, nicht jeder sollte wie bei C# erst mit OOP können um überhaupt Hello World zu programmieren.
ALLERDINGS sollte man, wenn man schon Geld für sein Code verlangt, auch sich immer verbessern, daran ist PHP nicht schuld dass man seinen Code nicht besser schreibt. PHP Bietet einem die Tools an, man sollte die nutzen.
Weil aber viele PHP Entwickler das genau wiessen und es trotz des Wissens nicht machen, machen die dann wiederum einen schlechten Eindruck auf die Sprache.
Wert mit Schlechten Code Geld verdient, hat nur für sich was gutes getan. Aus der Sicht des Kunden wurde das Unwissen des Kunden ausgenutzt und der Kunde kann sich nicht mal dagegen Wehren. Wenn dann ein anderer Entwickler an diesem Code arbeiten muss, sagt er dann meistens "Wir müssen alles entfernen und neu machen".
PHP Ist also nur schlecht weil es schlecht benutzt wird. Nutzt man PHP Korrekt kann sich keiner über die Sprache beschweren.
Hab ich noch nie gehört und bin seit PHP3 dabei. In Verbindung mit Ajax verhält sich PHP wie ein Windows Programm und z.B. mein Warenwirtschaftssystem wird noch von einigen Firmen genutzt weil es einfach alles abdeckt. Für Scanner-Anbindungen musste dann eine andere Programmiersprache zusätzlich eingesetzt werden (Portüberwachung), aber für den Rest braucht man nichts weiter als PHP5+Ajax. Selbst OOP wird nicht genutzt, weil es in Planung und Entwicklung einfach viel zulange dauert und man ein gut strukturiertes prozedurales PHP-System sehr schnell versteht.
Selbst mein Cousin sagt, dass PHP extrem geil von der Hand geht und ihn als C - Profi vieles an seiner Programmiersprache auf den S..k geht. Also das PHP schlecht ist, naja (wurde ehr für die Aufmerksamkeit ala YT-Algo gemacht), kann ich nicht bestätigen.
Hm.. ich frage mich ob du mein Video auch gesehen hast ;)
Ich dachte ich bin 2022 der einzige der lieber prozuedual coded
@@socketcms - ich mag es noch immer sehr. Geht einfach schneller von der Hand.
Stellen wir uns doch einmal die Frage wie sehr JS vor einigen Jahren noch verpönt war... Heutzutage ist JS aus keiner Website mehr wegzudenken...
Stimmt, wobei ehrlich gesagt, auch der Trend dazu geht, zu viel JS Einzubauen ohne Sinn, Nutzen oder Mehrwert.
Für Frontend war JavaScript schon sehr lange relevant, wenn auch verpönt unter vielen Softwareentwicklern, die nicht in der Webentwicklung tätig sind. Dass es heute nicht mehr so verpönt wird, liegt u.a. daran, dass das Design der Sprache deutlich verbessert wurde. Seit es anständige Klassen in JavaScript gibt (seit ECMAScript 2015) und in Verbindung mit Modulen kann man tatsächlich anständigen objektorientierten Code in JS schreiben. Vorher war es ein einziger Hack. Zusammengefasst, JavaScript ist heutzutage nur besser, weil es mehr Richtung Java und C# geht und sich vom ursprünglichen JavaScript Design entfernt :D
Finde JavaScript aber ehrlich gesagt auch nicht sonderlich ansprechend und trotzdem schlechter als PHP. In PHP hat man eigentlich so ziemlich alles, was man braucht. In JavaScript ... oh, du willst HTML Entities escapen, hahaha, tut mir leid, haben wir nicht. MVC oder MVVM, ach sorry, da können wir leider nur mit Vue.js oder Angular dienen wo man mit NPM abermillionen Dependencies braucht von denen einige einfach nur dazu da sind, irgend was triviales zu berechnen.
damals in der uni fiel mir html viel viel einfacher als c++. ist php viel viel einfacher als java zu lernen? denn java find ich genauso unständlich wie c++ und hab keine lust mehr. wenn aber php wesentlich einfacher ist, würde mich das interessieren
Danke für das Kommentar, in erster Linie kann man HTML nicht mit C++ vergleichen weil HTML nicht mal eine Programmiersprache ist. Aber ich kann aus Erfahrung sagen dass PHP viel einfacher ist als Java allerdings kannst du mit PHP NUR Webseiten entwickeln und mit Java kannst du Android Apps oder Windows/Linux/Mac Programme machen. PHP ist eine Server seitige Scriptsprache und man sollte sich nicht die Frage stellen welche Sprache man lernen will sondern was will man programmieren. Wenn du eine Mobile App machen willst dann ist PHP nicht das Richtige für dich ;)
@@VitalijMik ich will nur einen neuen beruf erlernen. wenns mir spass machen würde, würde ich java-entwickler lernen. mein berufsberater meint :"mach fachinformatiker systemintegration, da ist kaum programmierung, und auch dieser beruf ist gefragt". aus diesem grund habe ich diese vielleicht seltsamen vergleiche gemacht. danke für deine hilfe vitalij :)
ja es gibt viele Berufe die mit Informatik zu tun haben wo man weniger Programmieren muss. Systemintergration, Informatikkaufmann, und ganz neu " daten- und prozessanalyse"
befor du dich in eine Ausbildung stürtz versuch mal ein Praktikumsplatz mit initial Bewerbung zu kriegen. Lieber ein Monat ausprobieren und feststellen dass es einem kein Spaß macht als 3 Jahre sich dann zu Quälen ;)
Ohne zu wissen was jetzt im Video noch kommt (man soll ja pausieren und seine Meinung jetzt schon schreiben)... Du kannst mit PHP viel zu viel Schweinerein machen...
Erst ein bisschen OOP dann wieder Funktional dann wieder oop, zwischen durch bisschen html code ausgeben dann wieder mit Business Logic weiter... - mit PHP Kein problem. Als Entwickler, der etwas mehr als nur eine kleine Wordpress seite macht, ist das ein graus schlechthin! Zumal viele Features/Konzepte, welche in anderen Sprachen von Grund auf dazugehören, kamen bzw kommen erst nach und nach. Aber genau da liegt auch die stärke von PHP. Es ist sehr leicht zu erlernen und führt zu fixen Ergebnissen. Ob diese dann Sicher, von guter Qualität oder schön Wartbar sind sei mal dahin gestellt. Trotzdem kann die Mutti von nebenan in kurzer Zeit ihr eigenes kleines Script für ihren Wordpressblog schreiben. Desweiteren ist diese Typfreiheit für den Anfang ganz geil da man sich nicht damit rumärgern bzw. verstehen muss wo die Unterschiede von Typen sind. Jedoch in ein großes Projekt einsteigen, welches am besten sogar noch nach eigenen Standards arbeitet ist schon richtig gemein...Da zu verstehen wieso ggf. ein Fehler ist wie er ist kann schon manchmal etwas dauern. Oder sich auch im Team organisieren bedarf gewisse andere Regeln als in anderen Sprachen. Und (ob das jetzt ein Vor oder Nachteil ist muss jeder selbst wissen): PHP ist eine reine Websprache. So, gucken was jetzt noch im Video genannt wird :D
Genauso!! Du brauchst das Video nicht weiter zu gucken :D
@@VitalijMik habs trotzdem zu ende geguckt :P Beim Video gucken dachte ich mir aber auch, dass es ggf. eine (deutsche) Mentalität ist alles erstmal negativ anzunehmen, was schnell und leicht erlernbar ist. Wenn ich ein Studium von 6 Semestern machen muss um mich Informatiker schimpfen zu dürfen, dann ist automatisch alles andere nicht so gut, was gefühlt in 1-2 Wochen erlernbar ist :D Und dann kommt auch jedesmal der Glaubenskrieg: OpenSource VS CloseSource Sprachen oder Tools die darauf basieren.Wie oft ich im Studium gehört habe: "Ich kann doch kein Geldverdienen mit Sprachen/Tools/Programme die OpenSource sind. Das kann doch nicht Sicher sein wenn jeder den Quellcode kennt"... etc. .. Du kennst es bestimmt :-p
Dabei sollten gerade die Informatiker weniger "Religiös" sein :D
@@VitalijMik Wobei Informtik allerdings per se erstmal nicht viel mit Programmiersprachen zu tun hat.
@@part-timegeek1861 jep die Sprachen sind nur die Tools
Viele professionelle Entwickler habe die Vorstellung eine Sprache muss dir so viele Geländer wie möglich geben. Natürlich benötigt ein Baby ein ganz anderes Geländer als ein Erwachsener. Aber was sagt es über einen Entwickler aus der durch so viele Geländer wie möglich davon abgehalten werden muss kein Blödsinn zu machen?
PHP ist langsam (< JS) und eine in HTML embedded Sprache, das Problem daran ist, dass man die assets nicht vorhert komprimieren kann bzw. preprocessen (unbenutzter CSS entfernen etc.). Das ganze skalliert sich einfach nicht gut in einem größeren Produktions environment. Der syntax ist zu dem auch nicht das gelbe vom EI. PHP ist wie Python, aber mit komischen Syntax und schlechterer Performance.
Woher weißt du, dass PHP langsamer ist als JS?
Was ist HTML embedded? PHP kann zwar dazu genutzt werden um HTML zu erzeugen, muss es aber nicht.
Warum sollte man assets preprocessen? Wenn du von scss sprichst, was hat es mit PHP zu tun?
Was sind größere Produktionsenvironment für dich? Ich entwickel an vielen großen online shops wo mehrere 100e Kunden pro Minute drauf gehen und am Black Friday und Weihnachten noch mehr zugriffe. läuft alles stabil.
Syntax ist gar net so schlecht, lehnt viel an C# und Java an. Python find ich schlimmer, wenn man da die Leerzeichen an falscher Stelle setzt, gehört dann der Code zu einem anderen Funktions Block. Eine Datei in vi zu editieren ohne zu viele Plugins zu installieren ist echt gefährlich.
Finde ich jetzt eine Webseite herunterladen nennen wir jetzt zum Beispiel RUclipsr dann ist die immer so komisch vor Brücken und nutzlos zweiteilt wiso ?
Schreib ein bisschen Deutschlicher:D ich verstehe nicht was du meinst?
Vitalij Mik wenn ich eine Webseite downloade dann kommt am Ende nur noch Schmarn raus bei RUclips zum Beispiel wieso ?
Weil du nur den HTML Code herunterlädst und RUclips versucht ja eh sein Content zu schützen weil die damit Geld verdienen dass du auf der Seite bleibst
Vitalij Mik kann man die anderen auch herunterladen ?
@@Der_Nevio Nein, beim Aufruf der Website schickt dein Computer eine Anfrage und der Server der Webseite bastelt dir aus Codefragmenten eine zu deiner Anfrage passende Webseite, die dir dann angezeigt wird.
Hm, also ich schreibe PHP seit 3.0, und ich finde, PHP gilt zu unrecht als Einsteigersprache. Meine Kritik an PHP ist, daß es zu viele Altlasten mit sich herumschleppt. Es würde mal Zeit für einen radikalen Versionsschnitt, der auf Rückwärtskompatibilität verzichtet und ordentlich ausmistet.
Die neueren Versionen bieten viele Alternativen, die auch unbedingt eingesetzt werden sollten - zuvörderst Type Hinting. Das ist mir noch nicht konsequent genug umgesetzt. Ich möchte strenge Typisierung an jeder Stelle, ob Funktionswerte, Argumente, Eigenschaften, Variablen oder Konstanten. Ich bin jetzt eine Weile aus PHP raus und weiß nicht genau, wie weit das inzwischen vorangetrieben wurde. Meines Wissens ist es noch nicht vollständig konsequent realisiert.
Das größte Problem sind unsichere Funktionen und kein einheitliches Verhalten. Von inkonsequenter schreibWeise/schreib_weise mal abgesehen, ist das Verhalten bei Encoding-Angriffen und Nullterminierung unterschiedlich. Ich wurde mal in eine Projektgruppe gerufen, wo der Chef stolz das selbst entwickelte CRM präsentierte. (Er hielt es für eine völlig neue Softwareidee, war aber nix weiter als eben ein schlechtes CRM.) Er zeigte mir die Oberfläche: "Hier kann der Admin - das bin ich - ..." Ich hatte mir daheim den Code durchgesehen, machte mir einen Account auf dem Entwicklungsserver, und nächsten Tag war ich der Admin. :D
Im Code fand ich viele verschiedene Handschriften. Es war ein Sammelsurium an Spaghetticode, wo jeder mal etwas hinzugefügt hat. Prepared Statements Fehlanzeige, es wurde mit Sanitize gearbeitet. Ein einfaches Nullbyte reichte aus, um den String für die Plausibilitätsprüfung zu beenden. An die Datenbank ging aber der komplette String, sodaß es ein einfaches war, sich per SQL-Injection die Adminrechte für die soeben erfolgte Registrierung zu holen.
So etwas sollte eigentlich bei einem vernünftigen Sprachdesign erst gar nicht möglich sein, zumindest sollten die Funktionen ein einheitliches Verhalten aufweisen. Man muß bei PHP sehr genau wissen und ggf. testen, ob Nullterminierung möglich ist, ob die Funktionen Multibyte-Safe sind usw. Man ist als Programmierer in vollem Umfang verantwortlich, für die Sicherheit sorgezutragen, und das an Stellen, wo man es gar nicht erwarten würde.
PHP verbessert sich immer mehr; ich denke aber, es ist noch nicht auf einem Stand angekommen, den man uneingeschränkt befürworten kann. Schon gar nicht ist PHP für Anfänger geeignet, denn da sind extrem viele Sicherheitslücken schon vorprogrammiert.
Positives in Sachen Webprogrammierung und Sicherheit höre ich häufig von Ruby on Rails. Ich habe mich damit aber noch nicht befaßt. Das Rails-Framework soll von vornherein sehr auf Sicherheit ausgelegt sein. Vielleicht kann ich mich ja mal motivieren, meinen Horizont etwas zu erweitern und Ruby on Rails eine Chance zu geben.
Ehrlich gesagt schreibe ich für Webentwicklung immer noch PHP, weil es mein Hammer ist, also ist jedes Problem ein Nagel. :D Sich mit neuen Dingen auseinanderzusetzen kostet viel Energie und Nerven.
Btw. daß in einem gewöhnlichen String auch Nullbytes auftreten können und Funktionen existieren, die - da sie in C implementiert sind - auf eben diesem Datentyp nullterminiert arbeiten, dürfte überhaupt gar nicht passieren. Dafür müßte es dann einen gesonderten CString oder Bytebuffer geben, und Funktionen die gewollt nullterminiert arbeiten, akzeptieren nur diese Datentypen.
Guter vergleich mit Ruby on Rails ;) ja PHP im Kern hat Dinge die ein Anfänger sofort falsch machen kann. Strikte Typisierung ist übrigens seit php 7.4 zugelassen wenn man in der Datei wo man es haben will strict_types aktiviert.
Aber zurück zu ruby on rails, Ruby an sich im kern ist sicherlich genauso anfällig wie PHP. Aber Rails das Framework schützt einen. Wir haben in PHP Natürlich auch unsere Frameworks wie Symofny, Laravel, Laminas. Jede größeres Unternehmen setzt nur noch auf Frameworks. Im beruflichen Umfeld nutzen wir Tests, Deployment Pipelines, Code Reviews usw.
Also man kann nicht sagen ruby wäre besser weil rails da muss man schon fair bleiben;)
Klar gibt es noch spaghetti code im umlauf, aber ich finde das zeigt die Langlebigkeit von PHP. Irgendwann vor jahren hat jemand was aufgesetzt um ein Problem zu lösen und es läuft immer noch, nicht schön aber selten sagt man doch :D
@@VitalijMik Was ich an PHP noch ziemlich müll finde, ist die inkonsequente Case-(In)Sensitivität.
cOnSt KONSTANTE = 'konstant';
cLaSs WachsTube
{
puBLic $property = '123';
PubliC FUNction func(){ echo 'TEST'; }
}
$wt = new WachStube(); // warum ok? WachStube != WachsTube
$wt->FUNC(); // warum ok?
var_dump($wt->PROPERTY); // null, warning
echo konstante; // fataler Fehler
$WT->func(); // fataler Fehler
Schlüsselwörter, Klassen und Methoden sind case insensitive, Konstanten, Variablen und Eigenschaften hingegen case sensitive. Für ein Schema sollte man sich endlich mal entscheiden, vorzugsweise case sensitive.
Der ::class operator ist auch relativ sinnbefreit:
namespace some_namespace
{
$test = NonExistentIdentifier::class;
var_dump($test);
// string 'some_namespace\NonExistentIdentifier' (length=36)
}
@@pinkeHelga sinnbefreit würde ich jetzt nicht sagen, nutze es oft, nur wird da keine klasse instantitiert und deshalb gibts keine Fehler an der stelle, vermute ich.
Es gibt leider sehr viele schlechte Anleitungen zum programmieren im Internet was PHP angeht. Von den ganzen Foren ganz zu schweigen. Daher ist mit PHP auch so viel Mist entstanden!
Jep und leider weil die Beiträge so alt sind, werden die immer noch hoch geranked in Google, deshalb sage ich immer, dass man auf das Datum des Tutorials achten sollte.
Ich denke es ist unbeliebt weil es einfach nicht sicher ist
Begründung?
@@VitalijMik Weil es eine riesen große Software ist die von vielen Leuten entwickelt wird ist es klar dass auch hin und wieder mal bugs verursacht werden
Naja es gibt einige Bugs, die hat jede Software. Allerdings wenn man sich die Bugreports anschaut sind einige sehr sehr spezifisch und treten eher sehr selten auf. github.com/php/php-src/pulls das ist nicht wirklich eine Begründung.
Vergleich das mit anderen Programmiersprachen wie etwa Pyhton bugs.python.org/ dann ist PHP doch moderater
@@VitalijMik Ok du hast mich überzeugt 👌
@@memecompilation9014 naja ich muss korrekterweise sagen dass ich falschen Link da gepostet habe. Hier sind die Bugs von PHP
bugs.php.net/search.php?limit=30&order_by=id&direction=DESC&cmd=display&status=Open&bug_type=All&project=PHP
Das ist deine pauschale Meinung..
Was genau? Hast du auch nur das Bild gesehen? Als ob ich PHP schlecht finden würde und dann eine PHP YT Channel führen. Als PHP Entwickler arbeiten. Für die Zeitschrift PHP Magazin Artikel verfassen.
@@VitalijMik Der Titel auf den ich mich beziehe ist eine pauschale Meinung.. das wollte ich schreiben. Eine und nicht deine..somit sollte das Kommentar: ,,Das ist eine pauschale Meinung'' lauten, aber keine Sorge Vitalij.. ich bilde mir immer eine eigene Meinung bevor ich ein Bild sehe.. Ich wollte deine Fähigkeiten und dein Wissen keinenfalls untergraben.. auch nicht deine Tätigkeit als PHP Entwickler, als PHP Kolumnist, PHP Redaktuer, PHP Regisseur, PHP Produzent, PHP Dozent, PHP Schriftsteller, PHP Kommentator, deinen PHP Vlog und vl. einen PHP Blog, deine PHP Philosophie, deine Bekenntnis zur PHP Programmiersprache, PHP Titel und tausende weitere PHP behaftende PHP Akronyme, Synonyme und Wortspiele rund um das Thema PHP nicht in Frage stellen.. Wie du im Video richtig angesprochen hast, googeln viele Neuelinge nicht wissend einen alten Beitrag zu PHP... und bilden sich eine eigene negativ behaftende Meinung zu PHP... weil diese das ml gelesen haben......
Alles ok und easy... :)
@@dzenisrizvic das stimmt der Titel ist sehr pauschal. Ich habe aber immer bei Konferenzen erlebt dass Entwickler anderer sprachen die PHP Entwickler nicht ernst nehmen. Diesen Konsens konnte ich auch auf redit Stack oferflow usw beobachten. Es gibt keine Studie oder Umfrage zu diesem Thema aber es heißt nicht dass es nicht existiert. Siehe den verlinkten Betrag.
@@VitalijMik leider Vitalij.. ich beschäftige mich sehr mit PHP.. und brauche es für Wordpress bzw. für die Erweiterung ..namens Woocommerce oder auch für Plug Ins die wir entwickeln oder erweitern..
Leider gebe ich dir in diesem Punkt recht, dass PHP Entwickler nicht - mehr - ernstgenommen werden...
Die Frage ist wo sich dieser Trend hinentwickelt...
Als Wordpress dev ist es noch mal komplizierter. Keine Ahnung wohin der Trend gehen wird. Einfach ignorieren nervt halt auch ungemein :D
Hallo Vitalij, Du weist offensichtlich nicht von was Du redest! Sonst würdest Du nicht solch einen geistigen Dünnschiss von Dir geben. Was in Deiner Argumentation fehlt sind die Fakten. Ich höre hier nur Klischees.
Ich höre nur Beleidigungen und keine Argumentation, hat sich das echt gelohnt so ein Kommentar zu hinterlassen?
@@VitalijMik Die Frage ist doch vielmehr, ob sich Dein Beitrag über die Unbeliebtheit von PHP gelohnt hat. Deine Argumentation beruht ausschließlich auf Klischees und es fehlen die Fakten. Du behauptest pauschal PHP sei unbeliebt unter vielen Programmierern. Auf welcher repräsentativen Statistik beruht diese Aussage? Ich entwickle beispielsweise als freiberuflicher Softwareentwickler seit vielen Jahren mit PHP und tue dies gerne. Aus meiner Sicht kann von Unbeliebtheit keine Rede sein. Ich denke, das muss gesagt werden dürfen, weil ich sicher für viele erfolgreiche PHP-Entwickler spreche, die mit Deinem Beitrag nicht einverstanden sind. Gruß Jörg
Du hast wohl mein Video nicht gesehen. Ich verteidige PHP und finde es schade dass Entwickler anderer sprachen es schlecht reden. Ich bin selbst ein PHP Entwickler und finde die Sprache toll. Wtf? Hast wohl nur das Bild gesehen und dachtest dir einfach so "ich beleidige den mal".