Announcement

Collapse
No announcement yet.

Zusammenspiel der Sprachen... ?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Zusammenspiel der Sprachen... ?

    Hallo,
    mich beschäftigt ein Problem, das ich weiter beantworten kann, bzw. mich durcheinander bringt:
    Wie funktioniert das zusammenspiel verschiedener Sprachen?
    Ist es so, das alle Sprachen, die auf der CLR aufsetzen kompatibel zueinander sind? Wennja, dann wäre es ja egal in welcher Dotnet Sprache ich entwickle, da ich in jeder Sprache den gleichen Funktionsumfang habe und ich auch jedes Projekt einer Sprache in einer anderen Sprache verwenden kann.
    Oder ist es so, dass ich nur dann die Module richtig "mischen" kann, wenn mein Code 100% der CTS entspricht?
    Ein weiteres Problem ist: Warum gibt es so viele unterschiedliche Dotnet Sprachen, wenn alle zueinander kompetibel sein sollen? (asp.net, vb.net,...)
    Ich hoffe mein Problem ist verständlich geworden, wenn nicht fragt nach.

    Ich würde mich freuen, wenn mir jemand das mal genauer erklären koennte.

    Guss

    Val

  • #2
    Hallo,

    >Ist es so, das alle Sprachen, die auf der CLR aufsetzen kompatibel zueinander sind?

    Nicht zwangsläufig - denn jede Sprache darf sich eigene Freiräume einrichten. Nur dann, wenn eine Assembly als CLS-kompatibel (<i>Common Language Specification</i>) gekennzeichnet wird (Attribut), darf dort nur das verwendet werden, was von allen .NET-Sprachen gemeinsam genutzt werden kann (Beispiel: Ein Bezeichnername darf sich nicht nur durch die Groß-/Kleinschreibweise unterscheiden).

    &gt;Warum gibt es so viele unterschiedliche Dotnet Sprachen,...

    Weil ein Software-Entwickler nur dann wirklich maximal produktiv arbeitet, wenn er in seiner "Muttersprache" denkt. Außerdem hat jede Sprache so ihre Spezialitäten. C# kann zum Beispiel gut mit Zeigern (Unsafe Code), während nur VB.NET die bequeme späte Bindung unterstützt. Somit ist es normal, wenn man in einem Projekt für eine spezielle Funktion zu einer anderen Sprache wechselt (d.h. nur diese Funktion wird in eine separate Assembly verpackt, die dann von der Anwendung eingebunden wird).

    &gt;..dass ich nur dann die Module richtig "mischen" kann, <br>
    &gt;wenn mein Code 100% der CTS entspricht?

    Diese Einschränkung gilt nur für die öffentliche Schnittstelle der Klasse, die interne Implementierung innerhalb der Klasse bzw. innerhalb der Methoden unterliegt keinen Einschränkungen.

    &#10

    Comment


    • #3
      Aha, dann erstelle ich zB. meine Oberflächen mit VB.net und realisiere dort ein paar Funktionen. Da ich Web Seiten auch in meinem Projekt brauche, verwende ich asp.net. Und weil ich zb auch noch irgendwelche Konsolenspielereien drinhaben möchte mache ich die in C#.
      Von meinem "Hauptprojekt" aus (zB Vb.net) kann ich jetzt die anderen Assemblies importieren und nutzen und diese Funktionieren dann auch.
      Verstehe ich das so richtig?
      Also kann jede Dotnet Sprache as was in der CTS vereinbart wurde + ihre ganz speziellen Spielereinen.
      Welche Sprache ist denn am Empfehlenswertesten um dotnet gut auszunutzen. Ich möchte Oberflächen gut und einfach erstellen koennen (wie in VB); Gute DB Anbindung sollte auch gegeben sein. Und wenn ich das erst mal gelernt habe möchte ich dann auch Web Services erstellen und mit Homepages arbeiten.(Tip?)

      Gruss

      Va

      Comment


      • #4
        Hallo,

        &gt;Welche Sprache ist denn am Empfehlenswertesten ...

        diese Frage ist gut geeignet, um einen neuen "Glaubenskrieg" vom Zaun zu brechen ;-)

        Wenn es um eine hohe Arbeitsproduktivität geht, ist VB.NET die erste Wahl. Wenn man jederzeit (ohne wechslen zu müssen) den vollen Sprachumfang verfügbar haben möchte, ist C# das Richtige. Auch mit VB.NET kann man die gleichen Anwendungen (WinForm, ASP.NET Web Form, Web Services, NT-Services, .NET Enterprise Services etc.) entwickeln wie in C#. Für die ersten Schritte im .NET Framework ist VB.NET ebenfalls gut geeignet (weil einfacher)

        Comment

        Working...
        X