Having the commands listed at the bottom by default is one thing i personally dislike about nano, because they take up space while being useless to someone knowing the commands (or at least knowing how to open the help in, which is what you can do in vim to achieve the cheat sheet). The alternative that vim uses, is to show the commands when starting the editor without opening a file.
I agree that having some glyphs in color can be bad, for example when you are typesetting a formula in TeX that contains emoji, the color looks just unprofessional. As a solution, let me introduce you to the Noto Emoji font: https://fonts.google.com/noto/specimen/Noto+Emoji
I don’t really have a single favorite a language, if I am able to choose freely it depends on the task.
I genuinely don’t know if scratch is the right choice or a simple text based language would be better, especially for the older kids. Just from my personal experience, I started programming in BASIC at 12 and don’t think I would have had as much fun and continued programming if i had used scratch instead.
I recently spent some time optimizing a small Julia program I wrote that generates a lookup table of brainfuck constants. Because it only needs to run once, I originally didn’t care about performance when I originally wrote it (and the optimization was mostly for fun).
I achieved an ~100x improvement by adding types, using static arrays and memoization. In the end, the performance was mostly limited by primitive math operations, I tried using multiple threads, but any synchronization destroyed the performance.
However, the most impressive thing was the ability of Julia to scale from dynamically typed scripting language to almost a compiled language with minimal changes to the code.