ITJim Geschrieben 3. Juni 2019 Teilen Geschrieben 3. Juni 2019 Guten Abend, bin immer noch in der Ausbildung wo wir Programieren mit C# und Java lernen. Nun kann ich mich allerdings nicht entscheiden ob ich C# oder Java weiter verfolgen soll. Könnt ihr mir da einen Tipp geben wie ich das am günstigen entscheide. Worauf soll ich meine Entscheidung beziehen? In unserer Klasse sind 8AE und genau die Hälfte steht auf Java, der stets auf C#. wollte erst eine Umfrage erstellen, dies ging leider nicht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
0 Gast Exception Geschrieben 3. Juni 2019 Teilen Geschrieben 3. Juni 2019 Guten Abend, das ist schwierig zu beantworten. Hängt letztendlich immer davon ab, wohin du genau möchtest, welche Sprachen deine Firma verwendet und ggf. persönlicher Geschmack. Grundsätzlich sind beide Sprachen sehr ähnlich und haben vieles gemeinsam. Wenn du einer dieser Sprachen gut beherrscht, so ist ein Umstieg auf die andere Sprache sehr leicht möglich. Schwieriger wird es dann eher beim Einstieg in die jeweiligen Frameworks - insbesondere im JavaEE Umfeld. Viele Grüße Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
0 Whiz-zarD Geschrieben 4. Juni 2019 Teilen Geschrieben 4. Juni 2019 Du kannst fünf Leute fragen und bekommt sechs Antworten. Ich persönlich habe früher mit Java entwickelt, weil ich damals plattformunabhängig entwickeln wollte und .net so ein auf Windows spezieller proprietärer Kram war. C# wollte ich daher nie anfassen. Erste C#-Erfahrung sammelte ich dann in meiner Ausbildung bezüglich einer Seminararbeit über die Spieleentwicklung mit dem XNA-Framework. Später landete ich dann in einer Firma, die mit C# arbeitet und heute muss ich sagen, dass ich lieber mit C# arbeite anstatt mit Java. C# bekommt auch immer mehr Einflüsse aus der funktionalen Programmierung, die das Leben schon erleichtern. Inzwischen liegt auch der Quellcode offen und lässt sich ohne große Mühe für andere Plattformen ausrollen. Nicht desto trotz gibt es derzeit aber immer noch mehr Stellenangebote für Java-Entwickler und ich denke, das wird auch für einige Jahre so bleiben, da viele Business-Software damit entwickelt worden sind, die weiterhin laufen werden. Es ist also mehr eine persönliche Präferenz, ob man nun Java oder C# nimmt. Von der allgemeinen Syntax her sind aber beide Sprachen sehr ähnlich. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
0 Gooose Geschrieben 4. Juni 2019 Teilen Geschrieben 4. Juni 2019 Ich denke du kannst für dich eine Vorliebe entwickeln, und ggf. eine Firma suchen, wo du entweder mit Java oder mit C# arbeiten kannst. Die Problemlösungsstrategien, die du mit der Zeit entwickelst, wirst du auf andere Sprachen übertragen können. Mit der Zeit stellt sich die Frage nach einer Sprache oder einer Plattform/Framework weniger. Man ist eher dazu bereit auch mal was anderes zu probieren. Ich bin beispielsweise nach ca 7 Jahren .NET / C# und co. Richtung funktionaler Programmierung mit Elixir / Erlang gewechselt. Ich bin offen dem gegenüber, was kommen mag. Die Jahre davor sind nicht weggeworfen. Ich profitiere jeden Tag davon. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
0 allesweg Geschrieben 4. Juni 2019 Teilen Geschrieben 4. Juni 2019 Wie? Nach 11 Stunden noch kein "Lerne die Konzepte (von OO) - die konkrete Sprache ist nur Syntax"-Posting? Entscheide dich für das, worin du dich wohler fühlst. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
0 thereisnospace Geschrieben 4. Juni 2019 Teilen Geschrieben 4. Juni 2019 vor 33 Minuten schrieb allesweg: Wie? Nach 11 Stunden noch kein "Lerne die Konzepte (von OO) - die konkrete Sprache ist nur Syntax"-Posting? Hallo ITJim, sobald Du die Konzepte der OOP verstanden hast, kannst Du sie auf jegliche Sprache anwenden. Oft unterscheidet sich nur die Syntax und das Wording für die gleichen Befehle. Jede Sprache hat so ihre positiven und negativen Seiten, oft kommt es nur auf die Anforderungen an für welche Programmiersprache sich entschieden wird. Soll die Anwendung auf vielen Geräten einsetzbar sein? Nutz Java. Möchtest Du eine native Windows-only Anwendung bauen? C# eignet sich gut dafür. Besteht Dein Entwicklerteam nur aus C++ Profis? Nutz C++. Nimm die Sprache, womit du am meisten Spaß hast. Entwickler werden immer gesucht, egal in welcher Programmiersprache bewandt. PS: java rulez, C# is sh!t KeeperOfCoffee und JimTheLion reagierten darauf 1 1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
0 maestro impostor Geschrieben 4. Juni 2019 Teilen Geschrieben 4. Juni 2019 Ich arbeite mit beiden Sprachen und finde C# irgendwie besser. Warum kann ich tatsächlich nicht sagen. Fühlt sich für mich moderner und schöner an. instance.getProduct().setName(„Name“); vs instance.product.name = „Name“; Das zweite finde ich einfach schöner Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
0 pr0gg3r Geschrieben 5. Juni 2019 Teilen Geschrieben 5. Juni 2019 vor 13 Stunden schrieb r4phi: instance.getProduct().setName(„Name“); vs instance.product.name = „Name“; Das zweite finde ich einfach schöner Ist aber auch nicht das selbe. Ersteres (instance.geProduct().setName(...)) sind zwei einfache Methoden, während letzteres (instance.Product.Name) zwei Properties sind (weshalb man sie auch groß schreiben sollte). Dadurch, dass es in Java keine Properties (in diesem Sinne) gibt und in C# Properties Setter und Getter haben, müssen in Java eben Methoden verwendet werden, um Setter und Getter zu implementieren. Wobei Java-Entwickler das gerne für jede Klassenvariable schreiben, egal ob der Setter und Getter noch irgendwelche besondere Logik enthält. Was nun besser ist, darüber kann man natürlich streiten. Ich finde hier C# etwas eleganter. Allgemein finde ich, dass C# ein paar schöne Konstrukte hat, die es in Java nicht gibt wie z.B. Extension Methods, Object Inititalizer und sicher noch ein paar Dinge mehr. Am 3.6.2019 um 21:47 schrieb ITJim: Nun kann ich mich allerdings nicht entscheiden ob ich C# oder Java weiter verfolgen soll. Könnt ihr mir da einen Tipp geben wie ich das am günstigen entscheide. Worauf soll ich meine Entscheidung beziehen? Ich mach schon lange kein Java und C# mehr, deshalb kann ich dir gar kein so guten Rat darauf geben. Sprachlich schöner als Java und C# finde ich Swift (Apple) und Kotlin (Java Runtime), diese wären vielleicht noch ein Blick wert. Ansonsten kommt es, wie bereits gesagt, auch häufig auf das verwendete Framework an. Am 4.6.2019 um 09:02 schrieb Gooose: Richtung funktionaler Programmierung mit Elixir / Erlang gewechselt. Wie schwer war hier für dich der Umstieg bzw. wie lange hat es ungefähr gedauert? Die Denkweise ist ja dann doch eine andere. Ich spiele gerade auch mit dem Gedanken, mich mit Elixir auseinanderzusetzen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
0 Gooose Geschrieben 5. Juni 2019 Teilen Geschrieben 5. Juni 2019 vor 1 Stunde schrieb pr0gg3r: Wie schwer war hier für dich der Umstieg bzw. wie lange hat es ungefähr gedauert? Die Denkweise ist ja dann doch eine andere. Ich spiele gerade auch mit dem Gedanken, mich mit Elixir auseinanderzusetzen. Da mit der Zeit immer mehr funktionale Elemente in C# eingeflossen sind, habe ich mich interessehalber mit Erlang, Haskell und F# beschäftigt. Das "dümpelte" so ein Jahr vor sich hin. Als ich die Möglichkeit bekam, in einem Elixir Projekt mitzuarbeiten, habe ich dann aus Neugier zugeschlagen. Mit meinen Vorkenntnissen habe ich ca. eine Woche benötigt, bis ich meine ersten produktiven Commit erstellt habe. Am Anfang sicherlich nichts Weltbewegendes, aber man kann mit Elixir relativ schnell Fahrt aufnehmen. In Erlang/Elixir ist die funktionale Programmierung ein Mittel zum Zweck. Wichtiger ist es den Supervision Tree zu verstehen; zu verstehen, wie Prozesse miteinander interagieren. Es gibt hilfreiche Abstraktionen wie den GenServer und den Supervisor, der die Kommunikation zwischen den Prozessen ein wenig "normiert". Ein guter Einstieg ist das Phoenix Framework, welches die Möglichkeiten der Sprache ziemlich ausnutzt. Man muss am Anfang nicht alles verstehen. Die Dokumentation ist vorbildlich, und man kann aus fast allen Punkten direkt in den Code springen. pr0gg3r reagierte darauf 1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
0 Whiz-zarD Geschrieben 5. Juni 2019 Teilen Geschrieben 5. Juni 2019 (bearbeitet) vor 4 Stunden schrieb pr0gg3r: Ist aber auch nicht das selbe. Ersteres (instance.geProduct().setName(...)) sind zwei einfache Methoden, während letzteres (instance.Product.Name) zwei Properties sind (weshalb man sie auch groß schreiben sollte). Dadurch, dass es in Java keine Properties (in diesem Sinne) gibt und in C# Properties Setter und Getter haben, müssen in Java eben Methoden verwendet werden, um Setter und Getter zu implementieren. Wobei Java-Entwickler das gerne für jede Klassenvariable schreiben, egal ob der Setter und Getter noch irgendwelche besondere Logik enthält. Was nun besser ist, darüber kann man natürlich streiten. Ich finde hier C# etwas eleganter. Die Properties in C# sind aber auch nur syntaktischer Zucker, da der Compiler die in Methoden umbaut, wie in Java. Also aus public string Name { get; set; } baut der Compiler dies: private string _name; public string _getName() { return this._name; } public void _setName(string value) { this._name = value; } Und somit sind Properties das selbe, wie die Getter und Setter in Java. Es ist halt nur eine kürzere Schreibweise. Bearbeitet 5. Juni 2019 von Whiz-zarD Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
0 Whiz-zarD Geschrieben 5. Juni 2019 Teilen Geschrieben 5. Juni 2019 (bearbeitet) gelöscht Bearbeitet 5. Juni 2019 von Whiz-zarD Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
0 maestro impostor Geschrieben 5. Juni 2019 Teilen Geschrieben 5. Juni 2019 vor 2 Stunden schrieb Whiz-zarD: Und somit sind Properties das selbe, wie die Getter und Setter in Java. Es ist halt nur eine kürzere Schreibweise. Danke euch beiden, aber nach X Jahren C# ist mir das mehr als klar. Es nennt sich übrigens Automatic Properties. Ich habe mich auch lediglich auf die Schreibweise beschränkt. Nicht mehr und auch nicht weniger.. nicht dass das hier ausufert. Ändert aber nichts an der Tatsache das es in C# eleganter ist. Des weiteren fehlt mir bei Java die LINQ (ja, mit stream oder map ist es ähnlich aber nicht ganz so schön) sowie AutoFixture. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
0 Visar Geschrieben 8. Juni 2019 Teilen Geschrieben 8. Juni 2019 @ITJim Letztendlich keine Frage, die sich in irgendeiner Form pauschal beantworten ließe. Es ist ein bisschen so als würdest du fragen, ob du dir eine Xbox oder eine PlayStation kaufen sollst, ob Bayern oder Dortmund der bessere Verein ist und ob Coke oder Pepsi besser schmeckt. Du musst am Ende also abhängig von deinen Präferenzen entscheiden: Woran hast du mehr Spaß? Mit welchen Entwicklerwerkzeugen (Eclipse, Visual Studio, o.Ä.) kannst du besser arbeiten? Hast du aktuell einen Überblick über das, was die Sprachen eigentlich konkret bieten? Hast du dir Gedanken darüber gemacht, ob du dich später z.B. in Richtung (für C# gesprochen, gilt für Java analog mit passenden Dingen) .NET Core, WPF, Xamarin spezialisieren möchtest - also irgendetwas, was dich besonders reizen würde? Möchtest du am liebsten einfach für Windows, Mobile, whatever oder Multi-Platform entwickeln? Gibt es für die Sprachen in deiner Region überhaupt einen Markt, sprich: Hast du da später theoretisch etwas von A zu lernen, wenn bei dir auf der Ecke aber ausschließlich B gesucht wird? Und so weiter. Wäre zumindest das, was ich mir kurz durch den Kopf gehen lassen würde. Amir_azh4r reagierte darauf 1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
0 allesweg Geschrieben 13. Juni 2019 Teilen Geschrieben 13. Juni 2019 @spix Was ist bitte dieser "High Biz Bereich", welcher der exklusive Java-Einsatzbereich sei? Wieso gibt es noch andere (auch kostenpflichtige) IDEs, wenn VS die beste und kostenlos ist? Was ist eine vernünftige GUI? Hast du dafür irgend welche Argumente oder bin ich zu blind, dieses Offensichtlichkeiten nicht zu kennen? OkiDoki reagierte darauf 1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
0 allesweg Geschrieben 13. Juni 2019 Teilen Geschrieben 13. Juni 2019 Ich habe nie im SAP-Bereich gearbeitet - aber immer mit Java. Und falls du jemals Argumente findest: gerne. Solange bitte einfach mal... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
-1 spix Geschrieben 13. Juni 2019 Teilen Geschrieben 13. Juni 2019 Java ist nur für den High Biz Bereich brauchbar und interessant. Ansonsten ist C# Technisch besser und mit Visual Studio hast du die beste IDE überhaupt. Beide Sprachen haben ihre Altlasten, wobei diese Lasten bei Java leider größer sind. Vernünftige GUI kannst du nur mit externen Tools bauen. In VS geht das alles Wunderbar. Amir_azh4r reagierte darauf 1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
-5 spix Geschrieben 13. Juni 2019 Teilen Geschrieben 13. Juni 2019 vor 2 Minuten schrieb allesweg: @spix Was ist bitte dieser "High Biz Bereich", welcher der exklusive Java-Einsatzbereich sei? Wieso gibt es noch andere (auch kostenpflichtige) IDEs, wenn VS die beste und kostenlos ist? Was ist eine vernünftige GUI? Hast du dafür irgend welche Argumente oder bin ich zu blind, dieses Offensichtlichkeiten nicht zu kennen? Ua SAP Bereich und Konkurrenz. Andere IDE als VS braucht man nicht. Visual Studio Evtl Blind. OkiDoki, KeeperOfCoffee, JimTheLion und 1 Weiterer reagierten darauf 3 1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Frage
ITJim
Guten Abend,
bin immer noch in der Ausbildung wo wir Programieren mit C# und Java lernen.
Nun kann ich mich allerdings nicht entscheiden ob ich C# oder Java weiter verfolgen soll.
Könnt ihr mir da einen Tipp geben wie ich das am günstigen entscheide. Worauf soll ich meine Entscheidung beziehen?
In unserer Klasse sind 8AE und genau die Hälfte steht auf Java, der stets auf C#.
wollte erst eine Umfrage erstellen, dies ging leider nicht.
Link zu diesem Kommentar
Auf anderen Seiten teilen
16 Antworten auf diese Frage
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.