Okaay, was könnt ihr denn so für Programmiersprachen ?
[Only registered and activated users can see links. Click Here To Register...]Quote:
C++ Code sieht nicht komisch aus, er sieht aus wie Code aussehen sollte. C# Code ist eben weniger kryptisch.
Stimmt, richtiger Programmierer ist auch jemand der nur ein bischen html kann, zumindest werden dir das die meisten Leute sagen die nur html und javascript kennen. Und dass es Sinn macht, mehrere Sprachen zu "können" steht wohl ausser Frage - denn wenn man sich nur mit C# beschäftigt, beschäftigt man sich sozusagen mit einer "vereinfachten Sprache" die einem die ganze Arbeit bei WinAPI / POSIX Methoden abnimmt und man nicht einen einzigen Pointer verwenden muss und auch Speicherverwaltung kein Thema ist. Und wenn man sich daran erstmal gewöhnt hat, ist der Ausflug in die unmanaged-C-Welt wie ein Acidtrip im Disneyland.Quote:
Es macht prinzipiell für Programmierer (besonders berufliche) immer Sinn, mehrere Sprachen zu können. Aber nur weil man kein C++ kann, ist man nicht gleich kein richtiger Programmierer.
Da ich hier auf Epvp bin und er meinte er habe nicht "viel" mit C++ gearbeitet würde ich sagen er meint den unterschied zwischenQuote:
[Only registered and activated users can see links. Click Here To Register...]
Inwiefern ist C# weniger kryptisch als C++?
Na und? Und was soll schlimm daran sein, wenn man sich etwas Komfort gönnt und die fehleranfällige hardwarenahe Programmierung anderen Leuten überlässt? Darauf basiert unsere Gesellschaft, das ganze nennt sich Arbeitsteilung.Quote:
Stimmt, richtiger Programmierer ist auch jemand der nur ein bischen html kann, zumindest werden dir das die meisten Leute sagen die nur html und javascript kennen. Und dass es Sinn macht, mehrere Sprachen zu "können" steht wohl ausser Frage - denn wenn man sich nur mit C# beschäftigt, beschäftigt man sich sozusagen mit einer "vereinfachten Sprache" die einem die ganze Arbeit bei WinAPI / POSIX Methoden abnimmt und man nicht einen einzigen Pointer verwenden muss und auch Speicherverwaltung kein Thema ist. Und wenn man sich daran erstmal gewöhnt hat, ist der Ausflug in die unmanaged-C-Welt wie ein Acidtrip im Disneyland.
Betriebssysteme und Treiber entwickeln. Du bist an Windows gebunden.Quote:
Dr. Coxxy du argumentierst gegen AutoIt weil es in deinen Augen totsler Müll ist mit dem Argument "Müll"
AutoIt kann nahezu alles ausse:
- OOP (unterstützt jedoch Objekte)
- Multitask-/threading
- DLLs erstellen
- Interrupts einbauen
So - Was deiner Meinung nach kann AutoIt nicht?
Doch, das ist schonmal ein wesentlicher Aspekt, welcher viele Bereiche für AutoIT unpassend macht.Quote:
Nur weil AutoIt langsam ist wenn man damit Berechnungen durchführt ist es noch lange nicht ungeeignet.
Nein, man nutzt es für Makros. Größere Programme würden dann schon eher in Sprachen wie C# oder ggf. C# und C++ geschrieben, zumindest würde das mehr Sinn als AutoIT machen.Quote:
Man nutzt AutoIt eben wofür man es braucht -> Programme zum Verwalten / Vereinfachen / ...
Ich weiß nicht, ob ich lachen oder weinen soll.Quote:
Immerhin ist AutoIt bereits in mehrfachen IT Branchen tätig - Während C++ ja grad angenehm von Java verdrängt wird ;)
"Fresst Scheisse - milliarden Fliegen können sich nicht irren!" Java verdrängt C++ weil man es leicht in die Köpfe von Studenten reinbekommt, leichter als alle anderen Sprachen. Einfach mal bei den Unis umschauen, auf einen Studenten der an der Uni C++ lernt kommen mindestens 15 Java-Studenten. Vor allem mischgebiete der Informatik lehren Java, weil man schlicht nicht die Zeit hat C++ zu lehren wenn das Studium nicht reine Informatik ist (Wirtschaftsinformatik, Bio-/Chemi-informatik, Angewandte Informatik, ...).Quote:
Du bist aber herzlich zu AutoIt[dot]de eingeladen um dir von denen mal sagen zu lassen was sache ist!
Immerhin ist AutoIt bereits in mehrfachen IT Branchen tätig - Während C++ ja grad angenehm von Java verdrängt wird
Nichts, aber für einen ambitionierten Einsteiger ist es doch ungünstig von vornherein auszuschließen solche Sachen machen zu wollen. Schlimm ist daran überhaupt nichts, generell finde ich es eher gut wenn sich Leute freiwillig mit Programmierung beschäftigen, egal in welcher Form. Nur legt man sich, meiner bescheidenen Meinung als beruflicher Programmierer nach, mit managed Code (java/.net) als erste Hochsprache viele viele unnötige Steine in den Weg, falls man jemals erwägen sollte native-code zu schreiben. Andersrum ist der wechsel von native-code auf managed code sehr einfach.Quote:
Na und? Und was soll schlimm daran sein, wenn man sich etwas Komfort gönnt und die fehleranfällige hardwarenahe Programmierung anderen Leuten überlässt?
Ist das bei C# anders?Quote:
Betriebssysteme und Treiber entwickeln. Du bist an Windows gebunden.
Um es genauer zu definieren: HTML ist eine Skriptsprache bzw. Auszeichnungssprache.Quote:
Html-Schreiber sind deshalb keine Programmierer, weil Html keine Programmiersprache ist, so einfach ist das.
Mit dem Buch habe ich auch C# gelernt. Ist zwar für meinen Geschmack etwas ZU einfach gehalten ("Kinder-Sprache") aber trotzdem gut.Quote:
Hier hab ich mal ein Buch zu C#... Wie findet ihr das ?
[Only registered and activated users can see links. Click Here To Register...]
Und wenn ich C# dann gut kann, auf was könnte ich dann umsteigen ?
Quelle: [Only registered and activated users can see links. Click Here To Register...]Quote:
Warum .NET ?
Vielleicht wissen Sie überhaupt noch nicht, was sich hinter .NET verbirgt? Vielleicht haben Sie sich für dieses Buch entschieden, ohne die Tragweite Ihres Entschlusses für .NET zu kennen. Ich möchte Ihnen das zunächst einmal erläutern.
Blicken wir ein paar Jahre zurück, sagen wir mal in die 90er-Jahre, und stellen wir uns die Frage, wie damals Anwendungen entwickelt worden sind und wie sich die IT-Welt während dieser Zeit entwickelt hat. Am Anfang des von uns betrachteten Jahrzehnts war der Hauptschauplatz der Desktop-PC; Netzwerke steckten noch mehr oder weniger in den Kinderschuhen. Grafische Benutzeroberflächen hielten langsam Einzug auf den Rechnern, das Internet war einem nur mehr oder weniger elitären Benutzerkreis bekannt und zugänglich. Desktop-PCs wurden mit immer besserer Hardware ausgestattet, ein Super-PC von 1990 galt zwei Jahre später als total veraltet und musste wegen der gestiegenen Anforderungen der Software an die Hardware oft zumindest drastisch aufgerüstet, wenn nicht sogar ersetzt werden.
Sie merken vielleicht an diesen wenigen Worten, wie dramatisch sich die IT-Welt seitdem verändert hat. Die Evolution betraf aber nicht nur Software und Hardware. Software muss, ehe sie den Benutzer bei seiner täglichen Arbeit unterstützen kann, entwickelt werden. Hier kochten viele Unternehmen ein eigenes Süppchen und warben bei den Entwicklern und Entscheidungsträgern mit Entwicklungsumgebungen, die zum einem auf den unterschiedlichsten Programmiersprachen aufsetzten und zudem auch noch mit eigenen Funktionsbibliotheken aufwarteten: Borlands Delphi, Microsofts Visual Basic, für die Puristen C und C++ – um nur die bekanntesten Vertreter zu nennen.
Die Vielfalt betraf jedoch nicht nur die Entwicklung der Software. Immer neue Plattformen, angepasst an den jeweils aktuellen Trend der Zeit, eroberten den Markt und verschwanden nicht selten auch schnell wieder. Die Unternehmensnetzwerke mussten mit der stürmischen Entwicklung Schritt halten, wurden komplexer und komplizierter und öffneten sich zunehmend auch der Welt nach außen.
In dieser Periode begann auch der Siegeszug des Internets. Obgleich es anfangs nur als weltweiter Verteiler statischer Dateninformationen positioniert war, wurden immer mehr Technologien ausgedacht, die die statischen Webseiten durch dynamische ersetzten, die dem Anwender nicht immer dieselben Informationen bereitstellten, sondern genau die, für die er sich interessierte. Datenbanken wurden hinter die Webserver geschaltet und fütterten die Webseiten mit dem aktuellsten Informationsstand.
Kluge Köpfe erkannten auch sehr schnell, dass die Spezifikationen des Internets sich auch dazu eignen, mehrere verschiedene Unternehmen zu koppeln. Damit wurde die Grundlage dafür geschaffen, dass Sie heute im Reisebüro oder im Internet-Browser eine Reise buchen können, die nicht nur den Flug, sondern gleichzeitig auch eine gültige Hotelzimmerbuchung, vielleicht sogar samt Mietwagen, beinhaltet – obwohl hierzu schon drei Informationsquellen mit unterschiedlicher Software abgezapft werden müssen: ein nicht ganz einfaches Unterfangen, wenn Sie bedenken, dass möglicherweise die Schnittstellen, über die die verschiedenen Komponenten sich zwangsläufig austauschen müssen, nicht einheitlich definiert sind.
Bei dieser rasanten Entwicklung der Möglichkeiten, Daten auszutauschen oder auch nur einfach weiterzuleiten, sollten Sie nicht vergessen, dass auch die Hardware eine ähnliche Entwicklung genommen hat. Ein Handy besitzen heutzutage schon die meisten schulpflichtigen Kinder, und Pocket-PCs, PDAs und andere Kleincomputer haben schon lange ihren Siegeszug angetreten, dessen Ende nicht im Entferntesten erkennbar ist.
An der Schnittstelle all dieser Vielfältigkeit steht der Entwickler. Denn was nützen die beste Hardware und die ausgeklügelsten Spezifikationen, wenn die Bits sich nicht den Weg von einem zum anderen Endpunkt bahnen? Für diesen Bitfluss wollen Sie als Entwickler sorgen. Damit fangen aber wegen der oben erwähnten Vielgestaltigkeit der IT-Welt die Probleme an: verschiedene Plattformen, unterschiedliche Programmiersprachen, mehrere Klassenbibliotheken, eine Vielzahl zu beachtender Spezifikationen usw.
Einen ersten Schritt in Richtung Vereinheitlichung beschritt die Firma Sun mit Java. Der Erfolg, den diese plattformunabhängige Sprache hatte und auch immer noch hat, war auch ein Zeichen für Microsoft, um das Entwicklerterrain zu kämpfen. Nach einer eingehenden Analyse der Anforderungen, die gegen Ende der 90er-Jahre an die damalige Software gestellt wurden, sowie einer Trendanalyse der Folgejahre wurde das .NET Framework entwickelt. Dabei konnte Microsoft die Gunst der späten Stunde nutzen und die Nachteile und Schwachpunkte, die jedes Produkt – also auch Java – hat, durch neue Ideen ausmerzen.
Nein, .NET ist natürlich auch kein Heilsbringer und wird sicherlich nicht die Menschheit überdauern. Aber nach heutigen Maßstäben ist .NET das wahrscheinlich effizienteste Framework, in dessen Mittelpunkt die .NET Klassenbibliothek steht. Diese bietet Ihnen alles, was Sie zum Entwickeln brauchen – egal, ob es sich um eine einfache Anwendung handelt, die nur ein paar Daten anzeigt, oder um eine Unternehmensanwendung großen Stils. Sie können Desktop-Anwendungen genauso erstellen wie eine hochkomplexe Internet-Anwendung. Sie können die Office-Produkte damit programmieren, fremde Datenquellen anzapfen, Programme für Ihren Pocket-PC schreiben und vieles mehr. Dazu müssen Sie sich nicht immer wieder in neue Programmiersprachen und neue Entwicklungsumgebungen einarbeiten, denn alles ist wie aus einem Guss.
Ich möchte jetzt nicht den Eindruck vermitteln, dass alles ganz einfach ist und Sie demnächst ganz tolle Anwendungen mit den unglaublichsten Features präsentieren können. Dafür ist die .NET-Klassenbibliothek einfach zu umfangreich. Aber Sie können sich darauf verlassen, dass Sie sich nun auf das Wesentliche Ihrer Arbeit konzentrieren können: Sie arbeiten unabhängig vom Typ der zu entwickelnden Anwendung immer in derselben Umgebung, zum Beispiel mit Visual Studio 2010. Sie brauchen sich nicht immer wieder aufs Neue in andere Programmiersprachen einzuarbeiten, sondern können auf gewonnene Kenntnisse aufsetzen. Und Ihnen werden alle Mittel an die Hand gegeben, um auf wirklich einfachste Weise mit fremden Anwendungen zu kommunizieren, wenn sich diese an bestimmten, allgemein anerkannten Spezifikationen orientieren. XML ist hierbei das Zauberwort, das das alles ermöglicht.
Eine Funktionsbibliothek (eigentlich müsste ich an dieser Stelle richtigerweise von einer Klassenbibliothek sprechen) ist nur so gut, wie sie auch zukünftige Anforderungen befriedigen kann. Dass .NET hier architektonisch den richtigen Weg beschritten hat, beweist die derzeit aktuelle Version 4.0.
Genau an dieser Stelle darf ich Ihnen natürlich auch den großen Haken nicht verschweigen, den die ansonsten so hervorragende Umgebung hat: Sie werden mit Sicherheit niemals alle Tiefen von .NET ergründen. Als jemand, der von der ersten Beta-Version an mit dabei war, muss ich sagen, dass ich mich immer wieder aufs Neue davon überraschen lassen muss, welche Fähigkeiten in der .NET-Klassenbibliothek schlummern. Verabschieden Sie sich von der Idee, jemals alle Klassen mit ihren Fähigkeiten erfassen zu können. Die Klassenbibliothek ist einfach zu mächtig.
Quote:
Jaa, das Buch was du vorgeschlagen hast wollte ich mir villt kaufen ^^ (Hab schon woanders gesehen ;) )
Aber wenn du sagst, das das Buch doch ehr für Leute sind die schon "bisschen was" drauf haben, hol ich mir das Buch für 25 Euro :D
Das ist Unsinn. Der Java Optimierer ist verdammt gut und durch JIT-Kompilierung und -Optimierung ist Java nur gering langsamer als guter C++-Code.Quote:
JAVA:
Gut für diejenigen denen reines C++ zu schwer ist. Frisst aber sehr viel Ressourcen.
Ohje, das ist absoluter Quatsch! Jeh nachdem wie ambitioniert du bist schreibst du in unter einem Jahr schönsten C++-Code. Und wie bereits mehrfach gesagt und von mir gezeigt wurde unterscheidet sich C++ rein von der Syntax so gut wie gar nicht von C#.Quote:
C++:
Um reines C++ zu lernen und zu können musst du erstmal studieren und dann brauchst du auch noch geschätzte 5-10 Jahre Erfahrung bis du dich in die Materie eingearbeitet hast.
Was ist der Unterschied zwischen C++ und C++ mit DirectX? oOQuote:
C++ (mit DirectX)
In Ordnung, aber nicht Platformunabhängig.
C# ist nicht an Windows PCs gebunden, such mal im Internet nach Mono. Auf den zweiten Satz gehe ich jetzt mal lieber nicht ein, darüber kann man ganze Bücher schreiben und dass auch das Unsinn ist, muss ich glaube ich nicht sagen.Quote:
C#:
An Windows PCs gebunden und ist einfach zu lernen. Mit C# kann man auch (3D-)Spiele Programmieren (XNA) - warum also als Anfänger C++ ? C# liefert schon nach einer Woche ein relativ anschauliches Ergebnis.