O aprendizado esta muito abstrato, hoje em dia pouco se preocupam com performance somente quando a coisa não funciona e engasga e dai passam a bola pro devOPs escalar.
Sendo que poderia simplesmente ter melhorado o código com técnincas de batch, ou usando variaveis que ocupam menos memória etc, coisas que o poder de processamento de hoje acaba abstraindo principalmente se a o dev começa com helloword até chegar na vida real, o dev não vai pensar em fazer um for usando um I do tipo byte ou char pois o tamanho do buffer é menor de 255, ele vai por um INT que ocupa 4 bytes é pouco mais vai somando isso ao longo do tempo. Por isso eu defendo aprender uma linguagem base e fortemente TIPADA para nego ter noção do que esta fazendo.
Usar uma linguagem fortemente tipada para começar os estudos é uma boa opção pois a própria linguagem limita a utilização incorreta dos conceitos!
Começar com uma linguagem de tipagem fraca como javascript puro, python ou php seria somente se a pessoa pretende aplicar essa linguagem para alguma vaga.
Caso contrário, opte por Java ou C#, pode parecer besteira mas a tipagem ajuda muito para entender os principais conceitos das variáveis.
Sou iniciante tmb, Não sabia que usavam váriaveis bytes e char em um for para ocupar menos espaço, sempre ouvi falar que esses tipos não eram mais ultilizados hoje em dia pela quantidade de memória que temos hoje, tem alguma coisa sobre isso?
De como fazer isso dá melhor forma?
Vc esta certo, não se utliza e não é ai que vai ganhar, mas pra quem mexe mais low level isso conta sim, a nivel de firmwares, ou até mesmo arduino a memória "acaba", só que vc pensa pq se eu tenho essa boa prática la embaixo, pq não ter no high level tbm vai economizar memória.
enfim é uma discussão, há quem diga que trabalhar com byte, char, short numa arch 64 bits é mais lenta do que usar um int double de 8 bytes, pq o processador é otimizado pra isso. A questão que eu levantei é que os iniciantes nem sabe o que é um int qtos bytes tem etc.