Jetzt kann ich es beweisen: Klassen sind Funktionsbausteine!


Getting started ... Alles für einen gelungenen Start.

Moderatoren: Jan, Steff

Jetzt kann ich es beweisen: Klassen sind Funktionsbausteine!

Beitragvon DeathAndPain » 03.12.2018, 17:11

Hallo zusammen,

wer behauptet, was ich im Betreff geschrieben habe, der wird von OO-Apologeten schnell zurechtgewiesen. Durch einen Zufall habe ich heute aber feststellen können, dass Klassen für ABAP offenbar doch nichts anderes sind als Funktionsbausteine, was meine schon lange geäußerte Meinung, dass Klassen nichts anderes sind als weiterentwickelte Funktionsbausteine, nun auch technisch belegt.

Und zwar habe ich in einem Testprogramm eine (statische) Methode aufgerufen. Diese Methode war von mir selber und hat per RAISE-Befehl eine (in der SE24 ordentlich deklarierte) Exception geworfen. Diese Exception habe ich in meinem Testprogramm nicht behandelt. Daraufhin kam es zu einem Dump.

So weit, so erwartet. Jetzt habe ich mir den Text des Dumps aber mal genauer angeschaut:

Bild

Hier wird unmissverständlich deutlich gemacht, dass die Methode für ihn nichts anderes ist als ein Funktionsbaustein. Der hier gegebene Rat, in der SE37 nach einem Langtext zur Exception zu suchen, ist natürlich fruchtlos. Auch fehlt in obigem Screenshot der "Kurztext zur Ausnahmebedingung", obgleich ich diesen in der SE24 gewissenhaft gepflegt habe!

An dieser Stelle hat die SAP sich verraten, was Klassen und Methoden unter der Haube tatsächlich sind. :evil:

Für diese Nachricht hat DeathAndPain 2 Dankeschön bekommen :
black_adept, Daniel
DeathAndPain
Expert
 
Beiträge: 844
Registriert: 05.05.2006, 10:14
Dank erhalten: 197 mal
Ich bin: Entwickler/in

Sponsor

Alte ABAP-Entwicklerweisheit: Weißt du weder aus noch ein, baust du einen BADI ein

Re: Jetzt kann ich es beweisen: Klassen sind Funktionsbauste

Beitragvon ralf.wenzel » 03.12.2018, 17:42

*Kopf -> Tisch*


Ralf

Für diese Nachricht hat ralf.wenzel einen Dank bekommen :
SaskuAc
ralf.wenzel
Top Expert
 
Beiträge: 3301
Registriert: 18.09.2004, 13:03
Wohnort: Hamburg
Dank erhalten: 200 mal
Ich bin: Freiberufler/in

Re: Jetzt kann ich es beweisen: Klassen sind Funktionsbauste

Beitragvon a-dead-trousers » 03.12.2018, 17:45

*LangsamesInDieHändeKlatschen*
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.07
Basis: 7.40
a-dead-trousers
Top Expert
 
Beiträge: 3106
Registriert: 07.02.2011, 13:40
Dank erhalten: 767 mal
Ich bin: Entwickler/in

Re: Jetzt kann ich es beweisen: Klassen sind Funktionsbauste

Beitragvon a-dead-trousers » 03.12.2018, 17:52

Klassen sind doch keine "neue" Art von Programmen. :evil:
Wenn man z.B. in C++ etwas mit Klassen programmiert stehen am Ende auch nur prozedurale Anweisungen in Maschinencode/Asembler.
Es ist "nur" eine andere Art WIE man Programme schreiben kann. Das Ergebnis bei prozeduraler und/oder OO-Programmierung ist in beiden Fällen das Gleiche: Eine Abfolge von Funktionsaufrufen.
Wie du ja schon oft argumentiert hast, kann man das ganze "OO Gedöns" auch klassisch, prozedural lösen.
Meines Erachtens unterstreicht deine "Entdeckung" nur diese Erkenntnis.
Zuletzt geändert von a-dead-trousers am 03.12.2018, 17:58, insgesamt 2-mal geändert.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.07
Basis: 7.40

