Du brauchst die extra Variable nicht.

int number = Convert.ToInt32(Console.ReadLine());

while (number > 0)
{
  Console.WriteLine(--number);
}
...zur Antwort

Du setzt j nicht zurück, nachdem die innere Schleife einmal durchlaufen wurde. Daher trifft für die Folgeiterationschritte der äußeren Schleife die Bedingung

j < len(L)

nicht mehr zu.

...zur Antwort
(...) und bräuchte dazu ein leichtes Programm

Du kannst IntelliJ IDEA als Entwicklungsumgebung nutzen. Alternativen dazu sind noch Eclipse oder NetBeans IDE. Diese drei Programme sind soweit auch für die professionelle Entwicklung geeignet.

Solltest du nach noch einfacher aufgebauten Anwendungen für einen spielerischeren Einstieg suchen, schau dir Greenfoot an. Greenfoot wird insbesondere in schulischen Einrichtungen genutzt.

Andernfalls würde ich dir für den Anfang speziell Processing empfehlen. Hierbei handelt es sich um eine Programmiersprache mit eigener (gleichnamiger) IDE, die auf Java aufbaut und deren Syntax weitestgehend übernimmt. Allerdings nimmt sie auch an vielen Stellen Komplexität heraus: Codestrukturen, die für einen Anfänger eh noch nicht relevant sind (aber in Java dennoch geschrieben werden müssen, um ein funktionales Programm zu erhalten) und erst bei einem späteren Lernstand tatsächlich gut erklärt werden könnten. Mit Processing kannst du dich also gut auf das Erlernen der ersten Grundlagen fokussieren. Anschließend kannst du mit Java einfach weitermachen.

(...) ich würde mir gerne Java beibringen (...) Hat jemand Empfehlungen (...)

Bezüglich Lernmaterial würde ich auf solche verweisen:

  • Die JetBrains Academy bietet für Java einen ziemlich umfangreichen Kurs an, welcher nach jedem Kapitel mehrere Übungsaufgaben einschließt.
  • Buch: Programmieren lernen mit Java von Habelitz
  • Buch: Java ist auch eine Insel von Ullenboom (gibt es für die 15. Auflage auch als Open Book, also in dem Fall zu Java 14)
  • Buch: Schrödinger programmiert Java von Ackermann
  • Core Java Tutorial (bis Java 11) von Pankai

Abraten würde ich von jeglichen Crashkursen, da diese meist sehr oberflächlich versuchen, Informationen in kurzer Zeit zu vermitteln. Nimm dir stattdessen bewusst die Zeit zum Lernen, die du brauchst. Des Weiteren wäre es gut, mit Material zu starten, welches mindestens Java 9 inkludiert, da ab dieser Version erste größere Umbrüche stattfanden (z.B. die Einführung des Modulsystems). Bei dem hier von anderen Antwortgebern angepriesene W3Schools ist das beispielsweise nicht der Fall.

Wenn du lernst, dann versuche dich auch praktisch an dem Angelesenen. Ganz am Anfang reicht das natürlich noch nicht für richtig sinnvolle Anwendungen, doch nach und nach kannst du deine Kenntnisse kombinieren. Ein paar Seiten, auf denen du Übungsaufgaben finden kannst, wären CodingBat, Edabit, Exercism oder w3resource.

...zur Antwort
Kann man alles über eine Datenbank laufen lassen?

Können - ja. Es ist aus Sicht der Datentrennung und Wiederverwendbarkeit allerdings nicht so sinnvoll, Daten und Quelltext zusammenzuspeichern.

Nimm als Beispiel den Titel einer Seite, der womöglich als Titel des HTML-Dokuments, als auch für die erste Überschrift im Inhaltsbereich benutzt werden soll. Wenn nur der Titeltext in einer Datenbankzelle abgelegt wird, kann er für beide Fälle abgerufen und eingesetzt werden.

Mittels einer Trennung von reinen Daten und Struktur (HTML), bleibst du flexibler. Sollte sich die Struktur einmal ändern, brauchst du nicht an die Datenbank. Sollten sich einmal die Daten ändern, brauchst du nicht im Quelltext suchen.

Ist es schwer (...)

Grundsätzlich würde ich es nicht als schwer bezeichnen.

