Laden...

C++/Java

Erstellt von davechu vor 17 Jahren Letzter Beitrag vor 17 Jahren 3.685 Views
D
davechu Themenstarter:in
46 Beiträge seit 2006
vor 17 Jahren
C++/Java

hi

ich möchte neben c# eine weitere sprache lernen. hab ein wenig mit delphi rumprobiert und da haben mir die ganzen GUI-komponenten (tbx, toolbar2000) und die ide sehr gut gefallen. nur leider mag ich die pascal-syntax überhaupt nicht.

ich möchte jetzt also entweder mit c++ oder mit java anfangen. da ich vorwiegend gui-programme erstelle ist mir eine nette gui mit vielen (kostenlosen) komponenten sehr wichtig. was empfehlt ihr mir:

  • C++ mit QT
  • C++ mit wxWidgets
  • Java mit Swing

oder doch was ganz anderes?

L
273 Beiträge seit 2006
vor 17 Jahren

hmm ich MUSSTE beides lernen! Aber wenn ich die wahl hätte würde ich Java nehmen! Ich finde Java is für die Webentwicklung ziemlich schön.
Gruß Liberado

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo chri,

manchmal bin ich echt verblüfft. Wie kommst du darauf deine Frage in

.NET-Komponentensammlung
.NET-Komponenten der myCSharp.de-Mitglieder zur freien Benutzung durch die Community

zu posten? ==> verschoben

herbivore

2.223 Beiträge seit 2005
vor 17 Jahren

hallo chri,

meiner Meinung kommt es nicht auf die Programmiersprache an, sondern eher auf das Programmieren an sich, die Syntax einer Programmiersprache kann man im allgemeinen recht schnell lernen (natürlich es gibt ausnahmen)

also mein Tip: bleibe erst einmal bei einer sprache
mfg

D
davechu Themenstarter:in
46 Beiträge seit 2006
vor 17 Jahren

Hallo chri,

manchmal bin ich echt verblüfft. Wie kommst du darauf deine Frage in

Zitat:
.NET-Komponentensammlung
.NET-Komponenten der myCSharp.de-Mitglieder zur freien Benutzung durch die Community

zu posten? ==> verschoben

herbivore

ups, verklickt ^^

Ich finde Java is für die Webentwicklung ziemlich schön.

möchte wie gesagt eher gui-programme erstellen. bei der webentwicklung bin ich mit php ganz zufrieden.

kann mir jemand was empfehlen? also die wichtigste frage ist erstmal java oder c++.

R
494 Beiträge seit 2006
vor 17 Jahren

Naja,
mit Java werden die GUIs hässlich, mit C++ hast ne Menge aufwand und php mit java zu vergleichen ist auch n witz.

2.223 Beiträge seit 2005
vor 17 Jahren

wenn du es unbedingt willst, dann empfehle ich Java, das wäre doch recht ähnlich zu c#,
und der umstieg sollte dir sehr schnell gelingen.

mfg

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo chri,

ich möchte neben c# eine weitere sprache lernen.

Warum? Wenn du mit C# arbeiten kannst, ist es weder sinnvoll C++ zu lernen noch Java. Wenn du andere Sprachen lerne willst, dann lernen konzeptuell andere Sprachen, also z.B. Prolog, Lisp, Perl. Wenn man eine objektorientierte Sprache kann (C#), dann kann man bei tatsächlichem Bedarf sehr schnell auf eine andere objektorientierte Sprache umsteigen. Es lohnt nicht, das auf Verdacht oder gut Glück zu tun.

herbivore

T
512 Beiträge seit 2006
vor 17 Jahren

Ich würde eigentlich als sehr gute Ergänzung IronPython vorschlagen. Damit kann man die .NET Bibliotheken benutzen und man kann IronPython wunderbar leicht in einem .NET Programm als Scriptsprache einsetzen.
Außerdem sind die Listengeneratoren eine Art Perview auf manches, was in C# 3.0 kommt.

Am Ende ist es eigentlich ziemlich unspannend eine Sprache zu lernen. Syntax ist wirklich kein Problem, und Bibliotheken kann sich eh keiner merken, da ist es wichtiger zu wissen, wo man ordentliche Informationen dazu findet.
Deswegen würde ich eher dazu raten Sprachen anzuschauen, die andere Konzepte als C# haben. Wenn du erstmal viele dieser verschiedenen Konzepte kennst, hast du auch kein Problem mehr eine völlig unbekannte Sprache zu lernen. Deswegen würde ich Java erstmal liegen lassen, mit dem arbeitet es sich recht ähnlich zu C#.

e.f.q.

Aus Falschem folgt Beliebiges

L
497 Beiträge seit 2006
vor 17 Jahren