Für diese Nachricht hat a-dead-trousers einen Dank bekommen :
Daniel
a-dead-trousers
Top Expert
 
Beiträge: 3106
Registriert: 07.02.2011, 13:40
Dank erhalten: 767 mal
Ich bin: Entwickler/in

Re: Jetzt kann ich es beweisen: Klassen sind Funktionsbauste

Beitragvon ralf.wenzel » 03.12.2018, 17:54

Eines ist sicher: DAP bringt gestandene Männer zum Weinen - vor Verzweiflung.


Ralf

Für diese Nachricht hat ralf.wenzel einen Dank bekommen :
a-dead-trousers
ralf.wenzel
Top Expert
 
Beiträge: 3301
Registriert: 18.09.2004, 13:03
Wohnort: Hamburg
Dank erhalten: 200 mal
Ich bin: Freiberufler/in

Re: Jetzt kann ich es beweisen: Klassen sind Funktionsbauste

Beitragvon ewx » 03.12.2018, 18:44

Du glaubst auch, dass wir in einer Hohlerde leben, weil sich deine Schuhe nur an der Aussenrändern ablaufen, oder? :D
ewx
Top Expert
 
Beiträge: 3835
Registriert: 04.08.2003, 19:55
Wohnort: Schleswig-Holstein
Dank erhalten: 320 mal

Re: Jetzt kann ich es beweisen: Klassen sind Funktionsbauste

Beitragvon 4byte » 04.12.2018, 10:17

:D :D :D
Es gibt 10 Menschen die binär verstehen :)
4byte
Specialist
 
Beiträge: 118
Registriert: 24.10.2017, 09:16
Dank erhalten: 34 mal
Ich bin: Entwickler/in

Re: Jetzt kann ich es beweisen: Klassen sind Funktionsbauste

Beitragvon DeathAndPain » 04.12.2018, 10:34

Sicher ist, dass die SE24 wesentlich liebloser implementiert ist als die SE37. Nicht nur, dass der Dump nicht den Text aus der SE24 bringt, nicht nur, dass die SE24 die Klassen- und Methodendokumentationen hinter schlecht handhabbaren Menüpunkten verbirgt, anstatt wie die SE37 plakative Schaltflächen dafür anzubieten: wenn man in der SE24 auf Springen -> Übersetzung geht, bekommt man stets eine "leere Objektliste". Den Menüpunkt haben sie eingebaut; ihn aber ordentlich mit Leben zu befüllen waren sie zu faul. Man muss also extra über die SE63 gehen und da wieder nacheinander die Kurztexte und die Langtexte für die Klasse aufrufen, anstatt über Springen -> Übersetzung alles an einem Ort zu haben.

Finde ich schon ziemlich schwach, vor allem wenn man sich überlegt, wie lange es die SE24 schon gibt und wieviel Zeit sie demnach gehabt haben, dieses als neu propagierte Tool ordentlich zu gestalten.

Für diese Nachricht hat DeathAndPain einen Dank bekommen :
Daniel
DeathAndPain
Expert
 
Beiträge: 844
Registriert: 05.05.2006, 10:14
Dank erhalten: 197 mal
Ich bin: Entwickler/in

Re: Jetzt kann ich es beweisen: Klassen sind Funktionsbauste

Beitragvon ralf.wenzel » 04.12.2018, 10:49

Deine Probleme möchte ich haben. Um die Doku zu schreiben, drücke ich F9 und fertig. Übersetzungen interessieren mich nicht, die meisten Übersetzungen werden in meinen Projekten von Übersetzern geschrieben, nicht von Entwicklern ;)


Ralf
ralf.wenzel
Top Expert
 
Beiträge: 3301
Registriert: 18.09.2004, 13:03
Wohnort: Hamburg
Dank erhalten: 200 mal
Ich bin: Freiberufler/in

