Einsatz von Datenbanken sinnvoll?



  • SelbstIstDerMann schrieb:

    Einfach C + Linux und damit hat der wirklich gezaubert. Pragmatismus in seiner reinsten Form.

    Nö. Pragmatismus sieht ganz anders aus.



  • hustbaer schrieb:

    SelbstIstDerMann schrieb:

    Einfach C + Linux und damit hat der wirklich gezaubert. Pragmatismus in seiner reinsten Form.

    Nö. Pragmatismus sieht ganz anders aus.

    Im Pragmatismus bemisst sich die Wahrheit einer Theorie an ihrem praktischen Erfolg, weshalb pragmatisches Handeln nicht an unveränderliche Prinzipien gebunden ist.

    Aus Wiki. So gesehen dürfte das Wort Pragmatismus schon auf diesen Herrn zutreffen.... 😃



  • Billiger Troll. OP stellt eine Nicht-Frage, die für einen anderen Unreg Vorlage für ein paar lustige Geschichten bietet und taucht dann nicht mehr auf. Tip: Sowas wirkt mit mehr OP-Beteiligung überzeugender.



  • Da liegst du völlig falsch. Meine Erfahrung mit dem Entwickler, der nur seine eigene Datenbank nutzt passte halt gut zu dem Thema. Nicht alles ist eine Verschwörung hier. Und ja es gibt Leute die machen alles alleine ohne Superduperplaung und den ganze Buzzword-Hype-Kram. Er war zwar der einzige den ich so kennen lernen durfte, aber das hat mich halt extrem beeindruckt. Da kann man dann hinterher nur noch lächeln wenn man so ließt was man heute alles für ein erfolgreiches Softwareprojekt braucht. Er hat aber auch viel Erfahrung bei einem sehr großen Autohersteller, vor seinem Ein-Mann-Groß-Projekt, sammeln können, dort hat er eine Interpretersprache entwickelt und vertrieben, auch alles reines C gewesen.



  • nman schrieb:

    Billiger Troll. OP stellt eine Nicht-Frage, die für einen anderen Unreg Vorlage für ein paar lustige Geschichten bietet und taucht dann nicht mehr auf. Tip: Sowas wirkt mit mehr OP-Beteiligung überzeugender.

    Ich lese hier interessiert mit.

    Es ist halt keine Verständnisfrage, sondern eher nach Erfahrungen und Geschichten, daher habe ich nicht viel hinzuzufügen.

    Bevor der Thread nach Pragmatismus und Trollvorwürfe abgedriftet ist, fand ich die Antworten sehr spannend!



  • Die denken hier nun einmal in ganz engen Schienen und dabei kommt folgender Unsinn heraus, deren Gegenbeweis ich gesehen habe, also brauche ich mir hier keinen Bären aufbinden lassen in der neuen tollen Buzzword IT Welt.

    - Große Projekte müssen im Team erarbeitet werden
    - Man implementiert nicht mehr alles selbst(gut er nutzt Ncurses, im Terminal Mode, GUI soll wohl dazugekommen sein für die Standautomaten weiß ich jetzt haben nicht. Ich kenne nur die Schnittstelle zum Web, denn die habe ich mit umgesetzt, allerdings von der PHP Seite her, aber noch ohne OOP)
    - C ist schlecht für große Projekte
    - Seine Datenbank schreibe man nicht selbst
    - Man braucht eine GUI/IDE für größere Projekte
    - Man braucht für große Projekte den OOP-Schnickschnack von C++



  • Natürlich _kannst_ du dein Pseudo-DBMS selbst schreiben. Nur ist es nicht "pragmatisch" Zeit damit zu verbringen, eine schlechtere Version von etwas zu schreiben, was es schon in sehr guten Varianten fertig verwendbar gibt.

    Das heißt nicht, dass man das nicht machen darf, oder dass ein echtes DBMS immer besser als eine selbstgestrickte Lösung sein muss. Aber ich habe schon solche Unmengen mittelmäßige handoptimierte Eigenbau-DBMSs gesehen, dass mich solche Beschreibungen nicht mehr sehr beeindrucken. (Häufig haben die Leute, die sowas selbstgestrickt haben und sehr stolz darauf sind, einfach keine Ahnung von Datenbanksystemen und den Problemen, die sie lösen.) Klar _kann_ man sowas selbst basteln. Die Frage ist, ob es auch sinnvoll ist.

    Wenn ich ein DBMS schreiben möchte, schreibe ich ein DBMS. Wenn ich ein Projekt machen möchte, das ein DBMS braucht, dann verwende ich ein fertiges DBMS.

    Zum OP: Ja, ein echtes DBMS bietet in vielen Situationen einen "echten Mehrwert für ein allgemeines Programm".



  • Ja schon klar, dass in den meisten Fällen fertige Lösungen besser sind. Ich persönlich würde auch was fertiges nutzen. Nur der Mann hat damals sogar Benchmarks mit seiner DB-Lösung gemacht und diese verglichen. Seine war um Längen ressourcenschonender und schneller. Sie war halt perfekt auf sein Produkt maßgeschneidert und es wurde nichts verschenkt. Wie gesagt, es ging nur um die Daten EINER Anwendung, er hat nie was anderes programmiert mit dieser DB und seine Sachen sind halt mit dem Projekt gewachsen. Ich glaube das Buzzword ist evolutionäre Entwicklung, oder so. Wie beim Linux-Kernel, keine große Planung, sondern einfach auf einen zu kommen lassen und die Probleme lösen.

    Es sollte halt nur erwähnt werden, dass es durchaus auch heute noch erfolgreiche Projekte gibt die jenseits der Buzzword-Entwickler existieren, die um wirklich alles einen Riesen Hype machen.

    Viele Wege führen nach Rom und nicht nur der den die meisten in der aktuellen Zeit beigebracht bekommen. Die denken dann wirklich es geht nicht anderes, bis sie vor zehn Schichten und Generalisierung den Wald voller Bäumen nicht mehr sehen.



  • Ich will das Projekt und den Entwickler nicht kritisieren, weil ich beide nicht kenne. Ich möchte aber darauf hinweisen, mit solchen Aussagen vorsichtig zu sein. Wie erfolgreich ein Projekt ist, kann man nicht immer so schnell feststellen. Das ist jetzt grad vielleicht erfolgreich, weil es funktioniert. Aber jetzt stell dir z.B. vor, dass der eine Entwickler in Rente geht oder sonst aus irgendeinem Grund hinschmeißt. Und die Firma oder Firmen, die das benutzen, müssen eine andere Firma beauftragen, das Produkt weiterzupflegen. Und die Firma, die dafür angeheuert wird sieht erstmal einen Haufen selbstgestrickten proprietären Scheiß, den kein Mensch versteht. Es wird mit Sicherheit darauf hinauslaufen, dass überhaupt nichts davon wiederverwendet wird, sondern alles viel teueren komplett from scratch umgesetzt werden muss.
    Oder stell dir mal vor, dass zusätzlich ODER alternativ dazu das System auch erweitert werden muss. Das mag jetzt vielleicht wunderbar funktionieren, aber dann will man das ganze an ein anderes Buzzword System koppeln, oder Business Intelligence machen, oder Daten fürs Finanzamt aufbereiten, oder das ganze als Service anbieten, was weiß ich was, gibt tausende Möglichkeiten. Und dann steht man mit einem selbstgebastelten System da, das nichts kann und jede Erweiterung mit Mannjahren Arbeit veranschlagt wird.
    Das ist das typische Ende solcher erfolgreichen Projekte.



  • Ein Projekt das seit 20 Jahren viele Menschen da ernährt und dem Entwickler zum Millionär gemacht ist, würde ich schon als sehr erfolgreich ansehen.

    Klar, wenn der Mann weg ist ist Schicht im Schacht.In der Branche wird auch sehr sehr viel Geld umgesetzt und die Software ist da der Dreh und Angelpunkt. Vertrauen spielt auch eine große Rolle und das haben die gut 500 Kunden anscheinend über Jahre hinweg.

    Firmen und komplexe Software kann man gar nicht über Jahre planen, das ist viel zu dynamisch. Sicher wird man durch den Einsatz von bekannten Frameworks, bekannten Datenbanken und populären einfachen Sprachen die Chance wesentlich erhöhen, gescheiten Nachwuchs zu finden, aber eine Garantie für den Erfolg eines Projektes ist es auch nicht.

    Er hat halt sein Risko gut eingeschätzt und gewonnen, der Erfolg gibt ihm recht, das ist Pragmatismus. Wenn es funktioniert ist es richtig und die Software hat so einige Änderungen mitgemacht. Von Videotext bis Internetanbindung ist alles eingebaut und beliebig erweiterbar und das alles in reinem C unter Linux von einem Mann der auch noch das meiste selbst implementiert. Alles möglich und erfolgversprechend. Die Grenzen sind meist nur im Kopf und die Menschen schränken sich künstlich ein, weil sie denke das klappt doch nie so und deswegen gehen sie nur die bekannten Wege der Masse.

    Also Leute, allein und mit einfachen Mitteln könnt ihr extrem viel erreichen. Lasst euch nicht zu viele Grenzen aufzeigen und einschüchtern. Macht selbst die Erfahrung.



  • Ich wollte nicht behaupten, dass dein Bekannter nicht erfolgreich ist. Mir passen nur drei Sachen überhaupt nicht:

    1. Datenbanksysteme sind keine Buzzword-Technologie. Niemand findet Datenbanken sexy und verwendet sie weil sie so furchtbar in sind. Ein DBMS verwendet man eher obwohl die Dinger keinen besonders guten Ruf haben – weil sie manchmal eben doch verdammt praktisch sind.
    2. Fertige DBMSe lösen eine Menge Probleme, für die praktisch kein selbstgestricktes System ausgelegt ist. Wenn man diese Probleme nicht lösen möchte, braucht man nicht unbedingt ein DBMS, aber häufig wäre ein fertiges DBMS langfristig trotzdem günstiger.
    3. Ich bin mir nicht sicher, ob du wirklich weißt, was Pragmatismus ist. Dass ein Projekt erfolgreich ist, heißt doch nicht dass alle Entscheidungen, die dabei getroffen wurden, pragmatisch waren. (Es heißt noch nichtmal, dass die Technologie dahinter gut ist.) Ich glaube dir schon, dass dein Bekannter viel Ahnung hatte, aber ich würde nicht sagen, dass jemand der alles mit Linux, C und vim erschlägt, unbedingt ein großer Pragmatiker ist. Das macht natürlich nichts, es gibt viele tolle Techniker, die unglaublich gut, aber keine Pragmatiker sind. Im Gegenteil, in vielen Fällen ist die pragmatischste Lösung nicht die technisch sauberste und hübscheste und das mögen viele Techies (mich eingeschlossen) überhaupt nicht.


  • SelbstIstDerMann schrieb:

    Er hat halt sein Risko gut eingeschätzt und gewonnen, der Erfolg gibt ihm recht, das ist Pragmatismus.

    Wenn ich gut genug bin, kann ich gleichzeitig aus Sturheit viel dummes machen, und werde immer noch erflogreich sein.
    Das ist für mich aber nicht Pragmatismus. Es ist an Dummheit grenzende Sturheit.

    Ist ja nicht so dass ich das was du schreibst das erste mal höre bzw. lese.
    Kein einziges mal war es dabei aber so dass Herr Schlau (tm) dabei erstmal (oder auch danach) ernsthaft versucht hätte mit den passenden Tools zu arbeiten.

    Angenommen ich kann mit einem Schraubenzieher schneller Nägel einklopfen als die meisten mit einem Hammer. Und angenommen ist wäre nicht irgendwie ganz komisch veranlagt, so dass man davon ausgehen kann dass ich mit einem Hammer noch viel schneller wäre.
    Nennst du es dann Pragmatismus wenn ich trotzdem jahrelang den Schraubenzieher verwende?
    Wenn ja, dann gebe ich dir Recht, dann musst du das was du beschrieben hast natürlich auch als Pragmatismus bezeichnen.

    Für mich bedeutet das Wort aber was anderes.



  • Man sollte immer das Werkzeug einsetzen, welches man am besten beherrscht und womit man sich am wohlsten fühlt. Das was sich bewährt hat ist gut, so einfach ist das.



  • So manches erfolgreiches Projekt ist ein Write-Once Projekt. Der Hauptentwickler kann zwar Änderungen durchführen, aber sobald ein anderer am Drücker ist hat er Probleme. Ich denke da an fehlende Doku, minimale Kopplung maximale Kohäsion, viele Seiteneffekte,... Mann kann so programmieren dass man nur selbst Änderungen durchführen kann.

    Spätestens wenn ich feststelle dass ich ein SQL Statement benötigte, würde ich auf Datenbanken setzen.



  • Valala schrieb:

    Man sollte immer

    Dogmen sind grundsätzlich falsch.

    Valala schrieb:

    ...das Werkzeug einsetzen, welches man am besten beherrscht und womit man sich am wohlsten fühlt

    Jedenfalls ist das ein effektiver Weg zur geistigen Frühverrentung 🙂



  • Valala schrieb:

    Man sollte immer das Werkzeug einsetzen, welches man am besten beherrscht und womit man sich am wohlsten fühlt. Das was sich bewährt hat ist gut, so einfach ist das.

    Man sollte das einsetzen, was passt. Man sollte nicht zu einer anderen Sprache wechseln, nur weil die gerade in ist, aber wenn sich etwas anbietet, dann lieber das nehmen als selbst machen.



  • Valala schrieb:

    Man sollte immer das Werkzeug einsetzen, welches man am besten beherrscht und womit man sich am wohlsten fühlt. Das was sich bewährt hat ist gut, so einfach ist das.

    Und das ist Blödsinn, so einfach ist das.



  • SelbstIstDerMann schrieb:

    Klar, wenn der Mann weg ist ist Schicht im Schacht.

    Und das Alleine sollte zu denken geben. Ins besondere wenn...

    SelbstIstDerMann schrieb:

    die Software ist da der Dreh und Angelpunkt. Vertrauen spielt auch eine große Rolle...

    ...man damit eben das Vertrauen der Kunden missbraucht. Fällt die Person aus so haben die Firmen die ihm bislang vertraut haben immense Probleme. Für mich ist dies ein eindeutiger Vertrauensmißbrauch.

    SelbstIstDerMann schrieb:

    Firmen und komplexe Software kann man gar nicht über Jahre planen, das ist viel zu dynamisch. Sicher wird man durch den Einsatz von bekannten Frameworks, bekannten Datenbanken und populären einfachen Sprachen die Chance wesentlich erhöhen, gescheiten Nachwuchs zu finden, aber eine Garantie für den Erfolg eines Projektes ist es auch nicht.

    Eine Garantie nicht, aber planen kann man auch komplexe Software. Für die Dynamik gibt es durchaus sinnvolle Ansatzpunkte (z.B. Agile Entwicklung).

    SelbstIstDerMann schrieb:

    Er hat halt sein Risko gut eingeschätzt und gewonnen, der Erfolg gibt ihm recht, das ist Pragmatismus. Wenn es funktioniert ist es richtig...

    Für mich gehört auch zum Erfolg die Verantwortung der Weiterführung, auch über das eigene Leben hinaus. Und dann reicht "funktionieren" auch nicht mehr aus, dann ist auf einmal Wartbarkeit ein wichtiges Kriterium. Letzteres ist für alle langlebigen Produkte relevant, bei kurzlebigen Projekten mag es im Gegenzug keine Rolle spielen.

    Und Pragmatismus heißt auch, das man nicht alles selbst macht, sondern auch das man auf vorhandene Technik zurückgreift um Ressourcen zu schonen. Niemand, gerade kein Einzelner, kann Module so intensiv testen wie spezialisierte Firmen/Programmiergruppen.

    Irgendwie erinnert mich deine Aussage an die eines ehemaligen Chefentwicklers. Der programmierte auch alles selbst, und lehnte die C++ STL mit dem Argument ab, das diese ja wesentlich langsamer und fehlerhafter sei - Merkwürdig nur das ich das Gegenteil beweisen konnte (Spätestens wenn man im Code einen 5-fach Zeiger sieht sollte man lieber auf wesentlich besser getestete Bibliotheken wie eben die STL setzen; oder halt etablierte Datenbanksysteme nutzen).



  • blablabla...typsich deutsch...Der Mann hat Millionen gemacht und die Kunden sind zufrieden und das über viele Jahre/Jahrzehnte...Da kann man noch so viele Buzzwort-Bücher lesen und zitieren, in denen steht wie man alles plant usw und die Leute werden dadurch nicht halb so erfolgreich. Eines der größten Projekte der Welt scheißt auf all die Design und Plaunung-Buzzwords und programmiert mit über 2000 Entwickler alles in reinem C und Assembler und ist extrem erfolgreich. Das Projekt ist der Linux-Kernel. Das ist Pragmatismus.

    Wenn es über viele Jahre funktioniert ist es richtig. Und die Software wurde unter HP_Unix entwickelt und dann auf Linux portiert. Er ist also schon seeeeeeehr lange im Geschäft und ließt auch viele Fachbücher. Er weiß sehr gut was Stuss ist und was nicht und was man braucht um ein extrem kritisches Softwareprojekt in C über Jahre am Laufen zu halten und ständig zu verbessern und zu erweitern. Und das klappt so gut, dass er es ALLEIN hinbekommt. Teilweise hat er sogar zwei Firmen gehabt.

    Es gibt halt Leute die haben es drauf und Leute die viel Buzzwords labern und den Anfänger einen Bären aufbinden, weil die denken nur so geht es gut...was totaler Unsinn ist.



  • @SelbstIstDerMann
    Hmja.
    Deine tollen Argumente haben mich jetzt voll überzeugt.
    Kannste beruhigt schlafen heut Nacht.


Anmelden zum Antworten