Hilfe ! Ich kann nicht programmieren ...



  • Die Prozessorauslastung verhält sich bei Benutzung einer VM nicht wirklich anders. Was stimmt, ist, dass sie ein paar MB mehr Speicher frisst (nicht wirklich dramatisch).

    Das mit dem AOL-User ist ein Argument, da warte ich noch drauf, bis eine VM mal auf jedem Rechner drauf ist. Dauert aber IMH (in my hope 😉 ) nicht mehr lange, ich stoße schon immer öfter auf Seiten, die mir eine Java Virtual Machine installieren wollen (auf einem anderen Rechner, wo ich keine drauf hab).



  • Guten Abend.
    Ich denke einfach mal das Microsoft C# durchsetzen will,
    also werden sie kaum die Java VM bei der nächsten generation
    ihres Betriebssystems integrieren. -hoffentlich bestätigt das sich nicht.

    MfG Max



  • Hallo,
    würdet ihr freundlicherweise bitte wieder zum Thema zurückkommen und mit dem Geplappere aufhören? Auch die Diskussionen zum Thema Java und C#, wenn wohl sicher auch interessant, gehören hier nicht her.



  • Ok, kommen wir zum Thema zurück:

    #include <iostream> 
    
    using namespace std; 
    
    // die hauptfunktion 
    int main(int argc, char *argv[]) 
    { 
        return 0; 
    }
    

    Irgendwelche Verbesserungsvorschläge?

    Sorry, ist das mein Problem, wenn sich der Threadersteller nicht mehr rührt? 🙄



  • Optimizer schrieb:

    Bei welcher Uni lernt man C++ als Einstiegssprache?

    Ok, ich geh zwar auf ne FH aber in Flensburg lernst du c++ als Technischer Informatiker als Einsteigersprache.



  • @Optimizer
    Ein Spass der beim ersten Mal nicht wirklich lustig war, wird durch ständiges wiederholen nicht zum Brüller.
    Wenn du was sinnvolles zum Themna beizutragen hast, nur zu, aber lass doch bitte diese völlig überflüssigen "ach-bin-ich-toll-ich-habe-schon-mal-die-main-Funktion-aufgeschrieben"-Verarsche sein.

    Dieser Thread ist jetzt mittlerweile zwei Seiten lang, sein Informationsgehalt aber bei nahe Null. Das muss wirklich nicht sein.

    Poste doch bitte einfach im OT-Forum weiter.

    PS: Dies ist auch nicht der Ort um mit mir jetzt zu diskutieren. Dafür gibt es Mails (zu bevorzugen) und die Laber-Foren (im Notfall).



  • Optimizer schrieb:

    Bei welcher Uni lernt man C++ als Einstiegssprache?

    An der FH-Darmstadt gibt's im Studiengang Informatik Programmieren I + II, in dem man "C++" (eher C mit Klassen und cout) lernt. Java gibt's auch noch, war bei uns allerdings später und wurde als bekannt vorausgesetzt. 🙄



  • @Hume: Sorry, war auch nicht gerade ontopic, aber Jenni hat sich auch nicht nochmal gemeldet und mir schien's eher, als wolle sie das Programm zugemailt bekommen als C++ lernen, um die Aufgabe zu lösen.



  • Optimizer schrieb:

    Bei welcher Uni lernt man C++ als Einstiegssprache?

    Bei uns z.B. an der RWTH Aachen. Warum sollte es keine Einstiegssprache sein? Naja, mit deinem Gelabere hast du den Thread eh schon totgequatscht.



  • rofl



  • Ich mein auch, dass das kein Problem darstellen sollte.

    Ist doch nicht so schwierig, wenn das sogar Kinder lernen können, was gibt es dagegen einzuwenden?



  • Nichts. Ich finde nur, dass Java geeigneter (nicht besser) zum Einstieg in die Programmierung ist, weil es für Anfänger weniger Stolpersteine bereithält (Arrays, undefiniertes Verhalten, etc.) und insgesamt strenger und eindeutiger ist (Initialisierung von Variablen, Behandeln von Exceptions, etc.).

    btw, ich glaube nicht, dass die von dir zitierten "Kinder" im Allgemeinen C++ so programmieren, wie man es sollte oder OOP richtig anwenden und die Möglichkeiten von C++ ausschöpfen.



  • @Optimizer: Ohne "fortgeschrittenere" Konzepte wie Pointer usw. ist C++ aber auch lammfromm. Reduziere die Sprache C++ auf die paar in Java enthaltenen Features und du hast eine harmlose Sprache.



  • Das stimmt so nicht. Java kennt auch Pointer, auch wenn du nicht an deren Adressen kommst (was ja die eigentliche Sicherheit ist).
    Und Arrays sind wirklich verdammt gefährlich. Nicht, dass ich damit nicht klar komme, aber als Anfänger findet man so einen Fehler einfach nicht, wenn man z.B. [konstruiert]in einer for-Schleife was verplant, über den Index hinausgeht und den Wert einer anderen Variablen versehentlich ändert[/konstruiert].

    Außerdem ist Java typenstrenger, int[], ist in C++ alles ein Zeiger und kann genauso gut auf ein new int zeigen.
    Und wenn man eine Referenz auf ein Array als Parameter übergibt (in Java), lässt sich bei dem Array sogar immer noch die Länge abfragen.
    Wenn du in C++ ein int* kriegst, dann weisst du nicht, was das überhaupt ist, bzw wie weit du mit dem Index gehen kannst.

    Das mit dem reduzieren auf harmlose Sprachmittel funktioniert also nicht, weil ein Array und ein Pointer ist ja nicht gerade was fortgeschrittenes.

    Wie gesagt, ich rede von Stolperfallen für Anfänger. Was ich allerdings in Java echt schlecht finde, ist dass man offenbar Objekte nicht final übergeben kann (oder bin ich zu blöd dafür? 🙄 ).



  • ist doch interessant, dass alle die ihre aufgaben gelöst haben wollen, dem namen nach frauen sind =).



  • E: ein beliebiger Array a
    F: Berechnung von 4 zufälligen Teilmengen aus verschiedenen
    Elementen von a (Wann gibt es mindestens 4 Teilmengen?
    Kontrolle!)
    A: die berechneten Teilmengen jeweils untereinander

    Legende

    E: Eingaben
    F: Funktionen, welche die Eingaben verarbeiten
    A: Ausgaben

    Kann mir mal jemand erklären was hier genau gemacht werden soll?
    Ich versteh das nicht ganz, liegt vllt. auch an den ziemlich kanpp gefassten
    Aufgabestellungen.
    Nein dieses mal mach ich keinem die Hausaufgaben, aber habe Lust es für mich
    persönlich zu machen 🙂



  • Optimizer schrieb:

    Das stimmt so nicht. Java kennt auch Pointer, auch wenn du nicht an deren Adressen kommst (was ja die eigentliche Sicherheit ist).

    Meinst du diesen verstümmelten Mischmasch aus einem Pointer und einer Referenz? Also da fühle ich mich in C++ sicherer.

    Optimizer schrieb:

    Nicht, dass ich damit nicht klar komme, aber als Anfänger findet man so einen Fehler einfach nicht, wenn man z.B. [konstruiert]in einer for-Schleife was verplant, über den Index hinausgeht und den Wert einer anderen Variablen versehentlich ändert[/konstruiert].

    Wo ist der Unteschied? Java schmeißt ne exception und in C++ schmiert das Programm mit einer access-violation ab.

    Optimizer schrieb:

    Wenn du in C++ ein int* kriegst, dann weisst du nicht, was das überhaupt ist, bzw wie weit du mit dem Index gehen kannst.

    Wenn du eine Object-Referenz bekommst weißt du auch nicht was das ist. Zeigerarithmetik kennt Java nicht und deswegen hinkt der letzte Teil des Vergleichs.

    Optimizer schrieb:

    Das mit dem reduzieren auf harmlose Sprachmittel funktioniert also nicht, weil ein Array und ein Pointer ist ja nicht gerade was fortgeschrittenes.

    Knock knock. Man muss Pointer aber nicht benutzen wenn man nicht will.



  • MaSTaH schrieb:

    Meinst du diesen verstümmelten Mischmasch aus einem Pointer und einer Referenz? Also da fühle ich mich in C++ sicherer.

    Völlig unabhängig davon, wie du dich fühlst, sind die Referenztypen in Java faktisch sicherer. Man kann nicht die Adresse manipulieren und wenn man das Zielobjekt ändert (oder auf null setzt) und das Objekt nicht mehr referenziert wird, sammelt es der Garbage Collector auf.
    Und das einzige, was "verstümmelt" ist, ist dass man es nicht dereferenzieren muss.

    MaSTaH schrieb:

    Wo ist der Unteschied? Java schmeißt ne exception und in C++ schmiert das Programm mit einer access-violation ab.

    DAS ist eben nicht gesagt. Darauf kannst du dich nicht verlassen. Stattdessen kannst du auch den Wert von ein paar Variablen in deinem Programm überschreiben oder irgendeinen Mist auslesen.

    MaSTaH schrieb:

    Wenn du eine Object-Referenz bekommst weißt du auch nicht was das ist. Zeigerarithmetik kennt Java nicht und deswegen hinkt der letzte Teil des Vergleichs.

    Ich kann immer abfragen, auf was für einen Typ die Referenz zeigt. Außerdem ist mir nicht ganz klar, was du jetzt meinst. Ich habe von Typensicherheit geredet.

    MaSTaH schrieb:

    Knock knock. Man muss Pointer aber nicht benutzen wenn man nicht will.

    Ähm doch. Mir ist sonst keine Möglichkeit zum dynamischen Binden bekannt. Oder sagen wir es so. Ohne Pointer sind deine Möglichkeiten *sehr* eingeschränkt.



  • wer raw-pointer und raw-arrazs verwendet, der lebt nicht in der heutigen Welt.

    In C++ schreibt man sich ne Klasse die die Arbeit uebernimmt, zB boost::array. Dort fuegt man dann noch asserts ein - und man ist auf der sicheren Seite.

    Also Java ist da nicht wirklich sicherer - nur einfacher. Das einzige was schoen ist, ist dass ein Fehler nur einen Teil des Programmes zum abschmieren bringt.



  • @sirlant:
    - eingabe
    - abspeichern in einen array
    - berechnung von 4 disjunkten teilmengen
    - ausgabe
    mind 4 elemente -> sobal leere Menge ausgeschlossen ist

    bei uns an der FH hat man mit Scheme(lisp dialekt) und c++ angefangen


Anmelden zum Antworten