Re: Jetzt kann ich es beweisen: Klassen sind Funktionsbauste

Beitragvon DeathAndPain » 04.12.2018, 11:09

Um die Doku zu schreiben, drücke ich F9 und fertig.

Mit anderen Worten, Deine Klassen selbst dokumentierst Du nicht (denn mit F9 erreichst Du nur die Dokus der Methoden und sonstigen Unterkomponenten).

Übersetzungen interessieren mich nicht, die meisten Übersetzungen werden in meinen Projekten von Übersetzern geschrieben, nicht von Entwicklern ;)

Das mag bei Dir so sein, aber es arbeitet ja nicht jeder in Deinem Umfeld. Ich habe hier das Problem, dass ich mehrere Leute - darunter Entwickler - in meinem Team habe, die nicht deutschsprachig sind. Die sollen auch die Chance haben, meinen Code zu verstehen, aber dennoch habe ich keine Lust, alles nur auf englisch zu dokumentieren. Daher mache ich mir schon die Mühe, meine Texte selber zu übersetzen.

Was passiert, wenn ein "Übersetzer" Software-Texte übersetzen soll, kannst Du bei vielen Computerspielen sehen. Die deutschen Übersetzungen der allermeisten Spiele sind horrend schlecht, weil nämlich der Übersetzer das Spiel nicht kennt und daher inhaltlich nicht verstanden hat, was er da übersetzt. Das ist ganz was anderes, als wenn man ein Buch übersetzt, das ein in sich geschlossenes Werk darstellt, das der Übersetzer beim Lesen genauso versteht wie jeder andere Leser.

Und hier reden wir ja nicht nur von Spielen, sondern von fachspezifischen Themen, kombiniert mit meinen in Software gegossenen Ideen, wie ich die Probleme zu lösen gedenke. Das soll ein "Übersetzer", der sich damit nicht auskennt, inhaltlich stimmig übersetzen können? Kannste knicken.

Für diese Nachricht hat DeathAndPain einen Dank bekommen :
Daniel
DeathAndPain
Expert
 
Beiträge: 844
Registriert: 05.05.2006, 10:14
Dank erhalten: 197 mal
Ich bin: Entwickler/in

Re: Jetzt kann ich es beweisen: Klassen sind Funktionsbauste

Beitragvon SaskuAc » 04.12.2018, 12:05

DeathAndPain hat geschrieben:
Um die Doku zu schreiben, drücke ich F9 und fertig.

Mit anderen Worten, Deine Klassen selbst dokumentierst Du nicht (denn mit F9 erreichst Du nur die Dokus der Methoden und sonstigen Unterkomponenten).

Übersetzungen interessieren mich nicht, die meisten Übersetzungen werden in meinen Projekten von Übersetzern geschrieben, nicht von Entwicklern ;)

Das mag bei Dir so sein, aber es arbeitet ja nicht jeder in Deinem Umfeld. Ich habe hier das Problem, dass ich mehrere Leute - darunter Entwickler - in meinem Team habe, die nicht deutschsprachig sind. Die sollen auch die Chance haben, meinen Code zu verstehen, aber dennoch habe ich keine Lust, alles nur auf englisch zu dokumentieren. Daher mache ich mir schon die Mühe, meine Texte selber zu übersetzen.


Das ist aber dann dein Problem. Wenn du dir angewöhnst alles auf englisch zu schreiben macht es keinen Unterschied mehr, irgendwann willst du auch gar nicht mehr auf deutsch dokumentieren.. ^^
Persönlich mache ich das nämlich ähnlich wie Ralf. Nur dass wir keine Übersetzung brauchen, weil grundsätzlich alles auf englisch ist.



