Sammeltopic für kurze Codingfragen

Wir sammeln alle Infos der Bonusepisode von Pokémon Karmesin und Purpur für euch!

Zu der Infoseite von „Die Mo-Mo-Manie“
  • Huhu,


    ich möchte in die Programmierung "einsteigen" und wollte euch mal fragen, welche Programmiersprache ihr mir empfehlen würdet. So im ersten Griff habe ich mir folgende Sprachen rausgesucht: Java, Javascript, C, C#, C++


    Welche würdet ihr mir als Einsteiger empfehlen, der die Kenntnisse dann später in den Beruf mitnehmen kann? Lernaufwand ist nicht so kritisch, aber wäre interessant zu wissen, wie man dort vorankommt. :)

  • Der Lernaufwand sollte in der Regel bei allen Sprachen gleich sein.
    Ich habe als Anfänger auch mit "nur" HTML (auch wenn das in dem Sinne keine Programmiersprache ist) angefangen.


    Deshalb hängt die Wahl der Einstiegssprache eher von der Plattform ab, für die du später programmieren willst.
    Fürs Web bietet sich eine Kombination aus PHP und JavaScript (Grundgerüst einer Website mit HTML und CSS) an, für Android OS ist Java die erste Wahl und unter Windows wird es wohl auf C, C#, C++ oder etwas in der Art hinauslaufen. iOS-Apps werden häufig in Cocoa Touch (soweit ich weis auf C basierend) programmiert.


    So ihr Experten, jetzt steinigt mich falls diese Aussagen falsch sein sollten.

  • Wie schon gesagt, entscheident ist, was du machen willst. C++ beispielsweise kann sich auch direkt mit der Hardware unterhalten, wodurch auch bootfähige System möglich sind. Wenn du sowas mit Java bewerkstelligen wollen würdest, müsstest du vorher erst mal einen Prozessor entwickeln, der Java versteht.


    Und wenn wir schon bei C++ sind, darf erwähnt sein, dass es eine recht komplexe, aber auch vielseitige Sprache ist, die dadruch aber auch wiederum etwas schwerer zu erlernen ist. Da gibt es andere Sprachen, die für den Einstieg leichter sind.
    Anders herum stehst du, wenn du dich von klein nach groß arbeitest jedes mal wieder vor einem kleinen Berg.
    Lernst du hingegen gleich eine komplexere Sprache, sind andere Sprachen später im Vergleich wesentlich leichter zu lernen.

  • Ich persönlich bin ein Freund davon, mit C++ (also "richtigem" C++, kein kruder C/C++-Kauderwelsch oder ähnlich beklopptes Zeug) anzufangen. Es ist zwar etwas schwerer und komplexer, dafür fällt dir das Lernen vieler anderer Programmiersprachen danach viel leichter, C++ ist also eine geniale Basis, wenn du später auf Vielseitigkeit aus bist. Ich könnte dir da sogar ein paar gute PDFs zum Lernen von C++ zur Verfügung stellen.
    Wenn du lieber mit etwas einfacherem starten möchtest, würde ich es nach grundsätzlichem Anwendungszweck abhängig machen. Bei gewünschter Platformunabhängigkeit Java, für Webprogrammierung PHP+JavaScript (und etwas HTML und CSS wirst du zwangsläufig auch brauchen), bei Windows-Programmierung C#.

  • Ich habe auch eine Frage, auch wenn es keine Konkrete Coding-Frage ist.


    Und zwar geht es um die "Schwartzian Transformation"... Ich soll eine solche in Kotlin programmieren (Hausaufgaben), aber mein Hauptproblem ist, dass ich nicht verstehe, was die genau machen soll. o.ô


    Die Erklärung, die der Prof uns gegeben hat, ist ziemlich... Nichtssagend.

  • Ich habe auch eine Frage, auch wenn es keine Konkrete Coding-Frage ist.


    Und zwar geht es um die "Schwartzian Transformation"... Ich soll eine solche in Kotlin programmieren (Hausaufgaben), aber mein Hauptproblem ist, dass ich nicht verstehe, was die genau machen soll. o.ô


    Die Erklärung, die der Prof uns gegeben hat, ist ziemlich... Nichtssagend.

    Wikipedia gibt es nicht nur in Deutsch.
    http://en.wikipedia.org/wiki/Schwartzian_transform


    Btw ist eh nahezu alles auf englisch 10 mal besser erklärt, als auf deutsch.
    Kenn das Idiom tbh auch nicht, aber Google hilft.. wie immer.



    Ich habe mit C++ angefangen, da aber nur die Basics gemacht.
    Wenn du was lernen willst, was Zukunft hat, würde ich C# oder eben Java empfehlen.
    Beide sind objektorientiert und relativ leicht zu erlernen.


    C++ dahingegen ist (imo) veraltet, hat aber trotzdem noch Anwendungsgebiete (ich meine sogar in der Spieleprogrammierung?).
    C würd ich komplett lassen, einfach weil ich ein C-Hater bin. ;)


    JavaScript ist ziemlich komplex und dafür Bedarf es schon etwas an Erfahrungen mit verschiedenen Methoden, Techniken, Designpatterns etc. sonst hast du vielleicht (halbwegs) funktionierenden Code aber blickst nicht was das genau macht (fckng callbackfunktionen, prototyping etc.).


    Für den Einstieg hab ich mich durch diverse Fachliteratur (u. A. http://openbook.rheinwerk-verlag.de/javainsel/) gewälzt und anschließend bzw parallel dazu Aufgaben mit ansteigender Komplexität bewältigt.
    Ansonsten wirst du, wenn du tatsächlich in die Richtung Software-Engineering gehst, sowieso nicht um HTML(5) und CSS(3) bzw. Meta-Sprachen wie Less, SCSS oder Stylus herumkommen.


    Eine letzte Alternative wäre noch PHP was wohl als Einsteiger recht einfach sein soll (komm ich aber gar nicht drauf klar, aber da fehlt auch die Motivation zu).

  • Wikipedia gibt es nicht nur in Deutsch.
    en.wikipedia.org/wiki/Schwartzian_transform


    Btw ist eh nahezu alles auf englisch 10 mal besser erklärt, als auf deutsch.
    Kenn das Idiom tbh auch nicht, aber Google hilft.. wie immer.

    Was meinst du, wo ich zuerst geschaut habe?
    Dummer Weise sagt mir der Artikel nicht mehr, als ich schon weiß: Da ist ein Algorithmus, der eine Liste oder einen Array nach irgendetwas sortieren soll.


    Aber was ist das irgendetwas? Was für Properties sind da zulässig? Was unterscheidet das vom einfachen "SortBy", das Java bietet?


    Habe bisher weder auf Wikipedia, noch auf Google, noch in einem Buch eine Antwort gefunden.
    Daher frage ich hier, da ich die Hoffnung habe, dass es hier jemanden gibt, der mit dem Algorithmus schon mal gearbeitet hat.

  • Ich les grad auch nur die Wikiseite und die Quellen dazu.



    Ansonsten gehe ich davon aus, dass die Sort-Property egal ist, das Idiom hat eine andere Besonderheit.
    http://ruby-doc.org/core-2.2.2…ble.html#method-i-sort_by
    https://wiki.python.org/moin/H…_Decorate-Sort-Undecorate


    Da nochmal die Implementierungen in Ruby und Python.
    Meines Erachtens nach geht es darum, keine temporären Arrays bzw. Variablen zu erstellen sondern im Array selber zu sortieren.
    Ansonsten wär eig. nur noch folgendes zu beachten

    Zitat von Wikipedia

    By comparison, this idiom assures that each input item's key is calculated exactly once, which may still result in repeating some calculations if the input data contains duplicate items.


    Wie sich das von anderen Sort-Methoden/Funktionen unterscheidet kannst du ja in der jeweiligen Doku nachschauen.



    E: http://www.stonehenge.com/merlyn/UnixReview/col64.html
    Nochmal erklärt was der Algorithmus macht

  • C++ dahingegen ist (imo) veraltet, hat aber trotzdem noch Anwendungsgebiete (ich meine sogar in der Spieleprogrammierung?).

    Deine Meinung in allen Ehren, aber C++ als veraltet zu bezeichnen ist nicht nur etwas daneben, sondern völlig falsch. Es ist vor allem eine Frage des Anwendungszweckes. Dass man Anwendungssoftware nicht unbedingt in C++ schreibt, sollte jedem, der Ahnung von Programmieren hat, klar sein, aber C++ ist um ein Vielfaches effizienter als C# und Java und deshalb besonders fü ressourcenhungrige Programme eine sehr gute Wahl, was natürlich auch auf Spiele zutrifft. Quasi jede gute Spieleengine ist entweder in C oder in C++ geschrieben. Was passiert, wenn man Spiele mit Java programmiert, sieht man sehr gut bei Minecraft, welches im Verhältnis zur Grafik lächerlich viele Ressourcen verbraucht und es dadurch selbst mit Mods fast unmöglich macht, die Grafik wirklich deutlich aufzupolieren.


    @Alaiya Ich denke mal, dass du einfach diesen Algorithmus zum Sortieren eines Arrays verwenden sollst, allerdings ist es etwas doof seitens des Profs, nicht anzugeben, wonach ihr sortieren sollt. Du könntest probieren, mehrere Möglichkeiten zu geben, wonach man sortieren möchte. Alphabetisch, numerisch...

  • Deine Meinung in allen Ehren, aber C++ als veraltet zu bezeichnen ist nicht nur etwas daneben, sondern völlig falsch. Es ist vor allem eine Frage des Anwendungszweckes. Dass man Anwendungssoftware nicht unbedingt in C++ schreibt, sollte jedem, der Ahnung von Programmieren hat, klar sein, aber C++ ist um ein Vielfaches effizienter als C# und Java und deshalb besonders fü ressourcenhungrige Programme eine sehr gute Wahl, was natürlich auch auf Spiele zutrifft.

    Wenn man Plan von Speichermanagement hat, klar. Dementsprechend schwieirig ist es aber auch die Sprache zu "meistern".
    Ich bin eben ein kleiner C-Hater! Sorry fo that.
    Hast natürlich Recht!

    Quasi jede gute Spieleengine ist entweder in C oder in C++ geschrieben. Was passiert, wenn man Spiele mit Java programmiert, sieht man sehr gut bei Minecraft, welches im Verhältnis zur Grafik lächerlich viele Ressourcen verbraucht und es dadurch selbst mit Mods fast unmöglich macht, die Grafik wirklich deutlich aufzupolieren.

    Mit Ressourcen meinst du Speicher. Finde gerade das so toll an MC. Man braucht einfach nur Speicher, sonst nicht.
    So ein Kit mit 8 GB wird dir doch an jeder Ecke hinterhergeworfen. Dazu kommt noch die Plattformunabhängigkeit..


    Aber ich will hier auch keine epische Diskussion über C/C++/C# vs. Java starten!
    Hat alles so seine Vor- und Nachteile.

  • Ich persönlich bin ein Freund davon, mit C++ (also "richtigem" C++, kein kruder C/C++-Kauderwelsch oder ähnlich beklopptes Zeug) anzufangen. Es ist zwar etwas schwerer und komplexer, dafür fällt dir das Lernen vieler anderer Programmiersprachen danach viel leichter, C++ ist also eine geniale Basis, wenn du später auf Vielseitigkeit aus bist. Ich könnte dir da sogar ein paar gute PDFs zum Lernen von C++ zur Verfügung stellen.Wenn du lieber mit etwas einfacherem starten möchtest, würde ich es nach grundsätzlichem Anwendungszweck abhängig machen. Bei gewünschter Platformunabhängigkeit Java, für Webprogrammierung PHP+JavaScript (und etwas HTML und CSS wirst du zwangsläufig auch brauchen), bei Windows-Programmierung C#.

    Ich zitiere mal nicht jeden, das wird sonst zu unübersichtlich xD


    Die Voschläge gehen in der Mehrheit Richtung C++ und C#. Wenn du mir die PDFs zur Verfügung stellen könntest zum "Reinschnuppern" wäre ich sehr froh darüber. Und wenn ich noch mehr Zeit haben sollte, lerne ich halt beide xD


    Zum C# habe ich auf Amazon ein Buch gefunden. Ist das empfehlenswert oder kennt ihr andere Bücher (anfängerfreundlich)? Buch


    Allgemein würde ich Richtung Windows-Entwicklung gehen wollen. Vielleicht auch später mit gewissen Grundwissen an die WP-Entwlicklung, aber kA, ob ich das durchziehe mit WP.^^

  • E: stonehenge.com/merlyn/UnixReview/col64.html
    Nochmal erklärt was der Algorithmus macht

    Vielen Dank. Genau so etwas habe ich gesucht :)


    Und ich hatte recht. Kotlin hat tatsächlich eine Funktion die genau das macht :) Insofern: Yay, einfache Lösung.


    Zum C# habe ich auf Amazon ein Buch gefunden. Ist das empfehlenswert oder kennt ihr andere Bücher (anfängerfreundlich)? Buch

    Jap, damit habe ich damals C# gelernt und ich fand es ziemlich toll. Wobei ich unterstützend noch die dazugehörigen DVDs von Galileo Computing benutzt habe. :)

  • Ich halte das Kaufen von Büchern zum Thema Programmierung (oder allgemein in der Informatik) für rausgeworfenes Geld, weil vieles schnell nicht mehr aktuell ist und man zudem ohnehin alles auch im Internet findet, wenn man aber etwas "Handfestes" bevorzugt, sind die Galileo Computing-Bücher sicher keine schlechte Wahl, von denen gibt's viele aber auch kostenlos online.
    Windows-Entwicklung am ehesten mit Visual Studio (Express gibt's kostenlos, als Student - so du denn einer bist - bekommst du über Dreamspark vielleicht sogar "bessere" Versionen umsonst) und dann halt C#/C++.


    Die C++-PDFs lade ich hoch und schicke die dir dann per PN, sind über 300MB, deshalb wird's ein paar Minuten dauern.

  • Win 8.1, alle ca. 5 Mins hängt es sich grundlos auf, Intel inside Core i5-4210U, NVIDIA GeForce GTX 850M mit 4 GB, 8 GB DDR3, 8GB SSD, 1000GB Hybrid HDD, ich habe VS ca. vor 3 Tagen installiert, es wird nichts mehr angezeigt Manchmal wird "Microsoft Visual Studio is busy" angezeigt, egal was ich mache(in VisualBasic programmieren, mit WinForms)

  • Was du üblicherweise vorher machst, hast du immer noch nicht beantwortet. Nichts hängt sich grundlos auf, zwischen nicht wissen und nicht existieren liegen ziemlich viele verschiedene Möglichkeiten. Es kann sehr viele Ursachen haben, weshalb eine Diagnose kaum möglich ist.
    Grundsätzlich bedeutet diese Fehlermeldung, dass irgendetwas bei der Ausführung viel länger dauert, als es eigentlich sollte. Das kann passieren, wenn du irgendeinen Programmierfehler eingebaut hast, der das Programm lahmlegt oder zumindest vorübergehend interrupted, es kann aber auch durch eine korumpierte Installation oder sonstwas hervorgerufen werden. Du kannst es mit einer Neuinstallation probieren, aber wenn das nichts hilft, wirst du dich direkt an Microsoft wenden müssen.

  • Ich habe die ganze Zeit an meinem App-Pack(siehe Signatur gearbeitet), also mal die Fenster designt, mal programmiert und debuggt und es hat sich eigenlich immer an verschiedenen Stellen aufgehangen und für die Neuinstallation müsste ich meinen Laptop über Nacht laufen lassen(wegen 800KBit = 100KB/s wenn überhaupt)

  • Mal wieder eine Frage, mal wieder was neues.


    Python. Etree Plugin.


    Ich arbeite aktuell mit XML Dokumenten. Die sind etwa so aufgebaut.


    Gibt es eine Möglichkeit aus einem XML Dokument automatisch eine ganze Section, inklusive sämtlicher Subsections und Inhalte mit Python/Etree/anderem Plugin zu kopieren und in einem anderen XML Dokument an eine BESTIMMTE STELLE einzufügen?