Es gibt noch ein paar Dinge, die man auf Android machen kann, die auf iOS nicht möglich sind. Wenn man davon nicht betroffen ist, ist das System ziemlich egal.

Von daher würde ich primär nach Hardware entscheiden. Da ist man dann bei Apple dann auf sehr teure oder alte Geräte beschränkt. So viel für Smartphones auszugeben lohnt sich aber heutzutage nicht mehr wirklich. Bei Flagschiffen bekommt man irgendwelche Gimmicks, die kein Mensch braucht, und muss dann bei wichtigeren Metriken wie Akkulaufzeit dafür Abstriche machen.

...zur Antwort

Text Datei -> Skript -> virt. COM Port -> Arduino -> Display

Das Skript und das Einlesen am Arduino lassen sich jeweils in unter 10 Zeilen realisieren. Ersteres kann man ziemlich sicher sogar schon mit üblichen Kommandozeilenbefehlen bewerkstelligen.

...zur Antwort

Die Kompilierungszeit ist völlig unerheblich für die spätere Anwendung. Sie beschreibt lediglich wie lange es dauert das Programm aus dem Source Code zu bekommen (grob gesagt). Wenn das sehr lange dauert muss man bei der Entwicklung eben länger warten zum Testen.

Während der Laufzeit läuft Scala wie Java in der JVM und kann dort von den extrem ausgereiften Optimierungen profitieren. An native Software und an Java selbst kommt man damit nicht ganz heran, aber es ist dennoch um ein Vielfaches schneller als PHP oder gar Python (CPython).

...zur Antwort
Bei mehreren tausend zeilen xaml code, lagt das ganze, zudem ist HTML und CSS viel besser und man hat deutlich mehr möglichkeiten.

Ich bin zwar auch kein Freund von WPF aber du übertreibst maßlos:

  • WPF ist relativ performant, HTML/CSS mit JS ist dagegen fast die langsamste Möglichkeit für GUIs
  • Da WPF nicht an eine Sandbox gebunden ist, gibt es viel mehr Möglichkeiten als in der Webentwicklung
  • Niemand zwingt dich XAML zu verwenden, es geht auch komplett ohne

Wenn man Anwendungen für mehrere Desktop Plattformen entwickeln will, die noch halbwegs nativ aussehen, ist Qt die einzige verbleibende umfassende Lösung die zugleich auch sehr performant ist. Java ist noch portabler und ähnlich performant, aber die GUI Toolkits dafür sind weniger verbreitet (JavaFX und Swing).

Die Github Desktop App basiert auf Electron und ist damit im Prinzip eine Webapp, die direkt mit einem Browser kommt. Solche Anwendungen haben einen riesigen Overhead bzgl. der Speichergröße und sind im Vergleich zu nativen Desktopanwendungen extrem langsam.

Meine Frage, mit was macht man heutzutage moderne und schnelle Software für Win und Linux evtl. auch Android und IOS?

Android und iOS? Das ist eine blöde Idee. Allein Android und iOS untereinander haben große konzeptionelle Unterschiede in der GUI-Entwicklung und die Unterschiede zum Desktop sind noch viel größer. Wenn man alle Plattformen mit einer Oberfläche abdecken will macht man immer signifikante Abstriche bei Performance und Funktionalität.

...zur Antwort

Ist ein Einzeiler in PowerShell:

Get-ChildItem -File | ForEach-Object {Copy-Item $_ (New-Item -Force -Type Directory -Path $_.Extension.Substring(1) -EA 0)}

Kann man bei Bedarf auch noch rekursiv machen oder anderweitig modifizieren. Ausführen kann man das leicht:

  • Shift-Rechtsklick im jeweiligen Ordner
  • PowerShell öffnen
  • Befehl einfügen und ausführen
...zur Antwort

Solche Dinge kann man problemlos mit PowerShell machen. Da geht auch noch viel mehr, man muss bloß ein paar Befehle lernen.

...zur Antwort

Minecraft Java wird schon seit vielen Jahren nur auf Sparflamme weiterentwickelt. Praktisch alle Versprechungen zu signifikanten Veränderungen im Unterbau wie eine neue Rendering Engine in der 1.13 haben sich im Nachhinein als viel Wind um nichts herausgestellt.

Dazu setzen sich die Entwickler auch andere Prioritäten und gewichten Dinge, die in der Informatik als good practices gelten, gerne einmal höher als Performance. Ein Klassiker ist dabei die Verwendung von kurzlebigen unveränderlichen Objekten, welche den Arbeitsspeicher zumüllen.

Du kannst auch mal den Sodium Mod ausprobieren, der ist in neueren Versionen nochmal deutlich performanter als Optifine und dazu kompatibler mit anderen Mods.

...zur Antwort

Klar geht das, eine Erklärung gibt es zum Beispiel hier: https://ark.fandom.com/wiki/Dedicated_server_setup

Der Server ist dann logischerweise nur erreichbar während die Software läuft.