DeathAndPain hat geschrieben:Sicher ist, dass die SE24 wesentlich liebloser implementiert ist als die SE37. Nicht nur, dass der Dump nicht den Text aus der SE24 bringt, nicht nur, dass die SE24 die Klassen- und Methodendokumentationen hinter schlecht handhabbaren Menüpunkten verbirgt, anstatt wie die SE37 plakative Schaltflächen dafür anzubieten: wenn man in der SE24 auf Springen -> Übersetzung geht, bekommt man stets eine "leere Objektliste". Den Menüpunkt haben sie eingebaut; ihn aber ordentlich mit Leben zu befüllen waren sie zu faul. Man muss also extra über die SE63 gehen und da wieder nacheinander die Kurztexte und die Langtexte für die Klasse aufrufen, anstatt über Springen -> Übersetzung alles an einem Ort zu haben.

Finde ich schon ziemlich schwach, vor allem wenn man sich überlegt, wie lange es die SE24 schon gibt und wieviel Zeit sie demnach gehabt haben, dieses als neu propagierte Tool ordentlich zu gestalten.


Dass die SAP im R/3 Umfeld bei der kompletten implementierung von OO und deren Tools gepennt hat und danach lieblos und halbherzig "alles" umgesetzt hat, ist ja kein Geheimnis. Aber deswegen OO zu verteufeln und es zu verweigern ( soweit möglich ) ist keine Lösung.

DeathAndPain hat geschrieben:Was passiert, wenn ein "Übersetzer" Software-Texte übersetzen soll, kannst Du bei vielen Computerspielen sehen. Die deutschen Übersetzungen der allermeisten Spiele sind horrend schlecht, weil nämlich der Übersetzer das Spiel nicht kennt und daher inhaltlich nicht verstanden hat, was er da übersetzt. Das ist ganz was anderes, als wenn man ein Buch übersetzt, das ein in sich geschlossenes Werk darstellt, das der Übersetzer beim Lesen genauso versteht wie jeder andere Leser.

Und hier reden wir ja nicht nur von Spielen, sondern von fachspezifischen Themen, kombiniert mit meinen in Software gegossenen Ideen, wie ich die Probleme zu lösen gedenke. Das soll ein "Übersetzer", der sich damit nicht auskennt, inhaltlich stimmig übersetzen können? Kannste knicken.


sehe ich anders. Dass bei Spielen die Übersetzungen schelcht sind liegt vorallem daran, dass man diese nie beachtet und die dann keine Zeit haben eine ordentliche Übersetzung zu machen. Es ist schlichtweg die Zeit die so gut wie immer fehlt. Bei Büchern und bei anderer Software ist das anders, bzw. sollte es anders sein. In der Regel hat ein Autor einen Übersetzer ( für die jeweilige Sprache ) welcher dann immer weiß wie der jeweilige Autor das gemeint hat. Außerdem wird hier von Haus aus mehr Zeit eingeplant. ( Ein Übersetzer eines Buches hat im Schnitt sehr viel mehr Zeit als einer der ein Spiel übersetzt )
Und bei Software ist das in der Regel, bzw. sollte es die Regel sein, so, dass man Übersetzer-Firmen beauftragt, welche sich mit dem jeweiligen Thema auskennt. Bzw. dass man auch wieder einen Übersetzer anstellt, welcher für den Bereich zuständig ist und einen der für einen anderen Bereich zuständig ist.

Für diese Nachricht hat SaskuAc einen Dank bekommen :
ralf.wenzel
SaskuAc
Specialist
 
Beiträge: 213
Registriert: 01.06.2015, 10:16
Dank erhalten: 21 mal
Ich bin: Entwickler/in

Re: Jetzt kann ich es beweisen: Klassen sind Funktionsbauste

Beitragvon ralf.wenzel » 04.12.2018, 14:01

DeathAndPain hat geschrieben:
Um die Doku zu schreiben, drücke ich F9 und fertig.

Mit anderen Worten, Deine Klassen selbst dokumentierst Du nicht (denn mit F9 erreichst Du nur die Dokus der Methoden und sonstigen Unterkomponenten).


Nein, aber da gibt es wieder einen Button, auf die stehst du doch so. Hat dir mal wer gesagt, dass du anstrengend bist? Ich meine, so richtig anstrengend. Natürlich dokumentiere ich auch die Klassen selbst.