Original von herbivore
Es lohnt nicht, das auf Verdacht oder gut Glück zu tun.

Da kann ich zustimmen. C/C++ zu lernen würde dann Sinn machen, wenn Du laufzeitkritische Dinge programmieren willst. Oder Programme für Systeme schreibst, die wenig Resourcen zur Verfügung haben.
Java unterscheidet sich von C# hauptsächlich darin, dass hinter C# ein viel größeres Framework steckt, während man bei Java viele Fremdbibliotheken benötigt. Erst wenn Du in den Bereich Webentwicklung gehst, gibt es große Unterschiede aufgrund der Vielzahl an Frameworks für die Webentwicklung mit Java.

Ach ja, Java-GUIs sind mittlerweile nicht mehr zwangsläufig hässlich, wie regen gemeint hat.

Sarkusmus ist, wenn nichts mehr hilft, außer Lachen.

D
davechu Themenstarter:in
46 Beiträge seit 2006
vor 17 Jahren

also wenn ihr es wissen wollt: der hauptgrund ist eigentlich, dass es in unseren schulrechnern kein .net gibt, nur das java enviroment 🙂

ist das denn so schwer GUIs mit c++ zu programmieren? hat denn jemand von euch erfahrung mit qt?

ich will einfach ein paar meinungen hören, letztendlich kann ja nur ich entscheiden, was das beste für mich ist.

B
119 Beiträge seit 2005
vor 17 Jahren

Ich finde eigentlich nicht, dass es eine schlechte Idee ist nebenbei auch Java zu lernen. Zwar sind die Unterschiede zwischen C# und Java tatsächlich nicht so groß, wie zwischen zwei Sprachen, bei denen sich die Paradigmen unterscheiden, aber trotzdem noch groß genug um berechtigterweise zu behaupten, dass man nicht Java programmieren kann, nur weil man C# bereits kennt (und umgekehrt natürlich auch). Das fängt schon bei ganz banalen Dingen an, wie z.B: die Entscheidung ob eine Exception-Klasse, die man entwickelt, checked oder unchecked sein soll.

Lord Hessia schrieb:
Java unterscheidet sich von C# hauptsächlich darin, dass hinter C# ein viel größeres Framework steckt, während man bei Java viele Fremdbibliotheken benötigt. Erst wenn Du in den Bereich Webentwicklung gehst, gibt es große Unterschiede aufgrund der Vielzahl an Frameworks für die Webentwicklung mit Java.

Diese Vielfalt an Frameworks für die Webentwicklung in Java kommt wohl daher, dass Entscheidungen unter gewissen Umständen unterschiedlich getroffen werden. Je nach dem ob man bei der Webentwicklung auf das MVC Pattern schwört (oder daran gebunden ist anhand bestehender Legacy Systeme) oder lieber Komponenten entwickelt, wird man die Wahl des Frameworks anders gestalten. Weiters unterscheidet sich die Implementierung der Logik anders, je nachdem ob ein "einfacher" Servlet-Container oder ein vollwertiger Application Server zugrunde liegt. Dadurch kann ergibt sich auch ob einfache Integration von EJBs ein Kriterium für die Wahl des Frameworks ist. Aufgrund dieser und weiterer Kritieren finde ich es nicht schlecht, dass auch mehrere Frameworks zur Webentwicklung verfügbar sind.

grüße

Gelöschter Account
vor 17 Jahren

lern assembler, das ist immer ein besonderer vorlteil weil man zwangsläufig mit internas zu tun hat die dir zum viel besseren verständniss höherer sprachen verhelfen. zudem kann man mit assembler wirklich alles machen was man sich nur irgendwie vorstellen kann(jajaja ich weiß das man das als übertrieben interpretieren kann also geht auf diese aussage bitte nicht ein).

zudem bekommt man leider immer noch üfters mal nur den disassembler als debuginformation und insbesondere dabei ist es extrem hilfreich wenn man sich da auskennt.

Q
214 Beiträge seit 2006
vor 17 Jahren

Hallo,
ich würde dir zu Java raten.

Denn:

  1. Java und C# sind sehr sehr ähnlich, sie unterscheiden sich nur in ein paar Schlüsselwörtern und im Aufbau des Frameworks (und in ein paar Funktionalitäten)

  2. Da Java Programme plattformunabhänig sind, ist das die ideale Ergänzung zu C#. Mit C# kann man schön Windows Programme erstellen, soll es aber unabhänig sein, dann greift man zu Java. Bei C++ ist dies deutlich problematischer ein Programm mit einer GUI für mehr als 1 Betriebssystem bereit zu stellen.

  3. Also ich habe früher mit Visual C++ (98) GUIs geschrieben/programmiert. In Vergleich zu .NET ist es echt der Horror! Wenn du ein verwöhnter Hochsprachen-Programmierer bist, wird dir C++ vermutlich kein Spaß machen.

  4. C++ hat doch schon seine Jahre auf dem Buckel. Viele Funktionen, die man alltäglich braucht, werden bei (ANSI) C++ einfach nicht mitgeliefert. In C++ ist es z.B. Multi-Threading oder Socket-Programmierung (deutlich) komplizierter. Und für andere Bereiche, die man auch regelmäßig verwendet, wie z.B. XML, muss man auf eine externe Library setzen. Auch muss man viele Datenstrukturen selber programmieren, bzw. aus einer fremd Library verwenden, wie z.B. List, Hashtable, Stack oder Queue.