...zur Antwort

Syncthing ist so ziemlich die beste Lösung dafür und braucht nicht mal einen zentrale Speicherung bei irgendeinem Anbieter. Es ist lediglich notwendig, dass die Geräte gleichzeitig laufen wenn eine Synchronisierung stattfinden soll (sonst kann man aber auch ein Drittgerät einrichten das entsprechend als Zwischenspeicher fungiert).

...zur Antwort

Bare metal Entwicklung auf klassischen x86 Geräten ist ein ziemliches Unterfangen, warum willst du dir das antun? Es ist dagegen ziemlich einfach sich mit Werkzeugen wie Buildroot ein eigenes Linux zu basteln, das nur eine Funktion ausführt.

...zur Antwort

Klar, da die Relativgeschwindigkeit zur Luft 0 ist.

Deshalb ist Fahrrad fahren mit Rückenwind auch so erheblich einfacher, in deinem spezifischen Fall muss man beispielsweise nur noch gegen die Reibung an den Rädern arbeiten.

...zur Antwort

Viele Entwicklungsumgebungen haben eine SQL Oberfläche integriert, also kannst du dir phpMyAdmin auch so sparen. Ansonsten gibt es auch spezifische Programme wie Datagrip. Die Windows Installer von MySQL habe ich noch nicht getestet, aber so schwer wird das nicht zu verwenden sein ( https://dev.mysql.com/downloads/mysql/ ).

Ansonsten kannst du auch einfach PostgreSQL nutzen. Das ist ohnehin in vielerlei Hinsicht besser als MySQL und wird von EDB direkt zusammen mit pgAdmin angeboten (was eine viel bessere Oberfläche als phpMyAdmin ist): https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

...zur Antwort

Es gibt einige Anwendungsfälle, wo Subqueries notwendig sind. Eines der simplen Beispiele ist, wenn man das Ergebnis eines group by joinen will.
In vielen anderen Fällen sind sie dagegen einfach nur stilistisch besser.

...zur Antwort
Würde sogar gerne an die RWTH in Aachen.

und

bin auch eher nicht der Theoretiker und will auch nicht promovieren

sind jetzt nicht gerade eine so sinnvolle Kombination. Allgemein ist Informatik an Universitäten sehr theoretisch ausgerichtet, aber in solchen Fällen ist das noch ausgeprägter. Das ist viel extremer als die meisten Studenten erwarten.

...zur Antwort

Rein theoretisch ist darauf Windows 10 lauffähig. Allerdings macht das überhaupt keinen Sinn mit 4 GB RAM und 32 GB Flash. Besonders den Speicher wird Windows komplett selbst aufbrauchen und der RAM ist auch extrem knapp.

Mit einer kleinen Linux Distribution könnte man damit noch eher etwas anfangen, aber auch da wäre der Nutzen recht begrenzt.

...zur Antwort

Was genau willst du machen?

Hardware Transcoding mit Quick Sync Video -> Dafür ist der i9 9900K reine Geldverschwendung. Kauf lieber eine viel billigere und aktuellere CPU, die wird bessere Ergebnisse liefern.

Software Transcoding mit x264 -> Das kannst du vergessen mit weniger als einem Kern pro Transcode. Ich würde jeweils eher so 3-4 einplanen, das wird dann aber sehr teuer.

...zur Antwort

Das ist komplett verdreht.

Switches haben nur eine MAC Tabelle. Diese ist mit keinem Protokoll verbunden, da sie ausschließlich auf Basis der Paketherkunft erstellt wird. Mit IP Datagrammen haben klassische Switches nichts zu tun, sie leiten lediglich Frames auf der Sicherungsschicht auf Basis der MAC Adresse weiter.

ARP wird dagegen auf Geräten verwendet, die mindestens auch auf der Vermittlungsschicht agieren (=> Router und Endgeräte). Damit werden die zugehörigen MAC Adressen von IP Adressen ermittelt, damit man nicht unnötig Frames broadcasten muss, um das korrekte Ziel zu erreichen.

Switches führen auch keinen Broadcast durch. Von einem Broadcast ist die Rede, wenn die Broadcast Adresse als Zieladresse verwendet wird. Wenn ein Switch die Zieladresse nicht kennt flutet er, d.h. er sendet an allen anderen Ausgängen, aber dabei wird keine Broadcast Adresse verwendet.

...zur Antwort

Die Sprachen sind in der Tat ziemlich ähnlich, ich würde allerdings eher Kotlin als Allrounder nutzen, da die Sprache schlichtweg darauf ausgelegt ist. Weil Kotlin vollständige Interoperabilität zu Java bietet und man beide sogar problemlos gemischt verwenden kann, lässt sich das ganze sehr gut für viele Dinge einsetzen.

Swift ist dagegen nur auf Apple Geräten wirklich verbreitet und kann keines der richtig großen Ökosysteme (Java, C#, Python und vielleicht noch JavaScript) so einfach mitnutzen.

...zur Antwort