Zum Inhalt springen

Lieber C# oder Java?


Wiebke88

Empfohlene Beiträge

Hallo,

Ich mache gerade eine überbetriebliche Ausbildung als FIAE und bin im 1Lehrjahr.

Mein Interesse liegt vor allem bei Datenbanken, bis jetzt haben wir PHP und MySQL benutzt und würde gerne zu Hause

mit einer weiteren Sprache anfangen.

Ich weiß aber nicht welche Sprache am Sinnvollsten wäre.

Bis jetzt hab ich vorallem von C# und JAva gehört, dass es am ehesten in Betrieben gefordert werden.

Was meint ihr?

Schon mal danke für eure Antworten.

LG Wiebke

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • Antworten 62
  • Erstellt
  • Letzte Antwort

Top-Benutzer in diesem Thema

Ich hab spaßeshalber auf monster.de in BW nach Java und C# gesucht. Bei Java sind es 750 rum, bei C# ca 300, also weniger als die Hälfte. Ich denke, das sagt ganz gut aus, was gefragter ist.

So arg unterscheiden sich die beiden Sprachen aber sowieso nicht, der Umstieg von der einen zu der anderen sollte nicht allzu groß sein.

Ob einem Eclipse oder Microsoft Visal Studio mehr zusagt, muss jeder für sich entscheiden, mächtig sind beide. GUIs sind mit C# ein bisschen einfacher, aber auch in Java und nem GUI-Builder nicht besonders schwierig. Außerdem sollte die IDE kein Entscheidungskriterium sein.

Viel wichtiger ist sowieso, dass man die Software-Architektur (vor allem OOP) versteht, anwenden kann man das dann in jeder Sprache.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich würde in zu C# tendieren. C# wird wesentlich aktiver weiterentwickelt. Sprachfeatures die bei C# schon gang und gäbe sind ( e.g. Lambda-Ausdrücke) kommen vielleicht irgendwann mit Java 8 oder 9; andere Features wie async gibt es garnicht. Ganz zu schweigen von Properties. Den einzigen Vorteil, den ich im Java-Umfeld sehe, ist das ausgereifte Tooling. Ein weiterer Punkt, der für C# spräche wäre die Einbindung in das gesamte Microsoftumfeld. Wenn Du für die Windowsplattform entwickeln willst, mach's unter C#. Da wirst Du wesentlich weniger Bauchschmerzen erleiden.

Andererseits, wenn Du nicht direkt für Windows programmierst, kannst Du genausogut Java nehmen. Ob Du bspw. Webapplikationen mit ASP.NET4, Entityframework und einem MSSQL-Server baust, oder mit SPRING und MYSQL arbeitest wird sich relativ gleich bleiben. Das konsumierende Gerät wird so oder so ein Browser sein.

Je nachdem, in welchem Umfeld Du Dich bewegst, bzw. bewegen willst, kannst Du Deine Sprache wählen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich finde, dass das berufsmäßige Erlernen einer neuen Programmierssprache von mindestens zwei Aspekten begleitet wird. Zum einen ist es natürlich wichtig, welche beruflichen Chancen man langfristig mit einer Sprache haben kann. Und da denke ich ist Java auf dem absteigenden Ast - auch, wenn derzeit viele Angebote für Java-Entwickler offen sein mögen. Langfristig gesehen wird die Sprache von anderen Sprachen auf der JVM verdrängt werden. Scala, Groovy und Clojure sind da eher en vogue. Sprachlich gesehen tut sich nicht mehr viel bei Java. Revolutionäre Neuerungen sind nicht mehr zu erwarten. Hinzu kommt, dass aufgrund der weiten Verbreitung von Multicore-Rechnern und parallelisierbaren Arbeitsabläufen funktionale Sprachen einen leichten Aufwärtstrend erhalten.

Ein zweiter Aspekt ist in meinen Augen allerdings gewichtiger: Liegt einem die neu zu erlernende Sprache überhaupt? Es nützt nichts, wenn man beruflich gezwungen ist, Java zu programmieren, aber einem die Sprache nicht behagt. Gleiches gilt übrigens auch für C#. Wenn man die zu erlernende Sprache nicht mag, ist man auch weniger willens, sein Wissen zu vertiefen und sich weiterzubilden. Ein klassisches Beispiel ist hier Javascript. Javascript wird nicht wirklich gemocht, was dazu führt, dass man sich nicht ausreichend Wissen aneignet, um die Sprache zu beherrschen und produktiv einzusetzen. Was im Umkehrschluss wiederum dazu führt, dass man die Sprache noch weniger als zuvor mag.

