Hallo
auf Quora hat jemand geschrieben, dass Frameworks für Amateure sind. Dieser Entwickler hat offensichtlich weit mehr Erfahrung beim Programmieren als ich. Deshalb würde mich gerne interessieren, wie andere erfahrene Programmierer zu dieser Aussage stehen und ob ihr Frameworks benutzt?
Gruß
Atalanttore
Aussage eines Entwicklers: "Frameworks sind für Amateure."
Außer einer Polemik ist das wenig substantielles. Der Herr hat offensichtlich viel Meinung und ist auch sehr überzeugt von sich. 3MB Quellcode? Die Erlang-Runtime ist AFAIK ein bisschen größer. Und deren fortgeschrittenen Abstraktionen nutzt er auch. Wo da der Unterschied zur Nutzung eines Frameworks ist, soll er mir mal erklären.
Natürlich berührt er valide Punkte - Feature Creep, Programmierer die nicht verstehen, was sie tun, und nur Rezepte aus SO abschreiben. Aber das ist eine Einstellungssache - ich habe mich nie davor gescheut Frameworks zu debuggen. So versteht man sie, und kann ggf contributen.
Natürlich berührt er valide Punkte - Feature Creep, Programmierer die nicht verstehen, was sie tun, und nur Rezepte aus SO abschreiben. Aber das ist eine Einstellungssache - ich habe mich nie davor gescheut Frameworks zu debuggen. So versteht man sie, und kann ggf contributen.
Der Entwickler hat völlig Recht. Wer "Programmieren" mit "anderer Leute Code zusammenkleben" verwechselt, der wird eher früher als später ein Problem bekommen.
Der Schreiber hat nicht verstanden, was ein Framework ist. Die Antwort auf die Frage ist, „natürlich nicht, wer keine Frameworks benutzt, sollte weniger Geld für seine Arbeit bekommen.” Code zusammenkleben kann man mit und ohne Framework machen. Ein Framework bietet einfach Lösungen für komplexe Standardprobleme. Wer kein Framework benutzt, muß das Rad immer wieder selbst erfinden und macht immer wieder die selben Fehler. Was jQuery früher leistete, war, die unterscheidlichen Browser zu vereinheitlichen. Wer das selber machen wollte, war mit Testen auf etliche Versionen und Browservarianten beschäftigt. Wer die vielen fehlerhaften Socket-Implementierungen sieht, wird sicher nicht den Sinn eines HTTP-Serverframeworks bezweifeln.
Natürlich gibt es auch schlechte Frameworks, und wer die einsetzt ist auch nicht besser als jemand, der schlecht etwas nachprogrammiert, für das es schon ein gutes Framework gibt.
Natürlich gibt es auch schlechte Frameworks, und wer die einsetzt ist auch nicht besser als jemand, der schlecht etwas nachprogrammiert, für das es schon ein gutes Framework gibt.
Die meisten Frameworks bieten zu einem Großteil Funktionen, die man einfach gerade nicht braucht - und damit Overhead (und potenzielle Sicherheitslücken).
@grum.py: schön, dass man mit so pauschalen Totschlagargumenten einfach alles widerlegen kann. Was glaubst Du enthält mehr Fehler, ein von vielen Tausend Programmierern getestetes Framework, oder ein Programm, das von einem geschrieben wurde?
Ein von vielen tausend Programmierern getestetes Framework ist nur dann als vergleichsweise sicher anzusehen, wenn sich nicht jede Woche der halbe Code ändert.
@grum.py: Ein getestetes Framework ist dann als sicher anzusehen, wenn die Tests auch durchgeführt werden und nur im Rahmen der Tests fehlerfreie Releases erfolgen. Sicherlich ist es nicht empfehlenswert dahingeschusterten Code anderer unbesehen einzusetzen. Andererseits wird niemand den Nutzen guter Frameworks wie z.B. CherryPy, Django oder SQLAlchemy (um nur einige wenige zu nennen) infrage stellen – auch wenn bei den meisten Projekten nur wenige Features dieser Frameworks verwendet werden. Den Beitrag auf Quora halte ich für reichlich überheblich und vom "not invented here" Syndrom geprägt.
Wenn man sich mal das github Repo des Herren Flaming aus dem Quora-Posting anschaut, dann bemerkt man, dass er hauptsaechlich im Web-Umfeld unterwegs ist. Und ich glaube in dem Zusammenhang ist das auch zu sehen. Frameworks zB fuer CSS etc.
Und da er selbst bootstrap, irgendwelche REST-Frameworks, elastic-search, Mongo-DB etc verwendet, ist in meinen Augen das alles-selber-machen ein bisschen weit hergeholt. Auf den Schultern von Giganten stehend mal schoen rumbruellen, man waere ja von ganz alleine da oben angekommen...
Und da er selbst bootstrap, irgendwelche REST-Frameworks, elastic-search, Mongo-DB etc verwendet, ist in meinen Augen das alles-selber-machen ein bisschen weit hergeholt. Auf den Schultern von Giganten stehend mal schoen rumbruellen, man waere ja von ganz alleine da oben angekommen...
Sein Punkt ist nach meinem Verständnis gar nicht mal so sehr, dass man niemals ein Framework nutzen dürfe. Er hat wohl bloß ein Problem mit Alleskönner-Frameworks. Das ist ja ganz ähnlich wie die Entscheidung für Webseiten-Programmierer im Python-Bereich ob es immer gleich Django sein muss oder ob ein Micro-Framework wie Bottle oder Flask nicht genau so reicht, ggf mit 1-2 benötigten Plugins.
Dass der Autor immer alles selber machen würde, lese ich da nicht heraus. Sein Beispiel mit dem Projekt, das auf eine Diskette passt (die 3,2 MB dann wohl gepackt), ist halt etwas verwirrend. Ich denke, es geht ihm nur darum, die Dinge nicht unnötig mit Abhängigkeiten aufzublähen, wenn es sich sinnvoll vermeiden lässt.
Ich würde jetzt auch nicht auf Python verzichten wollen, nur weil ich nicht 100% von dessen Fähigkeiten brauche. Dafür hat es einfach zu viele Vorteile, um es zu verschmähen. Trotzdem sollte man auch für leichtgewichtigere Alternativen offen sein, wenn die einem ausreichen - egal ob nun Sprache oder Framework.
Und manchmal lässt sich ein Teilkonzept aus einer relativ großen Abhängigkeit auch einfach nachbauen, sofern man sich es zutraut und nichts anderes daraus benötigt. So wie der Autor schon schrieb:
Dass der Autor immer alles selber machen würde, lese ich da nicht heraus. Sein Beispiel mit dem Projekt, das auf eine Diskette passt (die 3,2 MB dann wohl gepackt), ist halt etwas verwirrend. Ich denke, es geht ihm nur darum, die Dinge nicht unnötig mit Abhängigkeiten aufzublähen, wenn es sich sinnvoll vermeiden lässt.
Ich würde jetzt auch nicht auf Python verzichten wollen, nur weil ich nicht 100% von dessen Fähigkeiten brauche. Dafür hat es einfach zu viele Vorteile, um es zu verschmähen. Trotzdem sollte man auch für leichtgewichtigere Alternativen offen sein, wenn die einem ausreichen - egal ob nun Sprache oder Framework.
Und manchmal lässt sich ein Teilkonzept aus einer relativ großen Abhängigkeit auch einfach nachbauen, sofern man sich es zutraut und nichts anderes daraus benötigt. So wie der Autor schon schrieb:
...wobei ich das wohl nicht als ein Muss formulieren würde, aber im Kern sehe ich das genau so. Wichtig ist dabei den Nebensatz ohne davon begraben zu werden. Wenn das Nachbauen einen riesigen Aufwand bedeuten würde, dann ist das "aufgeblähte" Framework am Ende wahrscheinlich doch die bessere Alternative. Ist halt Abwägungssache.Die Regel ist einfach: Wenn du es selbst machen kannst, ohne davon begraben zu werden, musst du.
- __blackjack__
- User
- Beiträge: 12984
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@snafu: Witzig: Der Zusatz „ohne davon begraben zu werden“ stand da heute Mittag noch nicht. Der Troll scheint zurück zu rudern.
Der heisst „Flaming“ und hat auch schon die schöne Zeile „Erwin Flaming, provoziere gerne, um Leute zum Nachdenken anzustiften“ als ”Signatur” verwendet, oder wie immer diese Zeile bei Quora heisst.
Der heisst „Flaming“ und hat auch schon die schöne Zeile „Erwin Flaming, provoziere gerne, um Leute zum Nachdenken anzustiften“ als ”Signatur” verwendet, oder wie immer diese Zeile bei Quora heisst.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Aus meiner Sicht geht es bei derartigen Aussagen wie in dem verlinkten Quora-Post vor allem um Abgrenzung und Eitelkeit. Gerade im Bereich Webentwickelung, der ja von ständig neu erscheinenden Frameworks und Libraries übersättigt ist und in dem es viele Leute gibt, die eben keine studierten Informatiker sind. Es mag ja durchaus auch einige Gründe geben, auf Frameworks zu verzichten (snafu hat ja ein paar Argumente gebracht), aber ich habe das Gefühl, dass es in vielen Fällen da eigentlich nicht vordergründig drum geht.
Hatten wir diese Framework vs. Selbstprommieren-Diskussion nicht schonmal?
Seit der Mensch Kulturevolution betreibt, ist er arbeitsteilig am Werk. Keiner kommt auf die Idee, selbst Eisenerz zu schürfen, verhütten, schmieden um nach 30 Jahren die letzte Schraube in das fast fertige selbstgebastelte Auto zu schrauben. Fast fertig. 20 Jahre später - fast fertig. Upps der Motor läuft nicht, hab ja noch gar kein Brennstoff dafür. Viel Spaß beim Erdölbohren, oder moderner - Lithiumverhütten. Am Ende wirds dann doch nur der kleine hölzerne Karren zum Selberziehen.
Mit Selbstbastellösung kommt man nie soweit, wie mit Bibliotheken/Frameworks. Man ist gezwungen Komplexität/Funktionalität zu reduzieren, hätten alle unsere Vorfahren so gedacht, würden wir noch Stöcke schwingen und Beeren sammeln. Alles ohne Fellrock, weil Jagen schon eine arbeitsteilige Gruppenleistung ist.
Seit der Mensch Kulturevolution betreibt, ist er arbeitsteilig am Werk. Keiner kommt auf die Idee, selbst Eisenerz zu schürfen, verhütten, schmieden um nach 30 Jahren die letzte Schraube in das fast fertige selbstgebastelte Auto zu schrauben. Fast fertig. 20 Jahre später - fast fertig. Upps der Motor läuft nicht, hab ja noch gar kein Brennstoff dafür. Viel Spaß beim Erdölbohren, oder moderner - Lithiumverhütten. Am Ende wirds dann doch nur der kleine hölzerne Karren zum Selberziehen.
Mit Selbstbastellösung kommt man nie soweit, wie mit Bibliotheken/Frameworks. Man ist gezwungen Komplexität/Funktionalität zu reduzieren, hätten alle unsere Vorfahren so gedacht, würden wir noch Stöcke schwingen und Beeren sammeln. Alles ohne Fellrock, weil Jagen schon eine arbeitsteilige Gruppenleistung ist.
- noisefloor
- User
- Beiträge: 3829
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
Gruß, noisefloor
Natürlich nutze ich Frameworks. In der Webentwicklung Django oder Bottle, je nach dem. Wer will den bitte den ganze WSGI-Kram selber programmieren? So viel Zeit kann eigentlich niemand habenund ob ihr Frameworks benutzt?
Gruß, noisefloor
Habe ich getan. Das Teil hieß allerdings ZX81 (Bausatz). Und vom (gegenwärtigen) Web noch keine Spur ...
- __blackjack__
- User
- Beiträge: 12984
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@kbr: Wie bringt man den denn ans (Inter)Netz? Gibt's da Hardware für?
@snafu: Dateien? Daten gibt man über Kippschalter für die einzelnen Bits ein.
@snafu: Dateien? Daten gibt man über Kippschalter für die einzelnen Bits ein.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
- pillmuncher
- User
- Beiträge: 1482
- Registriert: Samstag 21. März 2009, 22:59
- Wohnort: Pfaffenwinkel
Echte Programmierer sparen sich Kabel und Schalter und dergleichen und verwenden zur Datenübertragung dieses Protokoll: RFC1149 - A Standard for the Transmission of IP Datagrams on Avian Carriers.
In specifications, Murphy's Law supersedes Ohm's.