Was soll denn der ganze Sch....

port29

deus.Server
Hallo Leute,

ich habe mir gerade in der aktuellen dotNetPro den Bericht über die CCR - Concurency Coordination Runtime - durchgelesen. Ich beschäftige mich aber eh schon mit Programmiersprachen seit dem ich 14 bin. Meine erste Sprache war QBasic und Visual Basic, anschließend gefolgt von ASM. Dann kam C/C++, Perl, PHP, Delphi und zu guter letzt noch C#, Java und RoR.

Aber um jetzt mal auf das eigentliche Thema zurückzukommen. Wenn ich heute mit .Net oder Java (.Net ist in der Hinsicht viel schlimmer) etwas programmiere, dann muss ich nicht selten gegen das Framework ankämpfen, wenn ich eine Operation so ausführen möchte, wie ich es will und nicht das Framework. Noch schlimmer wird das ganze, sobald man mit mehreren Threads arbeitet und schreibend auf gemeinsame Ressourcen zugreifen will.

Mein Hauptproblem momentan ist, dass die modernen Sprachen anscheinend dem Programmierer nichts zutrauen. Klar, ich wäre der erste Programmierer, der beim Coden keine Fehler macht, aber ich will vor allem keine Bevormundung haben, die mich dazu zwingt, etwas zu machen, was ich garnicht möchte.

Früher habe ich in ASM Seitenlange Codes geschrieben, damit der Rechner das tut, was ich auch meine, heute gehen die modernen Programmiersprachen leider genau in die gleiche Richtung.
 
Wenn du gegen ein Framework ankämpfen musst, nimmst du vielleicht das falsche oder du verwendest es nicht wie es sein sollte.
Ich finde, gute Frameworks machen einem die Arbeit deutlich leichter. Ich benutze z.B. Spring und Hibernate. Man programmiert nur noch "nützlichen" Business-Code, Low-Level Dinge wie Persistenz, Transaktionsverwaltung, Security, Multithreading usw. wird einem abgenommen. Als Bevormundung würde ich das nicht bezeichnen, eher als große Hilfe.
 
Ich kann port29 gut verstehen. Ich bin kein großer Programmierer, und ich unterschätze auch nicht die Hilfeleistung von Frameworks.
Aber manchmal können einfache Dinge so umständlich schwer sein :)

mfg chmee

p.s.: Was mich dabei auch stört : Mit Frameworks hole ich mir zudem "Nicht-hausgemachte" Fehler ins Boot und dann ist in die Tischkante beißen angesagt. Nicht nur unverständliche Fehler, sondern auch Einfallstore, die nicht mir zu verschulden sind, sondern dem Unterbau..
 
Man programmiert nur noch "nützlichen" Business-Code, Low-Level Dinge wie Persistenz, Transaktionsverwaltung, Security, Multithreading usw. wird einem abgenommen. Als Bevormundung würde ich das nicht bezeichnen, eher als große Hilfe.

Eine große Hilfe kann auch recht schnell zu einem großen Problem werden.

Beispiel aus der Realität:
Mit .Net kannst du einige Informationen eines Verzeichnisses mit Hilfe der Methode DirectoryInfo abrufen. Meiner Meinung nach, geht von dieser Methode keinerlei Gefahr aus. Microsoft war da einer anderen Meinung. Ist die .exe Datei auf einer lokalen Festplatte gespeichert, dann funktioniert alles. Ist die .exe jedoch auf einem Netzwerk Share gespeichert, dann gibt es irgendeine Exception von Wegen Sicherheitsrichtlinie.

Beispiel 2:

Ich habe zwei Threads, ein Thread rechnet, der andere ist nur für die Darstellung verantwortlich. Nun der ganz normale Fall: der Rechnende Thread übergibt z.B. aufgaben an den darstellenden. Ruft meinetwegen eine Methode der GUI Instanz auf und in dieser Methode erfolgt dann die Ausgabe auf der GUI. Doch so etwas wird auch unterbunden, denn die Variable gehört ja nicht dem aufrufenden Thread, also muss nun überprüft werden, ob nicht ein Schreibzugriff auf die Variable erfolgt. Natürlich wird dadurch Sicherheit gewonnen, aber wenn der Programmierer weiß, dass in dem Moment kein Schreibzugriff erfolgt, wieso sollte er nicht schreiben können?


Ich komme vielleicht aus einer etwas anderen Zeit und habe auch ein etwas anderen Hintergrund. In Assembler kann ich mit Mikrocontrollern jede menge Spaß haben. z.B. kann ich Daten lesen noch bevor diese ganz geschrieben wurden. Kommt natürlich Müll bei raus, dennoch ist so etwas möglich.

Sicherheit & co. ist zwar schön und gut, aber alles geht auf Kosten der Performance. Und gerade bei großen Berechnungen spürt man deutlich die Einflüsse des Frameworks.
 
Zurück