Wenn ich in der Situation wäre, mich beruflich neu orientieren zu müssen, so würde ich mir einen Bereich aussuchen, der sowohl langfristige Beschäftigungsmöglichkeiten bietet, als auch eine Sprache die mir Spass macht aussuchen.

Bearbeitet von lilith2k3
Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn ich in der Situation wäre, mich beruflich neu orientieren zu müssen, so würde ich mir einen Bereich aussuchen, der sowohl langfristige Beschäftigungsmöglichkeiten bietet, als auch eine Sprache die mir Spass macht aussuchen.

Du sprichst etwas an, das ich auch extrem wichtig finde: die Sympathie zu der Sprache. Du sprichst auch an, dass man sich mit der Sprache befassen muss, so habe ich mich zB in Java verliebt, obwohl ich das jahrelang gemieden habe oder verteufel nun PHP, obwohl ich das sehr lange verwendet habe. Was ich aber viel wichtiger finde, ist nicht die Sprache an sich, sondern die Software-Architektur/-design. Was bringt einem die tollste Sprache, wenn man mit dieser nicht umgehen kann? Wenn man OOP nicht versteht, noch nie was von Entwurfsmustern etc. gehört hat? Andersrum: Wenn man das verstanden hat, kann man das auf jede Sprache anwenden, die Wahl der Sprache wird also trivial. So kann ich in Java, Object Pascal, C# oder auch in Ruby nach ein wenig Einarbeitungszeit gleich "gut" entwickeln, einfach weil ich verstehe, was da passiert (oder wieso etwas nicht funktioniert). Wenn mir eine Sprache absolut nicht zusagt (VB ;) ), dann werde ich auch sicherlich nie einen Job suchen bzw. annehmen, bei dem das gefagt ist.

Wirschaftlich hat man zwei Möglichkeiten: Entweder man wählt etwas total exotisches, dass man einer der weniger ist, der für den Job in Frage kommt oder man wählt etwas, das total verbreitet ist und für das es viele offene Stellen gibt. Und wenn die Sprache einem dann noch sympathisch ist und Spaß macht (und nein, Arbeiten macht nicht immer Spaß, auch wenn es Leidenschaft ist), umso besser ;)

Wenn man ein wenig Leidenschaft fürs Programmieren hat, beschränkt man sich nicht nur auf eine Sprache. So habe ich zB durch C++ und Assembler (was ich nie wieder verwenden möchte! Auch nicht bei der tollsten Bezahlung!) zumindest gelernt, was hinter den Kulissen abläuft.

Bearbeitet von pr0gg3r
Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn man das verstanden hat, kann man das auf jede Sprache anwenden, die Wahl der Sprache wird also trivial

Da wage ich zu widersprechen ;) Natürlich ist eine Schleife in allen Sprachen eine Schleife - und dennoch gehört eine gewisse Expertise dazu, eine Sprache effizient zu nutzen.

Ein gutes Beispiel ist da (wiedereinmal) Javascript. Javascript sieht aus, wie eine der typischen C-Style Sprachen - hat aber nur sehr sehr wenige Konzepte mit diesen gemein. Javascript läßt auch das OOP-Paradigma zu - hat aber im derzeitigen Stand (ECMA5) nicht viel zu bieten, was tatsächlich etwas mit OOP zu tun hat. Zwar kann man Grundlegend das von Smalltalk bekannte Paradigma von "Object" und "Message" für Objekte und deren Methoden benutzen, aber das, was Javascript unter "Objekt" versteht und was in typischen objektorientierten Sprachen darunter verstanden wird, ist doch relativ verschieden. Beispielsweise gibt es keine Möglichkeit "protected" Variablen abzubilden. Vererbung funktioniert auch ganz anders als e.g. unter Java. Von daher ist es nicht verwunderlich, wenn viele quasi an Javascript verzweifeln. Eben weil Sie der Meinung sind, soetwas, wie allgemein anwendbare Prinzipien zu haben, die allerdings in Javascript etwas anders umgesetzt sind, als man auf den ersten Blick vermuten könnte.

Wenn man ein wenig Leidenschaft fürs Programmieren hat, beschränkt man sich nicht nur auf eine Sprache
Ja. absolut! Nur leider interssiere ich mich private für Sprachen (e.g. Google Go), die ich so garnicht im beruflichen Umfeld nutzen kann *g*
Link zu diesem Kommentar
Auf anderen Seiten teilen

Eben weil Sie der Meinung sind, soetwas, wie allgemein anwendbare Prinzipien zu haben, die allerdings in Javascript etwas anders umgesetzt sind, als man auf den ersten Blick vermuten könnte.

Natürlich gibt es Unterschiede zwischen den Sprachen. Ich habe in Java zB nur drei Zugriffsmodifikatoren (public, private, protected), in C# hat man noch internal und protected internal. In Ruby sind alle Member public wenn nicht anderes definiert, aber steuern kann man nur Methoden und keine Attribute. JavaScript mach ich schon lange nicht mehr (außer ab und an jQuery), aber soweit ich weiß, muss man da ganz schön tricksen um eine schöne Objektorientierung hinzukriegen. Aber wenn man OOP kann (und andere Konzepte der Programmierung), muss man sich nicht mühsam in jede Sprache einarbeiten, sondern weiß, wovon geredet wird und warum ein Programm nicht so funktioniert, wie es soll (ich sag nur C++ und Speicherverletzung ;) ). Eine Programmier- oder Scriptsprache ist ein Werkzeug. Es gibt auch verschiedene Hammer (Vorschlaghammer, Ausbeulhammer, etc), die man aber für jeweils andere Zwecke verwendet, die Art der Anwendung (hammern bzw. Code eintippen) ist jedoch die selbe.

Ja. absolut! Nur leider interssiere ich mich private für Sprachen (e.g. Google Go), die ich so garnicht im beruflichen Umfeld nutzen kann *g*

So gehts mir leider auch. Gerade spiele ich viel mit Ruby, einfach weil ich bei keiner anderen (Script)Sprache das Gefühl hatte, so schnell so viel Code runtertippen zu können. Aber beruflich werde ich das leider nie einsetzen können.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Und da denke ich ist Java auf dem absteigenden Ast - auch, wenn derzeit viele Angebote für Java-Entwickler offen sein mögen.

Bedenke aber, dass Smartphones und tablets immer beliebter werden und dieses Jahr wurden mehr tablets verkauft als PCs. Und Android apps werden nunmal in Java geschrieben daher glaube ich nicht dass Java so auf dem abstiegsplatz ist.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...
In einem Thread über die wirtschaftliche Relevanz von Programmiersprachen darf der TIOBE Index natürlich nicht fehlen. Daher reiche ich ihn der Vollständigkeit halber noch nach. :)

TIOBE Software: The Coding Standards Company

Ich kenne diese Liste, aber ich würde mich nicht zu sehr darauf versteifen sondern eher darauf konzentrieren, wo man hinmöchte. Nehmen wir mal ein paar Plätze:

1. Platz C: Wird oft gesucht, aber eher für integrierte Systeme oder solche Sachen, weniger für (Desktop-)Anwendungen.

2. Platz Java: Java für was? JSP? Mobile anwendungen / Android? Integrierte Systeme?

3. Platz Objective-C: Sicherlich durch den Trend von mobilen Apps im Apple-Bereich so hoch gestiegen

5. C#: Zeigt zwar, dass reine Windows bzw. .NET-Anwendungen an Wichtigkeit nachlassen, dennoch ist in den Jobangeboten C# auf garkeinem so schlechten Platz

8+9+10. Platz Python, Perl, Ruby: Habe nur sehr sehr selten Jobangebote dafür gesehen (in den USA mag das evtl. anders aussehen, dort wird das gerne für Cloud-Zeugs verwendet soweit ich weiß)

6.+11. Platz PHP und JS: der Trend von Web2.0 wird ja schon von mobilen Apps verdrängt... Wohl eher was für Leute, die in Medienagenturen arbeiten, aber dort sind die Gehälter nicht so hoch...

Link zu diesem Kommentar
Auf anderen Seiten teilen

@pr0gg3r

Am besten garnichts spezialisieren :D

Genau das meine ich ja damit, wenn ich sage: "Wenn man programmieren kann, kann man sich in so gut wie jede (Script) Sprache schnell einarbeiten" und ist damit wirtschaftlich flexibel, weil man sich zutrauen kann, so gut wie jede offene Stelle anzunehmen. Und umso besser, wenn man die Sprache dann mag ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

GULP - GULP IT-Projektmarktindex: Der Gradmesser für die Angebots- und Nachfragesituation am IT-Projektmarkt Wenn man nach dieser Liste geht dann Java. ;)

Java ist halt ungemein vielseitig. Java deckt Webanwendungen, Mobilgeräte, Embedded und Business Software ab. aber man darf nicht vergessen, dass sich diese Programmierfelder teilweise sehr stark unterscheiden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...