C# Bücher / VS2005 <-> VS2008 / C++/CLI


  • Administrator

    Hallo zusammen,

    Weihnachten steht vor der Tür und alle maulen über die Weihnachtsgeschenke, daher werden Bücherlisten verteilt 🙂
    Ich wollte schon immer mal mit C# anfangen, daher dachte ich, ich setze ein Buch auf die Liste.

    Kurze Forensuche ergab eigentlich hauptsächlich die Empfehlung von diesem Buch:
    http://openbook.galileocomputing.de/visual_csharp/

    Nun, ich habe äusserst schlechte Erfahrungen mit Galileo Computing gemacht, daher schreckt mich das schonmal etwas ab. Wenn ich allerdings dann noch ein wenig über den Inhalt geschaut habe, dann sehe ich Dinge wie: "Einführung in die Objektorientierung" und ähnliches. Ich habe bereits gute Kenntnisse in C++ und Java, sowie einiges an Kenntnisse in anderen Sprachen. Daher frage ich mich, ob das Buch nicht ein wenig zu grundlegend ist.
    Habe auch schon ein anderes selber gefunden:
    http://www.thalia.ch/shop/jae_start_startseite/suchartikel/visual_c_2008_programmer_s_choice/frank_eller/ISBN3-8273-2641-9/ID15274108.html?jumpId=9605069

    Auf die Rezensionen im Internet kann man sich oft nicht so verlassen, wie auf einer guten Experten Meinung. Daher würde ich lieber die Experten hier fragen 😉
    Vielleicht gibt es noch andere Bücher, welche man einem Umsteiger, oder besser Wissensdürstiger, empfehlen kann.

    Eine weitere Frage hätte ich zum Kompiler. Aktuell verwende ich für meine C++ Sachen Visual Studio 2005 Professional. Müsste ich auf Visual Studio 2008 umsteigen, um aktuelles C# Programmieren zu können oder hat sich am Kompiler nichts verändert und es reicht, wenn ich ein aktuelles SDK habe? Welche Nachteile hätte es, wenn ich bei 2005 bleiben würde? Und notfalls, wie um alles in der Welt, kriegt man zwei Visual Studios unterschiedlicher Version auf einen Computer (hat bisher immer beide zerschossen).

    Eine paar letzte Fragen noch zu C++/CLI. Lohnt sich dieser Zwischenschritt, da ich Kentnisse in C++ habe? Oder sollte ich zuerst über C# gehen und später auf C++/CLI? In welchen Bereich lässt sich C++/CLI einordnen?

    Ich hoffe es sind nicht zu viele alltägliche Fragen. Konnte aber über unsere ach so gute Forensuche, nicht sehr viel befriedigendes finden 🙂
    Danke für die Antworten.

    Grüssli



  • Dravere schrieb:

    Eine paar letzte Fragen noch zu C++/CLI. Lohnt sich dieser Zwischenschritt, da ich Kentnisse in C++ habe? Oder sollte ich zuerst über C# gehen und später auf C++/CLI? In welchen Bereich lässt sich C++/CLI einordnen?

    Das mag jeder anders beurteilen... Meine 3 Cent dazu:

    C++/cli ist eher eine Krücke denn eine echte Sprache. Hier hat MS haufenweise Sachen zu C++ "zugestrickt" um die Features einzubauen die man braucht.

    Beispiel:

    im .h:
    class x {
    property int Wert
    {
       int get();
       void set(int value);
    }
    }
    
    im .cpp:
    
    int x::Wert::get() { return 0; }
    void x::Wert::set() {}
    

    Dagegen sieht das in C# doch einfach simpler aus, macht aber genau das gleiche:

    class x {
    int Wert
    {
       get { return 0; }
       set { wert = value; }
    }
    
    // oder für schreibvaule auto generated properties:
    
    int Wert { get; set; }
    
    }
    

    Klar, beide Konstrukte machend as gleiche, aber die C# Variante hat unterm Strich doch deutlich weniger Schreibaufwand und wird übersichtlicher. Das setzt sich dann auch so fort.

    In C++/cli gibt auf einmal nicht mehr einfach nr Klassen, sondern es gibt

    interface class
    enum class
    ref class
    value class usw usw

    Dann noch die Verwirrende vermischenung von Pointern und managed Pointern...

    int* pointer
    int^ manager_pointer

    Nee, dann lieber gleich richtig C# lernen. Macht unterm Strich das gleiche hat aber eine deutliche klarere Syntax.

    Imho ist C++/CLI nur dann interessant wenn man nativen C++ Code in ein managed Projekt einbinden muss, weil man managed und unmanaged C++ z.B. in einer DLL mischen kann. Als Brücke zwischen z.B. nativem C++ und C# eigenet sich C++/cli sehr gut ;))

    Wie gesagt, das ist nur eine Meinung...



  • Hallo,

    zu den Büchern kann ich nichts sagen, hab schon lang keine mehr gelesen zu dem Thema.

    Aber was das VS angeht müsste es ohne Probleme gehen die parallel zu installieren. Hab da noch keine gegenteiligen Erfahrungen gehabt, hab auch VS 2005 und VS 2008 parallel drauf.

    Das VS 2008 brauchst du schon wenn du aktuelles C# programmieren willst, weil das 2008er unterstützt .Net 3.5 und damit C# 3.0 mit den ganzen Zeugs wie LINQ.
    Du kannst auch beim 2005er bleiben, aber halt mit dem Wissen dass du die Erweiterungen die C# mit der Version 3 erfahren hat + die ganzen Erweiterungen die mit .Net 3.0 kamen wie WPF, WF, WCF nicht nutzen kannst direkt aus dem VS heraus. Zum Lernen der Sprache an sich reicht VS 2005 auf jeden Fall. Des weitere was ich genannt hab sind eh meist fortgeschrittene Themen die ohne Grundwissen nur schwer zu erfassen sind.

    Zu C++/CLI: Kann sich lohnen wenn man es braucht, aber als Zwischenschritt um von C++ auf die .Net Plattform zu kommen ist C++/CLI völlig ungeeignet. Lieber C# als reine .Net Sprache lernen wo man auch .Net pur mitbekommt mit all seinen Seiten. Dann ist es relativ einfach effektiv C++/CLI zu programmieren weil man genau die Konzepte von .Net dann schon kennt. Andersrum, für einen C++ Programmierer der keine Kentnisse von .Net hat sieht C++/CLI ziemlich seltsam aus. Man ist versucht seinen alten Stil zu programmieren und was am Ende rauskommt hat kaum was mit effektiven C++/CLI zu tun. Die Konzepte von .Net sind sorum deutlich schwerer zu erfassen.

    Deshalb mein Rat, lern C# und heb dir C++/CLI für später auf. C++/CLI hat im Prinzip eh nur ein relativ begrenztes Arbeitsgebiet, nämlich dann wenn es um das Zusammenspiel vom "alten" unmanaged Code mit der .Net Plattform, also managed Code geht. Nur bei Situationen wo alt und neu zusammentreffen bringt C++/CLI einen Mehrwert. Für reines .Net ist C# besser geeignet, für reinen unmanaged Code normales C++.



  • Aber was das VS angeht müsste es ohne Probleme gehen die parallel zu installieren. Hab da noch keine gegenteiligen Erfahrungen gehabt, hab auch VS 2005 und VS 2008 parallel drauf.

    Sofern man erst die ältere Variante installiert und dann die neuere , laufen die Versionen Problemlos parallel.



  • auf meinem arbeits pc ost VS6 - 2003 - 2005 sowie 2008 installiert - kein problem, nur shcon wie gesagt wurde die reihenfolge beachten
    bei vs2008 brauchst du das sdk nicht mehr separat, ist schon bei

    zu den buechern kann ich nur sagen - mit dem buch von addison wesley was du da gefunden hast - habe ich c# gelernt, ich fands richtig gut {o;


  • Administrator

    Zur VS Installation:
    Ich hatte VS 2005 Professional auf meinem Laptop installiert. Wollte dann VS2008 Express Edition probieren und habe es daher nachinstalliert. Das hat dann beide zerschossen, ich konnte sie nicht mal mehr richtig deinstallieren. Seither meide ich es die Dinger nebeneinander installieren zu wollen und so richtig überrascht hatte mich das ja auch nicht. Solche Probleme bin ich mir von MS gewöhnt, zwar nicht unbedingt beim VS, aber naja.

    Zu den Bücher:
    Noch ein oder zwei Meinungen hierzu wären erfreulich.
    "Mr Evil" klingt so böse 🤡

    Ansonten, danke für die bisherigen Meinungen.

    Grüssli



  • @Dravere
    Waren das jeweils Versionen der gleichen Sprache (englisch/deutsch)?


  • Administrator

    nachgehakt schrieb:

    @Dravere
    Waren das jeweils Versionen der gleichen Sprache (englisch/deutsch)?

    Keine Ahnung, aber würde eigentlich schon davon ausgehen.

    Grüssli



  • Ich hatte mir das Buch von
    Galileo Computing / Andreas Kuehnel online mal durchgelesen. Ich fand es sehr schlecht. Der Mann versucht auf den 1400 Seiten so ziemlich alles zu erklären was mit C# angefaßt werden kann (mal von ASP.NET abgesehen). Daher verkommt das Buch m.E. zu einer reinen Feature List. Z.B der Zugriffmodifikator Modifiers in WinForms-Controls wird in einem einzigen Satz erwähnt. Also entweder man läßt es weg oder erklärt es richtig, ob es gut ist, Controls auf public/internal zu setzen, oder den Zugriff über Properties zu erlauben und evtl die Business-Logik in ein Extra-Assembly auszulagern.
    Auch vermisse ich persönliche Erfahrungen des Autors. Es scheint so als hätte irgend ein Ghostwriter sich die Spezifikationen der Sprache und des Frameworks durchgelesen und ein Buch zusammengeschrieben.



  • 2005 und 2008 laufen fast problemlos nebeneinander.
    Auch Zusatzsoftware wie ANKHSVN, etc. installiert sich wenn dann in beiden oder in der richtigen installation.
    Musste lediglich MSSQL Express auf 2008 ändern was aber kein Nachteil war.
    Wenn man aber SP1 von VS 2008 hat dann braucht man zum nachinstallieren auch eine InstallationsCD mit SP1 die es noch nicht nicht gibt.
    Somit SP1 deinstallieren, features nachinstallieren, SP1 wieder drauf. Geht problemlos.
    VS2005 brauche ich aber nurmehr für MFC mit Webservice und für APSNET Mobile. DIese sind aus VS 2008 leider verschwunden.


  • Administrator

    @VS2005/2008 Installation:
    Ok, Ok, ihr habt das hinbekommen, ich nicht. So schnell gehe ich das Wagnis aber nicht mehr ein. Aber das ist ja auch nur ein absolut unwichtiges Randthema 🙂

    Zu den Büchern hätte ich viel lieber noch ein zwei Meinungen, dann kann ich die Liste endlich abschliessen 🙂

    Grüssli



  • Dravere schrieb:

    Zu den Büchern hätte ich viel lieber noch ein zwei Meinungen, dann kann ich die Liste endlich abschliessen 🙂

    Meine (sehr schlechte Meinung) von Galileo und Markt+Technik sollte vielleicht schon bekannt sein, daher gehe ich auf das erste Buch nicht ein.

    Beim zweiten kenne ich nur den Vorgänger, den hatte ich persönlich aber als zu oberflächig empfunden. Wobei der Griff zu Addison Wesley Büchern selten ein kompletter Fehlkauf ist.

    Gute Erfahrungen mit den C# Büchern hatte ich persönlich mit den spezialisierteren Bücher aus den Verlagen: Apress, Wrox, Manning.
    Wobei ich hier auch nicht ein Buch sondern Viele in Kombination meine (Als Ausgangspunkt verwende ich z.B. Pro C# 2008 and the .NET 3.5 Platform (Apress)). Dieser Wälzer zeigt sowohl die C# Sprachmittel und die wesentlichen Bibliotheksteile, ist aber alleine schon wegen seinen Umfang ausführlicher. Zu einzelnen Themen (wie z.B. WPF) suche ich mir dann weiterführende Literatur.

    Ich bezweifel es zwar: aber wenn du zufälligerweise ab und zu in der Region Siegen oder Kassel unterwegs sein solltest, kann ich dir gerne einige Bücher zur Einsicht geben oder ausleihen... (Meine C# Bücher stehe aufgrund meiner derzeitigen Stelle zum Großteil unbenutzt auf 1-2 Regalbrettern rum).

    cu André


Anmelden zum Antworten