Was du brauchst:

  • Mach dir darüber Gedanken, welche Inhalte in der Datenbank stehen sollen und wie du sie strukturierst. Man könnte die Daten beispielsweise je Seite oder Komponente bündeln. Was sich eher eignet, hängt von deiner Webseite ab.
  • Natürlich den Datenbankserver sowie eine Verbindungsstelle, über die du mit der Datenbank von deiner Webanwendung aus kommunizieren kannst. Je nachdem, mit welcher Programmiersprache du nun deine Webanwendung baust, kannst du in der Regel Bibliotheken o.ä. finden, die dir dabei helfen.
  • Je nach Datenbanksystem musst du wissen, wie du Anfragen (Queries) formulieren kannst.
  • Programmierkenntnisse mit der Programmiersprache, mit der du deine (serverseitige) Webanwendung entwickelst. Je nachdem, welche Seite angefordert wird, muss deine Anwendung eine Anfrage an die Datenbank stellen. Die empfangenen Daten kannst du nun direkt in das HTML einsetzen, welches an den Browser geschickt wird (an der Stelle lohnt es sich, eine Template-Engine zu verwenden) oder du gibst es an eine JavaScript-Anwendung weiter, die die Daten im Browser in die jeweiligen DOM-Knoten einsetzt.

Ich würde an der Stelle empfehlen, direkt nach Frameworks oder Sets zu schauen, die dir die erwähnten Funktionen bieten, und dich in diese einzuarbeiten.

Zum Beispiel:

  • Django (Python)
  • Express + Prisma + Pug/EJS (JavaScript)
  • Flask + Flask-PyMongo (Python)
  • Laravel (PHP)
  • Quarkus (Java)
  • Spring + Thymeleaf (Java)
  • Yii + Twig (PHP)

Alternativ könntest du auch direkt ein CMS nutzen. Die übernehmen für dich die Datenverwaltung. Du gibst die Struktur deiner Inhalte vor (Seiten, evt. auch Seitentemplates) und kannst zudem für die Präsentation (Weboberfläche) ein eigenes Theme anlegen. Der Vorteil gegenüber den obigen Lösungen ist, dass du als Nutzer deine Daten einfacher verwalten kannst, da das CMS dir dafür eine grafische Oberfläche aufbereitet.

...zur Antwort

Du kannst einen Typ erstellen:

type TMatrix = array[1..8, 1..8] of Integer;

und diesen als Rückgabewert verwenden:

function GetZuege() : TMatrix;

Oder aber du verwendest ein generisches, dynamisches Array:

function GetZuege() : TArray<TArray<Integer>>;
...zur Antwort
Zumindest auf Spyder hab ich probleme Pytorch zu installieren.

Schau, ob du die neueste Version von Spyder nutzt. Des Weiteren wäre an der Stelle die Frage, ob das Problem nicht eher woanders liegt. Die Installation läuft ja üblicherweise über conda ab.

Hat jemand eine gute Umgebung, wo ich einfach sachen wie libary Pytorch installieren kann?

PyCharm bietet sich an. Wenn das Installationsproblem jedoch, wie schon erwähnt, beim Package Manager liegt, wirst du mit PyCharm ebenso Probleme haben.

...zur Antwort

Inwiefern du nun genau Wissen mit Python aufgebaut hast, beschreibst du leider nicht konkret. Daher wäre meine erste Empfehlung, dass du dich erst einmal weiter praktisch mit Python beschäftigst und dir anschaust, was du in deinen jeweiligen Interessensgebieten damit bereits erreichen kannst.

Bezogen auf Themen wie AI/ML oder Cybersecurity (in Kombination mit Python) gibt es zudem zahlreiche Literatur und je Bereich auch verschiedene Tools (z.B. Bibliotheken/Frameworks wie Keras, PyTorch, Scapy, Tensorflow, YARA), mit denen du dich einmal näher beschäftigen könntest.

Eine sinnvolle Ergänzung für Python wären C oder C++. Beide Programmiersprachen erlauben einen direkteren Systemzugriff, was gerade im Bereich Cybersecurity nicht uninteressant ist. Generell finden sie in den von dir genannten Themen Anwendung.

Außerdem kannst du mit ihnen bei Bedarf Erweiterungen (extension modules) für Python entwickeln, die dann beispielsweise spezifische System- oder rechenlastige Operationen übernehmen.

Bezüglich der Entwicklung einer Sicherheits-/Antivirensoftware wäre es ratsam, nach dem üblichen Verfahren der Softwareentwicklung vorzugehen (erst analysieren/planen, dann implementieren). Je nach den gestellten Anforderungen wirst du dich nochmal tiefer in bestimmte Punkte einarbeiten bzw. recherchieren müssen (z.B. Welche Arten an Malware gibt es? Wie funktionieren sie? Wie kann man sie erkennen und blockieren? Inwiefern lässt sich AI einweben? Welche Hilfstools gibt es bereits?).

...zur Antwort

Die Seite der Rheinland GmbH hat zwar auch Schwächen (z.B. Rechtschreibfehler, die hässlichen weißen Boxen auf der Startseite, leere Überschriften und falsche Texthierarchien auf der Datenschutzseite, doppelte Galeriebilder oder ein paar überdimensionale Überschriften), erscheint meines Erachtens aber überlegter aufgebaut, als Handwerk14. Die Platzaufteilung ist besser und die Inhalte vermitteln ein deutlicheres Bild von dem Unternehmen (z.B. Leistungen, Einsatzgebiet, Referenzen).

Bei Handwerk14 hat man den Eindruck, dass mehrere falsche Designentscheidungen getroffen und die Inhalte lieblos hineingeklatscht wurden.

Beispiele:

  • Der Footer ist viel zu groß, die zwei Links könnten locker auf eine Zeile
  • Generell weiß man auf der Seite nicht, mit dem eingeforderten Platz umzugehen: Mal werden Texte in Lücken hineingezwängt, mal ist der Weißraum riesig (Inhalte/Sektionen könnten in diesen Fällen zusammengefasst werden)
  • Der Prefooter (Kontakt) ist völlig überflüssig, da es bereits eine eigene Seite gibt, auf der er im Übrigen ebenso noch einmal ausgespielt wird
  • Der Back-to-top-Button hebt sich gerade auf Footerhöhe im Kontrast nicht deutlich ab
  • Der Text auf der Datenschutzseite ist größtenteils unformatiert
  • Die Seite hat nicht einmal ein eigenes Favicon, obwohl es doch zumindest ein Logo gibt
  • Mehrere der genutzten Fotos sind nicht gut, entweder in der Qualität, dem Blickwinkel/Ausschnitt oder der Kulisse

Die technische Umsetzung habe ich mir in beiden Fällen nicht näher angeschaut.

...zur Antwort

Zu diesem Widget gibt es diesen Konfigurator.

https://www.meteoblue.com/en/weather/widget/setupday/san-francisco_united-states_5391959

In dem kannst du ein Theme (Coloured/Monochrome) und sowie gepaart die Hinter- sowie Vordergrundfabe festlegen.

Wenn dir diese Optionen nicht genügen, musst du dir den HTML-Response des Widgets über einen Request innerhalb einer serverseitigen Webanwendung holen, den entsprechenden Container (.picto) extrahieren und in einen eigenen Container auf deiner Seite herausrendern. Dann kannst du auch eigenes CSS hinzufügen (z.B. eine CSS-Regel mit dem Klassenselektor picto, welche eine Hintergrundfarbe setzt).

Voraussetzungen dafür sind: Zugriff auf den Webserver der eigenen Webseite sowie Programmierkenntnisse in der Technologie, die bei dir serverseitig genutzt werden kann (sei es nun PHP, o.ä.).

...zur Antwort

Stecke deine Eingabefelder in ein QGridLayout oder eine Schachtelung aus QHBoxLayout und QVBoxLayout.

...zur Antwort

Wenn das HTML-Dokument nicht über einen Webserver ausgespielt, sondern einfach so im Browser geöffnet wird, ist das Verhalten normal. Cookies werden an eine Domain gebunden, die in diesem Fall einfach nicht existiert.

Lade das Dokument also entweder auf einen Webspace und steuere es über dessen URL im Browser an oder richte dir lokal einen Webserver ein, über den du das Dokument aufrufen kannst.

Für die Einrichtung eines lokalen Webservers gibt es mehrere relativ einfache Lösungen: Zum Beispiel das Softwarepaket XAMPP, EasyPHP oder Laragon. Zum Gebrauch von XAMPP habe ich in diesem Beitrag (zweiter Absatz) schon einmal eine Kurzanleitung gegeben.