Ralf

Für diese Nachricht hat ralf.wenzel einen Dank bekommen :
a-dead-trousers
ralf.wenzel
Top Expert
 
Beiträge: 3301
Registriert: 18.09.2004, 13:03
Wohnort: Hamburg
Dank erhalten: 200 mal
Ich bin: Freiberufler/in

Re: Jetzt kann ich es beweisen: Klassen sind Funktionsbauste

Beitragvon black_adept » 04.12.2018, 14:14

DeathAndPain hat geschrieben:Mit anderen Worten, Deine Klassen selbst dokumentierst Du nicht (denn mit F9 erreichst Du nur die Dokus der Methoden und sonstigen Unterkomponenten).
Unbenannt.png
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de
black_adept
Top Expert
 
Beiträge: 3131
Registriert: 08.01.2003, 13:33
Wohnort: Lehrte ( bei Hannover )
Dank erhalten: 533 mal
Ich bin: Freiberufler/in

Re: Jetzt kann ich es beweisen: Klassen sind Funktionsbauste

Beitragvon DeathAndPain » 04.12.2018, 15:03

Danke für den Hinweis auf den Button.

Dass die SAP im R/3 Umfeld bei der kompletten implementierung von OO und deren Tools gepennt hat und danach lieblos und halbherzig "alles" umgesetzt hat, ist ja kein Geheimnis.

Wenn sie unter Zeitdruck gestanden hätten, könnte ich das ja nachvollziehen. Was ich nicht verstehe, ist, weshalb das jetzt, viele Jahre später, immer noch so ist. Wir reden hier ja nicht über Sachen, die zu implementieren einen großen Aufwand machen würde. Ich meine, z.B. den Menüpunkt Springen -> Übersetzung zum Laufen zu bekommen, how hard can it be?!? Eigentlich ist das ein knallharter Bug. (Und nun sagt mir nicht, dass ich eine Meldung aufmachen soll. Dieser Bug ist so offensichtlich, dass ich behaupte, die SAP kennt ihn längst und steht auf dem Standpunkt "won't fix".)

Dass bei Spielen die Übersetzungen schlecht sind liegt vorallem daran, dass man diese nie beachtet und die dann keine Zeit haben eine ordentliche Übersetzung zu machen.

Zeitdruck haste überall und bei allen Projekten, aber das führt nicht dazu, dass alle Projekte nichts taugen. Die großen Spielefirmen sind ja keine Amateure, die das zum ersten Mal machen und nicht wissen, dass sie das Spiel, in dessen Entwicklung sie viele tausend Mannstunden investiert haben, anschließend weltweit verkaufen wollen. Man merkt den Übersetzungen teilweise sogar an, welcher englische Ursprungstext ihm offenbar zugrundegelegen haben wird und welchen Interpretationsfehler der Übersetzer gemacht hat angesichts der Tatsache, dass er den Spielkontext nicht kannte. Es ist eben ein Unterschied, ob ich ein Buch lese und damit kenne oder ob ich - und das ist in Spielen gängige Praxis - eine Tabelle von Sätzen und Phrasen bekomme, die ich dann von oben nach unten übersetzen soll ohne zu wissen, in welchem inhaltlichen Zusammenhang sie stehen. An dieser Stelle wäre es hilfreich - um nicht zu sagen notwendig - dass der Übersetzer das Spiel im englischen Original gespielt hat, und zwar so eingehend wie möglich. Dann würde es ihm bei den allermeisten Formulierungen möglich sein zu beurteilen, wie sie gemeint sind und wie daher eine inhaltlich passende Übersetzung auszusehen hat.

Stattdessen habe ich den Eindruck, dass man sich an Anbieter wie http://www.lengoo.de wendet, und die machen das dann für einen. (Schau Dir die Homepage von Lengoo an: die führen explizit aus, dass sie auch Spieleübersetzungen machen!)

