Ankündigung

Einklappen
Keine Ankündigung bisher.

C# lernen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • C# lernen

    Hallo PHP-Coder!

    Mich wurmt`s schon seit langem: Ich will endlich mal Programme schreiben können, die man auf dem eigenen PC installieren kann. Kleine nützliche Tools und so Zeug das niemand braucht.

    C# (gesprochen: "C Sharp") ist die ideale Sprache dafür, hab ich mir mehrfach sagen lassen. Angeblich soll das gar nicht so schwer sein.

    Hiermit möchte ich offiziell alle C#-Interessierten dazu einladen, die Sprache im Team gemeinsam zu lernen. Denke so geht es am schnellsten!

    In diesem Thread möchte ich darüber diskutieren, wie man am einfachsten und schnellsten C# lernen kann, was man überhaupt dafür benötigt um in C# tolle Programme zu schreiben, was einem die PHP-Kenntnisse dabei bringen, usw.

    Ich mache mal den Anfang und poste hier eine Definition von C# (Quelle: Wikipedia)

    ---------------------------------------------------------
    C# (Aussprache: ßiescharp [ˌsiːˈʃɑɹp]) ist eine objektorientierte Programmiersprache, die vom Softwarehersteller Microsoft im Rahmen seiner .NET-Initiative eingeführt wurde. Den C#-Standard gibt`s erst seit Oktober 2000. Also noch eine sehr junge Sprache.

    C#-Konzept
    Neben Konzepten der Programmiersprachen Java und Delphi greift C# auch Konzepte aus C++ sowie der Microsoft-eigenen Sprache Visual Basic auf. Beide Programmiersprachen sind ebenfalls, neben weiteren, als eigenständige Portierungen im .NET-Framework verfügbar und nutzbar.

    Ebenso wie andere .NET-Sprachen verfügt C# über Attribute und Delegaten. Attribute erlauben es, Informationen über eine Klasse, ein Objekt, oder eine Methode zu speichern, die von anderen Programmen zur Laufzeit ausgewertet werden können. Man spricht hierbei auch von Metadaten. Ein Delegat kann auf Methoden einer Klasse verweisen. Das Konzept lässt sich mit Funktionszeigern vergleichen. Im Unterschied zu Funktionszeigern enthalten Delegaten zusätzlich auch Verweise auf die zu den Methoden gehörenden Objekte. Ein Aufruf eines Delegaten ruft also Methoden auf, denen implizit ein Objektzeiger als Parameter mitübergeben wird.

    Einige der Elemente von C++, die im Allgemeinen als unsicher gelten, wie beispielsweise Zeigerarithmetik, wurden in C# nur für so genannten "unsafe code" (unmanaged code) erlaubt. Dieser benötigt eine veränderte Sicherheitseinstellung, um auf einem Zielsystem ausgeführt zu werden, und einen zusätzlichen Compiler-Schalter, um ihn zu übersetzen. Somit wird vermieden, dass sich versehentlich unsicherer Code in eine Anwendung einschleicht.

    http://de.wikipedia.org/wiki/C-Sharp

    IDE`s / integrierte Entwicklungsumgebungen

    Neben der wahrscheinlich sehr teuren Entwicklungsumgebung von Microsoft (Visual Studio .NET), gibt es auch die OpenSource Entwicklungsumgebung Namens SharpDevelop.

    http://www.icsharpcode.net/OpenSource/SD/Default.aspx
    ---------------------------------------------------------

    Mein Ziel ist es, C# so gut zu beherrschen, das ich eigene PC-basierte Back-Office (Admin) Tools schreiben kann, um z.B. Content auf Websites zu verwalten. Also PC-Programme mit Internet-Schnittstelle. Kommunikation per XML / Soap u.ä. (genau: dafür sind dann wieder unsere PHP-Kenntnisse gut!)

    Wer auch C# lernen will und noch keinen blassen Schimmer davon hat, bitte hier melden. Aber auch die Profis, die das Hallo-Welt-Programm schon erfolgreich hinter sich gebracht haben.

  • #2
    Moin ähm ja würd mich scho interessieren ... wollte mal mit etwas anderem als PHP anfangen. Erst dachte ich immer an C++ aber von mir aus schau ich mir auch C# an. Vorallem wenns so ne OpenSource IDE hat.

    Kommentar


    • #3
      SharpDevelop soll angeblich "kaum Wünsche offen lassen". C#-Programme laufen wohl nur auf Computern, die einen .NET Framework installiert haben. Also ich fang mal an und saug mir jetzt SharpDevelop. Dann suche ich ein gutes Tut und fuchse mich mal rein.

      So hat's auch mit CAD und damals mit PHP geklappt

      Kommentar


      • #4
        Ein paar Tipps

        Wer noch nichts mit C# gemacht hat, sollte sich dies hier reinziehen:
        http://www.guidetocsharp.de/

        Alles andere steht natürlich hier drin,
        falls ihr irgend welche Funktionen suchen solltet:
        http://msdn.microsoft.com/library/de...k_netstart.asp

        Und einige Tutorials findet Ihr hier:
        http://www.codeguru.com/Csharp/Csharp/

        Kommentar


        • #5
          C# kann ich empfehlen. Evtl. aber doch auch eher Java. Ist ne politische Sache würde ich sagen.
          Sehr hilfsbereites Forum ist myCSHARP.de
          Komplett anders als hier, aber wer so eine höhere Programmiersprache lernt, der hat wohl schon bissl mehr Grips in der Birne und stellt keine Newbie-Fragen, die böse Antworten provozieren könnten

          Kommentar


          • #6
            Zitat von Zergling
            C# kann ich empfehlen. Evtl. aber doch auch eher Java. Ist ne politische Sache würde ich sagen.
            Kommt sicherlich auch auf den Anwendungsfall an.

            @Clan:
            Danke für die Links.


            <offtopic>
            Zitat von Zergling
            aber wer so eine höhere Programmiersprache lernt, der hat wohl schon bissl mehr Grips in der Birne und stellt keine Newbie-Fragen, die böse Antworten provozieren könnten
            Totaler Unfug.
            </offtopic>
            [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

            Kommentar


            • #7
              <offtopic>
              Zergling hat Folgendes geschrieben:
              aber wer so eine höhere Programmiersprache lernt, der hat wohl schon bissl mehr Grips in der Birne und stellt keine Newbie-Fragen, die böse Antworten provozieren könnten Smile

              Totaler Unfug.
              </offtopic>
              Jein..

              ich denke über die Sprache C# und co, trauen sich nicht so viele kinder drüber wie über php. (also vom alter her). Dadurch entstehen schon etwas intelligentere Fragen, die auch davor überdacht worden sind. (Ausnahmen gibts natürlich überall).

              Ich merke sowas aber auch in den VB Foren. Nur wenige leute dort die einfach ohne zu denken posten.. auch wenn die Antwort meist vor augen liegt.

              Vielleicht liegts aber auch an diesem Forum hier *gg*

              ##edit## anfang
              vielleicht hab ich dein "totaler unfug" aber auch falsch verstanden
              ##edit ## ende

              @topic: hab mir gestern auch vb.net draufgehaun.. werd damit jetzt auch wieder anfangen

              mfg Niedi
              http://forum.developers-guide.net

              Klick dich REICH:
              http://www.klick-reich.de/index2.php...lden&ref=Niedi

              Kommentar


              • #8
                Naja PHP ist halt sehr naheliegend für viele "Kinder" und Anfänger, die nunmal (warum auch immer) keine Erfahrung haben, wie man sich verständlich macht und eine Frage sinnvoll stellt.

                Höhere Programmiersprachen erfordern mehr Ehrgeiz und Interesse an der Materie Wozu könnte ein Zocker-Kiddie so eine Sprache benötigen? PHP für eine Website ist viel naheliegender.

                Denke deshalb schon, dass höhere Programmiersprachen "reifere" Programmierer ansprechen. Klar: Ausnahmen gibts immer.

                Kommentar


                • #9
                  Höhere Programmiersprachen erfordern mehr Ehrgeiz und Interesse an der Materie Wozu könnte ein Zocker-Kiddie so eine Sprache benötigen? PHP für eine Website ist viel naheliegender.
                  was verstehst du unter zocker-kiddy?
                  http://forum.developers-guide.net

                  Klick dich REICH:
                  http://www.klick-reich.de/index2.php...lden&ref=Niedi

                  Kommentar


                  • #10
                    Ich zock selber HL TFC und StarCraft, also fühl dich nicht angegriffen
                    Ich meine nur es gibt in den Gamer-Communities nen Haufen Spackos die meinen sie müssten jetzt unbedingt ne Homepage haben/machen.

                    Kommentar


                    • #11
                      Entschuldigung wenn ich Euch bei Eurer Zocker-Kiddie-Debatte unterbrache, ich tu es wirklich nur ungern

                      Aber:

                      Galileo OpenBook C# http://www.galileocomputing.de/openbook/csharp
                      MSDN Library http://msdn.microsoft.com/library/deu/default.asp

                      ich suche noch Tutorials die sich speziell auf die Arbeit mit der SharpDevelop IDE beziehen. Die Bedienung des Tools ist gar nicht mal so easy. Habe es aber gestern Abend schon geschafft ein "Programm das nichts kann" zu schreiben. Es heisst im Titel: "Ein Programm, das nichts kann". Und das Fenster ist leer.

                      Kommentar


                      • #12
                        Zitat von fischmix
                        Habe es aber gestern Abend schon geschafft ein "Programm das nichts kann" zu schreiben. Es heisst im Titel: "Ein Programm, das nichts kann". Und das Fenster ist leer.


                        Hehe. Darf ich mal fragen, welche Anwendungsgebiete C# so mit sich bringt?
                        Ich habe da keinerlei Kenntnisse drüber, weder über C# im konkreten noch über das .NET-Framework im allgemeinen Fall. Wäre nett, wenn du oder allgemein ihr das mal kurz dalegen könntet.

                        Grüße Ben.
                        [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

                        Kommentar


                        • #13
                          Zitat von Ben
                          Darf ich mal fragen, welche Anwendungsgebiete C# so mit sich bringt?
                          Komische Frage. C# kann im Prinzip alles, ist halt soweit ich weiß noch Microsoft gebunden.

                          Kommentar


                          • #14
                            Zitat von Zergling
                            Zitat von Ben
                            Darf ich mal fragen, welche Anwendungsgebiete C# so mit sich bringt?
                            Komische Frage. C# kann im Prinzip alles
                            Warum ist das eine komische Frage?
                            Ich weiß es nicht und somit habe ich eine ganz normale Frage gestellt.

                            Was heißt denn "alles": Ist es mit C# möglich, wie auch in Java Desktop, wie Web-Applikationen zu schreiben?
                            Also versteht mich jetzt mal nicht falsch. Ich habe mich noch nie mit dem .NET-Framework und allem, was da sonst noch so rumschwirrt befasst.

                            Ich kann mit PHP und Java programmieren .. teilweise wenigstens .. demnach ist meine Frage hier schon ganz ernst gemeint.

                            Danke für die Antworten. Ein "Alles" ist mir aber ehrlich gesagt nicht ausreichend.

                            Grüße Ben.
                            [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

                            Kommentar


                            • #15
                              Ich lese gerade den Guide to C# (keine Angst, der ist auf Deutsch):
                              http://www.guidetocsharp.de/home/ind...intro/net.html

                              Werde mal versuchen die Sache kurz und schlüssig zu beschreiben. Nach dem was ich so gelesen habe.

                              .net wurde von Microsoft entwickelt, um auf Informationen und Dienstleistungen jederzeit, an jedem Ort und über jedes beliebige Endgerät zugreifen zu können.

                              .net besteht aus zahlreichen Komponenten:
                              - Serverapplikationen (.net Enterprise Server)
                              - Programmierumgebungen (.net Framework)
                              - .net-Fähige Endgeräte (.net Clients)

                              Für C# Programmierer ist das .net Framework von Interesse. Auch das ist wieder in mehrere Einzelkomponenten unterteilt, nämlich:

                              - Common language runtime (CLR)
                              - Common language subset (CLS)

                              und dann gibt es noch das Microsoft intermediate language (MSIL)

                              Die CLR bildet den Kern des .net Frameworks. Bei der CLR handelt es sich um eine Laufzeitumgebung, um Applikationen kontrolliert ablaufen zu lassen. Sie stellt auch sicher, das nur solcher Code ausgeführt werden kann, der auch ausgeführt werden darf. Die CLR verwaltet auch automatisch den Speicher und die Resourcen. So schleichen sich weniger Programmfehler ein, und der Entwicklungsaufwand sinkt.

                              Das CLS definiert eine Menge von Befehlen, die jede Programmiersprache, die Code für .net erzeugen kann, unterstützen muss. Befehle, die nicht im CLS definiert sind, dürfen nicht verwendet werden. Damit ist gewährleistet, das es völlig schnuppe ist, welche Sprache man bei der Entwicklung einer .net Applikation anwendet. C++, VisualBasic, Java oder C#. Man nimmt das, womit man besser klar kommt.

                              Die Sprachen sind durch das CLS uneingeschränkt zueinander Kompatibel. So ist es im .net Framework beispielsweise problemlos möglich, eine Klasse in C++ zu entwickeln, sie in Visual Basic abzuleiten und in C# zu verwenden.

                              .net Programme sind Plattformunabhängig. Das geniale dabei ist das MSIL (Microsoft intermediate language). Die Compiler erzeugen nämlich keinen direkt ausführbaren Maschinencode, sondern übersetzen die Programme erst in eine plattformunabhängige Zwischensprache namens Microsoft intermediate language (MSIL). Diese MSIL-Programme werden erst zur Laufzeit mittels eines JIT-Compiler (Just in time) von der CLR in Maschinencode umgewandelt. Dadurch ist ein für das .net Framework entwickeltes Programm plattformunabhängig und ist auf jeder Plattform lauffähig, für die die CLR existiert.

                              Mit XML, SOAP und UDDI kann man dann hübsche Programme schreiben, die mit den PHP-Skripten auf dem Server kommunizieren. Sei es also ein Tool um die DB Back-zu-uppen oder per Desktop-Anwendung ein Gästebuch zu administrieren.

                              Man erweitert seine Möglichkeiten eben um ein vielfaches. Soweit die Theorie :wink:

                              Kommentar

                              Lädt...
                              X