Um dos questionamentos mais comuns de um iniciante no mundo da programação é: qual linguagem devo aprender primeiro ?
Uma resposta que recebi para esta pergunta foi: Isto não é relevante, o mais importante agora é você aprender lógica. Na época foi completamente insatisfatória essa resposta. Hoje faz muito sentido, é possível iniciar em programação com qualquer linguagem, a linguagem de programação é uma ferramenta e a escolha de qual usar vai depender do projeto a ser desenvolvido e todo o contexto do negócio.
Então vamos entender o que é essa tal de lógica de programação.
O QUE É ?

A lógica de programação é a técnica utilizada para desenvolver instruções de forma encadeada para atingir um objetivo. Em outras palavras, ela é a forma como o programador organiza as instruções de forma coerente para que um programa execute sua função e entregue o resultado esperado.
ALGORITMO
Este encadeamento de instruções é conhecido como algoritmo.
Um exemplo de algoritmo pode ser aplicado para atividades simples, como checar o funcionamento de uma lâmpada.

No exemplo acima temos passos para verificar o que precisa ser feito caso uma lâmpada não esteja funcionando. Os quadros amarelos indicam o que deve ser verificado e os verdes as ações a serem tomadas de acordo com a resposta obtida. O fluxo no exemplo é simples mas é importante entender que quando pensamos em um programa o fluxo pode se tornar bem complexo, pois é preciso pensar em diferentes cenários e verificações.
VARIÁVEIS
Na programação, as variáveis funcionam como um recipiente que serve para armazenar, de forma temporária ou definitiva, um determinado dado na memória, para ser manipulado durante a execução do programa. Estes dados podem ser numéricos, booleanos (verdadeiro/falso), lista ou objeto. Declaração de variáveis é o ato de dar um nome a uma informação, uma variável só consegue armazenar um valor por vez.
A memória dos computadores é bastante extensa, com muitos dados registrados. Ao declarar uma variável é determinado o nome e o local dela na memória e ao invocar esta variável é informado à máquina onde encontrar a informação.

Para melhor ilustrar a relação entre as variáveis com a memória do computador, podemos usar um armário como exemplo. Em que cada compartimento representa uma variável e cada acessório é a informação utilizada no programa.
LAÇOS DE REPETIÇÃO
Laços de repetição, também conhecido como loops ou laços de iteração, são comandos que permitem que blocos de códigos sejam repetidos diversas vezes. Independente da linguagem, todo desenvolvimento lógico para um programa irá utilizar pelo menos um destes dois laços.
FOR
Este laço utiliza um elemento alvo e um contador, a cada iteração o contador é atualizado e o bloco de For é executado até o contador chegar no valor do elemento de referência.

No código javascript abaixo temos a variável “alvo” valendo 10. O bloco console.log(contador) que apresenta o valor da variável ‘contador’ no console do navegador. O bloco será executado até que o contador alcance o valor de 9, pois ele tem que ser menor que a variável “alvo”. Quando for igual, a condição será falsa e a execução será finalizada. A cada iteração ( execução do loop) será somado 1 ao contador (contador++).

Geralmente o For é utilizado quando não se sabe o valor do alvo, a variável pode assumir diferentes valores cada vez que o código é executado, por exemplo, se o código olha para uma tabela e o alvo é a quantidade de linhas desta tabela, um dia ela pode ter mil linhas e no dia seguinte quinhentas linhas.
WHILE
Relativamente mais simples que o For, este laço consiste na repetição de um bloco enquanto (while) uma condição for verdadeira.

Quando a condição se tornar falsa o laço termina e o programa segue o fluxo. Portanto, para que isto ocorra é necessário que o laço while seja controlado por uma condição que verifica uma variável, e essa variável deve sofrer uma alteração dentro do bloco.

No código javascript acima temos um loop com while, em que a variável n recebe inicialmente um valor 0 e a cada iteração é somado 1 ao n e apresentado no console do navegador. O loop será executado até n receber o valor de 3.
Para saber mais:
Curso: Fundamentos de Lógica de Programação
