Dies ist eine statische Kopie unseres alten Forums. Es sind keine Interaktionen möglich.
This is a static copy of our old forum. Interactions are not possible.
This thread is closed.

NullAhnung

Erfahrener Schreiberling

  • "NullAhnung" is female

Posts: 332

Date of registration: Apr 28th 2003

21

Sunday, June 6th 2004, 11:14am

Quoted

Original von Joachim

Quoted

Original von NullAhnung
Wurde in der Vorlesung gesagt bis wann wir die Übung genau gemacht haben müssen, da ja die letzte Woche frei war?
Übungszettel, oben rechts, fünfte Zeile.


Das ist schon wieder sowas. Da steht 7.6. bei mir. Und der ist Montag. Montag gibt es aber keine Übung, oder doch? Hätte das ja dann diese Woche vorführen müssen. Denke aber nicht, dass da irgendwer in der Uni war.

Cpt. Iglu

Trainee

  • "Cpt. Iglu" is male

Posts: 83

Date of registration: Oct 9th 2003

22

Sunday, June 6th 2004, 3:49pm

Schon ok. Gib Deine Lösung einfach die kommende Woche ab.
"Intuitive Software ist leicht zu lernen. Man muß nur lange genug mit ihr arbeiten."

Ponder Stibbons

np

Junior Schreiberling

Posts: 155

Date of registration: Oct 23rd 2002

23

Monday, June 7th 2004, 9:12am

Hallo,

bis hier scheint die Diskussion ja schon einiges gebracht zu haben.

Zunächst ein Hinweis zur Abgabe: Die wird natürlich um eine Woche verlängert (ich hoffe, ich lerne es nochmal, auf die Ferien zu achten).

Ich denke, die zu implementierenden Methoden sind aus der Anforderung, das Interface Set zu implementieren ersichtlich.

Speziell an Cpt. Iglu: Ich denke, Du bist hier einem Irrtum aufgesessen: Es ist nicht gefordert, eine binäre Ausgabe (im Sinne von toString()) zu realisieren. "Die Menge {0, 1, 31} hat also die Darstellung 100...0011." bedeutet, dass in der Integer-Variable die entsprechenden Bits gesetzt sind.

Es ist natürlich richtig (und wurde auch in der Vorlesung erwähnt), dass man normalerweise Klassen aus der API verwenden würde, z.B. HashSet oder auch BitSet. Ich bin mir aber ziemlich sicher, dass in diesem beschränkten Anwendungsfall (Wertebereich auf 0...31 beschränkt) die eigene Implementation die schnellste wäre.

OFF TOPIC: Die erwähnte Benchmark kann ich nicht glauben. Wenn die Programmierer ihr Handwerk verstehen, gilt für einfache Fälle eigentlich immer die Laufzeit:
FORTRAN < C/C++ < Java
für stark generisch programmierbare Fälle:
C++ < FORTRAN < C < Java
Für unübrsichtliche Dinge wie Netzwerke/Server u.s.w. ist Java natürlich oft besser (weil man nicht bei Null anfängt, sondern hier die effizienten Mögl. der JVM und der API nutzen kann).

Cpt. Iglu

Trainee

  • "Cpt. Iglu" is male

Posts: 83

Date of registration: Oct 9th 2003

24

Monday, June 7th 2004, 10:30am

Quoted

Speziell an Cpt. Iglu: Ich denke, Du bist hier einem Irrtum aufgesessen.
Genau das denke ich ja auch :D. Ich wollte deshalb halt mal erwähnen, dass ich die Aufgabenstellung sehr schwierig/umständlich fand. Woran das jetzt genau liegt sei dahingestellt ;).

Quoted

OFF TOPIC: Die erwähnte Benchmark kann ich nicht glauben. Wenn die Programmierer ihr Handwerk verstehen, gilt für einfache Fälle eigentlich immer die Laufzeit:
Oh, ein Zweifler! Wenn man die Standartvorlage "bitset" des Borland Cpp Compilers >5.2 gegen die des SUN SDK >1.2 ansetzt, ergab sich damals folgendes Bild:
Für die Berechnung von Primzahlen (gängiges Beispiel für die Klasse BitSet) brauchte BCpp 3750ms und das JDK 1640ms. Optimierte man den Cpp Code indem man "bitset" rausschmiss und selbst bastelte, schlug der BCpp Compiler wieder Java mit 1090ms.
Das verwendete Beispiel sah vor ein Sieb des Erastotheles auf die Primzahlen bis 1.000.000 anzusetzen.
Fairerweise muss ich sagen, dass der BCpp (genauso wie VisualCpp) über keine so "agressive" Codeoptimierung wie der Intel Cpp Compiler oder der GNU Cpp verfügt.