PS: Was an Java auch ganz lustig ist, sind neben den Java Applets auch noch, dass man damit Programme für z.B. Mobiltelefone schreiben kann, was auch gar nicht so schwer ist. Wenn du also ein Java fähiges Handy hast (eigentlich alle neuen), dann kannst du dort die ein oder andere Applikation erstellen, die du benötigst.

Also unterm Strich: Entweder Java, oder ggf. die Kentnisse in C# verbessern.

Und zu Assembler:
Personen die gerne Ergebnisse sehen, die sollten doch davon die Finger lassen. Wer aber wissen möchte, wie so die CPU funktioniert, für den ist sind Assembler-Grundlagen doch praktisch.

Wenn jmd. evt. einen Lego Mindstorms Kasten zuhause hat, dem würde ich empfehlen, diesen mal mit LASM zu programmieren. Ist doch sehr intressant wie so ein (simpler) MC funktioniert.

Gelöschter Account
vor 17 Jahren

Mit C# kann man schön Windows Programme erstellen, soll es aber unabhänig sein, dann greift man zu Java

jain
sobald man gui verwendet wirds fast genauso problematisch wie bei c# eine plattformunabhängigkeit zu erreichen.

D
davechu Themenstarter:in
46 Beiträge seit 2006
vor 17 Jahren

ich denke ihr konntet mich für java überzeugen 🙂 habe auch aus einigen anderen quellen entnehmen können, dass c++ sehr schwer ist. und so sachen wie 3d-spiele oder irgendwelche komplizierten mathematischen algorithmen will ich sowieso nicht machen.

wisst ihr wo es gute java-tutorials gibt und ein gutes java-forum?

C
1.214 Beiträge seit 2006
vor 17 Jahren

Wenn du professionell programmieren willst, kommst du um C++ kaum herum. Wenn nicht, kannst du es dir eigentlich sparen, C++ zu lernen... Es ist schon wesentlich komplizierter, damit zu programmieren, als mit C#. Andererseits eröffnet es dir neue Perspektiven, und du hast mehr Hintergrundwissen und kannst dann effektiver in C# programmieren. Java würde ich an deiner Stelle nicht lernen. Der Umstieg von C# auf Java bringt einfach nichts. Wenn du das mal brauchen solltest, kannst du das mit deinen bereits vorhandenen C# Kenntnissen sehr schnell erlernen. Pascal Syntax ist gewohnheitssache. Ich hab sehr viel in Delphi programmiert und finde die Syntax genauso gut wie die C Syntax, wobei ich zugeben muss, dass mich der : in := etwas aufregt... Was ich aber gar nicht mag, ist die Basic Syntax. Ist aber bestimmt auch gewohnheitssache.

R
494 Beiträge seit 2006
vor 17 Jahren

Original von Coder007
Wenn du professionell programmieren willst, kommst du um C++ kaum herum.

Wieso kommt man um c++ nicht herum, wenn man professionell programmieren will? was heißt denn "professionell" programmieren bei dir?
Bitte erläuter das mal etwas genauer.

C
1.214 Beiträge seit 2006
vor 17 Jahren

Original von regen

Original von Coder007
Wenn du professionell programmieren willst, kommst du um C++ kaum herum.
Wieso kommt man um c++ nicht herum, wenn man professionell programmieren will? was heißt denn "professionell" programmieren bei dir?
Bitte erläuter das mal etwas genauer.

Damit meine ich Programmieren als Hauptberuf. Da wird man ziemlich sicher irgendwann in C++ in Berührung kommen, der eine etwas mehr, der andere etwas weniger. Ich persönlich programmiere zur Zeit grob geschätzt zu 60% in C# und 30% C++, 10% andere Sprachen. Kommt aber ziemlich stark aufs Projekt an, hatte auch schon welche in Java, Delphi, PHP und sogar Visual Basic. Wenn man Informatik studiert, lernt man sowieso sicher C/C++. Ich will natürlich nicht behaupten, dass JEDER der als Programmierer arbeitet in C++ programmieren muss, aber die meisten werden wohl schon früher oder später damit in Berührung kommen.