C#

Tutorials.at
Verfügbare Informationen zu "C#"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: un94 - X - vpascal - Dirty Oerty - DrPhil_Guth - Xin
  • Forum: Tutorials.at
  • Forenbeschreibung: Programmierforum
  • aus dem Unterforum: Sonstige Programmiersprachen
  • Antworten: 18
  • Forum gestartet am: Mittwoch 19.04.2006
  • Sprache: deutsch
  • Link zum Originaltopic: C#
  • Letzte Antwort: vor 16 Jahren, 3 Monaten, 9 Tagen, 20 Stunden, 8 Minuten
  • Alle Beiträge und Antworten zu "C#"

    Re: C#

    un94 - 12.10.2007, 18:33

    C#
    Hallo,
    ich bin an der programier sprache C# interesiert und möchte sie gerne lernen nur leider habe ich selbst ncoh keinerlei erfahrung im thema programieren und würde mich sehr darüber freuen wenn mir da jemand weiterhilft und mir das richtig gut erklären kann wer bereit ist das zu machen soll mich pm´n dann geb ich ihn meine icq nummer



    Re: C#

    X - 12.10.2007, 20:55


    Hi un94,

    naja also unter C# lernen würd ein bissel mehr zusammenfassen als "eine Sprache lernen". Das Wichtigste daran ist eigentlich das .NET-Framework dahinter. Das is auch mit C und J# (javaähnlich) und VBA zu nutzen, aber C# wurde halt speziell darauf zugeschnitten.

    Da ich das jetzt auch schon einige Zeit verwende, könnte ich dir Hilfestellung geben, aber beibringen musst du dir das schon selbst. Ich kann nur sagen kauf dir ein dikes Buch und setz dich mal 2-3 Monate damit hin. Anders geht es nicht und versuch dir auch OOP beizubringen, das is für C# unerlässlich.

    Gruß
    X



    Re: C#

    vpascal - 13.10.2007, 11:31


    Ich würde vorschlagen erstmal PASCAL zu lernen, dich dann langsam zu C steigerst und dann mit C# anzufangen.



    Re: C#

    X - 13.10.2007, 12:57


    Hi vpascal

    also mit dem Vorschlag bin ich absolut nich einverstanden.
    Das sind 3 völlig neue Ansaätze eine Sprache zu lernen. Pascal is uralt, damit lässt sich ja kaum mehr was realisieren. Das kann man in der Schule noch verwenden (aber auch nur, damit die Lehrer nich umlernen müssen, wär ja ein Skandal sowas tun zu müssen).
    C is eine völlig andere Syntax zu Pascal und dann C# draufsetzen, das nichts außer einen Teil der Syntax damit gemeinsam hat. Außerdem mit OOP eine völlig andere Herangehensweise fordert, ist kein guter Weg.

    Fang gleich mit C# an, musst dich halt reinhängen, sonst wird das mit keiner Sprache was.

    Gruß
    X



    Re: C#

    vpascal - 13.10.2007, 13:02


    Hmm, aber wenn man mit PASCAL anfängt, lernt man schonmal seinen PC besser kennen und macht erfahrungen mit dem Programmieren. Und wenn man nacher c oder was auch immer macht wird man sachen ähnlich wiederfinden.



    Re: C#

    X - 13.10.2007, 19:22


    Hi
    @vpascal
    wenn du deinen pc über programmieren kennenlernen willst, is das wohl eher der falsche weg. Außerdem würd ich auch hier C# den vorzug geben, da dies duch .NET sehr name am betriebssystem sitzt.

    und pascal hat bis auf die tatsache das es auch eine programmiersprache ist sehr wenig mit C und noch weniger mit C# zu tun.



    Re: C#

    Dirty Oerty - 13.10.2007, 21:29


    Meiner Meinung nach sollte man mit der Programmiersprache anfangen, mit der man anfangen will.

    Wenn man das freizeitlich macht steht doch der Spaß in gewisserweise an erster Stelle.

    Und so lernt man auch schneller.

    Was Pascal und die anderen Programmiersprachen mit einander verbindet ist das Konzept. Ob man dann jetzt mit Pascal, C oder sonstwas (na ok, Basic ist anders) anfängt ist denke ich egal.

    Sobald man das Prinzip hat kann man eigentlich jede Sprache.

    MfG
    Daniel



    Re: C#

    DrPhil_Guth - 14.10.2007, 09:16


    Das ist klar. Allerdings gibts muss man nicht nur das "Konzept" einer Programmiersprache verstehen, sondern auch die feinheiten und vor allem den Stil, das "Feeling" einer Programmiersprache. Da unterscheiden sich C und C++ schon gewaltig, und da ist Pascal glaube ich welten entfernt. Einfach "irgendetwas" zu lernen ist sicher nicht das richtige.

    Überleg dir mal was du in zukunft programmieren willst:
    Soll es gut aussehen, schnell gehen und einfach nur funktionieren, dann ist C# oder Java oder (Visual) Basic deine Sprache.

    Willst du sehr schnelle Treiber, Netzwerkprogramme, oder andere ernsthaft sachen schreiben, dann bist du mit C gut unterwegs.
    Willst du all das mit (ein wenig) Bequemlichkeit verknüpfen, dann solltest du C++ lernen.

    Und ich sags jetzt mal ganz offen:
    Pascal und Basic haben eigentlich keine Zukunft mehr. Sie finden nur noch selten verwendung, und das meist nur in als "Einsteigersprache", oder in veralteten Physikbüchern.

    btw, Der neue C++ standard (C++0x) enthält erstens einige spracherweiterungen, und zweitens einige neue Bibliotheken die das Programmieren sehr erleichtern sollten.
    Es gibt da auch so eine "Fast- Standard" Bibliothek (Alle standardbibliotheken kommen von den leuten dieser bibliothek, und einige teile wurden schon in den neuen Standard aufgenommen) namens Boost, die C++ wirklich "idiotensicher" gestalten.


    Also überleg auch wofür du Programmieren willst, und dann entscheide dich.



    Re: C#

    X - 14.10.2007, 11:41


    Zitat: Willst du sehr schnelle Treiber, Netzwerkprogramme, oder andere ernsthaft sachen schreiben, dann bist du mit C gut unterwegs.
    Willst du all das mit (ein wenig) Bequemlichkeit verknüpfen, dann solltest du C++ lernen.

    Treiber geb ich dir recht, das is mit C# nicht zu machen.
    Aber was den Rest angeht, hört sich dein Kommentar so an als ob C# eine SPrache wär die man belächeln müsste. Das wär nämlich quatsch. Was Netzwerkprogramme und "ersthafte Programme" (was auch immer damit gemeint ist) angeht, geht das mit NET genauso gut wie mit reinem C++, nur wesentlich schneller und einfacher.

    Außerdem würd ich mal die Unterscheidung C - C++ nicht so eng fassen, wie das immer noch überall hier gemacht wird. WIe das ++ schon vermuten läst, ist C++ nur eine Erweiterung von C und damit ist C vollkommen darin enthalten. Nur das C++ Konzepte enthält die heutzutage unerlässlich sind.


    Zitat:
    Das ist klar. Allerdings gibts muss man nicht nur das "Konzept" einer Programmiersprache verstehen, sondern auch die feinheiten und vor allem den Stil, das "Feeling" einer Programmiersprache. Da unterscheiden sich C und C++ schon gewaltig, und da ist Pascal glaube ich welten entfernt. Einfach "irgendetwas" zu lernen ist sicher nicht das richtige.
    Das ist genau DAS richtige, damit hast du die Diskussion auf den Punkt gebracht.

    Gruß



    Re: C#

    DrPhil_Guth - 14.10.2007, 15:19


    X hat folgendes geschrieben: Treiber geb ich dir recht, das is mit C# nicht zu machen.
    Aber was den Rest angeht, hört sich dein Kommentar so an als ob C# eine SPrache wär die man belächeln müsste. Das wär nämlich quatsch. Was Netzwerkprogramme und "ersthafte Programme" (was auch immer damit gemeint ist) angeht, geht das mit NET genauso gut wie mit reinem C++, nur wesentlich schneller und einfacher.


    Tut mir leid, da habe ich mich falsch ausgedrückt. Mit sicherheit ist man oft effektiver unterwegs mit C# als mit C++. Allerdings beschränkung auf Systeme mit dem .net framework und somit fast nur auf windows systeme bremst die effektivität doch ein. Java ist warhscheinlich C# sehr ähnlich, aber es läuft ohne Probleme auf vielen verschiedenen Systemen, und sogar auf Handys. Ob C# da mithalten kann...

    Und seien wir uns mal ehrlich, Wenns um richtigen speed geht, wie zum Beispiel bei spielen oder bei Computern mit begrenzter leistung, dann ist C# und Java leider zu langsam.


    X hat folgendes geschrieben:
    Außerdem würd ich mal die Unterscheidung C - C++ nicht so eng fassen, wie das immer noch überall hier gemacht wird. WIe das ++ schon vermuten läst, ist C++ nur eine Erweiterung von C und damit ist C vollkommen darin enthalten. Nur das C++ Konzepte enthält die heutzutage unerlässlich sind.


    Nene... So wie das oft von den Leuten dargestellt wird ist das auch wieder nicht. Jaja gut, man kann sagen dass C++ eine erweiterung ist. Sie fügt ja "nur" Klassen, Templates, Exceptions, (Operatoren-) Überladung und eine _echt_ starke Bibliothek hinzu.

    Für viele leute wars das auch schon. "Ja gut, da gibts halt diese neumodischen sachen, aber ich bleib lieber bei dem was ich von C kenne."
    Das nennt man dann C mit klassen, und nicht C++.

    C++ unterscheidet sich von C rein Sprachlich nicht viel, aber jedoch gigantisch vom "Stil", den ich bereits angesprochen habe. Man kann mit C++ manche dinge viel leichter, schneller und eleganter lösen als man es sich mit C je erträumt hätte. Deswegen die starke (und vor allem sichere) bibliothek. Wenn man diese "neumodischen" konzepte anwendet wird daraus eine vollkommen neue Sprache.



    Re: C#

    X - 14.10.2007, 17:00


    Zitat: Allerdings beschränkung auf Systeme mit dem .net framework und somit fast nur auf windows systeme bremst die effektivität doch ein
    Ja das ist richtig, aber mit Mono und PortableNET gibts da auch alternativen für Linux bzw. Mac meiner Erfahrung nach funktionieren die auch recht gut. Und wenn man bei der Programmierung darauf achtet das alle angewanten Funktionen in Mono implementiert sind, läuft dein Prog im anschluss auch super.
    Was das mit den Handys angeht steht NET Java nicht sonderlich nach. Mit dem CompactFramework gibts da was für WinMobile und für Linux gibts Mono. NET ist meinem Empfinden nach schneller als die JavaVM, aber meine Javaerfahrungen beziehen sich auf 1.4, weiß nicht wie das mit 6 jetzt besser geworden ist; mal sehen da ich grad mit zwei Freunden ein Projekt plane bin ich wieder am Javalernen und werd damit wohl bald zu tun bekommen.
    Aber für Spiele würd ich Java und NET nicht verwenden, aber das ist zum glück keins meiner Problme^^.

    Das mit C/C++ ist natürlich Auslegungssache, da hast du recht.

    Aber wenn sich hier keiner an unserer Diskussion beteiligt, können wir das ganze auch über ICQ weiterführen. Ist ja kein Thema mehr das zu einem brauchbaren Ergebnis für jemanden führt, der hier die Lösung seines Probles sucht; dafür sind wir zu weit weg vom eigentlichen Thema.



    Re: C#

    Xin - 15.12.2007, 00:41


    X hat folgendes geschrieben: Außerdem würd ich mal die Unterscheidung C - C++ nicht so eng fassen, wie das immer noch überall hier gemacht wird. WIe das ++ schon vermuten läst, ist C++ nur eine Erweiterung von C und damit ist C vollkommen darin enthalten. Nur das C++ Konzepte enthält die heutzutage unerlässlich sind.
    Ich stimme zu, dass C++ eine Erweiterung von C ist. Allerdings eine gut durchdachte. In C kann man alles programmieren, was man in C++ auch programmieren kann. C++ liefert aber eine Vielzahl von Möglichkeiten zur typsicheren Programmierung mit.

    Weiterhin wird das Konzept der Referenzen in Java und C# vollkommen ignoriert. Es gibt keine echten Templates. Es ist nicht möglich Objekte in andere Objekte einzubetten, so dass Unterobjekte eigene Speicherbereiche benötigen, es ist nicht möglich (langsame) Objektorientierung zu vermeiden, wenn sie nicht erforderlich ist.

    C++ Konzepte sind in C# oder Java nicht umsetzbar, da beide Sprachen nicht das können, was C++ kann.

    Was das Entwickeln in C# oder Java beschleunigt ist eine große Bibliothek von mitgelieferten Funktionen. Die Sprachen selbst sind beide ein Schritt in die falsche Richtung.
    Mit einer leistungsstarken C++ Bibliothek, die sich an C++-Konzepten orientiert, lässt sich effektiver, typsicherer und schneller entwickeln als unter C# oder Java.
    Eine derartige Bibliothek ist derzeit nicht Teil des C++-Standards.
    Das bedeutet nicht, dass keine Libs gäbe.
    Es ist auch in C++ möglich Programme zu schreiben, die auf Linux, Mac und Windos laufen.



    Re: C#

    X - 16.12.2007, 23:47


    Zitat: Weiterhin wird das Konzept der Referenzen in Java und C# vollkommen ignoriert.
    Was meinst du damit???
    Beziehst du dich auf Pointer? Die gibt es nicht, aber das ist ja durchaus gewollt.
    Und in C# und Java gibt es sehr wohl Referenzen. Jedes Object wird in C# sicher und in Java ziemlich sicher per Reference übergeben.

    Zitat: Es ist nicht möglich Objekte in andere Objekte einzubetten, so dass Unterobjekte eigene Speicherbereiche benötigen
    Ähh, erklär das mal bitte genauer, dass versteh ich nich so ganz.

    Zitat: Was das Entwickeln in C# oder Java beschleunigt ist eine große Bibliothek von mitgelieferten Funktionen. Die Sprachen selbst sind beide ein Schritt in die falsche Richtung.
    Mit einer leistungsstarken C++ Bibliothek, die sich an C++-Konzepten orientiert, lässt sich effektiver, typsicherer und schneller entwickeln als unter C# oder Java.
    Eine derartige Bibliothek ist derzeit nicht Teil des C++-Standards.
    Das bedeutet nicht, dass keine Libs gäbe.
    Es ist auch in C++ möglich Programme zu schreiben, die auf Linux, Mac und Windos laufen.
    Erstens sind die Sprachen vom Umfang her leistungsstärker als C++, wohl gemerkt die Sprache. Das was nach dem Compiler rauskommt ist sicher in C++ performanter, zumindest etwas.
    Typsicher? In wiefern willst du da C++, C# und Java vergleichen?
    Was die Effizienz angeht kommst du NIE UND NIMMER an Java und C# ran, das gleiche gilt für die Geschindigkeit.
    Und was die Plattformunabhängigkeit angeht is das sicher möglich, nur unter was für einem Aufwand bitte?

    Gruß



    Re: C#

    Xin - 17.12.2007, 03:53


    X hat folgendes geschrieben: Zitat: Weiterhin wird das Konzept der Referenzen in Java und C# vollkommen ignoriert.
    Was meinst du damit???
    Beziehst du dich auf Pointer? Die gibt es nicht, aber das ist ja durchaus gewollt.
    Dass es keine Pointer in Java gibt, hat man mir vor 7 Jahren schon erzählt und das war damals schon genauso falsch und es wurde bisher auch nicht richtiger. Darum gibt es auch keine NullPointerExceptions.
    Moment... NullPointerExceptions gibt's in Java, das kann aber doch gar nicht sein, wenn es keine Pointer gibt... klingelt was?
    Willkommen in der wunderschönen Marketingwelt. Eine Insel kann man sich schön reden mit Palmen, Strand und Sonnenschein. Das hat aber nichts mit der Realität zu tun. Eine Insel ist in erster Linie eine Sackgasse in alle Richtungen.
    Kaffee riecht gut, wird aber auch nur mit Wasser gekocht und ohne Pointer kann man nicht programmieren. Sie stecken in allen Sprachen drin, mehr oder weniger gut versteckt, aber es gibt absolut keine Sprache, wo Pointer nicht auftauchen.

    X hat folgendes geschrieben: Und in C# und Java gibt es sehr wohl Referenzen. Jedes Object wird in C# sicher und in Java ziemlich sicher per Reference übergeben.
    Es gibt in Java/C# kein "by Reference", es gibt ausschließlich "by Value", weil die Ids, die Java verwaltet, um die Pointer zu erhalten, übergeben werden. Die Id erzeugt dann wieder eine Referenz, ein Schritt der in C++ überflüssig ist, weil die Referenz übergeben werden kann, das nennt sich dann "Call by Reference".
    Beschäftige Dich mal mit Programmiersprachen, wenn Du eine Sprache möchtest, der Du sagen kannst, was sie zu tun hat, dann wirst Du immer wieder bei C++ landen.

    Die Informatik ist bezüglich ihrer Bezeichnungen ein sehr chaotisches Gebiet. Wenn man Pointer in Java Referenz nennt, wird da noch lange nichts besseres draus. Eine C++Referenz ist auch ein Pointer, aber eben nicht das gleiche wie ein Pointer. Eine Referenz ist ein Vertrag, der bei einer Java-Referenz nicht getroffen wird.

    X hat folgendes geschrieben: Zitat: Es ist nicht möglich Objekte in andere Objekte einzubetten, so dass Unterobjekte eigene Speicherbereiche benötigen
    Ähh, erklär das mal bitte genauer, dass versteh ich nich so ganz.
    Eine Linie besteht aus zwei Punkten. In C++ kann ein Linienobjekt die Zusammenfassung von zwei Punkten sein: eine Linie - ein Objekt. Die beiden Punkte werden in die Datenstruktur Linie eingebettet. In Java sind es drei Objekte: 2 Punkte und eine Linie, die auf zwei Punkte zeigt. Und wenn da kein Punkt ist wo die Linie hinzeigt, dann gibt's eine NullPointerException. Eindeutiges Verhalten von Pointern.
    Mehr Speicheraufwand, mehr Aufwand die Objekte zu bekommen.

    Exakt dieses Verhalten kann man in C++ mit Pointern nachbilden.
    Ähnliches könnte man auch mit C++ Referenzen machen. Dann gäbe es ebenfalls drei Objekte, aber man könnte die Linie nicht erzeugen, wenn die zwei Punkte nicht existieren (oder der Programmierer ausdrücklich die Verantwortung dafür übernimmt, dass es zwei Punkte gibt). Entsprechend ist die Linie mit C++Referenzen (und sauberer C++ Programmierung) gültig. Keine Möglichkeit für eine NullPointerException.
    Programmiert man typsicher, so ruft man die Linie mit zwei C++Referenzen der beiden Punkte. Und dann müssen die zwei Punkte definitiv exitieren. Eine Java-Linie könnte man auch mit "new Line( null, null )" als Punkten rufen, weil Java-Referenzen eben nicht vorsehen, dass es ein Ziel der Referenz geben muss.
    Das bedeutet in Java immer if( Linie.Punkt1 != null ) ... und in C++ ist diese Frage gar nicht formulierbar, weil eine C++Referenz überhaupt nicht null sein kann, denn dann wäre es keine Referenz. Wer keine überflüssigen Fragen stellt, schreibt schnellere Programme.

    X hat folgendes geschrieben: Xin hat folgendes geschrieben: Eine derartige Bibliothek ist derzeit nicht Teil des C++-Standards.
    Das bedeutet nicht, dass keine Libs gäbe.
    Es ist auch in C++ möglich Programme zu schreiben, die auf Linux, Mac und Windos laufen.
    Erstens sind die Sprachen vom Umfang her leistungsstärker als C++, wohl gemerkt die Sprache.
    Keine Templates, keine Referenzen, keine Rückgabeparameter (in Java), nicht abschaltbare OOP-Funktionalität (=Bremse).
    Was ich in Java/C# redundant über interfaces lösen muss, löse ich in C++ über Mehrfachvererbung, ohne Quelltext hinzufügen zu müssen. Weder Java, noch C# können Mehrfachvererbung, man erklärt Mehrfachvererbung als Fehlerquelle und die Leute, die unfähig sind, Mehrfachvererbung korrekt einzusetzen, jubeln, weil nun offiziell festgestellt wurde, dass es nicht an der eigenen Unfähigkeit, sondern am bösen C++ liegt.

    Was können die Sprachen Java/C# mehr? Reflection, auf Deutsch: das nachtägliche Aushebeln von Übereinkünften, die man im Sourcecode getroffen hat. *thumbs up*
    Deine Definition von "leistungstärker" solltest Du mal überdenken.

    X hat folgendes geschrieben: Das was nach dem Compiler rauskommt ist sicher in C++ performanter, zumindest etwas.
    Typsicher? In wiefern willst du da C++, C# und Java vergleichen?

    Programmierst Du sauber in C++, brauchst Du keine Castings.
    In Java retten Dich selbst generics nicht.

    Die Typsicherheit von C++ ist durchgehend, darf aber vom Entwickler übergangen werden. In Java ist sie mangelhaft und muss durchgend vom Entwickler übergangen werden, insbesondere bis Java 1.4 ist Typsicherheit eigentlich nicht vorhanden.
    Ich habe da kein Problem Vergleiche zu ziehen.

    X hat folgendes geschrieben: Was die Effizienz angeht kommst du NIE UND NIMMER an Java und C# ran, das gleiche gilt für die Geschindigkeit.
    Was ist Effizienz?
    Das Vermeiden von Nachinstallieren von Libs?
    Ich hatte letztens das Vergnügen, dass ich Dateiattribute setzen musste. Das geht aber mit dem tollen Java-Framework leider nicht. Also eine native Klasse schreiben, die über C++ an die WinAPI rangeht.
    In Java entwickelt man solange schnell, wie es jemand anderer vor einem entwickelt hat. Das ist in der Regel nicht mein Gebiet.
    Zumal man in Java ebenfalls reihenweise JARs mitliefert, damit die eigene Software läuft. Ob ich mich nun in eine DLL einarbeite oder in ein JAR, das macht keinen Unterschied.

    Was die Geschwindigkeit angeht, kannst Du davon ausgehen, dass 90% der C/C++ Programme ihren Job erledigt haben, bevor die JVM hochgefahren ist und den JIT-Compiler angeworfen hat, um dann mal mit der Ausführung zu beginnen. Dank des GarbageCollectors, wird jede Referenz zur Doppelreferenz, was bei der Programmausführung sicherlich nur Vorteile bringt, besonders dann, wenn der Speicher voll ist und der GC anfängt aufzuräumen und das Programm damit erstmal eine Gedenkminute einlegt. Das ist ungefähr so sinnvoll, wie "out of memory", weil die JVM nur 512M von 2G nutzt - oder eben 2G von 2G und erst dann Speicher freigibt, wenn 2G verbraucht sind - egal ob andere Programme in der Zwischenzeit das System durch swappen ausbremsen.
    Die Festplatte als RAM Ersatz zu machen, ist unglaublich effizient.

    X hat folgendes geschrieben: Und was die Plattformunabhängigkeit angeht is das sicher möglich, nur unter was für einem Aufwand bitte?

    Kann ich Dir sagen: Ich arbeite unter Linux. "make" erzeugt die Linuxversion, "make windows" die Windowsversion aus dem identischen Quelltext, dafür wechsle ich nicht das OS. Und ich schreibe auch nicht ausschließlich Konsolenprogramme, eine GUI stört mich hier nicht.
    Ein Mac steht Anfang nächsten Jahres an. Ich erwarte keine Änderungen am Quelltext.
    Kein Aufwand ist in meinen Augen ein vertretbarer Mehraufwand für Portablität.

    Ich kenne niemanden, der sich halbwegs mit Java und C++ auseinandergesetzt hat, der die technische Überlegenheit von C++ in Frage stellt. Ich kenne aber viele Java-Programmierer, die weder einen Überblick über die technischen Möglichkeiten haben, noch in der Lage sind, eine Zeile gültigen C++ Code zu verfassen und deswegen glauben, dass C++ schlecht wäre.


    Das Nachplappern von Unsinn wird nicht Sinnvoller, wenn es in Büchern und Fachmagazinen gedruckt wird. Aktueller Hype ist AJAX. Statt einen X-Service zu verwenden, bildet man alles über XML ab, dekodiert das über Javascript, um dann aufwendige, aber fehleranfällige GUIs, die unter jedem Browser anders aussehen, als Stand der Technik zu verkaufen. Und hey, das funktioniert. Lies Fachblätter, um zu lesen, was sich verkauft, wenn Du wissen willst, was sinnvoll ist, musst Du Dich damit selbst beschäftigen.
    In Deinem Fall bedeutet das: lerne richtiges programmieren und lerne, was genau Du Deiner Sprache sagst, wenn sie irgendwas für Dich tut.

    Du kannst das Posting Java-Jüngern und auch Informatik-Professoren zeigen und eine ganze Reihe wird Dir erklären, dass ich hier Unsinn schreibe. Das darfst Du gerne glauben. Oder Dir selbst mal Gedanken machen. Recht haben wirst Du in beiden Fällen, Du musst dich nur entscheiden, welche Form von Recht haben Du haben möchtest.



    Re: C#

    Dirty Oerty - 17.12.2007, 14:43


    Ich muss mich Xin anschließen. Habe eine zeitlang mit Java programmiert. Wie das alles im Inneren genau abläuft weiß ich nicht. Und das stört mich. Bei C++ trägt man als Programmierer noch die Verantwortung für sein Programm. Java dagegen nimmt dir diese Verantwortung teilweise ab. Kann gut sein.
    Wenn du aber wirklich effektiv programmieren willst und zu dem auch wissen willst WAS du gerade programmierst dann nimm C++

    Und wie Xin schon sagte: Nur weil bei C++ von Anfang an keine "Ich-kann-alles-Libary" dabei ist, heißt das nicht, das mit C++ so eine Libary nicht möglcih wäre.

    In Java ist die nunmal schon dabei. Für C++ gibt es sowas aber auch. Und selbst wenn nicht: Für C++ kannst du solch eine Libary auf jedenfall allgemein selbst programmieren.

    C++ <= Top

    MfG
    Daniel



    Re: C#

    X - 17.12.2007, 18:53


    Zitat: Bei C++ trägt man als Programmierer noch die Verantwortung für sein Programm. Du trägst in jedem Fall die Verantwortung für dein Programm das hängt doch nicht von der Sprache ab.
    Dann erläutert mir doch mal bitte was so großart

    Zitat: Dass es keine Pointer in Java gibt, hat man mir vor 7 Jahren schon erzählt und das war damals schon genauso falsch und es wurde bisher auch nicht richtiger. Darum gibt es auch keine NullPointerExceptions.
    Moment... NullPointerExceptions gibt's in Java, das kann aber doch gar nicht sein, wenn es keine Pointer gibt... klingelt was?
    Willkommen in der wunderschönen Marketingwelt.
    Hmmm, is deine Sicht der Dinge das so zu interpretieren, tja wies einem gerade passt.

    Ich würd dir auch raten in Zukunft auf deine Ausdrucksweise zu achten
    Zitat: weil die Ids, die Java verwaltet, um die Pointer zu erhalten,
    wenn es keine Pointer gibt, wie kannst du dann von denen Sprechen, hmmm, also vll doch welche.
    Nur weil die nicht direkt zugänglich sind, heißt das nicht das die im Hintergrund nicht da wären. Dafür existiert dann das Wörtchen "ref" in C#, an dieser Stelle würd ich dir dann den Tipp zurückgeben und dir raten dich ein bisschen über Programiersprachen zu informieren, vll nicht Java das interessiert mich nicht aber von C# hast du eher nich so die Ahnung.

    Zitat: ...new Line( null, null )...
    Jetzt raff ichs, ok da gab ich dir recht, nur für so was gibts ja Konstruktoren die das einmal machen und fertig. Das ist wie wenn du in C++ abbrüfst ob deine Wertebereiche (zB Bildschirmauflösung) eingehalten werden.

    Ich geh mal nicht davon aus das du dich mit Rückgabewerten in Java auf "return" beziehst auch wenn ich sonst nicht wüsste was man so bezeichnen könnte.

    Zitat: Was können die Sprachen Java/C# mehr? Reflection, auf Deutsch: das nachtägliche Aushebeln von Übereinkünften, die man im Sourcecode getroffen hat. *thumbs up*
    Deine Definition von "leistungstärker" solltest Du mal überdenken.
    Ich bezieh mcih damit auf die Sprache nicht auf das Compilat, wenn ich so anfang könnt ich dir ne Liste hinstellen über C#(bzw. .NET) die deine kleine Aufzählung bei weitem übersteigt, weil du dafür ne RT brauchst und die gibts nativ nun mal nicht. Ich geh davon aus, wieviel aufwand ich bei der Codeeingabe betreiben muss, um eine bestimmte Aufgabe zu erfüllen und nichts anderes.

    Was die Plattformunabhängigkeit angeht, bis du der erste Mensch der mir erzählen will das C++ Plattformunabhängig wär, warum erscheinen Spiele erst um Jahre verzöger für Mac oder Linux (wenn überhaupt). Oder die allermeisten programme? Genauso wie deine Einstellung zu OOP und allen anderen neuen Entwicklungen (bsp. AJAX). Schein so als ob du nicht in der Lage wärst dich der Realität zu stellen, die Welt ist nun mal im Wandel und du kommst scheinbar nicht damit klar bzw. fühlst dich vll übergangen oder was weiß ich (um mich jetzt mal auf diese psycholevel hinab zu begeben).

    Ein Hinweiß ich halt nicht viel von Java. Linux spielt für mich keine Rolle und somit auch nicht Plattformabhänigkeit. Ich nutze .NET und das is um Längen besser als Java, damit wär dein Attributproblem im Nu gelöst gewesen.



    Re: C#

    Dirty Oerty - 17.12.2007, 23:17


    X hat folgendes geschrieben: Zitat: Bei C++ trägt man als Programmierer noch die Verantwortung für sein Programm. Du trägst in jedem Fall die Verantwortung für dein Programm das hängt doch nicht von der Sprache ab.
    Dann erläutert mir doch mal bitte was so großart


    Ich meinte das so:

    In C++ programmierst du noch selber, was der Computer macht. Natürlich nicht in dem Umfang, wie z.b. bei Assembler oder direkter Binärprogrammierung.

    Java hingegen nimmt dir viel Arbeit ab, automatisiert viel.
    Man kann das als Vorteil sehen, da man dadurch ja weniger selbst erledigt, ergo schneller arbeitet. Allerdings ist dadurch nicht beeinflussbar, was du denn GENAU programmierst. Du hast sozusagen nicht die 100% Kontrolle.

    Bei C++ kannst du dir die Arbeit allerdings auch vereinfachen, so das du im Endeffekt schneller arbeiten kannst. Dazu programmierst du dir eigene Libaries oder greifst auf (gute, soweit man das sagen darf) von anderen programmierte Libaries zu.

    Ein weiterer Manko von Java, zumindest in meinen Augen:
    Java wurde von einem Unternehmen entwickelt, dass heißt das hinter der Programmiersprache immer kleinere Eigenheiten zu Gunsten des Unternehmens stehen. (Die Welt ist schlimm^^)

    C++ hingegen ist...naja, sozusagen das Ergebnis eines "Forschungsprojektes". Damit auch unternehmenunabhängig und nicht iwie derart "beeinflusst".

    MfG
    Daniel



    Re: C#

    Xin - 18.12.2007, 01:27


    X hat folgendes geschrieben: Zitat: Dass es keine Pointer in Java gibt, hat man mir vor 7 Jahren schon erzählt und das war damals schon genauso falsch und es wurde bisher auch nicht richtiger. Darum gibt es auch keine NullPointerExceptions.
    Moment... NullPointerExceptions gibt's in Java, das kann aber doch gar nicht sein, wenn es keine Pointer gibt... klingelt was?
    Willkommen in der wunderschönen Marketingwelt.
    Hmmm, is deine Sicht der Dinge das so zu interpretieren, tja wies einem gerade passt.

    Ich würd dir auch raten in Zukunft auf deine Ausdrucksweise zu achten
    Zitat: weil die Ids, die Java verwaltet, um die Pointer zu erhalten,
    wenn es keine Pointer gibt, wie kannst du dann von denen Sprechen, hmmm, also vll doch welche.
    Ich verstehe hier irgendwie grade nicht, was Du mitteilen möchtest.
    Java: Doppelreferenzen: id ist ein Arrayindex, der angibt, wo der passende Pointer drin sitzt - läuft die GarbageCollection ändert sich der Pointer, aber nicht die Id.
    Also: call by value, weil die id übergeben wird, anschließend zwei Dereferenzierungen, um an das Objekt zu kommen. Stimmt die Id nicht: Null-Pointer-Exception, weil es Null Pointer zu der Id gibt.

    Du sagtest zuvor es gibt keine Referenzen, jetzt gibt es vielleicht welche?

    X hat folgendes geschrieben: Nur weil die nicht direkt zugänglich sind, heißt das nicht das die im Hintergrund nicht da wären. Dafür existiert dann das Wörtchen "ref" in C#, an dieser Stelle würd ich dir dann den Tipp zurückgeben und dir raten dich ein bisschen über Programiersprachen zu informieren, vll nicht Java das interessiert mich nicht aber von C# hast du eher nich so die Ahnung.
    Öhm... Du argumentierst gegen Dein letztes Posting, nicht gegen meins... das macht eine Diskussion schwierig.

    X hat folgendes geschrieben: Zitat: ...new Line( null, null )...
    Jetzt raff ichs, ok da gab ich dir recht, nur für so was gibts ja Konstruktoren die das einmal machen und fertig. Das ist wie wenn du in C++ abbrüfst ob deine Wertebereiche (zB Bildschirmauflösung) eingehalten werden.
    Leider ist das keine einmalige Sache, denn der Vertrag endet nicht am Konstruktor. Auch soll es Programme geben, die an mehreren Stellen Objekte erzeugen, was auch ganz klar gegen ein einmaliges Problem spricht.
    Weiterhin bedeutet jede Funktion, die C++ Referenzen erwartet, dass hier eine Garantie ausgesprochen wurde, wo kein "Wertebereich" mehr gegengeprüft werden muss.
    Programmierst Du ausschließlich in C++-Referenzen, musst Du auch keine unnötigen Fragen stellen. Es wird auch verhältnismäßig schwer, eine Null-Pointer zu erzeugen.

    X hat folgendes geschrieben: Zitat: Was können die Sprachen Java/C# mehr? Reflection, auf Deutsch: das nachtägliche Aushebeln von Übereinkünften, die man im Sourcecode getroffen hat. *thumbs up*
    Deine Definition von "leistungstärker" solltest Du mal überdenken.
    Ich bezieh mcih damit auf die Sprache nicht auf das Compilat, wenn ich so anfang könnt ich dir ne Liste hinstellen über C#(bzw. .NET) die deine kleine Aufzählung bei weitem übersteigt, weil du dafür ne RT brauchst und die gibts nativ nun mal nicht. Ich geh davon aus, wieviel aufwand ich bei der Codeeingabe betreiben muss, um eine bestimmte Aufgabe zu erfüllen und nichts anderes.

    Schonmal ein Template programmiert?

    Ansonsten sei beiläufig angemerkt, dass ich nicht vollkommen frei von C# Erfahrung bin. Auch damit habe ich schon Geld in Vollzeitbeschäftigung verdient.
    X hat folgendes geschrieben: Was die Plattformunabhängigkeit angeht, bis du der erste Mensch der mir erzählen will das C++ Plattformunabhängig wär, warum erscheinen Spiele erst um Jahre verzöger für Mac oder Linux (wenn überhaupt).
    Oha... :-\

    Vielleicht bin ich der erste Mensch, der Dir das erzählt, weil Du den Leuten um Dich herum nicht zuhörst - sehr aufnahmebereit wirkst Du nicht auf mich. Vielleicht haben die Leute um Dich herum auch genausoviel Ahnung wie Du und können Dir nichts erzählen. In jedem Fall läufst Du mit Scheuklappen rum, mit offenen Augen könntest Du Deine Frage nicht stellen.

    Okay... warum erscheinen Spiele dennoch zeitnah auf Playstation und X-Box?
    Warum erscheint Photoshop beispielsweise nicht Jahre verzögert auf dem Mac? Wie funktioniert es, dass GIMP nicht in Java geschrieben ist und trotzdem auf Linux, Mac und Windows läuft? Oder der Opera-Browser. FireFox? Thunderbird? Windows?
    Ja, auch Windows ist nicht in .NET geschrieben und läuft trotzdem auch Alpha-Prozessoren.

    X hat folgendes geschrieben: Oder die allermeisten programme? Genauso wie deine Einstellung zu OOP und allen anderen neuen Entwicklungen (bsp. AJAX). Schein so als ob du nicht in der Lage wärst dich der Realität zu stellen, die Welt ist nun mal im Wandel und du kommst scheinbar nicht damit klar bzw. fühlst dich vll übergangen oder was weiß ich (um mich jetzt mal auf diese psycholevel hinab zu begeben).
    Und da solltest Du gelegentlich mal wieder hochkommen, Du verläufst Dich nämlich grade ziemlich.
    AJAX ist nicht neu. OOP ist nicht neu. Auch die Idee hinter Java oder .NET ist nicht wirklich neu.
    Dir wird irgendwann auffallen, dass sich die Welt nicht wandelt. Sie dreht sich. Jetzt geht der Mond auf, in ein paar Stunden geht er unter und dafür geht die Sonne auf. Dann geht die Sonne wieder unter und der Mond grüßt mal wieder. Und wer den ganzen Tag noch nicht erlebt hat und auch noch nicht in die Geschichtsbücher geguckt hat, der wird allem, was da am Himmel aufsteigt freudig zujubeln.
    Wie lange sitzt Du schon am Computer? Wieso gehst Du davon aus, dass vor 20 oder 30 Jahren keiner irgendeine Ahnung hatten? Da waren Sprachen, die das OOP-Konzept besser umsetzen als Java oder C# schon längst bekannt.
    Während Du OOP jetzt heilig sprichst, hat Stroupstrup es vor 25 Jahren sinnvollerweise auf die Punkte eingeschränkt, wo es als Technik sinnvoll ist, Jahre bevor die Allgemeinheit überhaupt eine Idee von OOP hatte.
    Du predigst heute eine Geschichte, die vor 25 Jahren schon veraltet war.
    Der Java-Hype ist vorbei, der Mond geht auch wieder unter.
    Die Menge an Entwicklern, die wissen wie und warum OOP funktioniert wird steigen und damit auch das Bedürfnis Kontrolle darüber auszuüben. Kontrolle kann man seit C++ darüber ausüben.
    Und wieder beginnt ein neuer Tag, vielleicht nicht mit einer jetzt aktuellen Version von C++, aber Java und C# in ihren jetzigen Versionen spielen dann auch nicht mehr mit.

    X hat folgendes geschrieben: Ein Hinweiß ich halt nicht viel von Java. Linux spielt für mich keine Rolle und somit auch nicht Plattformabhänigkeit. Ich nutze .NET und das is um Längen besser als Java,
    Man könnte Deinen Hinweis auch so deuten, dass einer von uns beiden ignorant auf diverse Möglichkeiten reagiert. Wenn Linux für Dich keine Rolle spielt, wieso erzählst Du mir, ich würde mich dann neuen Entwicklungen verschließen?
    Hochleistungsrechner werden mehr und mehr auf Linux-Basis aufgebaut. Was heutzutage Regale füllt, wird morgen in einer CPU sein. Und das OS, dass die Hochleistungsrechner begleitet hat und das entsprechende Grundlagen schafft, das spielt für Dich keine Rolle?
    Die Welt dreht sich, Junge. Unix kommt, Windows geht. Unix steckt in Linux, NetBSD, MacOS - aber nicht in Windows. Microsoft verkündete vor einem oder zwei Monaten, dass auf der Basis von Windows kein Neuanfang (zu etwas brauchbarem) möglich sei.
    Unix ist übrigens auch nicht neu - C wurde 1972 erfunden, um Unix auf verschiedene Systeme portieren zu können, statt immer bei jedem System alles in Assembler zu schreiben, lange bevor die MS-DOS-Nacht begann. Das in C geschriebene Linux ist das portabelste Programm überhaupt.
    In Deiner Welt würde man Unix natürlich in .NET schreiben, hmm?

    X hat folgendes geschrieben: damit wär dein Attributproblem im Nu gelöst gewesen.
    Hatte ich ein Attributproblem?



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum Tutorials.at

    Tipps? - gepostet von CRASH am Samstag 21.10.2006
    sich selbst aufrufendes Programm - gepostet von Moritz am Mittwoch 24.10.2007
    ich habe diese taste nicht { - gepostet von gandalf am Donnerstag 10.08.2006
    Variablen tauschen - gepostet von Joe am Samstag 03.11.2007
    Mein erstes Projekt. Brauche Hilfe - gepostet von orluk am Mittwoch 25.07.2007
    Männlich- Weiblich zeichen - gepostet von DrPhil_Guth am Sonntag 23.04.2006
    Vollbildmodus als Befehl - gepostet von matze(2) am Donnerstag 01.06.2006
    HELP - gepostet von eweu am Freitag 12.01.2007



    Ähnliche Beiträge wie "C#"

    vor welcher ZK graut euch am meisten??? - SpRungGeLENK (Sonntag 01.05.2005)
    100 posts - Anonymous (Mittwoch 06.06.2007)
    Die am meisten erwarteten Kinofilme - scotter (Freitag 19.01.2007)
    Member und Posts - malekith (Dienstag 21.11.2006)
    was vermisst ihr am meisten aus der schulzeit??? - denyo83 (Donnerstag 09.12.2004)
    Was mögt ihr am Meisten an MJ? - Jule14 (Samstag 07.01.2006)
    Ränge - Welchen Rang bekomme ich ab wie viele Posts? - sjfactory (Donnerstag 01.03.2007)
    Wer labbert den meisten scheiss in forum? - (sic) (Montag 11.07.2005)
    1.000 Posts - de_flo (Samstag 30.10.2004)
    Was nervt euch im Urlaub am meisten ? - daniel (Dienstag 26.06.2007)