Archiv verlassen und diese Seite im Standarddesign anzeigen : Usenet-Client in C++
firewars
2006-06-03, 13:41:15
Hallo,
kann jemand von euch den Aufwand für einen eigenen, simplen (!) Usenet-Client abschätzen? Header-Downloads und -Verarbeitung sind nicht mal wirklich nötig. Habe 'nen NZB-Index vorliegen und muss die NZBs quasi nur "befolgen" (herunterladen) lassen. Dazu halt ein grafisches Interface mit dem üblichen Kram.
Falls der Aufwand nicht allzu groß ist, für wie realistisch haltet ihr es, dass ich das ohne wirklich nennenswerte Vorkenntnisse in C++ selber mit dem Visual Studio hinkriege? Ich habe zirka fünf Jahre Erfahrung unter anderem mit PHP (samt OOP) und bin da, so meine ich von mir behaupten zu können, sehr versiert. Zudem etwas Erfahrung in Delphi, aber kann mich mit dem Ganzen bis dato nicht so wirklich anfreunden. Sprich: Kann ich das in C++ packen? Syntax und Logik dürften nicht so das Problem sein. Wichtig wären "nur" sehr gute Dokumentationen zu allem, was ich dazu brauche.
Bin für jede Einschätzung und Hilfe dankbar.
Kabelsalat
2006-06-03, 13:47:38
Für eine solche Aufgabe würde ich keinesfalls auf C++ setzen - insbesondere dann nicht, wenn man nicht alzu bewandert in C(++) ist. Bessere Alternativen sind C# und Java (nicht zu vergessen viele weitere...).
Was den eigentlichen Aufwand angeht, kann ich leider keine Auskunft geben.
firewars
2006-06-03, 13:51:01
Kannst du das begründen (warum kein C++?)?
Godmode
2006-06-03, 13:58:51
firewars[/POST]']Kannst du das begründen (warum kein C++?)?
In C++ musst du halt viel selber machen, was du in C# schon hast. Vor allem beim Userinterface bist du mit C# um einiges besser ausgestattet. Meiner Meinung nach ist C# einfacher und man macht weniger Fehler.
firewars
2006-06-03, 14:04:32
Und wie sieht die Lernkurve bei C# aus (als jemand, der erfahren von PHP kommt)?
Besser als bei C++ auf jeden Fall.
firewars
2006-06-03, 14:37:09
Fummel gerade ein Bisschen in MS V C# 2005 Express Edition 'rum. Vielleicht waren die Delphi-Kenntnisse doch nicht so verkehrt.
Bleiben zwei Sachen offen:
1. nach wie vor die Frage nach dem Aufwand eines solchen Clients (jetzt in C#)
2. die Frage nach guten Visual C#-Resourcen. Gibt's da "must-have"-Links?
Danke! :)
Kabelsalat
2006-06-03, 14:51:40
Der Vorteil von einer Sprache wie C# / Java im Vergleich zu C / C++ ist die ausgeprägtere Kontrolle des Programmierers, was bei großen aber auch kleinen Anwendungen hilft Fehler zu minimieren. Insbesondere verbirgt sich in den Null-terminierten C-Strings und der direkten Verwendung von Zeigern eine hohe Fehleranfälligkeit. Sicher aufgrund stärker ausgeprägter Kontrollmechanismen z.B. bei ausgiebiger Verwendung von Arrays, wird der entsprechende C# Code seitens der Performance nicht immer mit gut geschriebenen C++-Code mithalten - das relativiert sich aber, da die Unterschiede auf heutigen Maschinen absolut vernachlässigbar sind und man mit C++ die Geschwindigkeitsvorteile auch nur bei gutem Programmierstil hat (denn sonst kann man auch schnell das Gegenteil bewirken).
Kabelsalat
2006-06-03, 14:55:35
firewars[/POST]']Fummel gerade ein Bisschen in MS V C# 2005 Express Edition 'rum. Vielleicht waren die Delphi-Kenntnisse doch nicht so verkehrt.
Bleiben zwei Sachen offen:
1. nach wie vor die Frage nach dem Aufwand eines solchen Clients (jetzt in C#)
2. die Frage nach guten Visual C#-Resourcen. Gibt's da "must-have"-Links?
Danke! :)
zu 2)
-> MSDN-Library: In Visual Studio enthalten, aber auch online einsehbar - um längen besser als z.B. die Delphi-Hilfe
-> http://www.galileocomputing.de/openbook/visual_csharp/
-> http://www.galileocomputing.de/openbook/csharp/
Das wären jetzt so die Online-Links die mir auf anhieb einfallen. Ansonsten wäre auch noch der .Net 2 Crashkurs 2. Auflage von Dr. Holger Schlichtenberg als Lektüre für Einsteiger und Fortgeschrittene zu erwähnen (schafft vor allem einen weit gefächerten Überblick; als Referenz eher weniger geeignet).
firewars
2006-06-03, 14:57:32
Ich danke :)
The_Invisible
2006-06-03, 16:37:05
bin auch von PHP (eigentlich gleich wie du) auf C# wegen nen frontend mit MySQL Anbindung
das größte problem war eigentlich in welchen namespace was drinnensteckt, datentypen sowie manche OOP hernangehensweise, ansonsten ist einem so ziemlich alles klar der vorher schon programiert hat. ansonsten ist auch phpgtk2 + glade ne "lustige" sache
mfg
SGT.Hawk
2006-06-07, 20:26:48
Na ja, wer benutzt schon in c++ null terminierte Strings?Da kann ich ja gleich in C programmieren:ugly:?
Wozu gibt es dann Klassen?Seitdem ich wieder c++ programmiere, nehme ich aus Prinzip dann auch die string Klasse..., nur mal so nebenbei:)
Kabelsalat
2006-06-07, 20:41:48
Keine Ahnung... ich jedenfalls nicht.
Es gibt genügend Trottel ;)
SGT.Hawk
2006-06-07, 20:52:31
Da wir gerade so schön bei C++ sind....
Stichwort:Smart Pointer.
Mir will es nicht so recht einleuchten, wofür das gut ist, denn für mich entsteht ein philosophischer Widerspruch zum Grundgedanken vom C++.
Warum wird so ein Konstrukt eingebaut, um seine eigene Unfähigkeit auszubügeln?Wenn ich von Anfang an keine Leaks/RessourcenLoch zulasse, dann brauche ich ja dieses Konzept nicht, denn dann kann ich lieber oder sollte ich in Java programmieren.
SGT.Hawk[/POST]']
Stichwort:Smart Pointer.
Warum wird so ein Konstrukt eingebaut, um seine eigene Unfähigkeit auszubügeln?Wenn ich von Anfang an keine Leaks/RessourcenLoch zulasse, dann brauche ich ja dieses Konzept nicht, denn dann kann ich lieber oder sollte ich in Java programmieren.
Sind deine Programme alle exception safe? Ohne smart pointer ist das noch schwieriger.
Ansonsten ist es nicht in jedem Design klar welches Objekt für die Freigabe von Ressourcen verantwortlich ist, da ist es praktisch einen referenzzählenden Pointer benutzen zu können anstatt willkürlich irgendjemand die Verantwortung zuschieben zu müssen.
SGT.Hawk
2006-06-07, 21:28:24
@Der Anwender natürlich, der meine Funktion benutzt, ist bei mnir immer selbst für die Bereinigung verantwortlich:biggrin:
Mal im ernst, ok sehe ich in dem Punkt ein, nur ist das nicht ein Eingeständnis, dass C++ doch nicht überschaubar ist?Ok, allerdings ist das ja auch nervig immer in jedem Objekt, einen weiteren int zu haben, bläht auch den Code ja auf...
Nicht alle smart pointer machen reference counting. Siehe z.B. std::auto_ptr
SGT.Hawk
2006-06-07, 22:28:06
Ok, überzeugt :-)
macht noch Sinn, im Gegensatz zu Range checking Arrays in C++ :-)
vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd.