Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 13:10

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

Advertisement



c++ / c# oder phyton

Discussion on c++ / c# oder phyton within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1


 
WoWeger's Avatar
 
elite*gold: 111
The Black Market: 509/0/0
Join Date: Sep 2012
Posts: 2,734
Received Thanks: 268
c++ / c# oder phyton

welche sprache bietet welche vorteile?
welche nachteile haben sie und mit welcher lässt sich am meisten realisieren?
WoWeger is offline  
Old 02/03/2017, 05:46   #2
 
elite*gold: 0
Join Date: Feb 2009
Posts: 1,137
Received Thanks: 573
Quote:
Originally Posted by WoWeger View Post
welche sprache bietet welche vorteile?
welche nachteile haben sie und mit welcher lässt sich am meisten realisieren?
Es gibt dazu duzende Themen bereits in diesem Forum, aber ich fasse es kurz zusammen:

C++: Das Schweizer Taschenmesser unter den Programmiersprachen, kann alles, auch das (und vor allem das) was man nie braucht (wie Mehrfachvererbung). Damit ergeben sich einem Viele Möglichkeiten allerdings auch einige Fallen. So können 4 Leute den Selben Code komplett unterschiedlich schreiben und das nur weil C++ sehr viele Syntaktische Möglichkeiten für ein und das selbe bietet. Außerdem zieht C++ die lästige C kompatiblität mit sich, und ich denke ich kann problemlos behaupten dass C seit Jahren die Silbermedaille in der Kategorie Diarrhoea in Sprachform hält, einzig und allein getoppt von Fortran.

C++ hat eine große Community, man findet viele Snippets, und von der Sprache selbst versucht C++ einem das Systemnahe Programmieren so angenehm wie möglich zu machen. Allerdings ist es immernoch Systemnahes programmieren (das heist man arbeitet direkt auf dem Betriebsystem und der Hardware, und muss sich um jeden scheiß selbst kümmern) und man ist für viele dinge auf Externe Frameworks wie QT angewiesen da das selbst machen viel zu kompliziert wäre.

Auf der ganz anderen Seite des Spektrums haben wir Python. Python ist eine Skriptsprache die vor allem darauf ausgelegt ist einfach zu sein. Man kann sich sehr schnell kleinere bis mittelgroße Programme zusammenbasteln. Allerdings wird auf dem Zielgerät der Python Interpreter benötigt. Python versucht die Programme so weit wie möglich von dem System zu abstrahieren, sodass es dem Programmierer egal sein kann ob es sich jetzt um ein 64 Bit Linux System oder ein 16 bit arm DOS Rechner handelt. Ein toller Vergleich den ich mal gehört habe: Skriptsprachen sind die Paralympics des Programmierens.

Damit hätten wir die zwei extreme, die Native Sprache (C++) bei der man jeden Spaß selbst machen muss, und die Skriptsprache mit der sogar unterentwickelte Primaten (z.B. BWL Studenten) in der Lage sind Spaceshuttels zu landen. Irgendwo dazwischen befindet sich dann C#.

C# ist eine "Bytecode" Sprache, das heißt der Quellcode wird nicht wie in C++ in Maschinensprache für eine bestimmte Architektur übersetzt, und auch nicht wie bei Python einfach von einem Interpreter ausgeführt, sondern in einen Code für eine Virtuelle Maschine übersetzt, welche diesen Code dann ausführt.
Damit ist man nicht so langsam und Resourcefressend wie ein Interpreter, muss sich aber auch nicht darum kümmern ob man jetzt ein 32 Bit Windows oder ein 64 Bit Linux System hat (also gut indirekt schon da unter Linux nur Mono läuft, das ist aber eine andere Geschichte).
Das wichtigste Argument von C# ist allerdings das .Net Framework. Zum einen bietet es einen Haufen cooles Zeugs, sehr einfach zu benutzen, zum anderen ist man allerdings auf dieses angewiesen (Kein .Net installiert -> Kein C#). C# ist vor allem aber auch eine sehr Idiotensichere Sprache, man kann sich eigentlich nicht so dumm anstellen und kaputte Programme produzieren wie es eventuell bei C++ möglich ist.

