Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 09:03

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



C,C# oder C++

Discussion on C,C# oder C++ within the C/C++ forum part of the Coders Den category.

Closed Thread
 
Old   #1
 
elite*gold: 0
Join Date: Nov 2011
Posts: 1,549
Received Thanks: 238
C,C# oder C++

Hallo zusammen,

in der Schule und im Studium habe ich die Programmiersprache C "gelernt".
Jedoch haben wir nur einfache Konsolenprogramme geschrieben, wo ein paar Daten eingelesen, verarbeitet
und wieder ausgegeben wurde.
Ihrgendwie habe ich gehört (stimmt das ?), dass Programme mit einer grafischen Oberfläche (GUI) mit
C++ programmiert werden. Weil ich Konsolenprogramme gern programmiert hatte und nun
auch mal mein eigenes grafisches Programm erstellen wollte, hatte ich mir Visual Studio C++ herunter geladen.

Unabhängig von Lehrer hatte ich mit Tutorials/Videos auch mein erstes C++ (?!) GUI Programm mit Textboxen
usw. hinbekommen (Einfacher 1x1 Taschenrechner). Zwar weiß ich nicht was die ganzen Dateien sollen (die mir VS C++ erstellt hatte), da ich normal immer nur mit einer .c und .h Datei für Konsolenanwendungen gearbeitet habe.

Meine Frage nun: Welche Programmiersprache würdet ihr mir raten und warum?
- Ich würde gern weiter einige Programme schreiben, die auch hier angeboten werden. (eGold Converter, Thread Checker, Click Bots
ggf. auch ein League of Legends Jungle Timer oder ein HWID System je nachdem wie "einfach" es wird)
- Kann man auch mit C eine grafische Oberfläche mit Drag and Drop erstellen?
- Was kann C# mehr als C bzw. C++? Ist es besser für mich als Halbanfänger?
- Wo gibt es mir Hilfe/Tutorials?


Grüße
AirFight111 is offline  
Old 02/11/2013, 13:51   #2
 
reCougar's Avatar
 
elite*gold: 1
Join Date: Jan 2013
Posts: 372
Received Thanks: 99
Also eigentlich würde ich immer sagen C# ist sehr gut für den Anfang, da du aber schon C gelernt hast(auch wenn nur ein bisschen) würd ich dir eher raten mit C fortzufahren oder auf C++ umzusteigen. Und C# ist auf das .Net Framework gebunden, was bedeutet man kann damit zum Beispiel auf nem Mac etwas programmieren. Da ist C und C++ besser. Und Hilfe + Tutorials findest einmal hier in Epvp ansonsten vielleicht Bücher kaufen.
reCougar is offline  
Old 02/11/2013, 14:07   #3


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,904
Received Thanks: 25,394
Nein, in C kann man genau so mithilfe der WinAPI GUI Programme schreiben. Dass ihr das im Studium nicht hattet, liegt einfach daran, dass das nunmal etwas Plattformspezifisches ist und nichts in einem allgemeinen Studium verloren hat. C und C++ haben beide kein GUI-System im Standard vorgesehen.
Jedenfalls ist die Programmierung mit der C-WinAPI ziemlich masochistisch, weshalb es wohl kaum noch einer macht und das ist wohl der Grund, warum du gehört hast, dass man das mit C++ macht.
Durch Frameworks wie wxWidgets, QT, MFC, ... erhält man ein ähnlich komfortables GUI-System wie in Java und C#.

Was du da gemacht hast, war ein C++/CLI-Projekt. Dabei verwendest du das .NET Framework und gleichzeitig eine leicht abgewandelte Syntax von Microsoft. Davon würde ich dir abraten. Das reine C++ GUI-Framework von MS (MFC) gibt es nur in der kostenpflichtigen Version von Visual Studio. Allerdings gibt es alte Versionen auch kostenlos.
Viele Dateien wird dir aber jedes Framework bzw. jede IDE mit solchen Features erstellen. Warum? Weil GUIs eine aufwändige Sache sind. Es ist viel lästige Tipparbeit, bei der man im Grunde nur ein paar Variablen und Event-Handler deklariert. Das kann man sich sparen. IDEs mit GUI-Editoren erstellen dir den ganzen Kram automatisch. Wenn du das nicht magst, greifst du entweder zur C-WinAPI (und hast dann eine Din A4 Seite Code nur für ein Fenster) oder du programmierst mit diesen Frameworks manuell - wirst dann aber ähnlich viele Dateien haben, wenn du Wert auf einen guten Stil legst.

Ansonsten reicht in vielen Fällen, die nicht performance-kritisch sind, auch eine Mischform (nein, kein C++/CLI!): Du kannst die Programmlogik in DLLs auslagern und diese aus einem C#-Programm, das das GUI bereitstellt, verwenden. Diese Trennung von Präsentation und Funktion ist in größeren Projekten ohnehin unerlässlich.

Um auf deine konkreten Fragen zu antworten:
Für solche grundlegenden Aufgaben kannst du dir derartige Mischformen sparen. Dafür kannst du gleich nur C# nehmen, ist wesentlich komfortabler und die Performance spielt da eh keine große Rolle. C++/CLI ist weiterhin keine Option.
C# kann im Grunde nicht mehr als C++ und C, denn du kannst mit all diesen Sprachen alles machen (selbst hardwarenah programmieren kann man in C# mit etwas Mehraufwand, nur dann kann man eher gleich zu C++ oder C greifen). C# hat lediglich durch das .NET-Framework einen wesentlich größeren Standardumfang, weshalb du viel weniger selbst machen musst. Du arbeitest so produktiver und siehst schneller Erfolge.
Besser ist für einen Anfänger nichts (auch wenn C# vielleicht eine steilere Lernkurve hat), man lernt nicht eine Sprache, sondern Programmieren. Kann man das einmal, sind andere Sprachen nur noch Vokabellernen. C hast du schon gelernt, eine objektorientierte Sprache wie C# oder C++ wird da vermutlich etwas schwer fallen (wenn du nicht schon Java gelernt hast), aber es ist schaffbar. Ich würde da eigentlich erstmal zu C# greifen, denn wie gesagt, es reicht für deine Anliegen. Willst du hardwarenah programmieren, hast du ja auch noch C und falls du beides verbinden willst, lernst du halt irgendwann noch C++, das sollte dann mit den Speicher-Kenntnissen aus C und den OOP-Kenntnissen aus C# kein Problem sein.
Drag&Drop GUIs gibts für jede Sprache, für die es derartige Editoren gibt, aber das macht den Arbeitsaufwand der WinAPI-Programmierung in C nicht sonderlich kleiner.

Quote:
Und C# ist auf das .Net Framework gebunden, was bedeutet man kann damit zum Beispiel [nicht] auf nem Mac etwas programmieren. Da ist C und C++ besser.
Mit C und C++ bist du auf plattformunabhängige Frameworks angewiesen, ansonsten musst du für jede Plattform einzeln programmieren; kompilieren musst du sowieso für jede Plattform neu.
C# und Java sind plattformunabhängig, da sie in einer VM laufen. Sie sind theoretisch überall ausführbar. Das .NET-Framework ist zwar von MS, aber es gibt Emulatoren (Mono) für andere Systeme.
MrSm!th is offline  
Thanks
5 Users
Old 02/11/2013, 18:17   #4
 
elite*gold: 0
Join Date: Feb 2013
Posts: 3
Received Thanks: 1
Quote:
Originally Posted by Mr. Cube View Post
Und C# ist auf das .Net Framework gebunden, was bedeutet man kann damit zum Beispiel auf nem Mac etwas programmieren.
Wieso soll man aufgrund des Frameworks damit auf Mac OS was coden können?
Erstmal ist C# Windows gebunden.
Es gibt dann so nette Projekte wie mono, die das ganze auf andere Plattformen wie Linux portieren. Das ist aber nicht offiziell von Microsoft abgesegnet, daher darf Mono auch nur ältere .NET Versionen nutzen (soweit ich weiß aktuell v2.0).

Quote:
Originally Posted by Mr. Cube View Post
Da ist C und C++ besser.
Objektive C ist die Programmiersprache von allem Applekram, direkt mit C oder gar C++ läuft da gar nix.
ThunderTimo is offline  
Old 02/11/2013, 19:05   #5

 
snow's Avatar
 
elite*gold: 724
Join Date: Mar 2011
Posts: 10,480
Received Thanks: 3,319
Quote:
Originally Posted by ThunderTimo View Post
Objektive C ist die Programmiersprache von allem Applekram, direkt mit C oder gar C++ läuft da gar nix.


Klar läuft da ne Menge mit C oder C++, alleine das ganze CoreFoundation-Framework basiert auf einer C-API.

@op: C# finde ich unter Windows persönlich angenehmer für die GUI-Entwicklung. Allerdings kannst du ja, wie von MrSm!th vorgeschlagen, deinen C(++)-Code in DLLs packen und in dein C#-Projekt einbinden.
snow is offline  
Old 02/12/2013, 00:47   #6


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,904
Received Thanks: 25,394
Quote:
Originally Posted by ThunderTimo View Post
Wieso soll man aufgrund des Frameworks damit auf Mac OS was coden können?
Erstmal ist C# Windows gebunden.
Es gibt dann so nette Projekte wie mono, die das ganze auf andere Plattformen wie Linux portieren. Das ist aber nicht offiziell von Microsoft abgesegnet, daher darf Mono auch nur ältere .NET Versionen nutzen (soweit ich weiß aktuell v2.0).



Objektive C ist die Programmiersprache von allem Applekram, direkt mit C oder gar C++ läuft da gar nix.
Prinzipiell kannst du auch mit C und C++ programmieren. Dem Prozessor ist es egal, in was du es geschrieben hast.
MrSm!th is offline  
Old 02/12/2013, 14:41   #7
 
elite*gold: 0
Join Date: Nov 2011
Posts: 1,549
Received Thanks: 238
Erstmal vielen dank für die schnellen und konstruktiven Antworten.

Bezüglich der IDE: Das ist kein Problem, wenn diese etwas kostet, da ich die Lizenzen sowiso kostenlos bekomme (MSDN oder wie das heißt). Bis dato habe ich "Visual Studio 2010". Ebenso habe ich auch schonmal gehört, dass "C++" und "Microsoft C++" Syntax unterschiedlich ist. Daher hier die Fragen: Was empfehlt ihr?

Gegen "viele Dateien" habe ich kein Problem, nur weiß ich noch nicht was ich wo hin schreibe und habe dafür noch nicht die richtigen Tutorials zu solch einem Aufbau gefunden.

Ebenso müssen meine Programme nicht Plattformunabhängig sein. Es reicht, wenn sie auf Windows-PCs laufen. Mac erstmal uninteressant. Ich weiß, dass man keine Programmiersprache lernt, sondern das programmieren, aber trotzdem hätte ich gerne einen optimalen Einstieg.

Der Grund warum ich den Thread aufgemacht habe, war der, dass 99% der Leute hier entweder VB oder C# Programme coden/verkaufen. Daher hatte ich mich gefragt, ob C++ doch eher etwas für "Hardcore-Spieleprogrammierer" ist?

Wenn ich das richtig verstanden habe, empfehlt ihr mir den umstieg auf C#?
AirFight111 is offline  
Old 02/12/2013, 16:38   #8
 
Schlüsselbein's Avatar
 
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
Bei deinem Profil definitiv. Da du dich sowieso nur auf Windows beschränken willst, gibt es wilrich keinen Grund, C++ zu benutzen. Mit WPF, LINQ usw. steht dir auch ne Menge an aktuellen Technologien bereit.
Schlüsselbein is offline  
Old 02/12/2013, 17:33   #9


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,904
Received Thanks: 25,394
Quote:
Bezüglich der IDE: Das ist kein Problem, wenn diese etwas kostet, da ich die Lizenzen sowiso kostenlos bekomme (MSDN oder wie das heißt). Bis dato habe ich "Visual Studio 2010". Ebenso habe ich auch schonmal gehört, dass "C++" und "Microsoft C++" Syntax unterschiedlich ist. Daher hier die Fragen: Was empfehlt ihr?
Du meinst wahrscheinlich das Dreamspark-Projekt.
Nein, es gibt kein Microsoft C++. Wenn überhaupt, meinen Leute, die davon reden, C++/CLI, also den C++ und .NET Mix.
Wie gesagt, das würde ich nicht nutzen. Ansonsten lässt zwar der MS Compiler einige Dinge zu, die andere nicht zulassen, aber so gut wie jeder Compiler bringt irgendwelche eigenen Features mit, die andere nicht haben. Standardkonform kannst du aber mit jedem programmieren (nur C++11 wird noch nicht von jedem in gleichem Umfang unterstützt).

Quote:
Gegen "viele Dateien" habe ich kein Problem, nur weiß ich noch nicht was ich wo hin schreibe und habe dafür noch nicht die richtigen Tutorials zu solch einem Aufbau gefunden.
Über mächtige Frameworks wie QT oder MFC gibt es sogar eigene Bücher. Von heute auf morgen wirst du damit nicht perfekt umgehen können.

Quote:
Ebenso müssen meine Programme nicht Plattformunabhängig sein. Es reicht, wenn sie auf Windows-PCs laufen. Mac erstmal uninteressant. Ich weiß, dass man keine Programmiersprache lernt, sondern das programmieren, aber trotzdem hätte ich gerne einen optimalen Einstieg.
Es gibt keinen optimalen Einstieg (selbst wenn du etwas Schweres oder "Unnötiges" lernen würdest, who cares? Wissen schadet nie und schlimmstenfalls hättest du halt ein bisschen Zeit verloren), zumal du doch schon C kannst
Wenn dir plattformunabhängigkeit egal ist, ist ja das größte Argument für Java weg. Dann liegt es letztendlich an dir, ob du C++ oder C# lernen willst. C# reicht jedenfalls für deine Vorhaben.

Quote:
Der Grund warum ich den Thread aufgemacht habe, war der, dass 99% der Leute hier entweder VB oder C# Programme coden/verkaufen. Daher hatte ich mich gefragt, ob C++ doch eher etwas für "Hardcore-Spieleprogrammierer" ist?
Das liegt daran, dass hier hauptsächlich zwölfjährige Kinder unterwegs sind, die irgendwas verkaufen wollen, wofür kein normaldenkender Mensch Geld ausgeben würde.
C++ hat durchaus noch seine Daseinsberechtigung und Verbreitung, dennoch, wie gesagt, macht für solche Dinge, die du planst, C# oder Java einfach mehr Sinn.

Quote:
Wenn ich das richtig verstanden habe, empfehlt ihr mir den umstieg auf C#?
Ja, aber auch C++ wäre keine schlechte Wahl.

Quote:
Bei deinem Profil definitiv. Da du dich sowieso nur auf Windows beschränken willst, gibt es wilrich keinen Grund, C++ zu benutzen
Zum Einen schränkt dich C# nicht auf Windows ein, zum Anderen ist alleine das kein Grund, C++ auszuschließen.
MrSm!th is offline  
Thanks
1 User
Old 02/12/2013, 18:02   #10
 
Schlüsselbein's Avatar
 
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
Quote:
Zum Einen schränkt dich C# nicht auf Windows ein
Das nicht, aber mehr Abhängigkeiten erzeugt es. Und es ist defintiv eher pro C#, als contra, wenn er nur auf Windows bleiben möchte.

Quote:
zum Anderen ist alleine das kein Grund, C++ auszuschließen.
Behauptet auch niemand. Die Sprache ist nur das Werkzeug. Und das wählt man anhand der Problemstellung. Und Checker, Converter, Drag&Drop-GUI sind definitiv Probleme, für welche C# ideal ist.
Schlüsselbein is offline  
Old 02/12/2013, 18:15   #11
 
Devil0s's Avatar
 
elite*gold: 12
Join Date: Jan 2011
Posts: 676
Received Thanks: 44
Magst du den Buchstaben C so gerne oder warum willst du unbedingt ne C Sprache?
Es gib da auch noch objective C, aber da du bei Windows bleiben willst, ist das wohl keine Alternative für dich.
Sonst könnte ich dir Java empfehlen.
Devil0s is offline  
Old 02/12/2013, 18:29   #12


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,904
Received Thanks: 25,394
Objective-C kann man auch für Windows nutzen. Und was hast du gegen C-Sprachen?
Es gibt keinen Grund, Java C# vorzuziehen, wenn er ohnehin nur auf Windows programmieren will.
MrSm!th is offline  
Old 02/12/2013, 19:16   #13
 
Devil0s's Avatar
 
elite*gold: 12
Join Date: Jan 2011
Posts: 676
Received Thanks: 44
Quote:
Originally Posted by MrSm!th View Post
Objective-C kann man auch für Windows nutzen. Und was hast du gegen C-Sprachen?
Es gibt keinen Grund, Java C# vorzuziehen, wenn er ohnehin nur auf Windows programmieren will.
Unter Windows ist es aber eher unüblich mit objC zu programmieren.
Dann schon lieber unter Mac OS und Cocoa. Dann hast du mit ein paar Klicks und 2 Zeilen selbstgeschriebenen Code einen recht passablen Texteditor geschrieben. Dann kann man auch mal Apps programmieren, was unter Windows eher schwierig wird, ausser man nimmt ne Virtuelle Maschine und dann nimmt man eigentlich auch schon wieder Mac OS


Gegen die C Sprachen hab ich nichts, aber ich finde es etwas voreingenommen, wenn man programmieren lernen will sich aber (ohne Grund) auf die C Sprachen festsetzt.
Es gibt ja auch noch Python, Delphi und Co. Damit haben schliesslich auch schon viele programmieren gelernt. Ausserdem liebe ich einfach den Java Syntax. <3 xDD


Ausser er will (vllt. in nicht absehbarer Zukunft) ein anderes OS nehmen oder seine Programme auch Leuten mit anderen OS zur Verfügung stellen.
Devil0s is offline  
Old 02/12/2013, 19:22   #14
 
xXKonaXx's Avatar
 
elite*gold: 20
Join Date: Nov 2010
Posts: 552
Received Thanks: 350
Mit C# musst du dich ja nicht nur auf Windows beschränken.

Außerdem ist C# ja noch relativ neu und man weiss nicht was noch drauß werden kann.
xXKonaXx is offline  
Old 02/12/2013, 19:24   #15


 
buFFy!'s Avatar
 
elite*gold: 1826
Join Date: Mar 2009
Posts: 4,310
Received Thanks: 6,283
Hängt davon ab was du machen willst. Für das Zeug da was du bauen willst, würd ich wahrscheinlich C# nehmen (würde ich nicht, aber ich würde dazu raten).

Generell wird mir aber wahrscheinlich niemand widersprechen, wenn ich sage, dass C++ einfach mal der mächtigste **** ist.

Und von Java rate ich einfach, total subjektiv, ab. Der Mist ist schon seit 20 Jahren im Kommen.
Zudem ist das angeblich die objektorientierte Programmiersprache.. Man kann übrigens nur von einer Klasse erben ;-)
buFFy! is offline  
Closed Thread


