| Autor |
Beitrag |
step4step
Hält's aus hier
Beiträge: 4
|
Verfasst: Fr 23.11.07 17:24
Hi,
ich möchte in die Objektorientierte Programmierung einsteigen, hab aber bisher absolut keine Ahnung davon.
Nun sthe ich vor der wahl, ob ich als Anfänger c# oder Java wählen sol. Bislang kenne ich aus der Schule nur Turbo-Pascal.
Warum will ich einsteigen?
a) einfach Interesse
b) suche Ausbildungsstelle zum Fachinformatiker, kann da wohl nicht schaden.
Also:
Was spricht aus eurer sicht für c# im Vergleich zu Java?
Danke schon mal für Tips.
|
|
alzaimar
      
Beiträge: 2889
Erhaltene Danke: 13
W2000, XP
D6E, BDS2006A, DevExpress
|
Verfasst: Fr 23.11.07 18:35
C# ist moderner.
_________________ Na denn, dann. Bis dann, denn.
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Fr 23.11.07 18:41
 16 Zeichen für die Vorteile von C# gegenüber Java. Sooooo ausführlich wollte es step4step wahrscheinlich gar nicht wissen 
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
Bernhard Geyer
      
Beiträge: 721
Erhaltene Danke: 3
|
Verfasst: Fr 23.11.07 18:57
alzaimar hat folgendes geschrieben: | | C# ist moderner. |
C# ist primär noch nicht so alt und hat manche Dinge von anfang an die bei Java erst mit den letzten Versionen dazugekommen sind:
Vorteil C# (bzw. .NET):
- Alles aus einer Hand (Framework, IDE, ...)
- Optimal für Windows
- Soll *irgendwann* mal die API für Windows sein (sollt ja eigentlisch schon seit Windows 2003 der Fall sein)
Nachteil:
- Primäre Entwicklung (vom Ziehvater) ist nur für Windows. Alternative Implementierungen hinken immer hinterher
- Einige Teile von .NET unterliegen MS-Patenten (Damokleschwert über Mono wenn man das Amerikanische Patentsystem betrachtet)
- Geringere Plattformverbreitung
|
|
Chryzler
      
Beiträge: 1097
Erhaltene Danke: 2
|
Verfasst: Fr 23.11.07 20:59
|
|
Kha
      
Beiträge: 3803
Erhaltene Danke: 176
Arch Linux
Python, C, C++ (vim)
|
Verfasst: Fr 23.11.07 21:29
Bei Wikipedia gibt es (natürlich  ) auch noch einen Vergleich. Hätte erwartet, dass dort ein ziemlich ausgeglichenes Ergebnis präsentiert wird, imho neigt sich die Waage aber deutlich zu einer Seite...
|
|
step4step 
Hält's aus hier
Beiträge: 4
|
Verfasst: Sa 24.11.07 12:25
Bernhard Geyer hat folgendes geschrieben: | Vorteil C# (bzw. .NET):
- Alles aus einer Hand (Framework, IDE, ...)
- Optimal für Windows |
Vielen Dank schon mal für die Infos.
Lese ich daraus, dass c# für Anfänger einfacher zu handeln ist?
Konkret:
Bei c# mach ich eine Installation und alles ist dabei und läuft.
Bei Java dagegen muss ich mir einzelnen Komponenten zusammensuchen und dann selbst irgendwie zusammen ans Laufen bringen?
| Zitat: | Nachteil:
- Primäre Entwicklung (vom Ziehvater) ist nur für Windows. Alternative Implementierungen hinken immer hinterher
- Einige Teile von .NET unterliegen MS-Patenten (Damokleschwert über Mono wenn man das Amerikanische Patentsystem betrachtet)
- Geringere Plattformverbreitung |
Hmm, die geringere Plattformverbreitung ist ein Argument.
Allerdings mach ich im Moment eh unter Windows (hab bislang auch nur wenig Erfhrungen mit Linux, andere Plattformen kenne ich nicht).
Wenn ich das richtig sehe, ist die Funktionalität fürs Lernen bei c# und java gleichwertig, oder?
Wenn ich bei Wikipedia sowas lese wie
| Zitat: | | ... konzeptionelle Unterschiede bestehen insbesondere in der Unterstützung von Delegaten, einem Konzept, das mit Funktionszeigern vergleichbar ist. Hierbei kommt ein Beobachter-Entwurfsmuster zum Einsatz |
versteh ich das nicht  und ist für mich wahrscheinlich nur am Rande wichtig. Ähnlich geht es mir bei der Übersicht Vergleich objektorientierter Programmiersprachen
Wichtig wäre für mich vor allem:
- möglichst einheitlich zu bedienende Oberfäche (damit ich beim Nachdenken über ein Programmproblem nicht durch Handlingprobleme abgelenkt werde)
- Editor mit guten Debugger-Funktionen
- vernünftige integrierte Online-Hilfefunktion
Kann man sagen dass bei den 3 Punkten c# deutlich gegenüber java punktet oder ist das eher gleich?
Dank schon mal!
Zuletzt bearbeitet von step4step am Sa 24.11.07 13:06, insgesamt 1-mal bearbeitet
|
|
step4step 
Hält's aus hier
Beiträge: 4
|
Verfasst: Sa 24.11.07 12:30
Danke für den Hinweis!
Da sind ja im Prinzip keine so großen Unterschiede. Mir ist allerdings aufgefallen, dass es in Java wohl keine "Structs" gibt.
Wozu sind die gut?
Ist das überhaupt für eine Lernumgebung wichtig?
|
|
Tilo
      
