Aprendendo as coisas de forma mais fácil
Enviado: 27 Ago 2025 21:10
Lembram de uma coisa antiga sobre programar:
A primeira coisa a fazer, quando se vai programar, é desligar o computador.
Então....
Não é necessáriamente desligar o computador.
É desligar "a cabeça" do computador, desligar dos bits e bytes.
Vai fazer compras, faz uma lista de compras.
Pode ser no mercado, na farmácia, no açougue.... uma lista pra cada.
De repente nem usa papel, apenas mentaliza na cabeça.
Aí você tem lá uma lista de cada, com o que vai comprar e a quantidade.
Pronto.
Como você fala das listas ?
Tem lá as coisas talvez numeradas, 1,2,3,4,5,6...
Cada mercadoria tem nome e quantidade e talvez adicional sobre embalagem
Você pode dizer item 1, ou primeiro item, ou nome do produto, quantidade do produto, último da lista, etc.
Pode dizer lista do mercado, lista da farmácia, lista do açougue.
Notou alguma semelhança ?
ARRAY
#define
HASH
CLASSE / OBJETO
Antigamente.... eram só variáveis básicas
um pouco pra frente vieram os arrays - listas
um pouco pra frente, #define, começou a parecer o "normal"
um pouco pra frente, o hash
Um pouco pra frente, a classe
Qual o primeiro item da lista ? e o último ?
Pra deixar o computador parecido:
Então....
As coisas estão ficando cada vez mais iguais à linguagem humana.
Olha aquela moça que linda.... aonde ? atrás do careca.
O que sua cabeça faz ? Vai olhando um por um, procurando o careca, pra encontrar a mulher.
ou
Procure o careca.... achou... agora olhe atrás
Então.....
Se pensar em bits e bytes, entender a diferença complica.
Mas se comparar com a coisa prática do dia a dia, é apenas usar cada vez mais a linguagem humana no computador.
Entendendo essa "teoria" da coisa, a prática fica mais fácil.
array, hash array, json, classe, xml, etc. é tudo tentando imitar a forma "humana" de interpretar as coisas.
Já tinham percebido isso ?
O detalhe de cada um vém depois.
Ao começar a alterar HMG3 pra objeto, isso tudo fica bem claro.
Só está alterando o formato de guardar as coisas, de array pra classe.
Ao invés de controle[2][1], controle[3][1] pra Controle(1):Name, controle[1]:Handle
Na linguagem humana: olhe lá o rosto da moça na cadeira 3
no computador
Tudo diferente, mas tudo igual.
E conforme a programação vai avançando... a "nova tecnologia".... que se trata apenas de representar de forma "mais humana".
e mesmo nisso... cada um tem seu jeito preferido.
Cada vez mais humano.... cada vez mais humano... até o ponto máximo, que é a IA.
A primeira coisa a fazer, quando se vai programar, é desligar o computador.
Então....
Não é necessáriamente desligar o computador.
É desligar "a cabeça" do computador, desligar dos bits e bytes.
Vai fazer compras, faz uma lista de compras.
Pode ser no mercado, na farmácia, no açougue.... uma lista pra cada.
De repente nem usa papel, apenas mentaliza na cabeça.
Aí você tem lá uma lista de cada, com o que vai comprar e a quantidade.
Pronto.
Como você fala das listas ?
Tem lá as coisas talvez numeradas, 1,2,3,4,5,6...
Cada mercadoria tem nome e quantidade e talvez adicional sobre embalagem
Você pode dizer item 1, ou primeiro item, ou nome do produto, quantidade do produto, último da lista, etc.
Pode dizer lista do mercado, lista da farmácia, lista do açougue.
Notou alguma semelhança ?
ARRAY
#define
HASH
CLASSE / OBJETO
Antigamente.... eram só variáveis básicas
Código: Selecionar todos
lista01 := "tomate 1kg"
lista02
Código: Selecionar todos
Lista[1] := { "tomate", "1kg" }
Código: Selecionar todos
#define PRO_NOME 1
#define PRO_QTDE 2
Lista[ nOrdem ] [ PRO_NOME ] := "Tomate"
Lista[ nOrdem ] [ PRO_QTDE ] := 1
Código: Selecionar todos
Lista[ nOrdem ] [ "Nome" ] := 'Tomate"
Lista [ nOrdem ] [ "Qtde" ] := 1
Um pouco pra frente, a classe
Código: Selecionar todos
Lista[ nOrdem ] Produto:Nome := "Tomate"
Lista[ nOrdem ] Produto:Qtde := 1
Pra deixar o computador parecido:
Código: Selecionar todos
Lista:PegaPrimeiro()
Lista:PegaUltimo()
As coisas estão ficando cada vez mais iguais à linguagem humana.
Olha aquela moça que linda.... aonde ? atrás do careca.
O que sua cabeça faz ? Vai olhando um por um, procurando o careca, pra encontrar a mulher.
Código: Selecionar todos
FOR EACH pessoa IN fila
IF pessoa:cabeca == "careca"
Pessoa:DeTras (seguinte)
ENDIF
NEXT
Procure o careca.... achou... agora olhe atrás
Código: Selecionar todos
nPos := hb_AScan( Pessoas, { | e | e:Cabeca == "careca" } )
nPos := nPos + 1 // moça
Se pensar em bits e bytes, entender a diferença complica.
Mas se comparar com a coisa prática do dia a dia, é apenas usar cada vez mais a linguagem humana no computador.
Entendendo essa "teoria" da coisa, a prática fica mais fácil.
array, hash array, json, classe, xml, etc. é tudo tentando imitar a forma "humana" de interpretar as coisas.
Já tinham percebido isso ?
O detalhe de cada um vém depois.
Ao começar a alterar HMG3 pra objeto, isso tudo fica bem claro.
Só está alterando o formato de guardar as coisas, de array pra classe.
Ao invés de controle[2][1], controle[3][1] pra Controle(1):Name, controle[1]:Handle
Na linguagem humana: olhe lá o rosto da moça na cadeira 3
no computador
Código: Selecionar todos
pessoa0302
pessoa[3][2]
pessoa[3][ MOCA_ROSTO ]
pessoa[3][ "rosto" ]
pessoa[3]:Rosto
E conforme a programação vai avançando... a "nova tecnologia".... que se trata apenas de representar de forma "mais humana".
e mesmo nisso... cada um tem seu jeito preferido.
Cada vez mais humano.... cada vez mais humano... até o ponto máximo, que é a IA.