Similar Threads Similar Threads
[S] Saints Row 3 oder Dead Island oder andere Keys oder Gifts [B] PSC
02/13/2016 - Steam Trading - 3 Replies
Hi leute ich suche ein Dead Island Key, oder ein Saints Row The THird key. dafür würde ich 10 € geben Ihr könnt mir auch andere sachen anbieten Handel über MM oder ihr gibt first oder ich geb First wenn ihr trusted seid.
[S] Arma 2 CO oder MW2 oder 3 key [B] xbox account game sharing oder anderes
10/26/2012 - Consoles Trading - 2 Replies
hey leute, also suche wie gesagt Arma 2 CO oder nen Key für MW2 oder 3. Verleihe dafür meinen Xbox account mit Crysis 2,BFBC2,Red Dead Redemption...
[S] Metin2 DE EQ oder Siriusmt2 [B] PSC oder (likes, klicks oder abbos auf YT/FB)
10/24/2012 - Metin2 Trading - 0 Replies
Hey Leute, Ich habe echt bock wd auf de ma durchzustarten. Suche Eq/acc auf egal welchem Server... Biete entweder Psc bis 100 € Oder Klicks/Likes/Abbos auf YT oder FB ... SKYPE: Luca3222 Übergabe: MM oder ihr gebt First (ein paar Test Abbos etc. zum beweis sind ok)
Suche Psc oder MyPaySafeCard guthaben Oder uCash oder FreeBet Card Biete 590 EG!
08/02/2012 - elite*gold Trading - 3 Replies
Topic. Ucash erst ab 10€ psc oder mypsc ab 10€ FreeBet Card ab 1€ Biete insgesamt 590eG Enweder Per pn anbieten oder therd oder Skype:meinplvlservice Alles unter meinen angaben wir reportet!
[S] Gamecard 60 Tage [B] PSC oder Gold oder Keys oder Amazon Gutscheine
11/29/2010 - World of Warcraft Trading - 7 Replies
Gamecard 60 Tage 25€ PSC oder Gold auf allen servern oder Keys oder Amazon Gutscheine 40€ einfach mal bieten :) habe keys von classic bis cata von cata aber nur 2 vorbestellte :D



All times are GMT +2. The time now is 09:03.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.