Beiträge von hal

    Ok, da musst du dann einfach in deiner Hashfunktion dann den M-Parameter verändern, alle Elemente von der alten Liste auslesen und in die neue einfügen (dabei solltest du M logischerweise nicht nur um 1 erhöhen).

    Eine Hashtable wird nie größer, außer du wechselst mittendrin deine Hashfunktion (was sehr dumm wäre).
    Du brauchst einfach ein Array mit Größe M, und jeder Eintrag davon beinhaltet eine verkettete Liste (die hat schon eine dynamische Größe).

    zB

    Code
    template <class T> struct Entry {
      T value;
      Entry *next;
    };
    template <class T> Entry<T> *hashtable[M];

    In C mit sizeof die Größe eines Arrays herausfinden funktioniert nur, wenn es am stack alloziert ist, und nur in der Funktion in der es erzeugt wurde. In genau den Fällen nimmt man aber normalerweise eher eine Konstante, zB:

    Code
    #define ITEMCOUNT 4711
    
    
    void fkt() {
      int array[ITEMCOUNT];
      for(unsigned i = 0; i < ITEMCOUNT; i++) {
        array[i] = i;
      }
    }

    Für den Normalfall gibt es einfach keine Möglichkeit. Das ist der Grund, warum strings in C einen '\0'-Character am Ende haben (strlen() tut nichts anders als das array bis zum ersten \0 durchzulaufen und mitzuzaehlen), und du bei fast allen Funktionen die ein nicht-string-array übergeben bekommen die Größe als extra Parameter mitangeben musst (siehe zB argc bei der main-Funktion).

    Grade das Informatikstudium ist ein sehr soziales, oder kann irgendwer hier behaupten, Mathe1/2 komplett allein in seinem dunklen Kämmerchen gemacht zu haben?

    Im SE-Bak lernt man auch, was es mit einem richtig geplanten Softwareprojekt auf sich hat, und wie das organisiert werden kann. Sowas fehlt eigentlich allen, die Programmieren nur von daheim oder der Schule kennen.

    Hab ich auch nicht bezweifelt, ich mein dass man von zb osx aus nicht auf ntfs schreiben kann

    Kann man schon, mithilfe von MacFUSE. Das ist aber garantiert nicht der Verdienst von Microsoft.

    Zitat

    Ich kenn den kris der den Maa kurs macht und wir haben das problem gemeinsam diskutiert. Ich verwende ein macbook, er verwendet ein altes powerbook. Ist ein grosser unterschied. Umso ärgerlicher dass auf den NEUEN! macbooks bugs auftauchen. Der übeltäter ist übrigends schon bekannt. intel gma 950

    Na gut, du leistest dir eine zig tausend Euro Software, und dann bist dir zu schad, €2000 für einen tragbaren Computer mit einer nennenswerten Grafikkarte auszugeben??? Mich würds nicht wundern, wenn die das nichtmal auf so einem Ding getestet haben, weil sie nicht mal in Betracht gezogen haben, dass das jemand versucht.

    Also das "schlecht reden" ist ja nun bei weitem nicht auf die TU beschraenkt.

    Gegen das, was auf slashdot abläuft, ist das auf der TU eine Lappalie :)

    Zitat

    Betreibsysteme sind ja heute lange nicht mehr so wichtig wie noch
    in den 90ern, und ich finde auch das man mit Windows durchaus
    produktiv arbeiten, zumindest wenn man es sich
    entwicklerfreundlich herrichtet (hallo cygwin).

    Jo, cygwin ist immer das erste, das ich auf einem Windows-Rechner installiere, auf dem ich längerfristig arbeiten soll. Versteh nicht, wie man mit so einer total krank verkrüppelten Kommandozeile wie cmd.exe auskommen soll. Monad ist ja auch wieder vertagt worden für Vista...

    Was ist nicht kompatibel?? Ok, NTFS ist nicht schreibbar, diese Firmenpolitik versteh ich auch nicht.

    hä? NTFS ist sehrwohl schreibbar unter Windows.

    Zitat

    Ich habe aber auch nicht die kompatibilität zu anderen OS gemeint, obwohl die meiner meinung nach befriedigend gegeben ist (verwende osx, ubuntu und xp und hab eigentlich noch keine probleme gehabt)

    Das liegt daran, dass sich für jeden MS-de facto standard ein oder mehrere Open Source-Entwickler hinsetzen und den nachprogrammieren. Microsoft selber verwendet keine Standards, die jemand anderer entwickelt hat, außer sie werden dazu gezwungen (siehe IP und OpenGL).

    Zitat

    Ich meinte mit "kompatibel" Hardware und teilweise auch software (zb Maya 8.5 ist so verbugt am mac dass ich es nicht verwenden kann)

    hmmm im Maya-Kurs vom CG-Institut hat der Kursleiter gemeint, dass Maya am Mac viel problemloser läuft als unter Windows, weils da keine Grafikkartentreiberprobleme gibt, er verwendet auch selber einen Mac für den Kurs. Der ist Modeldesigner in einer Firma. Wem soll ich jetzt glauben?

    Zitat

    Meine externe Festplatte wird läuft total instabil unter linux und osx, keine probleme unter windows.

    Weil der Controller nur unter Windows getestet wurde (ja, das macht einen Unterschied.

    Zitat

    Mein Monitor funktioniert super unter Windows, unter Mac OSX flackert er

    Refresh rate falsch eingestellt?

    Zitat

    unter Linux kann ich die Aufläsung nicht nutzt

    Linux unterstützt Grafikkarten???

    Zitat

    WIndows aufsetzten: 3h Arbeit investieren, alles läuft perfekt

    incl. den 50 critical security updates (die einzeln mit Neustarts dazwischen installiert werden müssen) und Virenscanner eingerechnet?

    Zitat

    Mac aufsetzten: 1,5h arbeit investieren, alles läuft perfekt

    Najo, nicht sehr flott, aber realistisch.

    Zitat

    Ubuntu: Ist jetzt 3 WOchen her und es funktioniert noch immer nicht so wie ich es will.

    Mein Gentoo-Router war in nur einer Woche fix fertig eingerichtet, und rennt seitdem tadellos...

    Zitat

    Schon klar dass ein erfahrener Unix User das System in kurzer Zeit zum Laufen bringt dass man super damit arbeiten kann. Aber darum geht es nicht. Und solange das nicht alles Deppensicher (bsp osx, noch nie damit gearbeitet, sofort damit zurechtgekommen) ist ist es einfach nur nervig und wird sich nie durchsetzten.

    Najo, was glaubst warum ich Mac OS X für alles verwende, wo man eine Grafikkarte braucht?

    Windows ist und bleibt dass kompatibelste und dadurch weit verbreitetste OS, und das wohl ziemlich sicher auch in Zukunft.

    Du verdrehst da was. Windows ist das einzige aktuelle OS, das nicht kompatibel zu irgendwas anderem ist.
    Es ist nur kompatibel zu einem Großteil der Desktops, weil es auf genau diesen Desktops läuft, das ist keine Kunst.
    Und genau das ist auch der Grund, warum Windows-Programmierung die n00bs anzieht. Das heißt nicht, dass es nicht auch fähige Windows-Programmierer gibt, aber du wirst wesentlich weniger unfähige UNIX-Programmierer als ebensolche Windows-Programmierer finden (auch anteilsmäßig).

    keine. programmieren kann man sich auch selber beibringen.

    Falsch, Programmieren muss man sich selber beibringen. Jeder der glaubt, er würde in einem Kurs oder im Unterricht programmieren vom Lehrer im Frontalunterricht beigebracht werden, ist immer noch bitter enttäuscht worden.

    Programmieren kann man nur lernen, indem man sich mit einem guten Buch (analog oder digital) hinsetzt und herumprogrammiert. Wenn sich da Probleme auftun, kann man immer noch jemanden fragen.

    Ach ja, und man kann nicht früh genug damit anfangen. Am besten gleich wenn man lesen und schreiben gelernt hat, da fällts einem noch am Einfachsten.

    Er sagt eh, warums nicht geht:

    Code
    test.java:6: constant expression required
             case abc[0]:
                     ^
    test.java:8: constant expression required
             case abc[1]:
                     ^
    test.java:10: constant expression required
             case abc[2]:
                     ^

    Anscheinend muss der Wert da konstant sein.
    Da hilft wohl nur viele ifs oder eine Schleife mit einem if.

    Daß es außer den paar angesprochenen Sprachen noch welche gibt, die nicht sucken, ist mir schon klar. Stellenanzeigen für Objective-C-Developer springen mir aber jetzt auch nicht gerade häufig ins Auge :)

    Nachdem Entwicklung in Mac OS X fast ausschließlich auf Objective C passiert, gibt es da mehr als du glaubst :)

    Du solltest die Stellenausschreibungen nicht für bare Münze nehmen. Ich hab schon so einige Bewerbungsgespräche geführt und die Erfahrung gemacht, dass die geforderten Skills im Ausschreibungstext die absoluten Mindestanforderungen sind.

    Naja, sind auch oft komplett übertrieben, wo die Firmen alles reinschreiben, von dem sie jemals gehört haben (so kommen auch so Dinge wie "20 Jahre Berufserfahrung mit C#" zustande).

    Zitat

    Damit möchte ich sagen, wenn z.B. "Wollen unser Team erweitern. Suchen C++ Programmierer, bla, bla, bla" - heißt das nichts weiter, dass sie jemanden suchen, dem sie am ersten Tag einen Arbeitsplatz mit einer x-beliebigen C++ IDE geben können und dieser nach einem Vormittag Spielerei mit der IDE zum coden beginnen kann...

    Wenn man nach einem Vormittag schon Codezeilen ausspucken soll stell ich allerdings das Projektmanagement in Frage, weil in ein existierendes Projekt einsteigen dauert allein sicher länger. Wenn alle Leute einfach nur drauflos programmieren, entsteht da nur Chaos.

    Ich denke das Hauptproblem ist, dass wenn man in einem Programmierteam arbeitet (und das tut man in 99% der Fälle), ja alle Programmierer diese Programmiersprache können müssen. Grade bei so eher unbekannten Sprachen wie Smalltalk ist das garantiert nicht der Fall, und viele Arbeitgeber wollen den Leuten auch keine Woche bezahlen, damit sie sich die Sprache vorher anschauen können (und danach immer noch schlechter zu sein damit als erfahrene Programmierer).

    Das Problem ist besonders groß, wenn Software Engineerler mit nicht-Akademikern im Team sind, weil dann die "obergscheiten Akademiker immer alles besser wissen" (diese Stimmung bekomm ich bei meinen ex-Schulkollegen sehr gut mit, die direkt nach der Schule in Firmen gegangen sind, wo auch Akademiker arbeiten). Da leidet gleich mal die Stimmung sehr, wenn man von den altbekannten Wegen abgleitet.

    Bez. Smalltalk selbst: Schau dir mal Objective C an. Das bringt viele Vorteile von Smalltalk mit (nicht alle allerdings) und hat noch zusätzlich den Vorteil, 100% mit C kompatibel zu sein (jeder C-Source ist auch ein Objective C-Source, und man kann C-libraries ohne irgendwelchen bridge code verwenden).

    Bez. Ruby und Python: Viele Webprojekte werden jetzt mit diesen Sprachen gemacht, da brauchts nichtmal Überzeugungskraft :) Wobei da die husch-pfusch-Sprache php immer noch extrem dominiert.

    Ah ja und noch was: Manchmal ist man dazu verleitet, mehrere Programmiersprachen in ein Projekt zu integrieren. Dumme Idee! Das hab ich schon mehrfach probiert, und bin damit immer eingefahren.
    Die einzige Ausnahme dazu ist C++/lua mit dem tolua++-Tool, da funktioniert das wirklich einwandfrei, aber ich würde lua nicht für Kernbestandteile des Programms verwenden, die Sprache ist als Skriptsprache für Spielelogik und ähnliches gedacht.