Hallo StageTwo...
Ich höre immer wieder das man direkt von Anfang an unter einem Unix / Linux Betriebssystem programmieren sollte.
Warum? Wo ist der Unterschied? Oder ist es wegen der Shell?
Coden unter Unix / Linux
-
- [C#]
- Sharpo
-
-
-
Also C# schonmal gar nicht^^
Das ist in meinen Augen ne schandtat!
Da C# unter Linux nur Emuliert wird hast du 0,0,nix Performance, es ist mega anfällig für i-welche bugs und sonstiges.
Ein Programm was unter Windoof für 1000000 Schleifendurchläufe 3 Sekunden braucht, braucht unter Linux bis zu 30 Sekunden. ( Abhängig vom CPU und der Version des Emulators )
Also wenn Linux dann Java oder C++.
Abgesehen davon finde ich sowieso das es Quatsch ist.... sind meine endanwendungen für Linux entwickle ich sie in einer Linux Umgebung. Sind sie für Windoof entwickle ich auf Windoof.
Warum?
Weil es beim Entwickeln wesentlich an Zeit spart wenn man nur auf Build & Run drücken muss und das Teil läuft.
Weil dann Errors die Systemabhängig sind schneller Auffallen.Linux selber ist eigendlich eher was für Leute die nix Zocken wollen aber dafür halt sehr schnell und "kaum" Anfällig.
Also wenn du mal was für Linux entwickeln musst setz dir nen Virtuelles Linux auf und entwickle dadrin.
-
Ich weiß ja nicht wo du das her hast, aber ich hab davon noch nichts gehört ;).
C# Code wirst du eh nicht unter Linux schreiben können. Das .Net Framework kommt von Windows und ist auch nur auf Windows verfügbar. Klar mit Mono kann man .Net Programme auch unter Linux ausführen, aber nen Compiler bzw. ne IDE für c# unter Linux kenn ich nicht.//edit: Ouhja Sick^ war ausführlicher und schneller
-
-
Klar gedit Text Editor
-
Klar gedit Text Editor
Von ner IDE erwarte ich ein bisschen mehr als ein einfacher Texteditor -
-
-
Wenn du unbedingt unter linux coden willst, schau dir mal qt an. Alles mit .NET ist aber schwachfug unter linux
Sent from my GT-I9100 using Tapatalk
-
Doch, man kann auch unter Linux genauso mit Mono Programme sowohl ausführen als auch schreiben und kompilieren. Als IDE sei da z.B. mal MonoDevelop genannt, welches auf SharpDevelop basiert (war ursprünglich nur für C# gedacht, daher der Name). Mit MonoDevelop ist nocht VB.Net hinzugekommen, allerdings wird bislang nur C# voll unterstützt, VB.Net ist da noch nich ganz auf der Linie. Damit lässt sich übrigens auch unter Windows arbeiten, wer keine Lust auf VisualStudio hat (z.B. weil es pervers viel Speicherplatz braucht).
Abgesehn davon braucht man keine IDE, weder für .NET-Sprachen, noch für sonst wie eine Sprache. Die IDE macht nix anderes, als den Sourcecode (welcher eine simple Textdatei ist) zum Compiler weiterreichen und die Compiler sind nix anderes als command line tools.
Zum "Emulieren": Auch bei Windows werden die .NET-Programme nicht direkt ausgeführt. Der Bytecode muss genauso von der CLR interpretiert werden, bei Mono passiert nix anderes (und Java auch nicht). Mag sein, dass die mit Mono ausgeführten Programme etwas länger dauern, als die durch .Net ausgeführten, aber .NET ist auch wesentlich weiter in der Entwicklung. Mono ist ja nicht ein eigenes System, die versuchen ja .NET so gut es geht zu kopieren, denn sowohl der Sourcecode als auch der Bytecode sollen ja identisch sein und identisch behandelt werden. Und wir alle wissen, wie gern Microsoft sich in die Karten schauen lässt
Aber ich rate ebenfalls davon ab unter Linux mit Mono zu arbeiten. Es ist einfach nicht so weit entwickelt wie .NET und über die Stabilität kann ich auch nix sagen. Das würde ich nur in Erwägung ziehen, wenn das Programm plattformunabhängig ausführbar sein soll. Wenn du aber weißt, dass es direkt für Linux geschrieben wird und nie Windows in die Hände fallen wird, dann gleich Linux-like programmieren. Bei Kleinigkeiten sind das meist einfach ganz normale shell-Skripte, ansonsten sind diverse Tools in python geschrieben und C und C++ sind nach wie vor Standardsprachen.
Ansonsten hat Sick das eigentlich ganz gut erklärt. Man programmiert auf der Plattform, auf der ein Programm später laufen soll. Zum einen verhalten sich alle Betriebssysteme unterschiedlich, wie willst du also verhaltensbasierte Fehler finden, wenn du unter einer anderen Plattform entwickelst, als das Programm später laufen soll. Das Testen dauert durch das Verschieben auch viel länger und dazu kommt noch, dass es einem nix bringt, wenn man sich in ein System richtig eingearbeitet hat und ein Programm für ein völlig anderes schreiben will, da die APIs und die Vorgehensweisen völlig unterschiedlich sind. Selbst unter plattformunabhängigen Sprachen, wie Java, ist es nicht immer so, dass die Programme sich immer gleich verhalten und sobald plattformabhängige Sachen hinzu kommen, ist eh Ende. Also die Idee schlag dir mal ganz flott ausm Kopf.
-
XD der Artikel ist wirklich zum brüllen HAHAHA
Wo findet man sowas?
Und gibts davon noch mehr Artikel? XD WIE HAMMER HART GEIL^^Den muss ich meinem Teamleiter zeigen XXXD
-
-
Bin ich zufällig drauf gestoßen. Aber wenn der CCC den Text freiweillig übersetzt und auf ihrer Seite online stellen , muss doch was Wahres dran sein oder?
-
Ich denke das Häcker wirklich aufbauen... aber nur indem sie was Kaputt machen.
Sie finden die Fehler im System und jenachdem wie sie die Entdeckung behandeln sind sie Hackeer oder Cracker.Aber man ist nicht automatisch ein hacker nur weil man Coden kann und was von nem OS versteht...
Der Artikel sieht für mich aus als ob er für kleine kinder bestimmt ist die immer schonmal nen hacker werden wollten^^
-
Habe ich auch nicht gedacht.
Aber die Grundaussage des Textes ist ja im Prinzip:
Hacker = Gute Programmierer , finden Fehler und bessern diese aus , Helfen anderen Hackern bei ihrer Fehlersuche == Guter Mensch
Cracker = Gute Programmierer , finden Fehler und richten damit Schaden an == Schlechter Mensch -