C# Syntax Ähnliche Native Programmiersprache
-
omg... Ich möchte gar nicht wissen wieviele deiner Posts hier im Forum einfach nur Sinnlos sind.
Wer noch was weiß wär ich noch immer dankbar für. An alle anderen. Einfach mal die Fresse halten, diskutieren meinetwegen gerne, aber solche ads Typen wie Knivil das geht zu weit. Das ist missbrauch dieses Threads und des gesamten Forums...
Mir solche Sachen zu erstellen ist wirklich frech. Und c++ ähnelt c# von der Syntax nicht wirklich.
Jedenfalls Knivil krieg Niveau und "Trollig" ist kein Wort. Solltest du in deiner nächsten Antwort hier wieder nur irgendwelchen Streit anzetteln dann wäre es klüger, dir einen zu drehen und in die Ecke zum beruhigen zu verziehen.
An alle die mir tatsächlich versuchen gute Ähnliche Sprachen zeigen danke ich hier nochmals sehr!
-
Deine Name ist Program oder?
Während knivel Aussagen als "blabl" bezeichnet hat, wirst du dagegen persönlich - das ist nicht wirklich besserUnd ich geb knivil vollkommen Recht - das meiste ist nichts anderes als rumlabern ohne Fakten zu bringen.
Es ist noch in der in der aktiven Entwicklung. Und das ist niemals schlecht.
Das spricht wohl gerade für C# und die .Net Plattform. Bisher hat jede Version zahlreiche Neuerungen gebracht und der Entwicklungsprozess ist auch offen. Es gibt immer CTPs wo man die kommenden Neuerungen schon früh ausprobieren kann.
Und c++ ähnelt c# von der Syntax nicht wirklich.
Klar ist "Ähnlichkeit" relativ, aber wenn man die jeweils sprachspezifischen Eigenheiten der Sprachen sind sie sehr ähnlich. Egal ob nun die Schleifenkonstrukte oder z.B. Methodenaufrufe, die sehen in C# aus wie in C++ wie in Java wie in ...
An alle anderen. Einfach mal die Fresse halten...
Schön wie du hier erstmal sämtliche Leser beleidigst
@huh:
Mit Ada geb ich dir völlig recht, aber bei den viel verbreiteteren Sprachen wie C oder C++ hat man tierisch Probleme damit. Man muss sich nur die Release Notes zu den Software Hotfixes der großen Hersteller anschaun. Egal ob Microsoft, Adobe oder sonstwer - "Mögliche Sicherheitslücke durch Pufferüberlauf" ist die bei weitem häufigste Ursache und das liegt daran das Sprachen wie C oder C++ die Freiheit erlauben beliebig auf Speicher zuzugreifen und da Programmierer nunmal nicht perfekt sind, entstehen dann die Probleme. VMs wie bei Java oder .Net verbieten den direkten Zugriff auf den Speicher und damit ist die Gefahr falsch darauf zuzugreifen view geringer.Der Vergleich der Standardbibliotheken kam unter der Annahme das mit "Leistungsfähigkeit" die verschiedenste Aufgaben möglichst schnell zu erledigen. Damit mein ich nicht die Ausführung, sondern wie schnell lös ich eine Problemstellung mit mir zur Verfügung stehender Funktionalität und da bietet eine große Klassenbibliothek natürlich Vorteile.
-
Zwergli schrieb:
Damit mein ich nicht die Ausführung, sondern wie schnell lös ich eine Problemstellung mit mir zur Verfügung stehender Funktionalität und da bietet eine große Klassenbibliothek natürlich Vorteile.
Aufgabe: Erstelle einen std::vector/eine ArrayList mit 10 000 Zufallszahlen. Ziehe 2 weitere Zufallszahlen im Bereich [0, 10 000), ab der ersten bis (exklusive) der zweiten nimmst du alle Zufallszahlen und sortierst sie in absteigender Reihenfolge. Danach schreibst du alle Primzahlen aus der Sequenz in umgekehrter Reihenfolge in die Datei "foobar".
Sagen wir, um den Primzahlentest zu vereinfachen, dürfen die Zufallszahlen nur im Bereich [2, 100) liegen.
Löse die Aufgabe in C++ und in entweder Java oder C#. Viel Spaß in letzteren Sprachen.
-
Wie soll deine Aufgabe ein Argumentation darstellen. Bei der Lösung ist es sehr Abhängigkeit wie stark er seine Programmiersprache kennt. Also ich würde sie in Scala lösen und Spaß haben, dazu kommt noch der Aspekt, dass die Lösung hochstwahrscheinlich noch multithreaded sein würde.
-
Meine Aufgabe stellt einen Gegenbeweis zu der Aussage über die einfacher verwendbare und praktischere Library von Java/C# dar. Ich hab die Lösung in C++ im Kopf, das wären ein paar Zeilen. über das Managed-Code-pendant möchte ich gar nicht nachdenken.
-
314159265358979 schrieb:
Zwergli schrieb:
Damit mein ich nicht die Ausführung, sondern wie schnell lös ich eine Problemstellung mit mir zur Verfügung stehender Funktionalität und da bietet eine große Klassenbibliothek natürlich Vorteile.
Aufgabe: Erstelle einen std::vector/eine ArrayList mit 10 000 Zufallszahlen...
In der Regel setzt sich ein Projekt nicht aus Kleinstaufgaben zusammen, sondern ist eine Kombination aus vielen Bereichen (z.B. UI, Datenbankzugriffe, Berechnungen...).
Wenn ich meine "üblichen" Projektumfelder betrachte, wäre C# was den Code- und Zeitaufwand (bezogen auf die Implementierung, nicht Laufzeit) betrifft immer C++ überlegen gewesen. Einzelne Teilaufgaben hätten sicherlich in C++ weniger Aufwand bedeutet, aber bezogen auf das Ganze hätte ich Schätzungsweise die Hälfte des Aufwandes in C# gespart.
Das soll jetzt keine Wertung von C# versus C++ sein, beide haben ihre Vor- und Nachteile je nach Aufgabenfeld. Aber gerade was Implementierungsaufwand und Toolunterstützung (Refactoringwerkzeuge etc.) angeht sehe ich Vorteile in C#.
-
Das streite ich gar nicht ab. Aber Datenstrukturen und Algorithmen gehören zu den grundlegensten Dingen überhaupt, und da gibts massive Mängel sowohl in Java als auch in C#. Wenn ich möchte, finde ich immer einen Fall, in dem eine Sprache besser als eine andere ist. Mir kam die Aussage nur so rüber, als würde er meinen, dass das allgemein so wäre.
-
314159265358979 schrieb:
Löse die Aufgabe in C++ und in entweder Java oder C#. Viel Spaß in letzteren Sprachen.
Ich löse sie dir in C# wenn du mir deine C++ Implementation zeigst. Da kann ich problemlos zugeben dass ich keine optimale Lösung in C++ hinbekommen werde.
Wobei ich aber betonen möchte, dass die Aufgabe ja die reine Abbildung eines Algorithmus ist. Damit bildet man ja nicht den Umfang einer Klassenbibliothek ab. Abgesehen davon kann man so ne Aufgabe ja beliebig stellen. Würde sie lauten "Filtere den Inhalt einer Textdatei anhand eines regulären Ausdrucks xyz" dann hast du in C++ schon verloren weil die Standardbibliothek in der aktuellen Version keine regulären Ausdrücke kann. Oder wo ist das Pendant zur WCF in C++? Da gibts nichts vergleichbar umfangreiches, einheitliches.
-
Regex gibts sehr wohl, nämlich im TR1.
Eine C++ Lösung bekommst du gleich.
-
Challenge accepted, let's fight
-
in ein paar minuten hingerotzt ohne viel nachzudenken.
class Program { static void Main(string[] args) { string filepath = @"C:\test.txt"; const int count = 10000; const int maxNumber = 100; Random rand = new Random(Environment.TickCount); var rands = Enumerable.Range(0, count).Select(r => rand.Next(maxNumber)); int low = rand.Next(count); int high = rand.Next(count - low); var result = rands .Skip(low) .Take(high) .Reverse() .Where(i => i == 2 || i > 2 && Enumerable.Range(2, (int)Math.Sqrt(i)) .All(c => i % c != 0)) .Select(i => i.ToString()); File.WriteAllLines(filepath, result.ToArray()); Console.ReadKey(true); } }
-
Ideone will gerade nicht so richtig, dauert noch etwas.
-
314159265358979 schrieb:
Ideone will gerade nicht so richtig, dauert noch etwas.
Hahahahaha
-
So, bitteschön: http://ideone.com/tV9w2
#include <vector> #include <algorithm> #include <iterator> #include <iostream> #include <cstdlib> // rand(), srand() int main() { std::srand(42); const int n = 100; // Etwas weniger, damit die Konsole nicht ganz so voll wird. std::vector<int> v; std::generate_n(std::back_inserter(v), n, [](){ return rand() % 98 + 2; }); // Hier wäre noch eine Zeile "std::ostream os("foobar");", da ich hier nur auf die Konsole ausgebe std::copy_if(v.rbegin(), v.rend(), std::ostream_iterator<int>(std::cout, "\n"), // Statt der Datei in die Konsole [](int n) { return n == 2 || (n % 2 != 0 && n % 3 != 0 && n % 5 != 0 && n % 7 != 0 && n % 11 != 0); // Quick & Dirty } ); }
Kürzer und flotter, wobei man da noch jede Menge optimieren könnte.
-
Fehlt bei Dir:
"Ziehe 2 weitere Zufallszahlen im Bereich [0, 10 000), ab der ersten bis (exklusive) der zweiten nimmst du alle Zufallszahlen"
Keine Dateiausgabe.
Nur Zahlen bis 100.
Deine Aufgabe war sowieso verbuggt. Das umgekehrte Sortieren am Ende macht das Sortieren der Teilfolge überflüssig, deswegen habe ich nur das erstmalige absteigende Sortieren drin.
Dein Code ist scheiße-hässlich. Nichts für ungut. Ist ja nur Spaß
-
Ich habe dir die Kommentare hingeschrieben, Klugscheißer. Damit man sieht, dass die Ergebnisse auch wirklich stimmen.
Das Sortieren hab ich vergessen, denk dir eine Zeile dazu.
Außerdem ist das kein zweites sortieren. Was, wenn ich die Sequenz weiterverwenden möchte und nur umgedreht ausgeben möchte?
Zu deinem Code: Ebenfalls scheiße hässlich.
-
Bleib mal locker. Es gibt noch eine Welt außerhalb von C++. Deine Besessenheit fällt mir nicht zum ersten mal auf.
"Meine Aufgabe stellt einen Gegenbeweis zu der Aussage über die einfacher verwendbare und praktischere Library von Java/C# dar"
Hast Du schon mal an echten Projekten gearbeitet?
-
Verdammt meine Scala-IDE ist am upgraden
-
µ schrieb:
Bleib mal locker. Es gibt noch eine Welt außerhalb von C++. Deine Besessenheit fällt mir nicht zum ersten mal auf.
Ich mag C#, wirklich. Aber deine Argumentationen sind hirnrissig.
µ schrieb:
"Meine Aufgabe stellt einen Gegenbeweis zu der Aussage über die einfacher verwendbare und praktischere Library von Java/C# dar"
Hast Du schon mal an echten Projekten gearbeitet?Sogar an mehreren. Cool, was?
-
Ich habe doch gar nicht argumentiert.
Und mit Dir streiten werde ich mich jetzt auch nicht, FanboyBin raus.