Executando verificação de segurança...
Respondendo a [Não disponível] dentro da publicação Tô começando na programação agora e queria algumas dicas.
2

HTML, Java Script, PHP e CSS são só o começo.
Mas também pode começar por C; ou até mesmo BASIC antigão (com linhas numeradas, sem suporte a sub-rotinas e nem funções definidas pelo usuário).

A linguagem escolhida para começar a programar não importa muito; vai ser obrigado a mudar de linguagem muitas vezes.
Vai ter que conhecer mais de 10 linguagens; incluindo linguagens que não são para a área que ele escolher seja lá qual for, invariavelmente um dia vai ser obrigado a conhecer HTML e Java Script, então já pode começar agora, depois muda; não tem problema nenhum em mudar para outra linguagem, o problema é se apegar a uma linguagem!

Também nunca disse que Python não, nem Ruby; pelo contrário recomendo essas também, Python é bem amigável para quem está começando.

Obs: HTML não é considerado linguagem de programação, mas é considerado código.
Assim como o MarkDown; que ele já está sendo obrigado a aprender para postar aqui.

O básico que todo programador precisa conhecer é:

  • C/C++
  • C#
  • Java
  • Java Script
  • DOSbatch/Winbatch
  • shell-script
  • Python
  • HTML
    e mais algumas linguagens específicas da aréa em que trabalha.
    sem o conhecimento dessas que eu citei; fica limitado.
1
1

BASIC antigão (com linhas numeradas, sem suporte a sub-rotinas e nem funções definidas pelo usuário).

Ei, o BASIC antigão tinha suporte para sub-rotinas.

110 gosub 200
120 end

200 print "Na sub-rotina"
210 return

300 rem é só me chamar
310 print "outra sr"
320 return
1

Mais antigamente ainda não tinha o GOSUB tinha que se virar com o GOTO.

Nós usavamos um artifício, uma variável que armazenava o número da linha para a qual o programa deveria continuar.

1

Bem, é possível que a versão que vocês utilizavam não havia implementado gosub. Assim como algumas não implementavam READ/DATA (o que eu acho que seria bem interessante para a fase de testes nas linguagens atuais)

Busquei o manual do primeiro BASIC (1964) para confirmar. Tinha GOTO/GOSUB e me deparei com algo que não conhecia. Já era possível definir funções simples iniciando com FN e mais uma letra (até 26 funções) do tipo:

10 REM FND = DOBRO
15 DEF FND(X)=2*X
20 PRINT FND(4)

Como eram usados cartões, em vez de = era para entrar EQU, LSS para <, etc..

Moral: Aprendi algumas coisas que não sabia sobre BASIC (não vou usar mas não tem problema :D )

1

Provavelmente você aprendeu BASIC no CP500 não foi?
O CP500 tinha muita memória RAM.
Eu sempre fico feliz quando encontro algum programador da mesma época.

Eu usava BASIC em PCs mais simples; sem o GOSUB.

Haviam também os Sinclair com uma versão extendida; o Sinclair BASIC, com vários (ironia aqui) comandos a mais que os outros PCs, talvez uns 5 comandos a mais.

O DEF FN funciona de maneira semelhante ao #define do C, utilizando o exemplo que você deu, sempre que o interpretador BASIC encontrar FND(X) faz uma substituição por 2*X (mantendo o que encontrar no lugar do X); dessa maneira o programa não perdia desempenho em termos de velocidade, e ainda era possível utilizar o DEF FN com qualquer tipo de variável inclusive alfanuméricas.
Se ingnorarmos que o C é compilado e o BASIC interpretado, então DEF FN e #define são exatamente iguais.

Porém; não éra possível ter "Comandos" BASIC dentro do DEF FN, nem recursividade, nem multiplas linhas.
Não era possível por exemplo criar uma função que aguardasse o usuário digitar algo e então retornar um valor; nem uma função que pudesse ler de um arquivo e retornar um valor.
Apesar de ser uma função do ponto de vista matemático; não era uma função como as outras da própria linguagem e que morriamos de vontade de criar nossas próprias funções personalizadas; nada perto do que sabemos que é uma função numa linguagem de programação.
Isso foi introduzido mais tarde com o uso de SUB e FUNCTION.

Quanto ao GOSUB não foi implementado nos primeiros interpretadores BASIC por que esse comando necessitava de uma STACK para empilhar as linhas para as quais deveria retornar.

Observe que o manual de 1964 que você leu é do "Dartmouth Time Sharing System"; e anterior ao lançamento do primeiro processador comercial; o Intel 4004 de 1971. Acredito que raríssimos programadores tiveram acesso a esse sistema da Dartmouth.
Nessa época nem os bancos tinham computadores!

Os computadores só se tornaram acessíveis aos programadores após o Z80 de 1976; mas bem depois...
No Brasil os primeiros PCs foram fabricados em meados dos anos 80 e custavam o equivalente a dois carros zero quilômetros; e as leis de importação tornavam proibitivo importar um PC.

Alguns PCs dessa época tinham o interpretador BASIC na própria ROM que costumava ter 4 kB para caber o interpretador BASIC e era invocado logo após a BIOS, isso tornava possível baratear o PC pois não precisaria uma unidade de disquetes para rodar o BASIC.
Porém a RAM como era muito cara tinha no máximo 1 kB então o GOSUB foi suprimido evitando a necessidade de criar uma stack adicional só para esse comando.