C# oder ABAP?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Mit ABAP kann man nur im SAP Umfeld programmieren und nicht wirklich Windows Anwendungen schreiben oder lieg ich da falsch?

Das hast du haarscharf erkannt.

Ich bin der Meinung, dass man mit C# einfach viel mehr machen kann

Ja, außerhalb von SAP jedenfalls schon.

Chancen im Berufsleben

Jain: Es werden sowohl Entwickler im SAP Umfeld gesucht, sowie C# Programmierer. - Durch die breite Fächerung der Anwendungsmöglichkeiten von C# gibt es mehrere Softwarefirmen mit anderen Ausrichtungen der Software, in denen du dich bewerben kannst. 

Mit ABAP hingegen bleibst du eben in einer Fachrichtung: ERP-Software. In der Summe wird in Verbindung mit SAP auch in der Regel meist gut gezahlt.

Betrachtet man den Code: C# gegenüber ABAP, wirst du dich in C# deutlich leichter zurecht finden. Code macht meist viel mehr Sinn und ist leserlicher.

In meinem Beruf bin ich als Java-Entwickler sehr oft mit ABAP-Entwicklern im Gespräch und bekomme auch den ABAP Code zu Gesicht und da graust es mir jedesmal. - Was Anfangs eine Milde Mischung aus "billigem SQL" und VBA verspricht, wird später noch eine richtige Hölle aus unlesbarem Code, sofern das Projekt etwas größer wird.

Demnach müsstest du entscheiden:

  • Mit gutem Gehalt, einer sch*** Programmiersprache in die SAP-Businesswelt einsteigen
  • Mit einer guten Programmiersprache aber vermutlich weniger Gehalt deine Erfahrungen zu machen. Die Möglichkeit haben, auch andere Programmiersprachen leichter zu lernen und mehrere Möglichkeiten der Anwendung kennen zu lernen.
xeonable 
Fragesteller
 09.05.2016, 13:52

Wie groß wäre denn die Differenz zwischen den beiden Sprachen? 

0
KnusperPudding  09.05.2016, 14:14
@xeonable

Die Differenz ist enorm. C# ist eine Objektorientierte Programmiersprache, hingegen ABAP gar nicht.

Die Unterschiede zu nennen als solche ist schwierig. - Da es sich fast nicht vergleichen lässt.

Die Befehle/ Befehlsmöglichkeiten, in ABAP sind sehr stark begrenzt, sodass du damit eben genau das umsetzen kannst, was in ABAP möglich ist: Darstellung, Abfragen und Ändern von Tabellen, Datenzeilen, Datenelementen und einfachen Mathematischen Operationen.

In ABAP ist man an fest vorgegebene UI-Controlls gebunden, die zwar modifizierbar sind, aber auch nur sehr eingeschränkt darin.

Wer sich das freiwillig antut, hat ein höheres Gehalt als Schmerzensgeld schon irgendwo verdient...

Diese Begrenzungen gibt es in C# nicht. - Des weiteren ist der Code logischer aufbaubar, und leichter lesbar.

1
kristallvogel  10.05.2016, 21:40
@KnusperPudding

Es gibt auch ABAP OO. Außerdem wird im SAP-Umfeld auch mit Java programmiert, dazu diverse Websprachen/Skriptings usw. (ITS mobile, WebDynpros, UI5 oder Fiori - der Trend geht nun mal zu Apps auf unterschiedlichen Devices). Und m ABAP-Umfeld bekommt man das MVC-Pattern durch die Dynpro-Logik (hier über seine darstellbaren Elemente als "fest vorgegebene UI-Controls" genannt) schon per se mitgeliefert - nur zwecks "logischem Aufbau". Man kann in diesen Controlls natürlich auch Objekte einbinden, vielleicht nicht so flexibel wie in C#, aber durchaus machbar.

Für mich ist die ganze Fragestellung aber per se auch schwierig zu beantworten - das ist irgendwie ein Vergleich von grünen Äpfeln und roten - was für mich der elementare Unterschied ist sind die Zielgruppen, mit denen man zusammenarbeiten und welche Art Anwendungen man programmieren möchte. Spiele wird man vermutlich eher mit C-basierten Sprachen umsetzen, für mathematische/zeitkritische Anwendungen würde ich ebenfalls nicht auf ABAP gehen wollen. Wenn man aber in gerne mit allen unterschiedlichen Fraktionen im Produktions-, Logistik- oder Vertriebskontext arbeitet, dann dürfte sich mit SAP eher was finden lassen.

Was das höhere Schmerzensgeld betrifft: das hängt wohl stark von der Nische ab, denn auch für ABAP wachsen Nearshore- und Offshore-Partner gefühlt wie Pilze aus dem Boden, was den Preis auch ein Stück weit drückt. Was einen teuer macht sind Erfahrung und möglichst tiefes Fachwissen (Technik oder Business), natürlich auf möglichst breiter Basis - etwas, was man als Anfänger nie haben kann.

Mein Tipp wäre daher: anfänglich spielt es keine große Rolle, wenn man die Grundprinzipen der Programmierung kennt kann man noch beides machen, es dürfte aber vermutlich einfacher sein von einer anderen Sprache auf ABAP zu wechseln als in die andere Richtung - ist aber nur die Sicht eines "SAP"lers, der gerne im SAP-Umfeld arbeitet.

1
KnusperPudding  11.05.2016, 08:15
@kristallvogel

Außerdem wird im SAP-Umfeld auch mit Java programmiert

Ich weiß, das ist unter anderem mein Job: Ich stelle hier Schnittstellen bereit.

Für mich ist die ganze Fragestellung aber per se auch schwierig zu beantworten

dem kann ich zustimmen. - Bin dennoch dankbar für den Stern, auch wenn nicht alle Meinungen zu dem Zeitpunkt repräsentativ waren wie deine.

In der Summe ist dein Beitrag auch eine wertvolle Ergänzung. - Hätte eigentlich eine eigene Antwort verdient.

0

Du liegst mit deiner Annahme das C# generalisierter eingesetzt werden kann. Und genau da ist auch das Ding. Es gibt davon genug. Programmier in C# findest du an jeder Ecke.

Auf dem Arbeitsmarkt bist du wesentlich begehrter wenn du als Spezialist für ABAP losziehst. Du wirst dir deinen Job fast aussuchen können!

Und was Berater im SAP Umfeld verdienen ist Abartig!