Und bei Software ist das in der Regel, bzw. sollte es die Regel sein, so, dass man Übersetzer-Firmen beauftragt, welche sich mit dem jeweiligen Thema auskennt.

Bei Office-Software dürfte das weitgehend gangbar sein. Wer LibreOffice kennt, wird auch ein Microsoft Office übersetzt bekommen, da die Begrifflichkeiten ähnlich und der Kontext klar ist. Bei Spielen ist das deutlich anders, da diese eine eigene, nur zu dem jeweiligen Spiel passende Welt mit ihren eigenen Regeln, Begrifflichkeiten und Zusammenhängen aufspannen. Wer Elite:Dangerous spielt, wird noch lange nicht Baldur's Gate übersetzen können. Das fängt schon mit der AD&D-Terminologie an, die man nur richtig wiedergeben kann, wenn man sich damit auskennt.
DeathAndPain
Expert
 
Beiträge: 844
Registriert: 05.05.2006, 10:14
Dank erhalten: 197 mal
Ich bin: Entwickler/in

Re: Jetzt kann ich es beweisen: Klassen sind Funktionsbauste

Beitragvon ralf.wenzel » 04.12.2018, 15:41

DeathAndPain hat geschrieben:Wenn sie unter Zeitdruck gestanden hätten, könnte ich das ja nachvollziehen. Was ich nicht verstehe, ist, weshalb das jetzt, viele Jahre später, immer noch so ist.


Weil wenn das Thema vom Tisch ist, sich kein Mensch mehr darum kümmert. "Mache ich, wenn ich Zeit dafür habe" ist zumeist gleichbedeutend mit "das bleibt jetzt so bis in alle Ewigkeit".

Als ich in meine aktuelle Wohnung eingezogen bin, war das ERSTE, was ich gemacht habe, ein Regal in den Keller einzubauen (richtig verankert in der Wand und so, und auch ein richtig stabiles Teil). Meine Frau meinte, das wäre das Unwichtigste überhaupt. Heute ist sie mir dankbar, dass wir das haben, weil wenn du einmal eingezogen bist und sich Sachen im Keller sammeln, machst du das nie!

DeathAndPain hat geschrieben:Zeitdruck haste überall und bei allen Projekten


Du hast keine Ahnung, wie es in der Spieleindustrie aussieht, ne? Unter dem Druck, unter dem dort gearbeitet wird, möchte ich nie arbeiten. Und ja: Ich HATTE schon Druck in Projekten, bis hin zum Ausbruch von Schuppenflechten.



Ralf
ralf.wenzel
Top Expert
 
Beiträge: 3301
Registriert: 18.09.2004, 13:03
Wohnort: Hamburg
Dank erhalten: 200 mal
Ich bin: Freiberufler/in

Nächste

Zurück zu ABAP® für Anfänger

  Aktuelle Beiträge   
Applikations-Toolbar dynamisch erzeugen
vor 9 Stunden von ralf.wenzel 0 Antw.
CP_BD_DIRECT_INPUT_PLAN
Gestern von Gottschall 0 Antw.
Logische Datenbank: Selektieren mit Loop
vor 4 Stunden von deejey 12 Antw.
Globale Konstanten - Organisationseinheiten
vor 13 Stunden von ralf.wenzel 5 Antw.
Kein Zugriff auf Dateien im Applikationsserver
Gestern von zzcpak 1 Antw.

  Ähnliche Beiträge beta
Was sind Berechtigungsobjekte?
01.10.2010, 09:53 von weigo 3 Antw.
ALV-Grid: Wo sind die Daten?
13.07.2005, 15:40 von ereglam 3 Antw.
Was sind konfigurierbare Positionen?
02.03.2006, 13:52 von said1980 2 Antw.
Wo sind die anderen Kostenstellen?
26.04.2018, 11:31 von Wann 3 Antw.
Was sind Field-Symbols und wie benutzt man sie?
05.01.2005, 13:58 von babap 7 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder