Entscheidungsproblem für mein Vorhaben, zwischen Java und C#

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo,
als erstes möchte ich mal sagen, dass ich ein Entscheidungsproblem habe, und zwar weiß ich nicht, ob Java oder C# für mein Vorhaben besser geeignet ist.

Was ich möchte:
Ich möchte Plattformunabhängig programmieren können und eine (möglichst unkomplizierte) Programmiersprache benutzen, die nicht eines Tages durch was anderes ersetzt werden könnte, sondern Zukunftssicher bleibt. Aber wenn ich gezwungen bin, aus irgendwelchen Gründen, Plattformunabhängig zu programmieren, würde ich es tun, wichtig ist nur, dass ich damit mein Vorhaben erreichen kann (siehe unten).

Was ich mit der Programmiersprache alles machen möchte:
Ich möchte kleine Programme wie z.B. einen Internetbrowser (was einfach aussehendes und die ich dann immer weiter verbessern kann), und auch kleine 2D Spiele programmieren wie z.B. ein kleines 2D Online-RPG Spiel, oder Spiele wie Pong mit neue Ideen.


Hobby oder Beruflich?
Hobby, und meine Projekte sollen nicht mit viel aufwand erreicht werden können, wo ich Tage brauche, bis ich ein kleines Teil davon fertig habe (siehe C/C++). Die Programmiersprache soll auch für die Hobbyprogrammierer geeignet sein, die nicht nur Serverapplikationen schreiben wollen, sondern auch kleine Tools oder Spiele programmieren wollen.


Welches Buch willst du dir zum erlernen von Java kaufen, wenn du dich für Java entscheidest?
Java als erste Programmiersprache, mit CD-ROM, gebundene Ausgabe


Und welches Buch für C#?
Hab ich bereits, C# Schritt für Schritt, von John Sharp (Microsoft Press)


Sonstige Probleme:
TCPA: Gestern hab ich darüber gelesen, dass Microsoft damit sein Marktanteil sichern möchte, das heißt auch für mich, dass sie bald den Linux und Mac Usern das Leben schwer machen werden. Diese Chips die in Mainboards und auch andere Hardware intigriert werden soll, könnte den Usern zwingen, Windows zu benutzen (?), oder hab ich das falsch verstanden?
Ich hab gestern das Video der Seite "Against TCPA" angeschaut,..das nenn ich echt ein Freiheitsentzug, was die PC-Nutzer angeht..



Mehr fällt mir momentan nichts ein, aber ich würde mich sehr freuen, wenn mir jemand weiterhelfen könnte.




MfG
 

The_S

Top Contributor
- echte Plattformunabhängigkeit bekommste mit C# nicht hin. Da bleibt nur Java.
- das eine Programmiersprache nie von einer anderen verdrängt oder abgelöst wird kann dir wohl niemand garantieren
- Mit C# ist es einfacher Plattformabhängig zu programmieren, Java bietet diese Möglichkeit jedoch auch über JNI und C++ Code
- deine Programmierziele solltest du mit beiden Sprachen erreichen können
- Projekte ohne viel Aufwand sind entweder klein oder schlecht. Wenn du schnell Ergebnisse sehen möchtest, dann verwende VB :roll:
- Da Java und C# von der Syntax sehr nahe beieinander liegen, sind beide etwa gleich "schwer" zu erlernen.
 
G

Guest

Gast
danke erstmal für eure antworten :)

Keine Angst. TCPA gibt es schon seit Jahren nicht mehr.
hm.. im wiki steht, dass TCG (Trusted Computing Group) es fortsetzt.. heißt das also, dass es doch noch existiert, was TCPA da vorhatten?..


@Hobbit_Im_Blutrausch:
so wie ich sehe, muss ich am Ende doch noch selber entscheiden, da ich meine Ziele mit beiden Sprachen erreichen kann.. ich lese nur überall, dass C# einfacher sei, und VB hab ich auch schonmal verwendet, ich finde nur die Syntax von Java und C# besser als VB.. sonst hätt ich VB genommen, das war schließlich meine erste programmiersprache ;)




MfG
 

The_S

Top Contributor
Anonymous hat gesagt.:
@Hobbit_Im_Blutrausch:
so wie ich sehe, muss ich am Ende doch noch selber entscheiden

Joa, das haben Entscheidungen so ansich, dass sie von jemanden getroffen werden müssen ;) .

Anonymous hat gesagt.:
da ich meine Ziele mit beiden Sprachen erreichen kann..

Plattformunabhängigkeit wird wie gesagt mit C# etwas schwerer ;) .

Anonymous hat gesagt.:
ich lese nur überall, dass C# einfacher sei

wo? Evtl. möchte sich Jango hierzu mal äußern, die ist imho ziemlich fit in C# . Aber wie gesagt, die Sprachen sind sich sehr ähnlich, von daher würde ich sie ca. auf das selbe Level setzen.

Anonymous hat gesagt.:
und VB hab ich auch schonmal verwendet

Dieser Vorschlag war auch net wirklich ernst gemeint. Wenn du alles schnell schnell und ohne viel Aufwand machen möchtest, brauchst du eine Sprache (wie VB), die dir schon so ziemlich alles vorgibt und man sich den Code nur noch mehr oder minder zusammenklicken muss.
 

tfa

Top Contributor
Hobbit_Im_Blutrausch hat gesagt.:
Anonymous hat gesagt.:
ich lese nur überall, dass C# einfacher sei

wo? Evtl. möchte sich Jango hierzu mal äußern, die ist imho ziemlich fit in C# . Aber wie gesagt, die Sprachen sind sich sehr ähnlich, von daher würde ich sie ca. auf das selbe Level setzen.
Ich würde eher sagen, C# ist komplizierter, da die Sprache mehr Features hat.
Dinge wie Operatorüberladung, Delegates, Properties und Structs müssen auch erstmal verstanden werden.
Zumal der zusätzliche Nutzen dieser Features eher gering ist -- verglichen mit den potenziellen Problemen, die man sich damit einhandelt.

tfa
 

tfa

Top Contributor
Anonymous hat gesagt.:
danke erstmal für eure antworten :)

Keine Angst. TCPA gibt es schon seit Jahren nicht mehr.
hm.. im wiki steht, dass TCG (Trusted Computing Group) es fortsetzt.. heißt das also, dass es doch noch existiert, was TCPA da vorhatten?..

Ich weiß nicht, was TCPA mit irgendwelchen Chips vorhatte, aber Microsoft wird es sicherlich nie gelingen, MacOS oder Linux zu "verbieten" bzw. vollständig am Markt zu verdrängen.

tfa
 

SnooP

Top Contributor
C# ist definitiv nicht einfacher! Es hat sogar einige Sprachkonzepte, die es am Anfang imho sogar schwerer machen (explizite Angabe ob Call-by-Reference oder by-value, explizit machen von virtuellen Methoden etc...). Natürlich ist das nur eine Nuance schwerer als Java ;) - aber dabei dann zu sagen, dass es einfacher ist ... nenene ;)

C# hat einige ganz coole Sprachkonzepte, wie auch .Net selbst eigentlich ne ganz interessante Sache ist. Wenn man also Microsoft-Programmierung machen will... evtl. auch mal DirectX anfassen muss und dergleichen - dann .Net und C#... sonst Java, ganz platt formuliert ;)

Für Webentwicklung kann man sich auch noch überlegen ob man nich auch Ruby oder was anderes grooviges ;) lernen sollte/möchte... nur unter dem Kontext "schnelle Ergebnisse".
 

deleted

Bekanntes Mitglied
zum Buch:
Vergiss das "Tigerbuch". Das habe ich auch, aber nur weil mein Dozent der Meinung war, das ist gut.
Du solltest dir Galileo Java ist eine Insel (ACHTUNG: Version für Java6!!! kaufen), oder von Guido Krüger Handbuch der Javaprogrammierung.
Wenn du letzteres kaufst, kannst du es dir auch gratis hier herunterladen:
http://javabuch.de/
und in deinem Intranet installieren (AUCH zur kommerziellen Nutzung!).
Ich finde das extrem bequem, habe es immer auf dem Laptop dabei.
Herr Krüger brignt Ende des Jahres eine neue Fassung heraus (für java6).
Wesentliche Änderungen sind da aber eigentlich nicht zu erwarten.
Die neuen Features wie das Tray-Icon findest du mit ausführlichen Beispielen auch auf der Seite von SUN.

Java oder C#
Nimm auf jeden Fall Java. Als GUI solltest du Swing nutzen.
Das Ganze ist plattformunabhänig und Java steht unter der GPL mit Classpath Ausnahme.
d.h. wenn Microsoft der Ansicht ist, irgendwas zu ändern und du sollst dir dafür ständig ein neues Visual Studio kaufen, dann hast du keine Chance, da musst du mitmachen (z.B. wenn Microsoft der Ansicht ist, Windows2000 ist veraltet und die Nutzer mögen doch bitte alle neue Rechner kaufen und Vista nutzen).
Bei Java kannst du sicher sein, dass es auch für ältere Plattformen immer weitergepflegt wird, solange von der Community (den Javaprogrammieren) Bedarf besteht.

Spiele
Du musst dich in Java nicht auf 2d beschränken. Es gibt mit JMonkey etc. auch relativ gute (kostenlose!) 3d Engines.
Allerdings könnte das Ganze in .NET leichter sein wenn du planst gut Geld auszugeben (Support von Microsoft, DirectX10 und so Zeugs).
Als Hobbyentwickler bist du aber mit Java ordentlich bedient.

Zu TCPA:
Darüber könnte ich jetzt etwas ausführliches schreiben, was jedoch zu 99% in einer Diskussion ausartet.
Da das dafür das falsche Forum ist, lass ich es mal.
Wenn dich das Thema wirklich zu interessiert mach doch ein diesbezügliches Topic in der Plauderecke auf...
 

MasterEvil

Bekanntes Mitglied
C# ist imho sehr gut wenn man mit komplexen Dateioperationen zu tun hat. oder auch zur Hardwareansteuerung besser geeignet.
Java unterstützt zum Beispiel "normal" nicht vorzeichenlose Werte.
Da kann man zwar nen bissle trixen aber mit UINT64 zu rechnen ist zum Beispiel nicht möglich. Das Bedeutet zum Beispiel auch das man mit Dateien die Größer als 2 GB sind Probleme bekommen kann.

Für deine Zwecke ist Java aber vermutlich die bessere Wahl weil du ja plattformunabhängig programmieren willst. Es gibt zwar Mono womit du C# Code auch auf *nix Systemen ausführen kannst aber das ist auch noch nicht voll ausgereift und eben auch nur ein Gemeinschaftsprojekt und kein Framework von Microsoft!
 
G

Guest

Gast
@R.B.:
Wieso sollte ich das Buch nicht kaufen? Werden dort die Themen unverständlich erklärt? :?
Weil ich eigentlich von vielen Leuten gehört habe, dass es gut sein soll..

Bis jetzt war es ja so, dass ich mir Java beibringen wollte, aber mit den Online-Tutorials nicht gut klargekommen bin,.. am besten wäre ein Buch zum erlernen von Java gut für mich geeignet, aber kein Plan, welches Buch ich nehmen soll.. Java ist auch eine Insel will ich nicht Online lesen und als Buch ist es viel zu dick :? oder beinhaltet das Buch alles, was Java betrifft, so dass man nur das Buch braucht, um Java richtig gut erlernen zu können? und was das Javabuch betrifft, hab ich auch viel gutes darüber gehört,..aber irgendwie kam ich mit der Online-Version nicht gut klar, ich müsste gleich nochmal schauen, ob es für mich leicht verständlich ist.


und was C# betrifft.. Plattformunabhängigkeit find ich eigentlich am wichtigsten.. jeder (Linux, Mac, Win, Solaris,..) Benutzer sollte mein Programm/Spiel auch benutzen können.. ich selbst möchte nicht nur bei Windows bleiben, sondern habe vor auf Mac zu wechseln, also doch noch Java??


Das einzigste Problem, die ich dann hätte, wäre ein Buch zu besorgen.. es soll eher was lockeres sein, als Profesorisch erklärtes Buch.. Kann mir da vielleicht jemand behilflich sein?



@SnooP:
Ich hab mich schonmal mit Ruby beschäftigt :) aber was ich vorhabe, konnte ich mit Ruby nicht so erreichen.. es war einfach viel zu aufwendig, ein kleines GUI-Fenster angezeigt zu bekommen.. es ist eher für WebAnwendungen gedacht, da es auch durch "Ruby On Rails" bekannt geworden ist.. Meiner Meinung nach..





MfG
 
G

Guest

Gast
@MasterEvil:
Was aber, wenn Mono bald wirklich die möglichkeit bekommt den .NET-Framework "richtig" auf Unix-Systemen zu portieren?? weil mit jeder neuen Version bekommt es immer mehr funktionalitäten aus .NET-Framework..

Und als Java programmierer sollte man genau davor Angst haben, dass Java dann dadurch ersetzt werden könnte.. da dann .NET auch Plattformunabhängig sein könnte..

oder wie siehst du das?
 

SnooP

Top Contributor
Bin jetzt zwar nicht angesprochen... aber warum sollte jemanden das angst machen? ;) ... wenn eine Technologie einfach besser ist, als eine andere dann wird sie sich evtl. auch durchsetzen - mir persönlich ist's dann auch egal, ob es von MS kommt oder wo auch immer her... - aber letztlich kann doch ein OpenSource Wrapper wie Mono nie vollständig die .Net Funktionalität der MS-Implementierung garantieren.

Also: Java ist einfach ne sehr ausgereifte, schöne Sprache... ich sehe nicht die Gründe da jetzt zu .Net zu wechseln - es sei denn man will gerade MS-Spezifische Dinge tun. Dann ist das ja durchaus ne sehr gute Lösung.
 

Jango

Gesperrter Benutzer
@ Hobbit => ja, ich sage was dazu:

SnooP hat gesagt.:
C# ist definitiv nicht einfacher! Es hat sogar einige Sprachkonzepte, die es am Anfang imho sogar schwerer machen (explizite Angabe ob Call-by-Reference oder by-value, explizit machen von virtuellen Methoden etc...). Natürlich ist das nur eine Nuance schwerer als Java ;) - aber dabei dann zu sagen, dass es einfacher ist ... nenene ;)

C# hat einige ganz coole Sprachkonzepte, wie auch .Net selbst eigentlich ne ganz interessante Sache ist. Wenn man also Microsoft-Programmierung machen will... evtl. auch mal DirectX anfassen muss und dergleichen - dann .Net und C#... sonst Java, ganz platt formuliert ;)

Für Webentwicklung kann man sich auch noch überlegen ob man nich auch Ruby oder was anderes grooviges ;) lernen sollte/möchte... nur unter dem Kontext "schnelle Ergebnisse".

Dem ist nichts hinzuzufügen. ;)
Doch: Für die Webentwicklung eignet sich auch ASP.NET.
 

Wildcard

Top Contributor
Was mir hier ein wenig zu kurz kommt:
vergleicht mal die Anzahl der für Java erhältlichen Bibliotheken mit denen für C#.
Vergleicht mal die Anzahl professioneller IDEs (bzw. nennt mir eine freie 'professionelle' und überhaupt eine vernünftige die nicht nur unter Windows läuft).
Solange man nicht exzessiv die WinAPI verwenden will (für die man natürlich wieder C++ braucht) sehe ich derzeit keinen Grund C# zu verwenden.
 

Jango

Gesperrter Benutzer
Oh, ich befüchte, dass wird wieder einer der vielen "Pro - Contra" - Threads.
Die Frage war ja nicht: Was ist besser? Sondern: Was sollte ich lernen? ;)
 
G

Guest

Gast
hm.. ich denke, ich werde mich mal mit beiden Sprachen beschäftigen, aber hauptsächlich mit Java.
Gleich geh ich das Buch "Handbuch der Java Programmierung" also das Javabuch bestellen, aber weiß einer, ob die Studentenausgabe auch für einen Hobbyentwickler zu empfehlen ist? Amazon-Link

Es stand auf der Javabuch Seite -> http://javabuch.de/



MfG
 

ice-breaker

Top Contributor
Anonymous hat gesagt.:
@MasterEvil:
Was aber, wenn Mono bald wirklich die möglichkeit bekommt den .NET-Framework "richtig" auf Unix-Systemen zu portieren?? weil mit jeder neuen Version bekommt es immer mehr funktionalitäten aus .NET-Framework..

Und als Java programmierer sollte man genau davor Angst haben, dass Java dann dadurch ersetzt werden könnte.. da dann .NET auch Plattformunabhängig sein könnte..

oder wie siehst du das?
was wird wohl platformunahängiger?
Eine Sprache die direkt darauf konzipiert ist und dies mit dem VM-Konzept auch schafft oder eine Sprache bei der ein 3rd Party Hersteller ein Emulationswerkzeug schreibt um es unter anderen OS zum Laufen zu bekommen?
Also wenn eine neue Java-Version rauskommt ist direkt schon das Release für andere OS da, und das schaffen die Mono-Entwickler auch?
 

deleted

Bekanntes Mitglied
@Buch

Das "Tigerbuch" ist mehr ein Schulbuch.
Sprich:
Wenn du gar keine Ahnung von Programmieren hast (insb. von objektorientiertem Programmieren) ist das Buch für dich empfehlenswert.

Um speziell Java zu erlernen allerdings nicht.

Du wirst damit wenig Freude haben, wenn du bereits programmieren kannst, und nur Java lernen willst.

Sprich, wenn du dir sagst: "Habe keine rechte Ahnung davon, ich will ein Buch damit ich es lerne..." nimm das "Tigerbuch".
Als Ergänzung im Web dann noch eines der anderen Bücher lesen oder kaufen (Bücher kann man eh nie genug haben. Ich hab ein ganzes Regal voll mit Büchern die IT Themen in irgendeiner Weise thematisieren :)).

Ansonsten wenn du dir sagst:
"Was ein Interface ist weiß ich, Threads und E/A Streams und die ganze Objektorientierung habe ich verstanden. Ich kann aber nur C++ und kein java!", dann lass das "Tigerbuch" auf jeden Fall weg, das ist dann rausgeworfenes Geld!
 

byte

Top Contributor
Kauf Effective Java oder Thinking in Java und kombinier das mit den Online-Büchern (Java Insel + Java Handbuch). Vorteil: Die Online-Bücher sind eher für den Einstieg oder zum schnellen Nachschlagen geeignet, in erstere guckst Du aber selbst als Fortgeschrittener/ Profi nochmal rein, ergo auf lange Sicht weniger Geldverschwendung. ;)
 
G

Guest

Gast
hm.. bin jetzt etwas verwirrt..
sind die Bücher "Javabuch" und "Java ist auch eine Insel" also doch nicht gut für den Anfang, oder sind die Bücher "Thinking in Java" und "Effective Java" besser für den Einstieg?

Bin kein fortgeschrittener Java Programmierer, von daher wäre es besser, wenn es nicht von anfang an, fortgeschrittene Themen behandelt..
 

byte

Top Contributor
In allen Büchern werden die Java Grundlagen behandelt. Aber Effective Java und Thinking in Java haben halt mehr Tiefgang und sind auch noch später interessant, wenn Du Java schon kannst.
 

MasterEvil

Bekanntes Mitglied
Anonymous hat gesagt.:
@MasterEvil:
Was aber, wenn Mono bald wirklich die möglichkeit bekommt den .NET-Framework "richtig" auf Unix-Systemen zu portieren?? weil mit jeder neuen Version bekommt es immer mehr funktionalitäten aus .NET-Framework..

Und als Java programmierer sollte man genau davor Angst haben, dass Java dann dadurch ersetzt werden könnte.. da dann .NET auch Plattformunabhängig sein könnte..

oder wie siehst du das?

Ich würde mich freuen wenn C# überwiegend plattformunabhängig zu betreiben wäre!
Mir ist es doch im Endeffekt egal von wem oder was, ich würde dann auf jedenfall C# nutzen und nichtmehr Java wegen der Möglichkeit bei Bedarf tiefer auf die Systemebene zugreifen zu können.

Ab guck dir mal an was Sun alles zusammengestrickt hat um einigermaßen Plattformunabhängigkeit hinzubekommen. Das wird mit Mono so nicht mal ansatzweise zu realisieren sein. Da müsste Microsoft schonmal nen paar Euro springen lassen und ne ordentliche Besatzung ein paar Jahre dran rumwerkeln lassen.

Java wird weiterhin DIE plattformunabhängige Sprache sein und C# die starke, einfache Sprache unter Windows!


Ich hatte mal nen Programm von Java nach C# portiert, das meiste war da wirklich nur Copy&Paste und dann nen paar Objekte anpassen. Aber das meiste ist so gut wie identisch und auf den ersten Blick ist oft garnicht zu erkennen welche Sprache das nun genau ist.
 

deleted

Bekanntes Mitglied
byto hat gesagt.:
In allen Büchern werden die Java Grundlagen behandelt. Aber Effective Java und Thinking in Java haben halt mehr Tiefgang und sind auch noch später interessant, wenn Du Java schon kannst.

Er will das als Hobby machen...
Nicht professionell ;)
Ich habe die Erfahrung gemacht:
Ein ZU umfangreiches Einstiegsbuch und der Frust ist schnell da.
Zumal wenn es auf Englisch in Fachsprache geschrieben ist.
Ein Hobby soll ja auch Spaß machen.
Und ich bezweifle dass ein Hobbyprogrammierer überhaupt alles braucht, was in den Onlinebüchern steht.
Zudem es in der Javadokumentation von SUN auch noch genug Beispiele, zusätzliche Erläuterungen usw. gibt.
(Ist im Übrigen dringend anzuraten, dass du dir die Javadoku runterlädst und sie gut beherrschen lernst!).
Also von daher würde ich von solchen schwergewichtigen Büchern sogar abraten...
Im Übrigen kommt es auch drauf an, WIE Themen behandelt werden.
Das Thema Netzwerk im Javabuch ist z.B. sehr gut.
Es startet gleich mlt der Frage "Was ist ein Netzwerk?" und so wird da auch rangegangen.
Sprich das versteht auch jemand, der keine Ahnung von Netzen hat.
Das von dir vorgeschlagene Buch wird bei Amazon beschrieben:
"You may think you're a hot Java programmer, but you aren't perfect--yet."
Also ich nehme an, dass das solche Erklärungen nicht beinhaltet.
 

AlArenal

Top Contributor
Wenn es ein Hobby sein soll, hat er ja keinen Zeitdruck. Es hindert ihn also nichts daran sich mit beidem (und noch mehr) zu beschäüftigen und dann auf der Basis eigener Erfahrungen selbstständig Entscheidungen zu treffen.

Ist eh sinnvoller als in einem Java-Forum zu fragen, ob C# nicht besser geeignet ist und andere für sich denken zu lassen. Mein Brider mag keinen Fisch, da kann ich von Sushi schwärmen, wie ich will...
 
G

Guest

Gast
hallo,
ich hab nur noch eine letzte frage an euch.. das "Javabuch" behandelt doch nur Java 5 und nicht 6, oder?? Link
Ist es denn schlimm, oder sollte man ein Buch über die 6te Java Version kaufen?


Ansonsten vielen Dank für eure Hilfe, ich hab mich doch noch am Ende entschieden, hauptsächlich Java zu benutzen und nebenbei ab und zu C# zu erlernen, ich denk mal, das wäre keine falsche entscheidung von mir :)



MfG
 

Jango

Gesperrter Benutzer
MasterEvil hat gesagt.:
Ich hatte mal nen Programm von Java nach C# portiert, das meiste war da wirklich nur Copy&Paste und dann nen paar Objekte anpassen. Aber das meiste ist so gut wie identisch und auf den ersten Blick ist oft garnicht zu erkennen welche Sprache das nun genau ist.
:shock: :shock:
Das kannst du jemandem erzählen, der C# nur vom Namen her kennt und allen üblen Nachreden glaubt.
Einer der wichtigsten Pfeiler der objektorientierten Programmierung ist die Kapselung. Dafür hat C# eigens Eigenschaftsmethoden mit get- und set- Accessoren. Hab ich in Java noch nicht gesehen. Sicher funktionieren auch normale Methoden (wie in Java üblich), die man einfach konventionsgemäß irgendwie mit get und set benennt. Aber jeder C# - Programmierer würde dir solch einen Code um die Ohren hauen.
"paar Objekte anpassen" ja - nee - is klar! Was war das, ne etwas komfortablere "HelloWorld"-Anwendung?
Spätetesten in der Vererbung hättest du merken müssen, dass das mit "copy/paste" so nicht geht.
Ich bin jetzt zu faul, diese, deine Aussage noch weiter zu kommentieren. Aber Fakt ist eins - bis eben hatte ich schlechte Laune, jetzt ist sie spurlos verschwunden und ich kann wieder lachen - DANKE!!!
Und der letzte Teil von deiner Aussage; der, den ich fett markiert habe - mal ehrlich, hast du wirklich schon mal C#-Code gesehen? Komm schon, ich verrate es auch nicht... :roll:

Im Übrigen hat AlArenal völlig Recht: Man stellt solche Fragen weder in einem Java-Forum, noch in einem C#-Forum.
Für solche Fälle gibts ja noch dies hier. Nur muss man sich dort auf eine längere Wartezeit einstellen.

MfG
Jango


Edit:
Nur noch mal zur Info:
Die Klassenbibliothek hat nichts, oder besser nicht nur was mit der Sprache C# zu tun! Sie ist vielmehr Bestandteil des .NET Framworks. Und dieses umspannt mehr als nur eine Programmiersprache. Also nicht mit der von Java verwechseln!!!
Und wer sich die Mühe machen möchte, diese Bibliothek mit der von Java zu vergleichen, der solle dies tun. Das .NET Framwork umfasst die Funktionalität unter anderem auch von Java - nur wurde hier auch viel neu entwickelt.
Klar, wurden die guten Dinge von Java übernommen. Warum auch nicht? Hat Sun doch nicht anders gemacht. Oder haben die damals eine völlig neue Hochsprache entwickelt, von der jetzt die ganze Welt abkuckt? Manchmal hab ich das Gefühl, manche glauben wirklich an sowas...

@Wildcard: Eine IDE für Linux möchtest du? Kein Problem. Hier hast du! Und frei noch obendrauf + GUI-Designer! War früher mal ein Kind des "SharpDevelop", ist aber bereits autark. :)

Und jetzt noch was zum Urheber dieses Thread:
Investiere in die Zukunft und lerne C# (ich traue mir hier was in einem Java-Forum - aber egal).
Das C# die komplette Funktionalität von Java beinhaltet, hab ich oben schon geschrieben. Was die Plattformunabhängigkeit angeht - das ist C#, bzw. das .NET Framwork auch. Zumindest für Linux und Windows. Aber für Windows alleine gibts nicht Besseres! :D
Und die Wirtschaft setzt auch im Allgemeinen auf Windows. Selbst CNC-gesteuerte Maschinen laufen auf irgend einem Windows-OS...
 

SnooP

Top Contributor
Das interessante an .Net ist ja eigentlich, dass es vom Konzept her schon so spezifiziert ist, dass es plattformunabhängig wäre. Immerhin ist die CRM nix anderes als eine Runtime und damit mit der Java-VM zu vergleichen... dazu kommen allgemein Spezifikationen über einheitliche Datentypen, etc... also eigentlich könnten jetzt ganz viele Hersteller sagen, wir machen jetzt mal ne eigene Version... zumal der Standard selbst offen ist. Problem ist... wie bei allen/vielen Dingen von MS... die wollen natürlich auch ihre Produkte verkaufen, so dass vernünftiges Arbeiten wohl nur mit der MS-Implementierung für Windows zu schaffen ist... das Fehlen einer guten IDE macht das ganze dann auch noch für den Entwickler wieder madig... sicher VisualStudio ist auf den ersten Blick ganz prima, alleine der GUI-Designer auch für ASP.Net da wird man in der Java-Welt nicht soo was vergleichbares finden (Marquee ist gut - aber nicht soo gut!). Mapping von Datenbank-Records in GUI-Elemente z.B. ist für kleinere Anwendung schnell und flink erledigt. Aaaaber... letztlich ist es eine Entwicklungsumgebung für Windows und die MS-Implementierung eine Verbesserung für die Windows-Programmierung.
Und für größere Anwendungen würde ich nach wie vor Java empfehlen auch auf Windows, weil a) einfach mehr Leute existieren, die das gut können ;) und b) bessere IDEs, c) bessere Framework-Unterstützung, d) allgemein bessere Unterstützung für Best-Practices etc... und finally - die Sprache ist nicht schlechter als .Net ;) - warum also großartig was anderes lernen.

Zu den Buchtipps. Das Javabuch finde ich ganz okay, hab ich mir damals auch gekauft muss aber sagen für nen Anfänger halte ich die Javainsel für schöner/besser - gucke in die Online-Version auch heute noch ab und zu mal rein.
Sehr gut sind imho die Head-First-Bücher für Java von Kathy Sierra der weibliche Java-Guru, vielleicht genau deswegen ;) ... deutsche Version heißt übrigens "Java von Kopf bis Fuß". Hab aber keine Ahnung von der Güte der Übersetzung. Ansonsten sind die von byto genannten Bücher sehr gut - aber imho nicht soo für den Einstieg geeignet.

Um der Diskussion noch ein wenig gutes zu tun ;) ... Investiere in die Zukunft und lern Java, die VM lässt sich und wurde bereits auf Microprozessoren implementieren und im Allgemeinen setzt auch die Wirtschaft auf Java :)
Ich sehe zumindest in meinem Umfeld 90% Java... daneben noch ein wenig Cobol (siehe Sig!), C/C++ natürlich und erst gaaaanz hinten an ein wenig .Net ... aber selbst bei uns im Projekt wurde ne Handheld-Software dann doch nur mit C++ geschrieben, statt mit .Net/C# .. somit sehe ich die Durchdringung und Unterstützung durch Wirtschaft nicht soo.
 

Wildcard

Top Contributor
Jango hat gesagt.:
Investiere in die Zukunft und lerne C# (ich traue mir hier was in einem Java-Forum - aber egal).
Das C# die komplette Funktionalität von Java beinhaltet, hab ich oben schon geschrieben. Was die Plattformunabhängigkeit angeht - das ist C#, bzw. das .NET Framwork auch. Zumindest für Linux und Windows. Aber für Windows alleine gibts nicht Besseres! :D
Und die Wirtschaft setzt auch im Allgemeinen auf Windows. Selbst CNC-gesteuerte Maschinen laufen auf irgend einem Windows-OS...
Tut mir leid Jango, ich kann dich zwar gut leiden, aber das ist einfach Unsinn :roll:
Ob C# die Zukunft gehört wird sich zeigen oder auch nicht. ZZ ist es noch weit davon entfernt.
Das die Wirtschaft auf Windows setzt stimmt definitiv nicht. Windows läuft in der Regel auf der Client Seite. Serverseitig wird der Markt von Unix und Linux Rechnern dominiert und auf Applikationsebene/Middleware wirst du Java finden.
Schau dir alleine mal SAP an (und SAP ist Marktführer). Die Frontends sind alle in Java geschrieben, die Serverkomponenten mit ABAP, Java und vermutlich einer Prise C oder C++.
IBM setzt seit Jahren auf Java, SUN sowieso.
Nichtmal Microsoft hat viel C# Code vorzuweisen und mir ist auch sonst kein Global Player bekannt bei dem C# eine wichtige Rolle spielt.
 

Yzebär

Bekanntes Mitglied
Wenn du den Anspruch hast, ein guter Programmierer werden zu wollen, wirst du nicht umhin kommen, dich mit beiden Sprachen auseinanderzusetzen.

Von der Schwierigkeit des Erlernens nehmen sich Java und C# nichts. Wer die Grundprinzipien objektorientierten Designs einhält und auch Designpatterns anwendet, wird in beiden Sprachen auf einfache Art und Weise "guten" Code schreiben können.

Starten würde ich dennoch mit Java, weil es für Java eine größere Auswahl an frei verfügbaren Tools und Frameworks gibt.
 
G

Guest

Gast
@AnonymerFred:
Nein, hast mich vielleicht falsch verstanden :? Ich meinte mit WebGadgets (weiß nicht, wie es unter Java/Swing heißt..).
Ich hab das schonmal in einer Basic Sprache programmiert, es lief eigentlich schon sehr gut, aber war nicht Plattformunabhängig.. genau das ist mein Problem..

@Jango:
Du hast echt mut, muss ich dir sagen :) So wie du denkst, hab ich bis jetzt auch immer gedacht, und wenn ich ab und zu mal die Neuigkeiten von Microsoft lese, komme ich immer wieder an die gedanken, zu Microsoft zu tendieren..


@Yzebär:
Genau das hatt ich auch vor :) beides zu können.. dann könnte ich nicht sagen, dass x besser als y ist und wieso ich y genommen habe.. = Problem beseitigt


Für Java kauf ich mir morgen das Buch "Java ist auch eine Insel", und für C# hab ich schon ein Buch.. aber
was Java 6 angeht.. wann kommt eigentlich Java 7? Weil.. wenn ich das Buch morgen kaufe und gleich danach eine neuere Java Version erscheint, könnt ich nicht aktuell informiert sein, sondern nur über Java 6, oder??




MfG
 

Wildcard

Top Contributor
Anonymous hat gesagt.:
wann kommt eigentlich Java 7?
Irgendwann 2008 wird der Delphin soweit so sein. Besonders das native XML könnte durchaus spannend werden.
Ausser XPath ( :lol: ) kenne ich keine Sprache die das umsetzt.
 
G

Guest

Gast
Wildcard hat gesagt.:
Anonymous hat gesagt.:
wann kommt eigentlich Java 7?
Irgendwann 2008 wird der Delphin soweit so sein. Besonders das native XML könnte durchaus spannend werden.
Ausser XPath ( :lol: ) kenne ich keine Sprache die das umsetzt.
Ich bin gespannt, wie sich C# bzw. .NET allgemein bis dahin weiter entwickelt. Es hat einen verdammt schnellen
Start hingelegt und die Auswahl an Komponenten für die GUI Entwicklung ist bereits jetzt besser als bei Java.
 

