Was programmiert ihr am liebsten?



  • michba schrieb:

    nononono schrieb:

    Python ist nur wirklich sehr unästhetisch, besonders was Objektorientierung angeht.

    hu? Beispiel / Erklärung?

    Ich kenne Python zwar nur peripher, aber hier ein Beispiel, was OOP angeht:

    Während man in Ruby schreibt:

    mein_array = [1,2,3,4]
    maximum = mein_array.max
    gemischtes_array = mein_array.shuffle!
    
    z=-42
    betrag=z.abs
    

    muss man in Python schreiben:

    mein_array = [1,2,3,4]
    maximum = max(mein_array)
    import random
    gemischtes_array = random.shuffle(a)
    
    z = -42
    betrag = abs(z)
    

    Intern wird das zwar zu Member-Methodenaufrufen umgebrochen, aber schreibt man es nicht gleich so hin? Access-Modifier wie public, protected und private sind auch unbekannt in Python.

    Ansonsten ist natürlich alles Geschmackssache. Mich als "Rubyaner" stören z.B. noch, das Fehlen von Blöcken, keine Mixins (dafür Mehrfachvererbung), dass man in Member-Methoden ständig "self" als Parameter deklarieren muss, doppelte Unterstriche in Methodennamen, die auch noch eine Bedeutung haben usw.

    Aber wie gesagt, jeder so, wie er mag.



  • Meine Lieblingssprache ist ebenfalls C++. Zur Zeit arbeite ich mich in wxWidgets ein. Dies will ich zukünftig auch für meine Projekte nutzen. Wichtig hierbei ist mir das Plattformunabhänige programmieren. Zum jetzigen Zeitpunkt wird eines meiner alten Windows Programme ( http://www.c-plusplus.net/forum/viewtopic-var-t-is-123347-and-highlight-is-todoliste.html) neu geschrieben. Welche Projekte ich zu späteren Zeitpunkte noch mache ist ungewiss, aber da wird sich bestimmt noch einiges Interessantes finden.



  • guenni81 schrieb:

    Meine Lieblingssprache ist ebenfalls C++.

    Du Ärmster! Welche anderen Sprachen außer C++ kennst Du denn noch??



  • Ich programmiere gerne Konsolenspiele, bzw. TUIs (Text User Interfaces). Aber auch wxWidgets und Design Patterns interessieren mich.



  • queer_boy schrieb:

    Storm.Xapek.de schrieb:

    Mein Lieblingsthema zur Zeit sind Neurale Netze und evolutionäre
    Algorithmen. Ziemlich spannend das Ganze...
    Achso und das natürlich in C++.

    Huch, du nimmst mir die Worte aus dem Mund...

    Was macht Ihr mit den künstlichen neuronalen Netzen und den genetischen Algorithmen? Ich meine, die programmiert man ja nicht zum Selbstzweck, sondern um irgendeine Aufgabe zu lösen.



  • mikey schrieb:

    Ich programmiere gerne Konsolenspiele

    Meinst du Spiele für die PC-Konsole (das hässliche schwarze Fenster mit den kryptischen Befehlen) oder für Spielekonsolen (Wii, PS3)?



  • Ich programmiere am liebsten Steuergeräte für Verbrennungsmotoren.



  • Gregor schrieb:

    queer_boy schrieb:

    Storm.Xapek.de schrieb:

    Mein Lieblingsthema zur Zeit sind Neurale Netze und evolutionäre
    Algorithmen. Ziemlich spannend das Ganze...
    Achso und das natürlich in C++.

    Huch, du nimmst mir die Worte aus dem Mund...

    Was macht Ihr mit den künstlichen neuronalen Netzen und den genetischen Algorithmen? Ich meine, die programmiert man ja nicht zum Selbstzweck, sondern um irgendeine Aufgabe zu lösen.

    Das neuronale Netz (bzw. als Netz kann man es bei mir nicht bezeichnen,
    ich hab mehr so eine Art Pfad bzw. Graphen der sich aufbaut) hab ich bisher
    nur zur Bestimmung von Funktionstermen anhand von Wertetabellen benutzt
    (und für ganzrationale Funktionen in dennen nur gerade Zahlen vorkommen
    klappt das Ganze schon recht gut)
    Das war bisher mein erster und einziger Versuch, da ich erst etwa vor 1 Woche
    auf das Thema aufmerksam wurde.
    Jetzt will ich noch einen evolutionären Algorithmus schreiben, der das Ganze
    noch ein wenig ergänzt (ich denke dabei daran die Neuronen selbst mutieren
    und selektieren zu lassen).

    Man merkt vll. das ich im Moment noch etwas "im Trüben fische" was Anwendung
    und Umsetzung dieser Techniken angeht. Spass macht es aber allemal 👍

    PS: Wenn jemand eine gute Buchempfehlung dazu hat, würde ich mich freuen
    wenn er/sie diese postet.



  • HUI schrieb:

    guenni81 schrieb:

    Meine Lieblingssprache ist ebenfalls C++.

    Du Ärmster! Welche anderen Sprachen außer C++ kennst Du denn noch??

    welche kennst du denn so? ^^
    hab mal nen brainstorming gemacht, welche Sprachen ich so bisher mal genutzt hab..

    java
    c++
    c
    turbo pascal
    delphi (mal absichtlich drunter gesetzt um zu sehen, was passiert)
    COBOL
    perl
    php
    BASIC
    Assembler (C64)
    Assembler (Intel 86)
    Assembler (Atmel)
    Assembler (BS2000)
    PL/SQL
    ISA Dialog Language

    und noch nen paar Shells..

    Naja, ich bevorzuge Java und C++.
    Mich interessieren hauptsächlich Datenverarbeitungen, aber auch KI, speziell Computer Vision, sowie Steuerungen- komm nur kaum dazu in letzter Zeit.. 😃



  • Storm.Xapek.de schrieb:

    Man merkt vll. das ich im Moment noch etwas "im Trüben fische" was Anwendung
    und Umsetzung dieser Techniken angeht. Spass macht es aber allemal 👍

    Macht gar nichts. KNN und Genetische Algorithmen stellen ein Gebiet dar, in dem prinzipiell sehr viel im Trüben gefischt wird. Sicherlich kann man da bis zu einem gewissen Punkt systematisch herangehen, aber letztendlich stellen diese Methoden Werkzeuge dar, die man gerade da einsetzt, wo eine wirklich systematische Modellierung nicht sehr gut möglich ist.

    Ist ja auch ganz klar: Bei diesen Methoden sollen die Programme selbst bestimmte Parameter bestimmen, um ihr Verhalten an bestimmte Aufgaben oder Daten anzupassen. Das lässt man nur dann zu, wenn man es selbst nicht besser weiß, also wenn einem Wissen für eine wirklich systematische Modellierung fehlt oder wenn so eine Modellierung zu aufwändig ist.

    Storm.Xapek.de schrieb:

    PS: Wenn jemand eine gute Buchempfehlung dazu hat, würde ich mich freuen
    wenn er/sie diese postet.

    Mir sind die Künstlichen Neuronalen Netze bisher eigentlich nur im Zusammenhang mit Mustererkennung begegnet. Da kann ich Dir folgende Bücher empfehlen:

    Neural Networks | ISBN: 3540605053

    und

    Pattern classification | ISBN: 0471056693

    In beiden Büchern steht auch einiges über Genetische Algorithmen drin und beide Bücher sind IMHO wirklich gut. Das zweite Buch ist vielleicht noch etwas besser, aber das wird darauf ankommen, mit welcher Motivation Du so ein Buch liest. Wie Du am Titel erkennen kannst, ist das zweite Buch noch ein bischen eindeutiger auf Mustererkennung ausgelegt.



  • Diese Daten stammen aus der Datenbank von Amazon.de
    Amazon-Verkaufsrang: 480216
    Seiten: 502
    ISBN-10: 3-5406-0505-3
    ISBN-13: 978-3-5406-0505-8
    Verlag: Springer, Berlin
    Preis:
    Preis gebraucht (ab): EUR 170,41

    Meinung(en) zum Titel
    Durchschnittliche Bewertung: von 5 Punkten

    Ein echtes Schnäpchen 😮



  • HUI schrieb:

    Du Ärmster! Welche anderen Sprachen außer C++ kennst Du denn noch??

    Ich programmiere gerne in C++, brauch dir also nicht leid zu tun! 😃
    Naja, ansonsten kenn ich noch die folgende Programmiersprachen mit denen ich irgendwann mal programmiert habe:

    C#
    VB / VBA
    Java
    PL/SQL
    Python
    Bash
    C++/MFC
    Delphi 5
    PHP
    Javascript
    Oracle Formbuilder



  • Ich hab beide Bücher in der Landesbibliothek in Karlsruhe entdeckt,
    ich denk das Erste leih ich mir morgen wenn ich hinkomme gleich aus.

    @Gregor
    Du scheinst dich ja ein bischen auszukennen in dem Bereich, es würde ich deshalb
    freuen wenn du meinen Ansatz mal kurz durchlesen und eventuell kommentieren würdest.
    Vllt kannst du als Mod den Thread ja auch aufspalten...

    Ich habe also einen Pfad oder auch eine Kette von Neuronen die jeweils
    einen Input bekommen und den Output an das nächste Neuron in der Kette
    weitergeben. Die Funktion die diesen Pfad aufbaut ist eigentlich schon relativ
    gut aber eben nicht optimal (Das gehört soweit noch alles in den Bereich
    "neuronale Netze" denke ich).

    Jetzt wäre mein nächster Ansatz diesen "suboptimalen Pfad" als Startpopulation
    für einen evolutionären Algorithmus zu verwenden. Der dann die einzelnen Neuronen
    in den Ketten mutieren lässt und die Ketten (bzw die Pfade) wieder neu bewertet
    und dann selektiert.
    Ich hoffe durch dieses Verfahren dann an eine bessere Kette zu gelangen als sie
    mein bisheriger Algorithmus alleine liefert.

    Glaubst du dieses Vorgehen könnte erfolgreich sein?
    Wie gesagt fische ich im Moment etwas im Trüben was die Anwendung dieser Techniken angeht.



  • Storm.Xapek.de schrieb:

    @Gregor
    Du scheinst dich ja ein bischen auszukennen in dem Bereich, es würde ich deshalb
    freuen wenn du meinen Ansatz mal kurz durchlesen und eventuell kommentieren würdest.
    Vllt kannst du als Mod den Thread ja auch aufspalten...

    Ne, kann ich nicht, ich bin nur Mod in einem anderen Subforum. Aber ich sehe persönlich auch noch keinen wirklichen Grund dazu, hier etwas abzuspalten.

    Mir ist noch nicht wirklich klar, was Du da eigentlich genau mit den KNNs machst. Ok, Du hast gesagt, dass Dein KNN praktisch eine Kette von Neuronen ist. Aber was steckst Du genau wo rein und was willst Du wo rauskriegen?



  • ich programmiere am liebsten was, das auch mit der realen umwelt interagiert. rein virtuelles zeug, also programme, die nur auf dem PC laufen, finde ich super-langweilig. interessant finde ich z.b. sensornetzwerke, ortung über handynetze, WLAN, etc. (also missbrauch von technologien), mustererkennung in bewegtbildern, faken/hacken/fälschen von telefon- und geldkarten usw.usw. (also alles was lustig ist)
    🙂



  • tfa schrieb:

    Access-Modifier wie public, protected und private sind auch unbekannt in Python.

    jein, die Sichtbarkeit wird bei Python über den Membernamen geregelt (zumindest ansatzweise 🙄 )
    http://docs.python.org/tut/node11.html#SECTION0011600000000000000000



  • Heimwerkerking.work schrieb:

    tfa schrieb:

    Access-Modifier wie public, protected und private sind auch unbekannt in Python.

    jein, die Sichtbarkeit wird bei Python über den Membernamen geregelt (zumindest ansatzweise 🙄 )
    http://docs.python.org/tut/node11.html#SECTION0011600000000000000000

    Ist mir bekannt. Es ist aber kein vollwertiger Ersatz für echte Access-Modifier. Das meinte ich mit Unterstrichen in Methodennamen, die eine semantische Bedeutung haben. Unästhetischer geht's ja wohl nicht.



  • Nachfrager schrieb:

    mikey schrieb:

    Ich programmiere gerne Konsolenspiele

    Meinst du Spiele für die PC-Konsole (das hässliche schwarze Fenster mit den kryptischen Befehlen) oder für Spielekonsolen (Wii, PS3)?

    Ich meine die Textkonsole unter Windows, also ersteres.



  • Gregor schrieb:

    Storm.Xapek.de schrieb:

    @Gregor
    Du scheinst dich ja ein bischen auszukennen in dem Bereich, es würde ich deshalb
    freuen wenn du meinen Ansatz mal kurz durchlesen und eventuell kommentieren würdest.
    Vllt kannst du als Mod den Thread ja auch aufspalten...

    Mir ist noch nicht wirklich klar, was Du da eigentlich genau mit den KNNs machst. Ok, Du hast gesagt, dass Dein KNN praktisch eine Kette von Neuronen ist. Aber was steckst Du genau wo rein und was willst Du wo rauskriegen?

    Wie bereits gesagt ist es nicht wirklich ein KNN sondern mehr eine Variante davon (ich gewichte meine Neuronen z.B. nicht)
    Jedes Neuron erhält einen Input in Form einer Zahl, verarbeitet diese Zahl dann und gibt die neue Zahl wieder als Output zurück.
    Jetzt werden diese Neuronen in einer Kette verbunden, sodass der Output des ersten Neurons der Input des Zweiten ist, usw.

    Dann erhalte ich z.B. wenn ich mir einen Pfad für den Term f:=2x²-3 aufbauen lasse folgende Kette:
    n1:=x² n2:=x
    2 n3:=x-2 n4:=x-1. Also sozusagen eine Verkettung von Funktionen n4(n3(n2(n1(x)))) = f(x).

    Jetzt findet mein Algorithmus aber nicht immer die optimale Lösung für jeden Term.
    Und um das zu verbessern, hatte ich jetzt vor die Kette die mir der Algorithmus
    ausgibt als Startpopulation für einen genetischen Algorithmus zu verwenden.
    Der dann die Neuronen in der Kette mutiert, dann wird z.B. aus n3:=x-2 sowas n3:=x-3.
    Diese neuen Ketten die durch Mutation entstehen, lasse ich dann bewerten
    und selektiere dann.

    Soweit mein Ansatz, ich versuch jetzt mal das Ganze so umzusetzen.
    Ich berichte dann obs geklappt hat 😉


Anmelden zum Antworten