Dein obiger Code ist jedenfalls funktional, sofern du allowCookie vor Funktionsaufruf immer auf true setzt und der Cookiewert nicht invalid ist. Wende bestenfalls ein Encoding-Verfahren auf deinen Wert an (Base64 oder URL-Encoding via encodeURIComponent) und berücksichtige (obwohl ich weniger davon ausgehe, dass das ein Problem darstellen sollte), dass ein Cookie maximal 4096 Bytes an Daten aufnehmen kann.

...zur Antwort

Angenommen, bei Programmstart soll ein Actor an Koordinate (1/2) in der Welt platziert werden. Dann musst du das so auch in der Startmethode (oder einer separaten setup-Methode, die in der Startmethode aufgerufen wird) deines Programms vorgeben.

Praktischerweise gibt es dazu auch schon eine Funktion in Greenfoot, mit der du eine aufgebaute Welt speichern kannst. Sie generiert dir darauffolgend den notwendigen Programmcode (lies hier).

...zur Antwort

a) Statt dem echo-Befehl, kannst du auch noch einmal auf die index.html zurückleiten:

header("Location: URL-to-index.html");

b) Ändere die Endung deiner index.html zu .php und kopiere den PHP-Block aus deinem Skript hinein. Im einfachsten Fall genau dort im body, wo später die Erfolgsmeldung stehen soll. Das action-Attribut des Formulars entfernst du.

Angedeutetes Beispiel:

<!doctype html>
<!-- head ... -->
<body>
  <form method="post">
    <!-- form fields ... -->
    <p class="result">
      <!-- your php block ... -->
    </p>
  </form>
</body>

Den else-Block kannst du entfernen, da du ihn nicht mehr brauchst.

Die Seite wird folgend bei Formularversand neu geladen. Die Daten werden an die selbe Seite geschickt und dann vom PHP-Skript ausgewertet.

...zur Antwort
Kann man Pygame auf dem iPhone installieren?

Man kann PyGame-Spiele auf iOS portieren. Deinem weiteren Text zufolge suchst du aber eigentlich nach einer Python-Entwicklungsumgebung für dein Gerät.

Zwei Optionen wären da replit (in der du auch PyGame installieren kannst) oder Pythonista. Mit letztgenannter App kannst du zwar auch kleine Spiele oder Animationen entwickeln, jedoch nicht mit PyGame.

(...) aber er ist so alt und langsam, das man fast nichts mit ihm anfangen kann (...)

Python/PyGame hat keine hohen Systemanforderungen. Daher wird es da wohl kaum Probleme geben.

...zur Antwort

Für die Speicherung von Nutzereinstellungen (wie Lautstärke, Bildschirmhelligkeit, u.ä.) kannst du PlayerPrefs verwenden.

...zur Antwort

Du kannst einen Texteditor wie Notepad++ oder Sublime Text nutzen, der beim Suchen und Ersetzen reguläre Ausdrücke erlaubt.

Die Semikolons am Zeilenanfang könntest du folgendermaßen mit

^;

aufspüren und die Semikolons am Zeilenende mit

;$
...zur Antwort
Weiß jemand wie man das beheben (...)

Mit FreeConsole löst du dich (bzw. den Prozess deines Programms) von der Konsole. Das heißt, du hast auf sie auch keinen Zugriff mehr. Du müsstest dich erst mit AttachConsole oder AllocConsole an eine Konsole binden, um wieder schreiben zu können.

(...) und vlt. auch welche Bedeutung die Rückgabewerte beider Imports haben?

Der Rückgabewert gibt bei beiden Funktionen jeweils an, ob die Aktion erfolgreich war. In dem Fall muss er ungleich 0 sein.

...zur Antwort

Ja, du darfst Visual Studio hierfür benutzen.

Wenn wir einmal davon ausgehen, dass du die Community Version verwendest, hast du folgende Rechte:

  • Als Einzelperson oder Organisation, die keinem Unternehmen entspricht, darfst du Visual Studio für Entwicklung oder Tests nutzen
  • Du darfst Visual Studio für die Demonstration deiner Anwendungen nutzen

Lies dazu konkret die Lizenzbedingungen. Dort wird unter 1b vii auch der Begriff Unternehmen genauer erklärt.