MasterEvil

Bekanntes Mitglied
Anonymous hat gesagt.:
... und die Auswahl an Komponenten für die GUI Entwicklung ist bereits jetzt besser als bei Java...

Also das wird ich so nicht sagen, für Java gibt es weitaus mehr Komponenten als für .NET!
Zudem kommt noch hinzu das die meisten verfügbaren .NET Komponenten auch Extra-Kohle kosten und das meist nicht zu knapp. Java-Komponenten werden auch zu Hauf verkauft aber da findet man auch fast immer freie Äquivalente zu.
Außerdem finde ich es viel einfacher Java Komponenten auf eigene Bedürfnisse anzupassen aber das ist wahrscheinlich auch eher Gewöhnungssache.
 

AlArenal

Top Contributor
Anonymous hat gesagt.:
Ich bin gespannt, wie sich C# bzw. .NET allgemein bis dahin weiter entwickelt. Es hat einen verdammt schnellen
Start hingelegt und die Auswahl an Komponenten für die GUI Entwicklung ist bereits jetzt besser als bei Java.

Sollte man auch nicht überbewerten. Schonmal das (mittlerweile) alte SAP R/3 gesehen? Es gibt gerade in den Firmen weltweit einen riesigen Haufen von Anwendungen, teils auch noch DOS-Anwendungen, mit denen die Nutzer prima klar kommen. Eye Candy spielt da keine Rolle. Das Geld und damit der Markt sitzt nunmal primär in den Firmen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Karl_Der_Nette_Anfänger Hat wer ne Lösung für verknüpfte Postleitzahlen? (Baum/Wurzel Struktur) Allgemeine Java-Themen 11
R 11 GB File lesen ohne zu extrahieren Filedaten Bereich für Bereich adressieren dann mit Multi-Thread id die DB importieren Allgemeine Java-Themen 3
G KeyListener für JTextField Allgemeine Java-Themen 5
webracer999 Library für Textsuche (z. B. include/exclude, and/or)? Allgemeine Java-Themen 5
I Module-Info für Jar erzeugen Allgemeine Java-Themen 7
krgewb Java-Bibliothek für ONVIF Allgemeine Java-Themen 1
B Simpler Eventlistener für Tastaturtaste bauen? Allgemeine Java-Themen 13
_user_q Eingegebenen Text Zeile für Zeile ausgeben lassen Allgemeine Java-Themen 11
E Key für TOTP Algorythmus(Google Authentificator) Allgemeine Java-Themen 0
S Formel für Sonnenwinkel in ein Programm überführen Allgemeine Java-Themen 11
M pfx-Zertifikat in Tomcat für SSL-Verschlüsselung nutzen Allgemeine Java-Themen 14
R Best Practice Erfahrungswerte für eine Migration von JSF nach Angular (oder anderes JS-Framework) Allgemeine Java-Themen 1
B HeapSort für Array of Strings funktioniert nur teilweise Allgemeine Java-Themen 3
jhCDtGVjcZGcfzug Klassen Was genau passiert hier? Kann mir das jemand bitte Zeile für Zeile erklären? Allgemeine Java-Themen 1
rosima26 Bester Sortieralgorithmus für kurze Arrays Allgemeine Java-Themen 40
S Mit Methoden kann man definieren für was <T> steht. Geht das auch irgendwie für Variablen? Allgemeine Java-Themen 12
MangoTango Operatoren while-Schleife für Potenz Allgemeine Java-Themen 3
B Lottospiel, genug Reihen tippen für 3 Richtige (Spaß mit Arrays)? Allgemeine Java-Themen 46
B Mit welchen Datentypen und Strukturierung am Besten dutzende Baccaratspiele Shcritt für Schritt durchsimulieren? Allgemeine Java-Themen 26
D Klassendesign für einen Pascal Interpreter Allgemeine Java-Themen 6
I OCR Library für Belegerkennung Allgemeine Java-Themen 7
farah GetterMathod für Farbkanäle Allgemeine Java-Themen 6
B Welcher Datentyp für sehr große Zahlenbereiche? Allgemeine Java-Themen 1
S Webservices für binäre Daten? Allgemeine Java-Themen 5
G Licence-Header für InHouse entwickelten Source Allgemeine Java-Themen 8
M Schleife für einen TicTacToe Computer Allgemeine Java-Themen 5
O git ignore für Intellji braucht es die .idea Dateien? Allgemeine Java-Themen 8
F Java Script für das Vorhaben das richtige? Allgemeine Java-Themen 9
M wiviel Java muss ich für die Berufswelt können ? Allgemeine Java-Themen 5
Robertop Datumsformat für GB ab Java 16 Allgemeine Java-Themen 1
Thallius Verschiedene entities für gleichen Code…. Allgemeine Java-Themen 8
OnDemand Zentrale "Drehscheibe" für verschiedene APIs Allgemeine Java-Themen 14
S Übergabe eines Sortierkriteriums für ein Artikel Array mittels BiPredicate<Artikel, Artikel> Allgemeine Java-Themen 13
F Streams als Alternative für dieses Problem ? Allgemeine Java-Themen 15
D SHA-3 für Java-version 1.8 Allgemeine Java-Themen 1
N Validator für einen SQL-Befehl Allgemeine Java-Themen 22
Muatasem Hammud Erstellung von Testdaten für Arrays Allgemeine Java-Themen 6
B Logikfehlersuche, das perfekte Lottosystem für 3 Richtige mit Arraylists? Allgemeine Java-Themen 61
G Methoden für die Zukunft sinnvoll? Allgemeine Java-Themen 4
M API für PLZ Umkreissuche Allgemeine Java-Themen 3
1Spinne JDK 8 für Eclipse installieren Allgemeine Java-Themen 5
Tobero Meine Funktion für das beinhalten eines Punktes in einem Kreis funktioniert nicht Allgemeine Java-Themen 5
L Methoden Parser für gängige Datumsformate? Allgemeine Java-Themen 1
H Interface PluginSystem ClassNotFound exception für library Klassen Allgemeine Java-Themen 10
N relativier Pfad für sqlite-Datenbank in Gradle/IntelliJ Allgemeine Java-Themen 2
buchfrau Anagram für beliebiges Wort Allgemeine Java-Themen 2
TonioTec Api für Datenaustausch zwischen Client und Server Allgemeine Java-Themen 0
W Suche Ursache für NPE - woher kommt sie? (Hilfe beim Debugging) Allgemeine Java-Themen 19
Kirby.exe Distanz Map für die Distanztransformation erstellen Allgemeine Java-Themen 1
F PI Regler für Heizung Allgemeine Java-Themen 7
8u3631984 Generelle Log4j.xml für alle Module Allgemeine Java-Themen 5
M Wie übergebe ich den Zähler für die Anzahl Rekursionsschritte korrekt? Allgemeine Java-Themen 2
B Login für User, der im Hintergrund Schedules ausführt Allgemeine Java-Themen 16
L RegEx für Teile einer Berechnung Allgemeine Java-Themen 14
S Java-Task-Management-Tool für Windows und Mac selber programmieren Allgemeine Java-Themen 4
M Java 2D Array für ein Grid erstellen ? Allgemeine Java-Themen 2
Z Welches GUI Framework für Java ist aktuell? Allgemeine Java-Themen 16
N Convert.FromBase64 von C# für Java Allgemeine Java-Themen 11
N fixed-keyword von C# für Java Allgemeine Java-Themen 6
O Suche Scripter für alt:V Project! Allgemeine Java-Themen 0
S Interface Design von HookUp oder Callback Methoden für eigenes Framework Allgemeine Java-Themen 9
O Suche Unterstützung für ein OpenSource-Projekt (grafischer Editor) Allgemeine Java-Themen 13
Kirby.exe Software für Graphische Visualisierung Allgemeine Java-Themen 20
B OOP Auslöser für NullPointerException Allgemeine Java-Themen 3
L Generator für einen Parser implementieren Allgemeine Java-Themen 13
DonMalte Ambitioniertes Projekt für Einsteiger & Motivierte Allgemeine Java-Themen 0
Kirby.exe Movement System für Spiel Allgemeine Java-Themen 13
Kirby.exe Framework für Game Design Allgemeine Java-Themen 8
W Alternative für Threads Allgemeine Java-Themen 6
S Rückgabe einer HttpURLConnection für eine Seite einlesen bei der man eingeloggt ist..? Allgemeine Java-Themen 5
Elyt Compiler-Fehler Datei kann nicht erstellt werden. Die Syntax für den Dateinamen etc. ist falsch. Allgemeine Java-Themen 2
Thallius Rätsel für Windows Profis Allgemeine Java-Themen 8
D OOP Gemeinsamen ID-Raum für zwei Klassen implementieren Allgemeine Java-Themen 7
D Input/Output Implementierung eines CommandHandlers/Parsers für viele Eingaben Allgemeine Java-Themen 26
Thallius Alternative für SwingWorker Allgemeine Java-Themen 5
I Lohnt sich heutzutage der Aufwand einer Portierung für MacOS Allgemeine Java-Themen 8
L Klassen Algorithmus für das folgende Problem entwickeln? Allgemeine Java-Themen 30
J Datenstruktur für eine Map erstellen Allgemeine Java-Themen 2
H OOP Setting(config) für Applikation sicheren? Allgemeine Java-Themen 9
OnDemand PDF Libary für Formulare Allgemeine Java-Themen 7
S Warmup für Lineare-Suche mit Zeitmessung Allgemeine Java-Themen 2
T Allgemeine Frage: GUI für 3D-Visualisierung Allgemeine Java-Themen 5
M Brainstorming für mein Projekt Allgemeine Java-Themen 30
K OOP Suche Hilfe + Erklärung für eine Hausaufgabe Allgemeine Java-Themen 1
F Was ist der Dateityp meines Parameters für die Main Methode. Allgemeine Java-Themen 6
C Bibliotheken für Algorithmische Geometrie Allgemeine Java-Themen 2
C Daten für Klassifikationsverfahren gewinnen Allgemeine Java-Themen 6
C code oder Bibliotheken für 2-Center Problem Allgemeine Java-Themen 4
I Overlay für Spiele Allgemeine Java-Themen 5
B Suche nach einem Testprogramm für meine BA Allgemeine Java-Themen 0
I GUI für kleine Pop-Ups unter Windows Allgemeine Java-Themen 1
A NetBeans Suche Programmierer für eine Belegarbeit Allgemeine Java-Themen 11
HarleyDavidson Best Practice Wohin mit der Konfigurationsdatei für Desktopapplikationen? Allgemeine Java-Themen 3
R MAC-Adresse eindeutig für einen PC ? Bezug zu Netzwerk, wieso ? Allgemeine Java-Themen 7
N Java API für CardDav und CalDav gesucht Allgemeine Java-Themen 4
R Idee für Methodenrumpf Allgemeine Java-Themen 5
O Suche größeres Beispiel für WebserverAnwendung mit Java Allgemeine Java-Themen 2
K Anregungen für Bilderanalyse in Java Allgemeine Java-Themen 1
J Countdown für Datum und Uhrzeit Allgemeine Java-Themen 4
N JFrame für Minispiele Allgemeine Java-Themen 14

Ähnliche Java Themen

Neue Themen


Oben