Anzeige:
Seite 2 von 2 ErsteErste 12
Ergebnis 16 bis 30 von 30

Thema: java C# oder doch C++ ?

  1. #16
    Registrierter Benutzer
    Registriert seit
    30.07.2004
    Beiträge
    21
    Zitat Zitat von comrad
    Kaum jemand das .NET 2-Framework? Das wird doch schon von ner Menge Anwendungen benötigt. Also egal ob C++, Java oder .NET, die Technologien werden auf jedenfall nicht so schnell auslaufen. Mit den letzteren beiden ist GUI-Entwicklung sogar ziemlich fix möglich.

    Gruss,
    comrad
    trotzdem hat es kaum jemand, wir gehn jetz mal nicht nur von "pros" aus, die meisten wissen ja noch garnicht was das .net framework eigtl ist java dagegen wird oft mitgeliefert

    naja ich habe das buch "handbuch der java programmierung" und die C# Tutorials aus der C't ... die mache ich jetzt durch und entscheide dann was ich will

  2. #17
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Wer liefert Java mit? Vielleicht lebe ich ja auch am falschen Ort - aber bei mir ist noch nie Java mitgeliefert worten

    Tutorials werden dich allerdings, denke ich, bei der Entscheidung auch nicht wirklich weiterbringen. Weil am Anfang sind sich die Sprachen dann doch zu ähnlich. Und nachher auch immer noch ziemlich...

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  3. #18
    Registrierter Benutzer
    Registriert seit
    30.07.2004
    Beiträge
    21
    ja nein ich glaub ich habe mich falsch ausgedrückt, aber die java webapplikationen kann man doch eigtl immer starten zumindest an den rechner wo ich bisher war

    aber wenigstens hast du auch gleich einen schlauen satz gebracht: die sprachen sind sich am anfang sehr ähnlich und dann auch noch
    aber so ähnlich können sie sich ja dann auch wieder nicht sein ...

    schade übrigens das die schweiz rausgeflogen ist

  4. #19
    Registrierter Benutzer
    Registriert seit
    10.03.2001
    Ort
    Delmenhorst
    Beiträge
    118
    Du brauchst aber immer das Plugin. Ausserdem besteht Java aus deutlich mehr als diesen Web-Plugin (so wie du vorhin meintest, man müsse ja nur das Plugin als .msi mitliefern).

    Wenn man es geschickt anstellt, kann man in Java auch anständige GUIs hinbekommen, sogar Spiele (Tribal Trouble von Oddlabs.com ist grad bei mir eingetroffen, genial!).
    Unerfahrene Programmierer können hier aber natürlich genauso Murks machen wie bei jedem anderen Toolkit auch (ausgehend von Swing). Bei Swing merkt man es aber halt deutlicher, wenn die Anwendung lahmt.

    Gruss,
    comrad
    Holarse.de - Spielen unter Linux

  5. #20
    Registrierter Benutzer Avatar von Waxolunist
    Registriert seit
    19.06.2006
    Ort
    Wien
    Beiträge
    485
    Zitat von peschmae: Wer liefert Java mit? Vielleicht lebe ich ja auch am falschen Ort - aber bei mir ist noch nie Java mitgeliefert worten
    Novell z.B.
    Auf Solaris ist es auch zumeist dabei.

    Das jre zu installieren dürfte doch wohl kein Problem sein.

    Aufgrund von JITs und anderen Sachen, ist Java nicht wirklich langsamer als C++, und ganz bestimmt nicht langsamer als .NET. http://www.javaworld.com/jw-02-1998/jw-02-jperf-p4.html

    Java ist robuster. GC, einfaches MultiThreading und das Exceptionhandling lassen weniger Bugs in der Software zu. Für Spiele ist Java nicht geeignet.

    Auf älteren PCs läufts auch nicht so gut. Aber auf modernen PCs bietet Java sehr viele Vorteile. Man sehe sich nur Eclipse an oder auf Servern JBoss oder Tomcat. Und wenn du z.B. Azureus als behäbig empfindest, dann weiß ich auch nicht, was dann als schnell empfunden wird.

    Wer sich jetzt nicht die JVM von Sun zulegen möchte, der darf auch gerne die JRocktit oder die von IBM ausprobieren. Sun stellt lediglich die Referenzimplementierung her, welche auch zugleich die beste ist, auch wenn ich selbst in der Arbeit die von IBM verwenden muss.

    Genauso ist Tomcat nur eine Referenzimplementierung.
    Spezialitäten heute: PLSQL, TSQL, Java (alles mit Webanwendungen), Groovy, Grails, ASP.NET, Javascript, Python, Django
    Straight through, ohne Umwege ans Ziel

  6. #21
    Registrierter Benutzer
    Registriert seit
    30.07.2004
    Beiträge
    21
    ist im IE nicht so eine art JRE nur aus dem hause MS dabei ?

    also wie gesagt, ich probier jetzt mal C# und Java aus und wenns beides aus meiner Sicht keine vorteile zu C++ bietet dann werde ich sogar C++ benutzen,
    interessant ist ja auch das die nächste windows shell die .net sachen nutzen wird ... für webapplikationen werde ich wohl ohnehin bei PHP bleiben

  7. #22
    Residuen
    Gast
    Hi,
    ich habe gestern erst eine heiße Diskussion gehabt, welche Sprache nun
    besser oder schlechter ist.
    Alles in allem kann man doch sagen, das jede Sprache seine Vor- und
    Nachteile hat.

    Java ist gewiss die platformunabhängiste von allen, solange man nicht
    zu sehr auf Systemnahe Anwendung mit dem native-Interface abgewiesen ist.
    Einmal geschrieben, überall läufts (nur beim Mac hapert es schon mal, vor allem
    wenn man mit Java3D oder vtk arbeitet).
    Swing finde ich, bei guter Programmierung, auch inzwischen recht zügig, es
    gibt einige recht fixe Swing basierte Anwendungen die den Vergleich mit
    anderen nicht scheuen müssen.

    Ein Vorteil von C++ ist sicherlich, dass es viele grafische API's gibt. Da
    ist für jeden Anwendungsfall immer das passende zu finden. gerade QT hat
    mich überrascht, wie (relativ) einfach es zu erlernen ist. Zudem ist es in
    seiner Ausführung auch sehr schnell. Der Nachteil ist natürlich, dass es nicht
    so einfach ist, seine Software mal eben auf einem anderen System ans
    laufen zu bekommen. QT in der neuen 4er Version hat dieses manko jedoch
    deutlich reduziert. Auch GTK+ (ebenfalls kostenlos) ist "erlernbar".

    Zu C# kann ich nicht viel sagen, versierte Softwareentwickler aus
    meiner Diskussion sind aber der Meinung, dass die Tatsache das Microsoft die
    besten Aspekte aus Java und C++ in C# integriert hat, das große Plus von C#
    sind.

    Letztendlich war unsere Meinung, das Java die einfachste Sprache zum
    erlernen ist und den meisten Anforderungen voll und ganz genügt.

    Gruß
    Residuen

  8. #23
    Registrierter Benutzer
    Registriert seit
    30.07.2004
    Beiträge
    21
    danke auch für deine meinung

    ich habe mir jetzt eine dvd zu Java in ebay ersteigert und bin in mom am lernen
    mitte juli bekomme ich dann die dvd zu C# und evtl kauf ich mir die nächsten wochen noch ein buch zu C++

    dann habe ich bei allen mal einen einstieg und etwas grundwissen und kann dann immernoch sehen was ich machen will

    nicht zu vergessen bei C# ist das man damit auch Webseiten machen kann (geht natürlich mit JSP auch )

  9. #24
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Ich würde dir eigentlich eher das Gegenteil empfehlen. Lern *eine* der Sprachen richtig. Dann kennst du die allgemeinen Konzepte (OOP, Templates, ...).

    Wenn du das mal kannst ist der Umstieg zu einer anderen Programmiersprache recht einfach. Das einzige was sich ändert ist ein bisschen Syntax und die Namen der Funktionen/Klassen.

    Ausnahme: Umstieg C#/Java nach C++ - da kommt dann schon einiges dazu (Pointer, Speichermanagement (Stack <-> Heap), unverständliche Compilerfehlermeldungen und jede Menge Subtilitäten - aber genau wegen diesen Sachen würde ich eher nicht mit C++ anfangen...)

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  10. #25
    Registrierter Benutzer
    Registriert seit
    30.07.2004
    Beiträge
    21
    hast mich falsch verstanden, ich will jede sprache nur mal ansehen und kleine sachen damit machen und die die mir am besten gefällt lerne ich richtig

  11. #26
    Registrierter Benutzer
    Registriert seit
    18.03.2005
    Beiträge
    211
    zum thema RT's und unkompliziert:

    bei uns gibts musterclients, und da iss ne aeltere version von java drauf. sobald da irgendwas moderneres installieren will, sprengts die hotline, weil das kein user standardmaessig darf ^^
    ok, eigene rt in eigenem verzeichniss ... wird durch die systemeinstellungen ueberschrieben und meistens zieht der trotzdem dann die javart.dll ausm system32 an ^^ nichts funkt mehr.
    installiert man die javart von sun oder blackdown, geht alles, nur darf das keiner / admin aufwand iss zu gross, wenn jeder admin redchte zum installieren braucht.

    .Net 2.0 setzt service Pack 2 vorraus. service pack 2 iss bei uns ned freigegeben im unternehmen. gibt wohl in gewissen bereichen eklatante sicherheitsprobleme (wobei ich mich da frage warum nicht auch beim sp1 ^^)

    Also das so runtimes unproblematisch sind, halt ich mal fuern geruecht ^^ spaetestens in richtig grossen unternehmen ...
    Aber cobol und Fortran programme laufen hier noch super ^^

    Ciao ...

    Ciao ...
    Geändert von RHBaum (11-07-2006 um 11:27 Uhr)

  12. #27
    Registrierter Benutzer Avatar von Corcovado
    Registriert seit
    10.07.2005
    Beiträge
    30
    Meine Meinung - Jede Sprache hat ihr Einsatzgebiet und konkurriert in den Ueberschneidungsgebieten mit anderen Sprachen mehr oder weniger.

    Java - Ich wuerde Java v.a. fuer kleine bis mittelgrosse Projekte einsetzen, bspw um schnell mal was Fenstermaessiges zusammenzubauen fuer die eigene Firma, Facharbeit, Diplomarbeit etc. Java ist oft leider nicht ganz so effektiv und blaeht fasst immer sehr auf. Java ist von SUN und afaik nicht mal allg. Standartisiert. Java hat sich schnell entwickelt, weshalb bspw die Libraries auch verhaeltnismaessig viel unausgegorenen Schrott enthalten (bspw Vector), Dinge werden eingefuerht mit einer Version. Befehle und Schleifen (bspw for each Schleife in 1.5 oder diese Java-Template aehnlichen Dinger, bspw ArrayList<String>) kommen mit der naechsten und wegen Kompatibilitaet, wird das alte halt nur discourraged oder obsolete wird, wenn das mal anfaengt richtig rausgenommen zu werden, wirds noch richtig lustig - jedenfalls macht es das lernen/schnell mal nachsehn wie was geht oft einigermassen unuebersichtlich. Serialization ist mit jeder weiteren Version irrsinnig, etc. Grafik, afaik wird jedem geraten das mit Swing zu machen, wenn kein besonderer Grund besteht auf awt oder swt zurueckzugreifen, sh dazu auch folgendes:
    http://www-128.ibm.com/developerwork...lnxw01WhichGUI
    Bei Swing muss ich allerdings schon sagen, dass bspw GridBagLayout ohne GUI Builder fast nicht zu haendeln ist. Ach ja, Java ist nicht plattformunabhaengig, die JVM ist eine Plattform, alles was mit der speziellen Konfiguration des jeweiligen Rechners zu tun hat, kann mit Java zum Riesenalptraum werden, bspw das einbinden von Fremdcode der dann in C/C++ geschrieben ist. Dafuer muss man mit Runtime und Java Native Interface anruecken und das ist schon bei kleineren Anwendungen nur schwer zu debuggen. Der naechste Nachteil den ich damit gerade erlebt habe ist, dass entpsrechende Pfade dann nur der JVM uebergeben werden koennen, zusaetzlich muss eine Systemvariable gesetzt werden - all das kann nicht von Java-Code aus geschehn, Setup dateien sind auch mit der neueren Version nicht eingefuehrt worden (soviel zum Thema, das haben sie noch vor..). SUN ist allerdings afair fuehrender Server Hersteller, ich hoere auf diesem Gebiet von jedem nur gutes ueber Java. Es soll Sachen geben die in Java schneller ablaufen als in C++, Java soll bei vielem gleich schnell sein wie C++. Java Code kann man wirklich schnell "erleben", dh man kann schnell und einfach Fenster erstellen und mit diesen etwas anfangen. Java zwingt angaenger zu einem gewissen Stil beim programmieren, was in Java Regel ist, kann man in C++ schon oft umgehen, gerade am Anfang, wenn man das alles noch nicht so blickt, sagt man sich dann oft, warum so kompliziert, das geht doch auch so, bspw mit haufenweise globalen Variablen, Konstanten und gerade das "Zeiger-Ding" pass-by-reference, pass-by-value. Ich finde es allerdings oft sehr unuebersichtlich - wenn man sich an Zeiger gewoehnt hat, sieht man was da steht dereferenziert oder nicht, in Java geschieht das hintenrum und man weiss es halt irgendwann. Garbage Collection ist oft ne praktische Sache. Ausserdem ist der Support von SUN und die Moeglichkeiten was nachzulesen gigantisch, Java ist die einzigste Sprache bei der ich noch nie ein Buch gebraucht habe es gibt wirklich alles im Netz und das ist dann auch aktueller als jedes Buch.

    C# - ist gross gehyped worden und scheint v.a. bei kleineren Dingen Boden gewonnen zu haben. Afaik hat es ein aehnliches Anwendungsgebiet wie Java, nur dass es eben auf .net aufbaut. Der Byte-Code soll angeblich um einiges effektiver sein als der von Java und naja Microsoft ist der Marktfuerher in seinem Bereich. Die Ressourcen was eigenes brauchbares zu liefern, samt Unterstuetzung des hauseigenen Betriebssystems versprechen imo einiges, gerade bei diesen Kontroversen die es damals mit SUN und Java gab bei OLE und COM. Ich halte Java dennoch momentan fuer etablierter, dh auch, dass es vllt um einiges einfacher ist im Zweifelsfall Hilfe zu bekommen, usw. Nja die Wahl von C# zieht wohl gleichzeitig die Wahl des OS mit sich. C# habe ich noch nie wirklich benutzt, soviel zu meiner Kompetenz mit C#.

    C++ - afaik mal als Nachfolger von C geplant, ist mittlerweile standartisiert und immer wieder nachstandartisiert worden. Es gibt wohl noch einiges an Arbeit zu tun. Vorteil ist es gibt haufenweise Libraries, man kann auch sehr tief in der Hardwareebene runtergehn etc. Auf Grund der Komplexitaet wuerde ich allerdings bei kleinen Projekten eindeutig zu Java raten. Der Lernfortschritt ist in C++ wohl am langsamsten und man braucht schon einige Zeit und muss vieles verstanden haben um mal ein Fenster zu machen (man muss die Sprache wirklich erst mal erlernen bevor man sich an ne Library bspw MFC, QT, etc wagen kann). Ist man jedoch in C++ soweit hat man wirklich was gelernt, ich finde man merkt das oft wenn man Diskussionen in Java Boards liest oder auf C/C++ Boards. Zusaetzlich sollte man sich bei C++ eben noch mit der STL, der spracheigenen Library beschaeftigen - das alles dauert, wirklich. Dabei gibt es auch einige Tuecken, wie man gewisse Zugriffe etwa implementiert, Buecher wie "More Effektiv C++", etc sind imo dringend anzuraten. Das Debuggen kann aufgrund der Moeglichkeiten deutlich schwieriger sein, v.a. wenn man sich nicht an "Guten Stil", der Debuggen erleichtern soll haelt. C++ kann auch schwerfaellig sein, hier kommt noch dazu, dass man sich mit seinen Werkzeugen, den Compilerflags etc auseinander setzen muss um Dinge zu optimieren usw usf. Qt oder GTK+ gibt es, aber ob die da eingesetzt werden wo man arbeitet? Oft laufen dort auch Windows Maschinen und C++ ist oft eine indirekte Wahl von Windows, da man ja idR fuer eine Maschine programmiert, zumindest wenn man die Libraries des "Marktfuehrers" verwendet. Ach ja, wie war das mit dem Sich ins Bein schiessen, wenn man das mit C macht - ok, mit C++ ist das ganze Bein ab! Will heissen, in C++ kann bei unsachgemaesser Anwendung wirklich undefiniertes (und undefiniert heisst wirklcih _undefiniert_) Verhalten auftreten!!

    Imo gibts eh ueberall nur Nachteile, aber man kann auswaehlen ob man den einen oder einen andern Hasenfuss will. Sicherlich sehn andere das wieder anders, das war nur meine Meinung zum Thema.
    Geändert von Corcovado (14-07-2006 um 21:35 Uhr)
    Hahahahahahaha... (Winx)

  13. #28
    Registrierter Benutzer
    Registriert seit
    30.07.2004
    Beiträge
    21
    auch dir danke für deine meinung

    bin leider die letzten tage zu nix gekommen weil ich nur bei meiner freundin war

    naja also ich werd morgn mal wieder etwas angreifen und meine java kenntnisse erweitern und dann mal weitersehen

  14. #29
    Registrierter Benutzer
    Registriert seit
    21.06.1999
    Beiträge
    677

    Problem sind die Abhängigkeiten

    Ein ernstzunehmendes Problem aus Sicht der Anwender der Software sind Abhängigkeiten von weiterer Software oder vorzuinstallierenden Frameworks. Die von Entwicklern oft zu hörende Aussage, das gerade von ihnen verwendete Framework sei in der von ihnen verwendeten Version "heutzutage standardmäßig überall installiert" ist mehr arrogant als hilfreich. Dieses Problem betrifft Java genauso wie .Net, Tcl/TK oder sonstige Frameworks.

    Wenn Du also ernsthaft willst, dass andere Deine Software benutzen, dann minimiere die Abhängigkeiten. Aus diesem Grund bin ich für GUI-Anwendungen mittlerweile bei C++ mit FLTK gelandet. Da ist eine normale Anwendung 200kB groß ohne irgendwelche zusätzlichen Abhängigkeiten oder zusätzlich zu installierende DLL's.

    Wenn Du aber nur Programme für den eigenen Gebrauch schreibst, dann ist das egal, da Du ja auf deinen Rechner vollen Zugriff hast.

  15. #30
    Registrierter Benutzer
    Registriert seit
    07.08.2006
    Beiträge
    101
    Hmm... Ein immer wieder spannendes Thema. Um es gleich vorweg zu nehmen - ich persönlich bin konsequenter Verfechter von Java. Das mag vielleicht darin begründet sein, dass Java meine erste "Hochsprache" war, und ich bisher recht wenig Berührungspunkte mit C/C++ hatte.

    Wenn es aber darum geht, sich mit den Konzepten der Objektorientierung auseinanderzusetzen, was ja prinzipiell erst mal völlig unabhängig von der verwendeten Sprache ist, kann ich in der Tat auch nur zu Java raten, da vor allem die Syntax und spracheigene Konzepte wesentlich einfacher zu erlernen sind als bspw. in C++. So zumindest meine Erfahrung.

    Wenn man dann OO Programmierung an sich verinnerlicht hat (und bei diesem Lernprozess kann ich nur empfehlen sich mit Literatur von bspw. T. Budd und E. Gamma auseinander zu setzen), ist immer noch Zeit sich zu entscheiden auf welche Sprache man sich dann weiter konzentriert. Alles weitere, und da unterscheiden sich die Hochsprachen alle nicht voneinander, beruht im Wesentlichen dann auf dem kennenlernen von irgendwelchen Bibliotheken, die verwendet werden um ein konkretes Ziel zu realisieren.

    Natürlich gibt es viele Faktoren, die die Wahl der geeigneten Sprache beeinflussen. Performance gehört meiner Erfahrung nach inzwischen allerdings nicht mehr dazu. Da liegt es tatsächlich mehr am Entwickler als an der Sprache.

    Ein ganz entscheidender Faktor ist auf jeden Fall die Motivation. Wenn eine Sprache bspw. vor dem Hintergrund einer besseren beruflichen Perspektive gelernt wird, ist einem, je nach gewünschtem Berufsbild, die Entscheidung eigentlich auch schon abgenommen worden. Interessanter Weise lassen sich die beiden Märkte B2C und B2B was die Verwendung von Sprachen für die Entwicklung angeht recht gut voneinander abgrenzen: Während Endanwender-Applikationen meist plattformspezifisch übersetzt werden, ist im B2B-Bereich inzwischen überwiegend Java im Einsatz.

    Übrigens, Spiele kann man sehr wohl in Java programmieren, und zwar sowohl performant als auch ansprechend. Leider wird oft vergessen, dass es neben DirectX auch noch sowas namens OpenGL gibt... Bevor jetzt jemand aufschreit dass OpenGL eine C-Implementierung ist - wie oben erwähnt, am Ende geht es immer nur um die Verwendung der richtigen Bibliotheken

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •