c# oder c++?

6 Antworten

Du musst halt wissen was du mit der Programmiersprache machen willst, C++ ist halt Maschinennäher und du kannst somit mehr optimieren. Diese „Mikrooptimierungen“ brauchst du aber bei der klassischen Anwendungsentwicklung nicht so oft.
Ich würde dir empfehlen einfach bei C# zu bleiben, vor allem weil sie wie Java einfach eine Allzwecksprache ist und du somit sehr viele Möglichkeiten hast was du mit der Sprache machen willst.
C# unterstützt aber auch Teile des Memory Management von C/C++, oder anders gesagt, du kannst ebenfalls Funktionen wie Pointer nutzen.
Du kannst also schonmal Funktionen von C/C++ in C# testen.

Woher ich das weiß:Hobby – Ich interessiere mich für das programmieren und Informatik

ajn11 
Beitragsersteller
 06.04.2021, 19:20

Hat man aber nicht bei c++ mehr Möglichkeiten etwas zu programmieren?

0
EnderLuca  06.04.2021, 19:21
@ajn11

Jetzt ist die Frage wie du „,mehr Möglichkeiten“ definierst?

1
ajn11 
Beitragsersteller
 06.04.2021, 19:23
@EnderLuca

Naja halt verschiedene Möglichkeiten zu programmieren sei es spiele oder was halt mächtiger ist

0
EnderLuca  06.04.2021, 19:48
@ajn11

Wie gesagt ist C# eine Allzweck Sprache, weswegen man sie für fast alles benutzen kann. Und durch die ganzen Frameworks von .NET hast du sehr universelle Möglichkeiten.

Ganz ehrlich, ich würde dir eher empfehlen mal eine strikt funktionale Programmiersprache kennenzulernen, und .NET hat sogar eine, F#.

F# läuft genau wie C# und Visual Basic unter CLR (common language runtime), das heißt sie teilen sich quasi die Klassenbibliothek somit gibt es die Klasse "Random" in allen drei Sprachen mit den gleichen Methoden.

Zudem ist die Sprachen zueinander kompatibel, sprich du kannst einen Algorithmus in F# schreiben und den dann in C# anwenden, Mithilfe einer DLL.

Ich will dir allerdings keinesfalls abraten mal C++ auszuprobieren, alleine um das andere Memory Management kennenzulernen. Allerdings solltest du dich fragen ob du komplett auf diese Sprache umsteigen willst.

2
EnderLuca  06.04.2021, 19:49
@ajn11

Ich möchte hiermit aber nochmal auf die Antwort von Bluebird verweisen deren Meinung ich ebenfalls teile.

0

Mit c# bist du halt an Microsoft gebunden - das halte ich für einen großen Nachteil c++ ist da deutlich flexibler.

Woher ich das weiß:Studium / Ausbildung – Informatik

ajn11 
Beitragsersteller
 06.04.2021, 18:48

Also sollte ich eher wechseln als weiter zu lernen?

0
Waldelb3  06.04.2021, 18:58
@ajn11

Im Endeffekt ist es egal, auf welche Weise du programmieren lernst. Ich habe auch mit c# angefangen, dann irgendwann c, c++, java, python, etc. gelernt. Im Prinzip sind alle ähnlich, mit Ausnahme von Sachen wie z.B. haskell. c# nutze ich seit Jahren nicht mehr, aber die anderen Sprachen habe ich deutlich schneller gelernt, weil ich c# schon konnte.

Es gibt natürlich ein paar Sachen, die spezifisch für c# sind, z.B. die Bibliotheken, list arrays, etc. Dieses Wissen kannst du dann für andere Sprachen nicht nutzen.

Ob du wechseln solltest, hängt davon ab, was du machen willst. Willst du GUI-Programme für Windows schreiben -> c# passt schon. Spiele, GUI-Anwendungen für Windows oder Linux -> c++. Reinforcement Learning -> Python.

1
Waldelb3  06.04.2021, 19:00
@ajn11

Hab gerade deinen anderen Kommentar gelesen. So, wie sich das anhört, ist alles, was du jetzt noch lernst c#-spezifisch. Wenn du dich nicht auf Windows-GUI beschränken willst, wäre es sinnvoll zu wechseln.

2

C++ ist quasi allmächtig und bietet eine Range von maschinennaher Programmierung bis zur komplexen objektorientierten Programmierung. Wenn Du C++ kannst, verstehst Du auch C#, Java etc.

Bei C# geht es doch mit diesen eigentümlichen Konzepten wie WPF und XAML weiter, zwar sehr ausgeklügelt, aber doch eher Anwendung als Verständnis.

memory auslesen und verändern kann.

Du kannst in C++ maschinennah programmieren, also den Speicher direkt adressieren, das geht wohl bei C# konventionell nicht.

Mit C++ lernt man quasi alles, was man zur Programmierung lernen kann.

Woher ich das weiß:eigene Erfahrung – Hobby und teilweise beruflich

ajn11 
Beitragsersteller
 06.04.2021, 18:52

Sollte ich damit anfangen oder weiterhin c# lernen?

0
ajn11 
Beitragsersteller
 06.04.2021, 18:55
@nobytree2

Bin bei Datenbanken am Anfang aber kann halt schon oop, variablen, enum, linq, delegate, Listen, Lambda und ja. Ich arbeite mit einem Buch von Amazon das eigentlich sehr gut ist von Michael bonica aber LINQ und so habe ich von YouTube gelernt.

0
nobytree2  06.04.2021, 18:55
@ajn11

Also schon sehr weit, dann macht C++ wirklich Sinn.

1
ajn11 
Beitragsersteller
 06.04.2021, 18:56
@nobytree2

Ich glaube ich lerne noch die Datenbank mit und dann wechsel ich zu c++ rüber.

1

Sind eigentlich komplett unterschiedlich.

C++ ist eher so Low level, benutzt du wenn du besonders gute Performance willst.

Aber C# ist halt viel einfacher und schneller geschrieben.

C# hat mehr mit Java zu tun als mit C++ imho.


ajn11 
Beitragsersteller
 06.04.2021, 18:49

Naja was würdest du empfehlen?

0
und das man damit memory auslesen und verändern kann

Das ist eine Grundfunktion jeder Programmiersprache.

Wenn du meinst, dass du damit "Memory" anderer Prozesse "auslesen und verändern kannst" ("häcken"!!!11) - da ist das Betriebssystem vor.


jort93  06.04.2021, 18:50

Nein, ich denke was er meint ist direkt auf Speicher des Programmes zugreifen und diesen modifizieren.

Das geht in Java, c# und vielen andren Sprachen nicht.

Da kannst du nur auf sie Objekte in Speicher Zugreifen, nicht aber auf den Speicher selbst.

3
jort93  06.04.2021, 19:46
@bluebird5

Oh, stimmt.

Benutzt man aber selten, und das geht halt definitiv nicht in allen sprachen.

0