Des Weiteren solltest du davon absehen, Versprechungen zum Kurs abzugeben, die nicht mit Microsoft abgeklärt sind (bspw.: Werde Microsoft-Entwickler mit diesem Kurs, o.ä.).

...zur Antwort

Für so ein Projekt würde sich C++ in Kombination mit dem JUCE-Framework sehr gut eignen.

C++ selbst erlaubt dir direkten Systemzugriff, über den du Daten schnell (und konsistent) in Echtzeit verarbeiten kannst (Bsp.: SIMD für DSP-Algorithmen). Es gibt Schnittstellen/Wrapper für low-level APIs mit Audiofunktionalitäten wie CoreAudio, DirectX und OpenAL oder etliche Bibliotheken, die dir beispielsweise bei dem Einlesen oder Schreiben von Audiodaten helfen (z.B. Aquila, Essentia, PortAudio, RtAudio, usw.).

Ein weiterer Vorteil ist, dass du mit C++ objektorientiert arbeiten kannst. So kannst du dein Projekt besser strukturieren.

Das JUCE-Framework wiederum hat bereits verschiedene Funktionalitäten zur Audiohandhabung (siehe hier oder hier) vorimplementiert und zusätzlich gibt es mehrere Bibliotheken aus der Community (schau z.B. hier). Des Weiteren ermöglicht es dir die Entwicklung von (meiner Meinung nach schönen) grafischen Oberflächen (direkt zugeschnitten auf Audiosoftware), die auf verschiedenen Plattformen (Android, iOS, macOS, Windows) portierbar sind.

Alternativ würde sich auch Qt zur Entwicklung der grafischen Oberfläche eignen.

Hinsichtlich einer Vorbereitung für dein Projekt wäre es gut, zunächst mit den C++-Grundlagen (sowie klassenbasierter OOP) vertraut zu werden. Andernfalls macht ein Projektstart noch keinen Sinn.

Richte dir zuerst eine passende Entwicklungsumgebung ein, damit du möglichst früh mit dem, was du lernst üben/experimentieren kannst. Ein paar gute Optionen wären CLion, der QtCreator oder (nur für Windows) Visual Studio.

Bezüglich Lernquellen solltest du solche verwenden, die mindestens C++ 17 behandeln. Online kann ich hierbei auf LearnCpp verweisen. Empfehlenswerte Autoren für feste Literatur sind m.E. Nicolai M. Josuttis, Torsten T. Will, Thomas Theis oder Ulrich Breymann. In diesem Stackoverflow-Beitrag werden noch andere Empfehlungen angebracht.

Solltest du nach Lernkursen (Videos/Tracks) suchen, schau auf Codecademy, Coursera, Educative, in die JetBrains Academy oder auf Udemy.

Zu externen Bibliotheken/Frameworks findest du in der Regel genügend in deren jeweiligen Online-Dokumentationen.

Das ist aber soweit noch längst nicht alles. Zum einen müsstest du dich noch tief in das Thema Audioverarbeitung eingraben (was ziemlich mathematiklastig werden kann) und zum anderen solltest du wissen, wie du deine Anwendung am besten strukturiert aufbauen kannst.

Letzteres betrifft die Softwareplanung. Mach dich zu Architektur-/Entwurfsmustern schlau. Grundsätzlich macht es Sinn, die Anwendung modular nach MVC- oder MVVM-Aufteilung aufzubauen.

Damit du den Überblick nicht verlierst und Einbahnstraßendesign vermeidest, solltest du im Vorfeld analysieren, was du erreichen möchtest, brauchst und wie die benötigten Ressourcen ineinandergreifen. Ein paar Stichworte hierzu wären Anforderungsanalyse und UML (use cases, activities, object-/class-diagram, ...).

Zur Audioentwicklung kann ich dir ebenfalls ein paar nützliche Quellen mitgeben. Du solltest aber auch selbst noch weiter recherchieren.

  • Schau nach Büchern von Will Pirkle
  • ThinkDSP von A. B. Downey
  • The Audio Programming Book von R. Boulanger, V. Lazzarini
  • The Scientist and Engineer’s Guide to Digital Signal Processing von Steven W. Smith, Ph.D.
  • Musimathics, Vol. 2 von G. Loy
  • An Introduction to the Mathematics of Digital Signal Processing von F. R. Moore
  • Auf YouTube findest du einige Videos von der Audio DevCon (ADC), die interessant sein können
...zur Antwort