Jede der Drei Sprachen bedient ein anderes Gebiet und damit sind sie nicht unbedingt vergleichbar. Leuten die schnelle Ergebnisse brauchen für Mathematische Anwendungen, Simulationen, etc. oder Leuten die einfach zu blöd sind einen PC zu bedienen (z.B. die oben genannten BWL'ler) würde ich Python empfehlen.

Jemand der schnell und einfach Komplexe Programme mit Userinteraktion (die eventuell auch noch schön sein sollen) entwickeln möchte, oder wer einfach gerne Fehler macht (bzw zu blöd ist mehr als eine Zeile über die Konsequenzen seines Codes hinauszudenken), dem würde ich C# empfehlen.

Wer Services oder Spiele programmieren, also Programme die entweder viele System oder Hardware zugriffe benötigen, oder die viel Optimierung benötigen, oder einfach ohne einen gigantischen Overhead durch Interpreter oder Frameworks zu produzieren möchte, oder Leuten die einfach ein wenig Masochistisch veranlagt sind, denen würde ich zu C++ raten.

Alles in allem gibt es nicht die beste Sprache, es ist alles eine Frage der Domäne. Aber wenn du zu den ganz coolen Kidz gehören willst solltest du auf jeden Fall auch mal funktionale Sprachen wie Haskell in betracht ziehen, diese haben eine etwas "intuitivere" Struktur und sind was Wartbarkeit und Leserlichkeit angeht den Imperativen Sprachen deutlich vorraus.
warfley is offline  
Thanks
4 Users
Old 02/04/2017, 17:30   #3
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Ich persönlich bin großer Verfechter von C++ große Teile der Argumente, die man im Internet findet sind aus den Jahren 2010 und früher. Seit Smartpointer, Lambda-Ausdrücke und Co. ist man nicht mehr gezwungen auf unterstem Niveau zu programmieren, sondern kann sich easy eine Art "Garbage-Collector" bauen, der aber unter dem bleibt was C# und Python kann. Das heißt man muss sich trotzdem noch um ein bisschen was kümmern, aber es ist deutlich einfacher geworden und man schafft in deutlich weniger Zeilen als früher sichere Programme.
Dabei hat man aber immer die Möglichkeit so systemnah wie man will zu arbeiten (selbst auf ASM-Eben wenn man will).

Bleibt wie immer Geschmackssache, aber ich persönlich bin mit C++ verheiratet und deswegen muss ich immer bissel "relativieren", wenn jemand C++ indirekt mobbt.

Zum Abschluss noch ein Zitat aus dem Urban Dictionary zu C++:

Quote:
A programming language for Real Men. Most languages try to provide a simplified way to solve specific problems well. C++ makes no such concession and tries to be mediocre at everything. It lets you program at a very high level, and a very low level in the same program. It lets you write procedural code, object oriented code, generic code and mix them all up. It makes you decide everything and provides no help if you get it wrong.

It is by far the biggest, most complicated, ugly, down-right dangerous language you can use. But it does run fast. It takes at least twice as long to program in C++ as any other major language (except C).

The men who program in C++ are Real Men. The women who program in C++ are Real Men too. You can spot a C++ programmer from their testosterone fueled swagger, and the unbelievable amount of contempt they inject into the phrase Java "programmer". They'll probably do the air quotes and all.
Edit:
Auch wenn das natürlich leicht "lustig" angehaucht ist der Artikel, so gefällt mir die Sprache tatsächlich am meisten aus dem Grund, dass ich alles machen kann was ich will ohne dass sich C++ beschwert. Das ist auch der Grund warum ich so Sachen wie C# und Java nicht mag, man hat viel zu wenig Kontrolle über seine Programme und muss dennoch etliche Sachen (wie Datentyp, Casts, usw.) beachten. Ich genieße einfach die Freiheit, die mir C++ liefert, natürlich muss man damit ziemlich genau wissen, was man tut, aber das ist ja an sich nicht schlecht, wenn man genau weiß was man tut.
Shadow992 is offline  
Thanks
1 User
Old 02/10/2017, 14:18   #4

 
elite*gold: 0
Join Date: Feb 2008
Posts: 2,754
Received Thanks: 1,748
Quote:
Originally Posted by Shadow992 View Post
Ich persönlich bin großer Verfechter von C++ große Teile der Argumente, die man im Internet findet sind aus den Jahren 2010 und früher. Seit Smartpointer, Lambda-Ausdrücke und Co. ist man nicht mehr gezwungen auf unterstem Niveau zu programmieren, sondern kann sich easy eine Art "Garbage-Collector" bauen, der aber unter dem bleibt was C# und Python kann. Das heißt man muss sich trotzdem noch um ein bisschen was kümmern, aber es ist deutlich einfacher geworden und man schafft in deutlich weniger Zeilen als früher sichere Programme.
Dabei hat man aber immer die Möglichkeit so systemnah wie man will zu arbeiten (selbst auf ASM-Eben wenn man will).

Bleibt wie immer Geschmackssache, aber ich persönlich bin mit C++ verheiratet und deswegen muss ich immer bissel "relativieren", wenn jemand C++ indirekt mobbt.


Edit:
Auch wenn das natürlich leicht "lustig" angehaucht ist der Artikel, so gefällt mir die Sprache tatsächlich am meisten aus dem Grund, dass ich alles machen kann was ich will ohne dass sich C++ beschwert. Das ist auch der Grund warum ich so Sachen wie C# und Java nicht mag, man hat viel zu wenig Kontrolle über seine Programme und muss dennoch etliche Sachen (wie Datentyp, Casts, usw.) beachten. Ich genieße einfach die Freiheit, die mir C++ liefert, natürlich muss man damit ziemlich genau wissen, was man tut, aber das ist ja an sich nicht schlecht, wenn man genau weiß was man tut.
Kann ich so nur unterschreiben. Ich bin selbst großer C++ Fan aber ich muss selbst zugeben, dass es für manche Anwendungsgebiete einfach bessere Sprachen gibt.
"Normale" GUI-Programmierung gehört hierzu wie ich finde. Das ist unter C++ nach wie vor einfach Krebs. Selbst mit Frameworks wie Qt.
Auch einfache kleine Programme wie kleine HTTP Clients sind mit C++ mit deutlich mehr aufwand verbunden als z.B. bei Python.

C++ ist eine gigantische, erwachsene Sprache für die, die sich wirklich damit auseinandersetzen wollen. Man sollte sich davor wirklich gut überlegen ob einem das was C++ anbietet überhaupt etwas nützt, bevor man sich einfach hinein stürzt.
Computerfreek is offline  
Old 02/11/2017, 01:12   #5
 
Logtetsch's Avatar
 
elite*gold: 192
Join Date: May 2009
Posts: 2,227
Received Thanks: 3,262
Quote:
Originally Posted by Computerfreek View Post
Ich bin selbst großer C++ Fan aber ich muss selbst zugeben, dass es für manche Anwendungsgebiete einfach bessere Sprachen gibt.
"Normale" GUI-Programmierung gehört hierzu wie ich finde. Das ist unter C++ nach wie vor einfach Krebs. Selbst mit Frameworks wie Qt.
Die UI-Prgrammierung an sich hat nichts mit der Sprache zutun Jedenfalls nicht in C++. Übrigends bin ich selbst auch kein Freund von Qt, deshalb habe ich mir inzwischen ein eigenes UI-Framework gebastelt. Naja, eigentlich nur einen Win32-Wrapper mit etlichen Extras, ähnlich wie die MFC.
Logtetsch is offline  
Old 02/16/2017, 02:39   #6
 
Beni's Avatar
 
elite*gold: 0
The Black Market: 171/0/0
Join Date: Jul 2009
Posts: 3,269
Received Thanks: 786
Ich würde ne Programmiersprache eher als Werkzeug betrachten. Für viele viele Dinge finde ich Python extrem nett, für andere Perl. Wenn man irgendwas (kleines) Systemnahes haben will kann man sich asm schreiben oder ein C Programm. Finde jede Programmiersprache wurde für einen gewissen Zweck entwickelt, und dafür sind sie gut. Klar hat dann da jede Sprache seine Nachteile. Aber dafür gibts ja dann andere, die das besser können. Daher finde ich es gut, für alle Fälle was parat zu haben.

@ du schreibst remote-exploits mit sockethandling sicher auch in C/C++ und verarbeitest dort deine "strings" bzw char-arrays. :>

also ich würde dir, TE, empfehlen dir mehreres anzuschauen und dir damit nen art "Werkzeugkasten" zusammenzubauen, damit für alle Fälle irgendwas parat hast. C/C++ ist generell nicht Falsch und Python auch nicht.
Beni is offline  
Old 02/17/2017, 13:09   #7

 
Yavuz Karasu's Avatar
 
elite*gold: 731
Join Date: Oct 2008
Posts: 6,267
Received Thanks: 1,504
C# Moruk
Yavuz Karasu is offline  
Old 02/23/2017, 10:18   #8
 
Kaev <3's Avatar
 
elite*gold: 110
Join Date: Mar 2008
Posts: 856
Received Thanks: 391
Quote:
Originally Posted by warfley View Post
Damit ist man nicht so langsam und Resourcefressend wie ein Interpreter, muss sich aber auch nicht darum kümmern ob man jetzt ein 32 Bit Windows oder ein 64 Bit Linux System hat (also gut indirekt schon da unter Linux nur Mono läuft, das ist aber eine andere Geschichte).
Vergiss .NET Core nicht. Damit hat man zwar kein UI-Framework (Windows Forms, WPF), aber Services und ASP.NET-Anwendungen (Web-Anwendungen) laufen damit unter Windows, Linux und OSX.
Kaev <3 is offline  
Reply


Similar Threads Similar Threads
[Phyton] GetNameByTarget oder GetNameByVID
12/05/2015 - Metin2 Private Server - 4 Replies
Ich werde wahrscheinlich 10000000 Fragen stellen, weil ich Idiot zu inkompetent dazu bin, die richtigen Threads zu finden. Ich suche HILFE, HILFFFFEEEE, ich suche niemanden, der mir sagt, das es falsch ist, das weiß ich nämlich schon. def GetVIDbyTarget(self): global VID VID = player.GetTargetVID() self.GetVIDText.SetText(str(VID))
Phyton Help
11/28/2012 - Metin2 Private Server - 1 Replies
Suche Jemand Der sich mit Python Auskennt und Kurz Zeit in Skype Hatt. Einfach Hier Rein Schreiben und ich adde
Phyton Problem!!
07/15/2012 - Metin2 Private Server - 4 Replies
Hallo com ;) & zwar wollte ich fragen, wenn ich auf mein Root Python isntstallieren will, gebe ich folgenden code ein /usr/ports/lang/python aber was dann kommt " /usr/ports/lang/python: No such file or directory. " ich weiß nicht was ich falsch mache bzw warum es sich nicht installieren lässt :/ skype : lucatobi1 hoffe auf schnelle antwort
[Phyton Button]
10/12/2011 - Metin2 Private Server - 0 Replies
Hey, ich hab nach dem Tut hier www.elitepvpers.com/forum/metin2-pserver-guides-s trategies/1455697-how-neuen-button-taskbar.html einen Button einfügen wollen.. Jz schließt sich der Client nach dem Anmeldevorgang.. Hier die Syserr.. 1012 18:04:06405 :: CItemManager::LoadItemList(locale/de/item_list.txt ) - StrangeLine in 7687 1012 18:04:06405 :: CItemManager::LoadItemList(locale/de/item_list.txt ) - StrangeLine in 7688 1012 18:04:06405 :: ...
[HELP] Phyton Fehler [HELP]
12/01/2010 - Metin2 Private Server - 0 Replies
€:Hat sich erledigt habs nach langem suchen selbst gefunden. Danke trotzdem an alle die sich es anschaue wollten. Pls Closen! mfg VenTus.



All times are GMT +1. The time now is 13:10.


Powered by vBulletin®
Copyright ©2000 - 2026, 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 ©2026 elitepvpers All Rights Reserved.