Für stark optimierte Fälle würde ich aber C<Cpp<FORTRAN<Java sehen.
Einfach dadurch bedingt, dass (in meinen Augen) C einfach nur "verkappte" Assembler programmierung bedeutet (wenn ich schon den Profiler anschmeisse, dann richtig ^^). Und weil der FORTRAN Compiler immer noch von einer wackeren Gruppe Intel Veteranen betreut wird, welche den betreffenden Compiler Up-to-Date halten.

Wäre bestimmt auch eine spannende Hausübung, mal auszuprobieren inwiefern die Benchmarks durch Codeoptimierung Bestand haben. Allerdings hätte ich ja einen unfairen Vorteil (=Quellen) :D. Falls aber noch Zweifel an meiner Aussage bestehen, kann ich auch interessierten Jungentwicklern die betreffenden Quellcodes geben (Java und 2x Cpp).
\OFFTOPIC

Ansonsten: Danke für Deine Antwort, Niklas.
"Intuitive Software ist leicht zu lernen. Man muß nur lange genug mit ihr arbeiten."

Ponder Stibbons

np

Junior Schreiberling

Posts: 155

Date of registration: Oct 23rd 2002

25

Monday, June 7th 2004, 10:50am

Quoted

Original von Cpt. Iglu
[...]Wenn man die Standartvorlage "bitset" des Borland Cpp Compilers >5.2 gegen die des SUN SDK >1.2 ansetzt, ergab sich damals folgendes Bild:
[...]

Ach so, Borland. Na ja, in dem Spezialfall glaube ich das schon. Wie ich ja schon schrieb: Die Klassen, die in der API dabei sind, sind (im Rahmen der Möglichkeiten von Java) von extrem guter Qualität.

Quoted


[...]
Für stark optimierte Fälle würde ich aber C<Cpp<FORTRAN<Java sehen.
[...]

Meine Einschätzung von FORTRAN stammt aus der Praxis der numerischen Programmierung, aber vielleicht hat FORTRAN da einfach den Vorteil der längeren Entwicklung. C++ ist am schnellsten, wenn man Metaprogrammierung einsetzen darf (und im Rahmen des Problems kann), dann hängt es alles (außer Assembler) ab.

Aber das gehört eigentlich in Tech-Talk ;)

Niklas

Cpt. Iglu

Trainee

  • "Cpt. Iglu" is male

Posts: 83

Date of registration: Oct 9th 2003

26

Monday, June 7th 2004, 11:20am

Du meinst Template Metaprogramme ;)?

Klar, man ist auch ausserhalb der Formel1 mit Startautomatik im Vorteil ^^.

Noch eine Frage: Wann gibt es eigentlich die Lösung zur 6. Übung?
"Intuitive Software ist leicht zu lernen. Man muß nur lange genug mit ihr arbeiten."

Ponder Stibbons

This post has been edited 2 times, last edit by "Cpt. Iglu" (Jun 7th 2004, 11:22am)


np

Junior Schreiberling

Posts: 155

Date of registration: Oct 23rd 2002

27

Monday, June 7th 2004, 11:59am

Quoted

Original von Cpt. Iglu
Du meinst Template Metaprogramme ;)?

Klar, man ist auch ausserhalb der Formel1 mit Startautomatik im Vorteil ^^.

?( Da kapiere ich die Analogie nicht, ist aber wohl nicht so wichtig. :)

Quoted


Noch eine Frage: Wann gibt es eigentlich die Lösung zur 6. Übung?

Weil der letzmögliche Abgabetermin der 14. ist, werde ich die Lösung wohl am 15. veröffentlichen (wenn ich dazu komme).

Arne

ThI

  • "Arne" is male

Posts: 1,798

Date of registration: Oct 7th 2002

Location: Hannover :)

Occupation: Lecturer ThI

28

Monday, June 7th 2004, 1:00pm

so langsam wirds wie schon richtig vermutet ins offtopic oder tech topic rein. darum mach ich das hier mal zu. :)
"NP - The class of dashed hopes and idle dreams." Complexity Zoo