Beiträge: 1098
Erhaltene Danke: 13
Win7 geg. WInXP oder sogar Win98
Rad2007
|
Verfasst: Sa 24.11.07 17:42
Structs sind in Delphi die records.
In Java kannst Du Structs als Klassen schreiben die keine Methoden sondern und Felder(also Variablen) enthalten.
|
|
Kha
      
Beiträge: 3803
Erhaltene Danke: 176
Arch Linux
Python, C, C++ (vim)
|
Verfasst: Sa 24.11.07 18:11
Tilo hat folgendes geschrieben: | | In Java kannst Du Structs als Klassen schreiben die keine Methoden sondern und Felder(also Variablen) enthalten. |
Wie meinen? Warum sollte ein Struct keine Methoden enthalten dürfen (das können doch sogar Delphi-Records) und wie soll das dann eine Klasse zu einem Wertetyp machen können?
@Benutzerfreundlichkeit: Viele meinen, Java sei zu akademisch ausgelegt, was dann auf Kosten der Benutzerfeundlichkeit ginge. Beispiel, das ich hoffentlich richtig hinbekomme, ohne jemals eine Zeile Java geschrieben zu haben:
C#-Quelltext 1: 2: 3:
| string s = "Hallo"; if (s == "Hallo") ... | Wenn du auf den Grund kommst, warum der Vergleich immer false ergeben könnte, bist du ziemlich gut  .
Syntaktische Unterschiede sind wohl das Uninteressanteste, wenn die eine Sprache direkt von der anderen abstammt  .
Zuletzt bearbeitet von Kha am Sa 24.11.07 18:32, insgesamt 1-mal bearbeitet
|
|
Greenberet
      
Beiträge: 339
Erhaltene Danke: 20
Win 10
C# (VS 2012), C++ (VS 2012/GCC), PAWN(Notepad++), Java(NetBeans)
|
Verfasst: Sa 24.11.07 18:20
Tilo hat folgendes geschrieben: | Structs sind in Delphi die records.
In Java kannst Du Structs als Klassen schreiben die keine Methoden sondern und Felder(also Variablen) enthalten. |
nein kannst du nicht!
das sind immer noch klassen -> heap + garbage collector
structs = elementare datentypen -> stack
@Khabarakh
dein code würde nicht mal compiliert werden^^( ein " vergessen  )
und wenn man dein " nicht vergisst funktioniert es manchmal und manchmal nicht in java
s und "Hallo" hätten die selbe referenz und die wird mit == verglichen.
Allerdings spinnt diese methode hin und wieder. Ich hab leider ein Jahr lang in java programmieren müssen(schule) und hatte einige programme wo ich die strings direkt mit == verglichen hab und nicht mit der equals methode. in 90% der Fälle hat es funktioniert in den restlichen halt nicht.
lg
green
|
|
Kha
      
Beiträge: 3803
Erhaltene Danke: 176
Arch Linux
Python, C, C++ (vim)
|
Verfasst: Sa 24.11.07 18:35
Greenberet hat folgendes geschrieben: | dein code würde nicht mal compiliert werden^^( ein " vergessen ) |
Huups, das ist aber peinlich  . Hab schon fast befürchtet, dass irgendetwas wie String Interning oder Compiler-Optimisierungen greifen könnten, wenn das aber gar nicht wirklich berechenbar geschieht, wird es ja noch lustiger  .
|
|
blackbirdXXX

      
Beiträge: 1077
Erhaltene Danke: 1
Ubuntu Dapper
|
Verfasst: So 25.11.07 21:15
_________________ Klein, schwarz und ärgert Techniker? Jumper!
|
|
Greenberet
      
Beiträge: 339
Erhaltene Danke: 20
Win 10
C# (VS 2012), C++ (VS 2012/GCC), PAWN(Notepad++), Java(NetBeans)
|
Verfasst: Mo 26.11.07 01:15
blackbirdXXX hat folgendes geschrieben: |
Greenberet hat folgendes geschrieben: | | Allerdings spinnt diese methode hin und wieder. |
Nein. Das ist genau definiert, wann das geht und wann nicht. "==" vergleicht Speicheraddressen, die .equals Methode vergleicht Objekte. |
ja das dachte ich auch. nur irgendwie hat das nicht immer funktioniert. vl hatte die vm was kA. is halt eine Erfahrung die ich gemacht hab.
|
|
step4step 
Hält's aus hier
Beiträge: 4
|
Verfasst: Mi 28.11.07 21:59
Vielen Dank für die Infos.
Ich habe mich jetzt für C# entschieden.
Bernhard Geyer hat folgendes geschrieben: | Vorteil C# (bzw. .NET):
- Alles aus einer Hand (Framework, IDE, ...)
- Optimal für Windows |
Das war für mich entscheidend gemeinsam mit der Bedienerfreundlichkeit und den Hilfen, die das System liefert.
Falls es jemand interessiert: An der Uni Trier habe ich einen - soweit ich das nach den ersten knapp 50 Seiten einschätzen kann - guten Einführungskurs (PDF-Format und Übungsdateien) gefunden.
|
|