marcellus
Kaiser
Ok jetzt blick ich überhaupt nicht mehr durch, wieso ist openoffice dann so verdammt langsam und was für ein vorzeigeprogramm hat java, openoffice scheint ja auszuscheiden.
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion erfordert derzeit den Zugriff auf die Seite über den integrierten Safari-Browser.
Eclipse finden ja viele Leute ganz supertoll, mir dagegen gefällt NetBeans besser, aber das ist u. a. Geschmacksache.Ok jetzt blick ich überhaupt nicht mehr durch, wieso ist openoffice dann so verdammt langsam und was für ein vorzeigeprogramm hat java, openoffice scheint ja auszuscheiden.
Welchen Grund gibt es, etwas nochmal aufzuschreiben, was jemand anders schonmal sehr gut formuliert hat? Aber gut, Du kannst gerne noch ein paar Gründe gegen C hören:@Hello World: Wer so wie du gegen C/C++ wettert und "fremde" Argumente heranziehen muß um das zu begründen, hat ganz offensichtlich keine Ahnung.
Wenn Assembler unbedingt nötig ist, kann man ja P/Invoke oder JNI für geschwindigkeitskritische Teile verwenden.Schonmal in Java oder C# Inline-Assembler genutzt oder in einer dieser Sprachen ein minimales Betriebssystem geschrieben? Vielleicht auch einfach mal Hardware direkt damit angesteuert? Offensichtlich nicht, denn dann wüßtest du, was das für ein Krampf ist.
Das ist kein Argument für C, sondern gegen monolithische Kernel. Für hardwarenahe Programmierung gibt es wesentlich bessere Alternativen als C. Man denke an Ada, welches überall da eingesetzt wird, wo es auf unbedingte Stabilität ankommt, z. B. Militär, Flugsteuerung, Kernkraftwerke usw., und das hat verdammt gute Gründe. Es werden auch neue Low-Level-Programmiersprachen entwickelt, z. B. BitCWer unter Linux kein C lernt und programmieren will, wird damit leben müssen, daß er niemals direkt ins System eingreifen kann. Das geht nunmal am einfachsten mit C, da der Kernel in C geschrieben ist.
Wenn Du mein Posting mal richtig gelesen hättest, wäre Dir vielleicht auch aufgefallen, dass es mir überhaupt nicht um prozedural vs. oo geht, im Gegenteil: Bei dem von mir geposteten Link wurde C mit Modula-2 verglichen, welches ebenfalls prozedural ist.Für Anwendungsentwicklung mögen streng objektorientierte Sprachen ihren Sinn machen (leichtere Wartbarkeit, besseres Management bei großen Projekten usw.), in der Systementwicklung sind sie aber nunmal großteils sinnlos, denn dort kommt es auf Performance an und nicht auf "da habt ihr tausende Vorschriften, an die ihr euch halten müßt" und "wir laden euch mal riesige Klassen, auch wenn ihr die nicht vollständig nutzt, RAM hat ja eh jeder genug". Was bringt mir eine Sprache, in der ich die Speicherverwaltung kaum bis garnicht beeinflussen kann, wenn ich ein System entwicklen will? Garnichts!
Blabla...Selbst bei M$ ist der Systemkern in C++ und Assembler geschrieben. Was denkst du wohl, warum sie kein C# dafür nutzen? Genau, weil es schlicht und einfach nicht möglich ist damit einen Systemkern zu schreiben.
DU hältst an dem völlig idiotischen Dogma fest, dass Low-Level-Programmierung nur mit C möglich sei. Und wenn sich jemand erlaubt, C zu kritisieren, dann hörst Du nur das, was Du hören willst, statt mal zu lesen, was Dein Diskussionspartner *wirklich* geschrieben hat. Schau DU erstmal über DEINEN Tellerrand, bevor Du anderen unterstellst, das nicht zu tun.Jede Sprache hat ihre Vor- und Nachteile und auch Sprachen, die strenge OO-Programmierung verlangen haben diese. Ein Java- oder C#-Entwickler will nur die Schwächen seiner "Lieblingssprache" genauso wenig sehen, wie ein C- oder C++-Entwickler und hier liegt das größte Problem. Oder kurz gesagt: Solche Fanatiker wie du, die nichtmal über ihren Tellerrand blicken und irgendwelchen Dogmen anderer Leute hinterher rennen, widern mich an.
Kein Kommentar...Doch zurück zum Thema, denn hier wurde nach C oder C++ gefragt und nicht nach C/C++ und andere Sprachen.
Trotzdem ist es schlecht, in einem C++-Programm malloc() statt new zu benutzen, und das ist nur ein Beispiel, wo sich C und C++ grundlegend unterscheiden.Würde ich mich heutzutage nochmal zwischen diesen beiden Sprachen entscheiden müssen, würde ich C++ bevorzugen, denn damit beherrscht man auch C. Wenn man sich erstmal an C gewöhnt hat, ist die Umstellung auf C++ wesentlich schwieriger als umgekehrt. So zumindest meine Einschätzung. Alle Sprachelemente von C gibt es auch in C++. Umgekehrt ist das nicht der Fall.
Um die Postings anderer Leute auf eine Art und Weise zu ignorieren wie DU es tust, bedarf es schon einiger Übung auf diesem Gebiet. Aber Leute wie Du hören halt nur das, was sie hören wollen, damit sie den Diskussionspartner hinterher möglichst gut als engstirnigen Fanatiker Darstellen können.@Hello World: Siehst du, genau das meinte ich... Du siehst "deine" Vorteile in OO-Programmierung,
Dann weise ich nochmal auf meine (unvollständige!) Liste mit Nachteilen von C hin. *Kein einziger* davon bezieht sich auf die prozedurale Natur von C.Wenn Du mein Posting mal richtig gelesen hättest, wäre Dir vielleicht auch aufgefallen, dass es mir überhaupt nicht um prozedural vs. oo geht,
Die von mir genannten Nachteile haben auch nichts mit "mehr Freiheiten" zu tun. Man könnte *jedes* dieser Features auch implementieren *ohne* dem Programmierer irgendwelche Freiheiten zu nehmen.ich sehe aber durchaus auch Vorteile in Sprachen, die mir mehr Freiheiten lassen.
Das ist kein Fakt, sondern ein weiteres Deiner Dogmen. Es gibt durchaus objektive Kriterien, nach denen man eine Sprache bewerten kannEs ist einfach mal Fakt, daß _jede_ Sprache ihre Vor- und Nachteile hat und es eine reine Geschmackssache ist, welche man nutzt.
Du legst mir hier Sachen in den Mund, die ich nie gesagt habe! Weder in meiner Liste von Nachteilen von C noch auf der verlinkten Seite wurde je die manuelle Speicherverwaltung kritisiert.Wenn du dich nicht um Speicherverwaltung kümmern willst, dann bittesehr, laß es halt, aber akzeptiere einfach, daß es Menschen gibt, die gern effektive Programme schreiben, die nicht unnötig Ressourcen fressen.
C hat außer der weiten Verbreitung keine Vorteile gegenüber moderneren Low-Level-Sprachen wie Ada.Wie dir sicherlich (oder vermutlich auch nicht) aufgefallen ist, habe ich u.a. darauf aufmerksam gemacht, wo OO-Sprachen ihre Vor- und Nachteile haben. Die Vorteile von C willst du ganz offensichtlich nicht sehen, sondern nur die Nachteile.
Wieder einmal reißt Du Äußerungen aus dem Zusammenhang und versagst völlig wenn es darum geht, das zu lesen was dasteht und nicht das, wovon Du gerne hättest, dass es dasteht. Hier nochmal meine Äußerung bzgl. Arrays in C:Außerdem zeigt mir deine Behauptung, daß es keine Arrays in C gäbe, daß du offenbar noch nie in C programmiert hast und daher ganz offensichtlich hier von etwas redest, wovon du keine Ahnung hast.
Schonmal gemerkt, dass viele Leute nicht int main(int argc, char* argv[]) schreiben, sondern int main(int argc, char** argv)? Ein Array in C *ist* ein verkappter Zeiger, mit dem kleinen Unterschied, dass der Speicher auf dem Stack reserviert wird statt auf dem Heap.Keine Arrays, nur verkappte Zeiger.
Ich gebs auf. Was hast Du nur für einen Komplex mit OO-Sprachen? Liest Du überhaupt die Postings anderer Leute, oder willst Du nur trollen?Ich hoffe nur, daß du kein Linux benutzt, denn dort ist fast der komplette Kernel in "bösem C" geschrieben (der Rest ist "böses Assembler-Zeug"). Wir können uns aber gern mal auf der Kernel-Mailingliste über Sinn und Unsinn von OO-Sprachen in der Systemprogrammierung unterhalten.
Du mich auch mal...<belanglosese Getrolle>
Ist euch schon mal aufgefallen, dass ab einem bestimmten Erfahrungslevel die Sprache zur totalen Nebensache wird?
Gruß, Lord Kefir
Und genau aus diesem Grund sollte sie so einfach, transparent und unauffällig wie möglich sein.
Eclipse ist eine java Entwicklungsumgebung, die werd ich nicht wirklich kennen, wenn ich keine ahnung hab von Java. Es muss doch irgendein vorzeige java programm geben, dass jeder kennt. Wwi so bekannt wie open office, firefox, gimp, bash oder irgendwas das ich vllt schon mal zwischen den Fingern gehabt haben könnte.
... oder willst Du nur trollen?
...
Du mich auch mal...
Wikipedia schrieb:Im Internet werden jene Menschen als Troll bezeichnet, die „Beiträge“ verschicken, mit denen sie erkennbar provozieren wollen, ohne einen wirklichen Beitrag zur Diskussion zu leisten.
Eclipse ist eine java Entwicklungsumgebung, die werd ich nicht wirklich kennen, wenn ich keine ahnung hab von Java. Es muss doch irgendein vorzeige java programm geben, dass jeder kennt. Wwi so bekannt wie open office, firefox, gimp, bash oder irgendwas das ich vllt schon mal zwischen den Fingern gehabt haben könnte.
In 50 Jahren ist es eh egal, in welcher Sprache man programmiert. Denn dann wird nicht mehr objektorientiert/komponentenorientert programmiert, sondern vielmehr modellorientert.
Der Softwareentwickler entwirft Modelle und wirft einen Transformator an. Dieser Transformator übersetzt das Modell in die gewünschte Sprache...
Ich habe zwar noch keine Ahnung von C, bin aber der Meinung, dass ein Minimum an Respekt gegenüber der Sprache und deren Nutzern angebracht ist...C ist eine inkonsistente Scheißsprache
Interessanter Link...ich werd mir mal die Testversion runterladen und ausprobieren, was es mehr kann als AndroMDANunja, derzeit bezweifel ich noch, ob sich das durchsetzen kann, da die meisten Programmierer sich dagegen sträuben. Wir machen in unserer Firma gerade die ersten Erfahrungen mit NetCCM und unsere Entwickler sind alles andere als begeistert davon.
MDA ist ein Standard für die modellgetriebene Entwicklung.Solange es da keine Standards gibt, wird es schwierig diese Technologie einzuführen, da ein Entwickler für sein Produkt immer auf eine Entwicklungsumgebung angewiesen ist.
Würde ich jetzt z.B. ein OpenSource-Projekt mit NetCCM umsetzen, bräuchte jede/r, der/die mitentwickeln will, auch NetCCM. Er/Sie könnte also nicht mehr zur Lieblings-IDE greifen, sondern müßte sich erstmal in eine Software neu einarbeiten, der er/sie bisher evtl. noch nie benutzt hat.
Hinzu kommt, daß die meisten Entwickler wissen wollen, wie der Source aussieht um z.B. Optimierungen besser durchzuführen. Mit solchen Tools ist Optimierung aber nur noch bedingt möglich. Darin sehen bei uns die Leute die größte Schwäche.
Ist die Optimierung abgeschlossen, treten Probleme auf, wenn man dann z.B. für eine Erweiterung wieder zum Modellierungstool greifen will.
Dein Verhalten ist klassisch für jemanden, der offensichtlich keine Argumente mehr hat. Wer wirklich Ahnung hat, der ist auch bereit das einzugestehen. Leute wie Du dagegen versuchen, den Diskussionspartner lächerlich zu machen...Du hast einen stressigen Tag wunderbar erheitert. Ich mußte fast aufpassen, daß unser Projektleiter nicht vom Stuhl fällt vor lachen. Danke dafür.
Das ist von vorn bis hinten kompletter Schwachsinn. Zunächst mal gibt es die Möglichkeit, Teile des Kernels in Module auszulagern, schon viel länger als Linux 2.6. Ferner ist es ist völlig egal, ob Du einen Treiber als Modul oder direkt in den Kernel kompilierst. Solange ein Treiber nicht in einem separaten Adressbereich ausgeführt wird (sprich: in einem separaten Prozess), kann auch prinzipiell jeder Treiber jeden anderen stören oder das System zum Absturz bringen. Linux ist monolithisch, und das lässt sich auch nicht ändern, ohne _sehr_ große Teile des Kernels neu zu schreiben. Außerdem hält Linus Torvalds nicht viel von Microkernel-Systemen, weswegen das nicht passieren wird.Im übrigen ist der Linux-Kernel schon seit Version 2.6 nicht mehr als strikt monolithisch zu bezeichnen, sonst würde nämlich das komplette System abstürzen, wenn mal ein Treiber-Modul versagt. Man kann ihn monolithisch erstellen, muß es aber nicht. Wenn man es tut, hat man einen schnelleren, aber auch anfälligeren Kernel. Tut man es nicht und bindet alle Treiber/Hardware-Unterstützungen als Modul ein, ist er zwar etwas langsamer, dafür spielt es dann aber auch keine Rolle mehr, wenn mal ein einzelner Treiber Fehler verursacht, solange es nicht einen Treiber für elementare Funktionen (HD-Zugriff u.a.) des Rechners betrifft.
Na dann muss ich Dir wohl ein bisschen auf die Sprünge helfen. Ein Microkernel-System zeichnet sich dadurch aus, dass alles, was nicht absolut essenziell ist (sprich Speicher- und Prozessverwaltung sowie IPC) in separaten Prozessen läuft. Diese kommunizieren über wohldefinierte Protokolle miteinander, die sich - und das ist das wichtige - prinzipiell in jeder Sprache implementieren lassen. Und das ist ein gewaltiger Unterschied zu Linux, wo die Entwicklung von Treibern in anderen Sprachen als C praktisch kaum möglich ist (sieht man von FUSE ab, bei dem Dateisysteme im Userspace implementiert werden). Das Buildsystem, die Schnittstellen, einfach alles ist irgendwie C-spezifisch.Das nur als Nachtrag zu "Das ist kein Argument für C, sondern gegen monolithische Kernel." (Zitat von Hello World als Reaktion darauf, als ich sagte, daß man für die Kernel-Entwicklung unter Linux C benötigt.). Ich hoffe, daß ich nicht der einzige bin, der keinen Sinnzusammenhang in seiner Äußerung sieht.