myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   Eine kleine Diskussion über C# (https://mygully.com/showthread.php?t=2022710)

Celion 06.04.10 01:59

Eine kleine Diskussion über C#
 
Microsoft beschreibt C# als Weiterentwicklung von C und C++

Zitat:

C# - eine Weiterentwicklung von C und C++ - ist typsicher und objektorientiert
Quelle: [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]

Genauers:
[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]


--------------


So was meint ihr dazu? (Ok ist nicht mehr so aktuell ;) )

Also für mich ist C# nicht weiteres als der Versuch das gescheiterte J++ bzw. J# Projekt wieder aufzunehmen unter einem anderen Namen, um somit die eigene Verluste besonders auch die finanzellen Verluste gering zuhalten.

Mal ein paar HelloWorld Beispiele aus Wikipedia um den Vergleich zu verdeutlichen:

C#

class Program
{
public static void Main()
{
System.Console.WriteLine("Hallo Welt!");
}
}


Java

public class HalloWelt {
public static void main(String[] args) {
System.out.println("Hallo Welt!");
}
}


C

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
printf("Hallo Welt!\n");
return EXIT_SUCCESS;
}



C++

#include <iostream>
int main()
{
std::cout << "Hallo Welt!" << std::endl;
}


D

import std.stdio;

void main(string[] args)
{
writefln("Hallo Welt");
}



Also wenn man sich die Syntax ansieht hat es mehr mit Java zu tun als mit C bzw. C++, deswegen frage ich mich wie man C, C++ und C# in eine Reihe stellen kann.

D würde ich als Hybriden zwischen Java und C++ bezeichnen, wobei ich denke das D sich nicht durchsetzen wird.

Berghuhn 06.04.10 16:40

Ich glaube auch nicht dass sich D durchsetzen wird, aber ich hab immer gedacht C# ist eine Mischung zwischen C++ und Java . Mir Persönlich gefällt C# trozdem sehr gut nur dass es so sehr an Windows bzw Net Framework gebunden ist finde ich etwas doof ;D .

lord_fritte 06.04.10 20:00

Aber über mono läuft C# auch unter Linux.
Aber C# ist auch meine Lieblingssprache, C# ist übersichtlich, bietet unheimlich viele Klassen an und ist super einfach zu verstehen und zu programmieren.

Achja und an Celion C# war vor J# da...

Berghuhn 07.04.10 10:49

Ja fü Mac hats auch noch i-was dass die c# programme drauf laufen weiß im moment nur den namen nicht mehr.

Celion 07.04.10 13:50

Zitat:

Zitat von lord_fritte (Beitrag 20651943)
Aber über mono läuft C# auch unter Linux.
Aber C# ist auch meine Lieblingssprache, C# ist übersichtlich, bietet unheimlich viele Klassen an und ist super einfach zu verstehen und zu programmieren.

Nunja die Übersichtlichkeit ist eine Sache des Programmierstiles und ob die IDE sowas wie Auto-Einrücken und Syntaxhighlighting unterstützt ;)
Oder stören dich diese "kryptische" Zeichen wie && ||, ==, !=

Und was die Klassen angeht, natürlich hat C# von Anfang extremviele Klassen dabei, allerdings gibt es ja z.B unter C++ die BoostLib bzw. du baust dir selbst ein paar Klassen unter C++ *grins*

Zitat:

Zitat von lord_fritte (Beitrag 20651943)
Achja und an Celion C# war vor J# da...

Ehrlich O.o bin davon ausgegangen das M$ zuerst J# entwickelt haben und da es Stress mit ein paar anderen gab haben sie das Projekt gecancelt und C# basierend auf J# entwickelt

haze303 07.04.10 14:44

Ich finde, man kann den Satz "C# - eine Weiterentwicklung von C und C++ - ist typsicher und objektorientiert" schon so stehen lassen.
C# hat einen Großteil seines Stils bzw. Aufbau von C/C++ und im direkten Vergleich mit dem C#-Unsafe-Code Verfahren, ist C# nur rund 20% langsamer (direkter Vergleich aus einem Benchmarking - leider finde ich im Moment den Link nicht mehr) als C/C++, was für eine objektorientierte Sprache _verdammt_ gut ist.

Alles in Allem ist C# eine innovative Sprache, die sehr leicht zu erlernen ist, Spass macht und unglaublich Usability- bzw. Leistungsorientiert arbeitet.

Ich bin momentan auch dabei, diese Sprache zu erlernen, um mir meinen Alltag als Administrator zu erleichtern.
C# bietet alle Möglichkeiten, die auch eine S*****sprache, wie VBS***** beinhaltet.
Jetzt denkt der Ein oder Andere bestimmt - ja klar, wäre ja auch traurig, wenn eine Hochsprache nicht mächtiger als eine S*****sprache wäre.
D.h. schnell und unkomplizierte Lösungen entwickeln, welche an diverse Schnittstellen gebunden sind, wie z.B. WMI-Abfragen, ADSI etc. pp.

Diese Dinge kann man leider nicht via C/C++ in diesem Tempo bzw in dieser Leichtigkeit lösen, wie es mit C# möglich ist.

Jeder muss "seine" Sprache für seinen Anwendungsbereich finden. Wer Treiber entwickelen möchte bzw. sehr "Hardwarenah", sollte doch lieber zu C/C++ greifen. ;-)

Das ist meine Meinung zu C#.

Viele Grüße,
haze303

Celion 07.04.10 21:33

