Beiträge von mtoman

    Stimmt, natürlich ists was anderes ob man die halbe Woche damit verbringen muss, Werbung zu machen, Neukunden zu akquirieren, kostenlose Gespräche mit potentiellen Neukunden zu führen etc. oder ob man sich quasi fulltime in ein fertiges Umfeld setzt und dann 140€ für 2h den vergessenen Strichpunkt suchen zu verlangen :)

    Allerdings hab ich auch öfters die Erfahrung gemacht, dass da schon 20€ den Leuten zuviel sind - und das für ein fulltime Projekt. Wenn man neben dem studieren das Geld netto bekommt weil man unter den Grenzen bleibt, ists natürlich ganz was anderes (schnell mal 200 netto am tag machen können ist schon praktisch).
    Aber fulltime für 20€? Keine Bezahlung bei Urlaub und Krankenstand, keine Abfindung, 20% Selbstbehalt bei der SVA, kein 13. 14. Monatsgehalt etc. etc.
    Hatte da so einen Fall, wos dann gefragt haben, ob das nicht der erwähnte Satz ist und ob ich bei dauerhafter Beschäftigung nicht einen niedrigeren hätte. Als ich das verneint habe, bekam ich den Job natürlich nicht :) (und da hatte ich schon 2-3 Jahre berufliche Programmiererfahrung nach der HTL und habe nicht studiert sondern war fulltime als Freelancer tätig).
    Glaub die gibts inzwischen sowieso nicht mehr - eins der jungen, dynamischen Teams mit den tollen Ideen. Damals hat halt noch nicht jeder versucht, ein besseres Facebook zu machen, da wars halt Napster & co..

    Aber 0815-Programmierjobs gibts eh wie Sand am Meer, da braucht man sich keine Gedanken zu machen.
    OK, ich lass es dann mal wieder mit dem off-topic.

    Tatsächlich ist natürlich eine etwas genauere Beschreibung schon interessant.
    Ansonsten klingt J2EE so sehr nach dem tausendsten CMS, CRM, C* whatever Ding.

    Ich hab auch nur gelesen, dass man das machen soll. Aber trägt sicher zur Übersichtlichkeit bei.



    Stimmt natürlich, mach ich prinzipiell eh auch eher so. Aber denk mir, wenn man im nachhinein umsortiert oder was dazwischen einfügt und dann mit netten Fehlermeldungen deswegen konfrontiert wird.. :)

    Achja, klassischer Fehler der mir gern passiert wenn ich ne Zeit Java intus habe:
    class A : public B
    das public vergessen. Die Fehlermeldungen fand ich dann auch nie so mörderisch intuitiv beim MS Compiler.
    Oder halt Strichpunkt nachm } am Klassenende, aber das findet man dann relativ leicht.
    Virtual vergessen kann sich mit relativ eigenartigem Verhalten äussern.

    lg

    Sagen wirs so: prinzipiell ists mir egal, wenns verrauchte Lokale gibt, solang es genug, vernünftiges (also nicht Trennung durch Schnürl ;)) Angebot für Nichtraucher auch gibt.
    Normalerweise gehe ich einfach in kein verrauchtes Lokal. Das vertrage ich nicht, meine Augen fangen an zu brennen, ich bekomm Hustenreiz und werd irgendwie müde - und frag mich immer, wie man sich das freiwillig antun kann. (und bevor wer was sagt: ja, ich trink auch keinen Alkohol, keinen Kaffee etc.)

    Das Problem ist tatsächlich, dass ein einziger Raucher in einer Gruppe es üblicherweise schafft, eine ganze Gruppe in den Raucherbereich zu zerren.
    Denn die Interessen des Rauchens sind einfach höherwertiger als die lächerlichen Argumente der Nichtraucher - als Süchtiger kann man vermutlich gar nicht anders denken, bis auf ein paar Ausnahmen ;)

    Zuerst mal zu der Rückgabe-Thematik:
    http://www.mistybeach.com/articles/WhyID…geProjects.html
    Hat glaub ich hier mal jemand geposted (oder woanders?).
    Hier wird die Problematik erklärt ;).

    Auch zu empfehlen sind "Effective C++" und gibt diverse Seiten im Internet zu den typischen Stolperfallen in C++ (und ich schnappe nach Jahren auch oft noch welche auf, besonders wenn ich zwischenzeitlich Java o.ä. programmiere)


    Hier wird der Speicher automatisch freigegeben, wenn der Scope verlassen wird?


    Ja.


    Auf Methoden greift man hier mit . zu?


    Ja.


    Hier wird der Speicher nicht automatisch freigegeben, sondern mit delete?


    Ja.


    Auf Methoden greift man hier mit -> zu?


    Ja.


    Welche der beiden Möglichkeiten verwendet man üblicherweise?


    Kommt auf den Anwendungsfall an.
    In moderneren Programmen (als embedded systems typ hab ich sowas leider meistens nicht) verwendet man statt der manuellen new-delete Variante üblicherweise Smart-Pointer (siehe zb. boost), die sich selbst um den Speicher kümmern. Einen simplen Reference Counting Pointer kann man sich auch relativ leicht selber schreiben (glaub hab noch irgendwo eine Implementierung von mir rumgammeln wenns dich interessiert, aber findet man sicher auch haufenweise im Internet).

    Insofern sollte man auch immer die Destruktor Thematik beachten.
    Auf der positiven Seite ist die Kontrolle über die Speicherfreigabe auch ein nützliches Tool. Klassisches Beispiel Semaphor (boost: scoped_lock) der beim Anlegen automatisch gelockt wird und bei Ende des Blocks wieder freigegeben (grad wenn man exceptions oder so verwendet..)


    Und wie sieht das aus, wenn ich in einer Klasse als Eigenschaft ein Objekt einer anderen Klasse habe, also in Java etwa so:


    Siehe den Link am Anfang.
    Aber kommt auch auf den Anwendungsfall an..
    Du kannst auch eine Referenz zurückgeben:
    ClassA a;
    ClassA& methodA( ) { return a; }

    Oder zb. einen Pointer so:
    ClassA* methodA() { return &a; }

    Grad beim Pointer muss man sich halt auch immer überlegen, was der "draussere" damit anfängt.. bzw. dieser muss wissen, ob er das Ding freigeben muss oder nicht (könnte ja auch ein return new ClassA(); in der Methode sein).

    Die erste Variante die du geposted hast liefert übrigens eine Kopie (siehe dazu Copy Constructor und operator=... *seufz*).
    Bei gewissen Klassen (zb. kleinen Data-Holdern) auch eine sichere Alternative.


    Übergabe von Objekten als Parameter an Funktionen

    Welche von beiden Möglichkeiten verwendet man "im Normalfall"?

    Bei zweiterem wird ein Pointer übergeben.
    Eine Referenz würdest so übergeben:

    Code
    public int doSomething(ClassA& objA) { ... }
    ClassA objA;
    doSomething(objA);

    Und wieder sind im Prinzip alle Möglichkeiten offen (inklusive smart-pointer).
    Kleine Datenobjekte wie strings etc. kannst kopieren, dann kann damit kein blödsinn getrieben werden.
    Wenn das Objekt verändert werden soll, musst auf jeden Fall Referenz, Smart-Pointer oder normalen Pointer verwenden.

    Naja, in Summe:
    Ich hab C++ früher geliebt.
    Inzwischen gehts mir nurmehr auf die Nerven, mir jedesmal überlegen zu müssen, was die optimale Variante ist und wie man sich am wenigstens das Hackl ins Kreuz haut. Insofern verstehe ich nciht, was Leute an Java als schwer empfinden - da kann man doch eigentlich praktisch nix falsch machen.
    C++ mag anfangs auch leicht wirken, wenn man aber mal tief eintaucht, findet man dann doch ziemlich viele Fallstricke auf die man aufpassen sollte. Und viele Dinge, die man bedenken sollte (was packe ich in Header, was in Cpp, was forward deklarieren, wo forward deklarieren, in welcher Reihenfolge inkludiere ich etc.). Alles Dinge, die einem in Java einfach wurscht sein können.

    Achja:
    Ich kenne Libraries, die verwenden praktisch überall nurmehr einen smart-pointer bis auf gewisse Data-Holder, die kopiert werden.
    Vermutlich keine schlechte Lösung für die meisten Anwendungen.

    Hoffe hab jetzt in der Eile keinen Blödsinn getippt, man möge mich korrigieren :)


    mtoman: Bevor jemand OOP programmieren kann, muss er bzw. sie generell programmieren können (sei es jetzt im diesen Fall in C). Es ist genauso als wenn du jemand erklärst wie er/sie laufen muss aber er/sie kann nichteinmal gehen. Es muss zuerst gekonnt werden wie zu gehen ist und erst nachher kommt das laufen....



    Man kann sehr wohl sofort mit OOP-Konzepten beginnen. Vermutlich ist das für viele sogar leichter verständlich. Dann lässt man den technischen Part weg und fängt konzeptuell an ("ich erstelle eine Welt, da drin gibts verschiedene Objekte, die können verschiedene Dinge tun...").
    Und dann erst in diesem OOP Paradigma beginnen, Variablen, Flusskontrolle etc. zu erklären.

    Dazu gibts dann eigene Umgebungen wie z.B. diese Hamster-Programme (Hamster muss Nüsse sammeln etc.) um erstmal Konzepte lernen zu können, und sich eben noch nicht mit den technologisch spezifischen Details rumschlagen zu müssen.

    Mal abgesehen davon, gibt es in dem Programm nicht viel OOP wenn einfach cin, cout statt scanf, printf verwendet wird. Komplizierter ist cin, cout wohl auch nicht (auch wenn ich persönlich eigentlich auch lieber stdio als iostream verwende..).
    Natürlich kann man auch die C++ Libs verwenden und erstmal keine Klassen (etc.).

    Schließlich beginnen auch viele mit Java, bekommen halt mal eine Basisklasse mit leerem main vorgesetzt und dann wird erstmal nur da reinprogrammiert.
    Und da wird dann auch System.out.* verwendet... ist doch völlig egal. Als Anfänger lernt man das quasi sowieso erstmal auswendig ("ich verwende x um was einzulesen, y um was auszugeben"). Ob da jetzt ein Stream dahintersteckt oder nicht, interessiert niemanden.

    Ich hab auch mit C angefangen und dann auf C++ weitergegangen. Ich denke aber nicht, dass das jetzt nicht anders auch gehen würde.

    "Wie viele Forenmitglieder braucht man, um eine Glühbirne... äh, um drei Zeilen Code zu schreiben?" :D



    ;).
    Einen Projekt-Manager, einen Architekten, zwei Entwickler, ein paar QA-Leute, ein paar externe Berater..
    hier wurde auch die Design-Frage komplett übersprungen und sofort zur Wahl der Technologie gesprungen. Ohne Pflichtenheft und Design-Dokument kann das ja nur schiefgehen ;).

    Nicht übel. Würd auch gern mitmachen aber befürchte auch, dass ich nicht die Zeit haben werde.
    10h/Woche just for fun und inzwischen immer mehr mit der Befürchtung, dass ich das Zeug nie anwenden werd können ausserhalb der Uni...
    frag mich, wieviele credits (oder was auch immer) der Kurs in deren Studium wert ist.

    Ehrlich gesagt fand ich das Buch zwar irgendwie stylisch, aber auch sehr mühsam zum lernen (bzw. schwer die gewünschten informationen aus den wall of texts rauszufiltern).
    Die Online Lectures könnten sicher nett werden.
    Falls jemand die Machine Learning Lectures von Ng nicht kennt:
    http://www.youtube.com/watch?v=UzxYlb…89DCFA6ADACE599

    Ich glaube nicht, dass man durch cin, cout statt printf jetzt dann soooo in der C++-Welt und im OOP-Paradigma versunken ist, dass man den Umstieg auf printf dann nichtmehr hinbekommt ;).
    Also unbedingt da jetzt C aufzwingen finde ich auch nicht notwendig.. heutzutage beginnen viele mit OOP-Sprachen und kommen auch zurecht.

    Aber interessant, wieviel man doch über ein 3-Zeilen Programm diskutieren kann :).


    Es wird jemand gesucht, der mit der Bosch-Bohrmaschine umgehen kann. Wenn du aus dem akademischen Umfeld kommst, mit brennstoffzellenbetriebenen Laserbrennern arbeitest aber auch mit Bosch-Bohrmaschinen umgehen kannst, hast du gute Chancen!


    Ja, aber das ist dann genau JETZT wichtig und ich gehe nicht davon aus, dass ich das dort dann für immer machen werde. Ist schon klar - man braucht halt überlicherweise grad genau das, Söldner und so :). Meinem langjährigen Arbeitgeber war das zum Glück eigentlich egal. Hab schon mit tausend verschiedenen Sachen gearbeitet. Ihm war nur wichtig, dass ich da flexibel und adaptiv bin. Er meint immer, wenn er was braucht, drückt er mir dazu halt ein Buch in die Hand und fertig.


    Und weil der Vorschlag nach gezielt suchen z.B. nach Cobol bei Banken kam: Cobol ist total grindig, das verwendet dort niemand, weil's noch immer so toll ist. Da entwickelt niemand damit, das wird nur noch gewartet. Wo Cobol lief, wollen heute auch alle Java/C#. Es wollen alle zu den Standardsprachen.



    Das Beispiel hab ich genau deshalb gebracht, weil bei uns Cobol (in der HTL als wir auf der BS2000 damit arbeiten durften) immer eben jenes Anti-Beispiel war :).
    Gab da paar Running Gags mit möglichen Reaktionen wenn beim Bewerbungsgespräch gefragt wird, ob man Cobol könne... naja.. ja, es war die Hölle. Wir sind bis in die Abende in der Schule gesessen, an diesem "Großrechner" und haben.. jahrzentelang kompiliert...
    wie auch immer, damals wurde uns auch gesagt: "den alten cobol code warten will keiner machen, kann keiner machen, wird daher super bezahlt".
    Wie meistens halt: Umso wenigers interessiert, umso besser bezahlt ;).

    Scala habe ich mir ein wenig angesehen und fände ich auch sehr nett, um ein paar Unzulänglichkeiten von Java auszugleichen.
    Ansonsten habe ich an sich nichts mehr gegen Java. Es ist so schön gemütlich, einfach und man kann sich sprachlich nicht so komplett fertigmachen wie z.B. mit C++ (ala einfach einmal ein virtual vergessen und Monate später ist auf einmal irgendwas bissl komisch)

    Ich würds vermutlich zuerst einfach mal mit plain TCP/IP + SSL versuchen (ist ja zb. in java recht leicht machbar). Was genau meinst du mit unterschiedlichen Netzwerken? Internet dazwischen und Firewalls etc. oder Ethernet + was anderes?

    Wenn du Java verwendest, kannst Objekte ja sowieso einfach serialisieren und den bytestream übertragen (wegen den erwähnten komplexen Datentypen)

    Wobei ich es ja fast ein wenig doof finde, dass man überall als "Java Programmierer" o.ä. gesucht wird und somit eigentlich irgendwie darauf reduziert wird...
    ich vergleich das immer gern als würd man einen "Bosch-Bohrmaschinen-Bohrer" suchen statt einen Handwerker.

    Da bin ich eigentlich recht froh, dass ich in meinem Job regelmäßig mal wieder andere Sprachen und Technologien in die Hände bekomme (bzw. wenn möglich auch selbst entscheiden kann)..

    EDIT: dafür kann ich halt nix richtig ;))

    Tatsächlich findet man fast nur Java, C# und tlw. C++ Jobs in den Stellenanzeigen (PHP & co. jetzt mal nicht mitgezählt). Selbst Python habe ich in Österreich sehr, sehr selten gesehen.

    Finde es einerseits auch schade, dass es da sehr wenig Abwechslung gibt. Andererseits kann man so wenig falsch machen, wenn man Java lernt (und grad auf der Suche nach irgendeinem Brotgeber-Job ist ;)).

    Vielleicht solltest gezielt nach Firmen suchen, bei denen du dir vorstellen könntest, dass sie die speziellen Features der entsprechenden Sprachen nutzen (ala Cobol bei Banken). Sonst fällt mir auch nicht allzuviel ein (überhaupt erscheinen alle etwas spezielleren Informatik-Zweige/Spezialisierungen sehr, sehr schwach vertreten zu sein...)

    Gut, habe mich jetzt letztens registriert und bin dann dagestanden wie der sprichwörtliche Ochs vorm Tor ;).

    Übrigens kann ich auch Xing empfehlen. Da bekomme ich recht regelmäßig Jobangebote (allerdings die interessanten meistens aus Deutschland)

    Früher als Freelancer hab ich von jobpilot (jetzt bei monster.at) sehr, sehr viele Anfragen bekommen.

    ;). Naja 3 Euro in den Sand gesetzt ;)

    Bioshock 2 reizt mich auch, aber jetzt hab ich schon soviel Kram gekauft.. Bioshock 1 auch bei irgendeinem Weekend-Deal besorgt und nur 20 Minuten bis jetzt gespielt.

    Danke. Wenn ich mich umschau, dann ist das erzeit vor allem auf den typischen Plattformen (Monster & co.), ein paar Spezialseiten (med-in.at, lifesciences.at etc.), ganz selten Zeitungswebsites (standard..) und den jeweiligen interessanten Firmen direkt. Und natürlich Ausschreibungen der Universitäten.

    Apeiron cool, viel Glück und Spaß ;)