Zitat:

Zitat von haze303 (Beitrag 20653920)
Ich finde, man kann den Satz "C# - eine Weiterentwicklung von C und C++ - ist typsicher und objektorientiert" schon so stehen lassen.

C# hat einen Großteil seines Stils bzw. Aufbau von C/C++ und im direkten Vergleich mit dem C#-Unsafe-Code Verfahren, ist C# nur rund 20% langsamer (direkter Vergleich aus einem Benchmarking - leider finde ich im Moment den Link nicht mehr) als C/C++, was für eine objektorientierte Sprache _verdammt_ gut ist.


Das mit dem 20% langsamer habe ich auch irgendwie gelesen, wobei ich denke das ein gescheiter C# - Programmierer schon einiges aus seinem Programm rausholen kann.

Was den Verwandtschaftsgrad angeht so finde ich (und ich denke mich kann man nicht wirklich überzeugen ;) ) das C# mit Java mehr gemein hat als mit C/C++ und da Java natürlich auch einige Beinflussungen von Seiten C++ hat gibt es eine Ähnlichkeit zwischen C# und C++ aber zu sagen das C# in der selben Linie steht wie C und C++ (wobei C++ auch kein "weiterentwickeltes" C ist sondern aus C hervorgegangen) finde ich ein bisschen weithergeholt.

Zitat:

Zitat von haze303 (Beitrag 20653920)
Alles in Allem ist C# eine innovative Sprache, die sehr leicht zu erlernen ist, Spass macht und unglaublich Usability- bzw. Leistungsorientiert arbeitet.

Ich bin momentan auch dabei, diese Sprache zu erlernen, um mir meinen Alltag als Administrator zu erleichtern.
C# bietet alle Möglichkeiten, die auch eine S*****sprache, wie VBS***** beinhaltet.
Jetzt denkt der Ein oder Andere bestimmt - ja klar, wäre ja auch traurig, wenn eine Hochsprache nicht mächtiger als eine S*****sprache wäre.
D.h. schnell und unkomplizierte Lösungen entwickeln, welche an diverse Schnittstellen gebunden sind, wie z.B. WMI-Abfragen, ADSI etc. pp.

Natürlich, jeder muss eine Programmiersprache finden in dem er sich wohl fühlt und die ihm auch Spaß macht und da ist C# von deinen Anfoderungen optimal - wobei VB6 (ja ich hasse VB.NET) auch dafür geeignet wäre (bin anscheinend ein Oldie) ;)

Zitat:

Zitat von haze303 (Beitrag 20653920)
Diese Dinge kann man leider nicht via C/C++ in diesem Tempo bzw in dieser Leichtigkeit lösen, wie es mit C# möglich ist.

Nun in diesem Tempo ist es nicht lösbar, allerdings kann man wenn man sich in C++ auskennt eigene Klassen einrichten und diese dann bei späteren ähnlichen Problemen benutzen.

Zitat:

Zitat von Schank
Ähnliche Probleme besitzen ähnliche Lösungen

Zitat:

Zitat von haze303 (Beitrag 20653920)
Jeder muss "seine" Sprache für seinen Anwendungsbereich finden. Wer Treiber entwickelen möchte bzw. sehr "Hardwarenah", sollte doch lieber zu C/C++ greifen. ;-)

Nicht nur für Treiber bzw. Hardwarenahe Programmierung ist C/C++ geeignet. Wenn man sauber programmiert kann der selbe SourceCode theoretisch auf jeden System kompiliert werden. C/C++ ist bis jetzt noch so ziemlich die schnellste Programmiersprache und optimal für Programme die im Hintergrund laufen bzw. eine maximale Leistung benötigen (z.B hardwareaufwendige Spiele).

haze303 07.04.10 23:05

Zitat:

Zitat von Celion (Beitrag 20655398)
Was den Verwandtschaftsgrad angeht so finde ich (und ich denke mich kann man nicht wirklich überzeugen ;) ) das C# mit Java mehr gemein hat als mit C/C++ und da Java natürlich auch einige Beinflussungen von Seiten C++ hat gibt es eine Ähnlichkeit zwischen C# und C++ aber zu sagen das C# in der selben Linie steht wie C und C++ (wobei C++ auch kein "weiterentwickeltes" C ist sondern aus C hervorgegangen) finde ich ein bisschen weithergeholt.

Ich gebe dir Recht und möchte keineswegs behaupten, dass C# mit C/C++ gleich zu stellen wäre, denn das wäre schlichtweg falsch. (Meiner Meinung nach.)
C# bedient sich nur mit einen ordentlichen Schluck vom Stil und Kleinigkeiten in der Herangehensweise von C/C++.
Noch einen Esslöffel Java dazu + eine große Brise .NET und fertig ist der mächtige Hybride.

Letztendlich darf man nie vergessen, das sich jede moderne bzw. "aktuelle" Hochsprache aus Elementen vergangener Sprachen bedient hat.
Dagegen ist von meiner Seite aus nichts einzuwenden - warum sollte man das Rad neu erfinden, wenn man ein bereits fundiertes und für gut befundenes System in Neues eingliedern kann.

Den einzigen Nachteil, den ich bei C# sehe, ist die Unflexibilität ihrer Portabilität auf "fremde" Umgebungen/Betriebssysteme.
Klar, es ist teilweise möglich, aber leider nur mit gewissen Einschränkungen und teilweise unorthodoxen Methoden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:46 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.