O caminho das pedras

Caminho das pedras

Olá, como vai? Espero que esteja tudo caminhando (ou navegando com a canoa) na mais perfeita tranqüilidade.

Aliás, por falar em caminhada, estava pensando outro dia sobre essa coisa de programar, e a forma que as pessoas defendem o quão boa é uma linguagem de programação ou outra (isso não é exclusividade dos programadores, mas deixemos todo o resto da humanidade de fora por hora). Existem grupos que chegam a defender sua linguagem com unhas e dentes, como se ela fosse indestrutível, insuperável, inigualável, e qualquer outro adjetivo super-poderoso que você puder pensar.

Claro, voltando a caminhada, isso me lembrou um pouco aquela passagem bíblica, onde Jesus caminha sobre as águas. Bem, como nosso assunto não é religião, vamos à parte que interessa. Ao ser questionado como ele tinha feito aquilo, Jesus fala que basta conhecer ?o caminho das pedras? (acredito que a história foi bem resumida aqui. Em todo caso, o convite para contribuir nos comentários está aberto).

Calma, não estou dando voltas. O que eu quero falar hoje é sobre o fato de que programar não é saber a linguagem X ou Y de ponta a ponta. De que adianta saber todas as 362 palavras reservadas da linguagem se não sabe como usá-las?

Em programação lógica é tudo! Aprenda a lógica e você será capaz de programar em qualquer linguagem (pelo menos as mais comuns) existente. Além da lógica, você precisa conhecer alguns conceitos sobre os quais a computação atual está apoiada. A grande maioria das linguagens foi construída baseada nesses conceitos. Vou tentar listá-los:

  • Sintaxes: Aqui mora a diferença entre todas as linguagens. Nesse caso (como no caso das línguas em geral) refere-se às regras para a escrita da linguagem. Por exemplo, todo identificador (conceito apresentado a seguir) em PHP deve começar com o caractere $. Se você desrespeita a regra, o seu código não executa.
  • Identificador (variável): Esse é um dos conceitos chaves. Recebe esse nome por ser um apelido para uma área da memória reservada para que você possa trabalhar com dados que podem variar a cada vez que o código é executado (ele identifica cada área da memória por esse apelido). Compliquei? Não é nada mais do que aquele “nome” que recebe um valor no código. Não se preocupe em saber como isso acontece (digo, sempre é bom entender como as coisas funcionam. Mas vamos devagar com os conceitos). Um exemplo cai bem não?(vou me limitar aos exemplos de PHP e ASP, mas como eu falei antes, é válido pra todas as linguagens)Em PHP:

    $B = 2;
    $C = 3;
    $A = $B + $C;

    Onde $A, $B e $C são os tais identificadores, e seus valores dependem do que foi feito antes no programa. Por exemplo, $B e $C podem ser valores digitados pelo usuário.

    Em ASP:

    B = 2
    C = 3
    A = B + C

    Observe que o PHP exige o caractere “$” pra dizer ao sistema que o que vem a seguir é um identificador, o que não acontece com o ASP. Sutilezas. Apenas sutilezas das linguagens, mas o principio é o mesmo.

  • Palavras reservadas: “Em programação de computadores, uma palavra reservada é uma palavra que, em algumas linguagens de programação, não pode ser utilizada como um identificador por ser reservada para uso da gramática da linguagem.” (fonte: Wikipedia).
    Por exemplo, tanto em ASP quanto em PHP, a palavra “if” é reservada, e portanto você não pode ter uma variável com esse nome. Claro, você ainda pode ter coisas como “$if_teste” (por mais estranha e inútil que possa parecer).
  • Tipos de dados: Bem, o conceito de Identificador não está completo se eu não falar desse assunto. A idéia é bem simples. Cada linguagem diz que tipo de dados sabe tratar. Em geral, você encontra os seguintes tipos básicos (são os tipos mais primitivos possíveis. As linguagens sempre tem tipos mais complexos, ou pra outras finalidades):
    • Inteiro: Números inteiros, positivos e negativos. Ex.: -3, -2, -1, 0, 1, 2, 3 …
    • Real: Números reais em geral. Ex.: 3.1415, 1.73, 0.35413, …
    • Caractere: Qualquer letra ou símbolo (gráfico, número, acento). Ex.: A, B, 7, ?, %,…

    Ou seja, essa informação limita que tipo de dado você pode tratar, fazer operações, testes, tomar decisões.

  • Estruturas de decisão: São comandos da linguagem que alteram o fluxo da execução de acordo com os resultados anteriores (falei bonito hein?). Significa que você tem estruturas bem definidas que ajudam você a executar tarefas diferentes dependendo do que o usuário escolheu, ou ainda do resultado de alguma operação.
    Por exemplo, se o usuário escolheu a opção 1 do meu combobox, eu exibo a tela vermelha-limão. Caso ele tenha escolhido a opção 2, ele exibe a tela amarela-lilás. Fantástico não?
  • Estruturas de repetição: São os comandos da linguagem que permitem você executar um trecho de código diversas vezes. Você vai se deparar demais com situações onde você vai precisar exibir algum tipo de informação na tela, por exemplo, comentários feitos no site. A forma de exibir é sempre a mesma, o que muda é apenas a informação. Então, combinados com algumas estruturas (vetores, banco de dados, e outras coisas fora do escopo desse artigo), você monta uma estrutura de repetição que vai escrever na tela cada um dos 35 comentários do artigo, formatados da mesma maneira, um abaixo do outro.

Bem, o mundo da programação é bem maior do que isso, mas vou me controlar agora, pois esses conceitos já vão causar uma bela indigestão. Mas o importante é não se assustar. Se você já programou, já trabalhou com tudo que eu falei, mesmo sem saber. Se nunca programou, que tal começar de algum lugar? Eu sou adepto da filosofia de que a melhor forma de se aprender algo é começando pela base.

Conclusão

Como eu sempre gosto de concluir, o importante é saber que não precisa ter medo de nenhuma linguagem de programação. Basta saber alguns conceitos básicos, e estudar como a linguagem implementa esses conceitos. Claro que sempre há pequenas sutilezas da linguagem, mas isso você tira de letra.

Acima eu tratei de forma bem superficial os conceitos, mas a intenção aqui não é ensinar a programar, principalmente em uma linguagem ou outra, mas despertar o interesse e trazer o foco da discussão para esse tema. Se for necessário, no futuro, falo mais sobre cada um dos tópicos, ou uma abordagem mais ?prática? da coisa.

Gostou do assunto? Continue pesquisando. Um pouco de paciência e você vai encontrar muita informação perdida por ai.

Aliás, te convoco a contribuir com esse artigo. Comente (logo abaixo, é fácil), e deixe sua opinião sobre o assunto. Quer tentar algo diferente? Venha até o fórum. Grandes idéias podem surgir disso. Tem algo a dizer, me mande um e-mail. Quem sabe você não contribui para o próximo artigo?

Fabiano Fernandes – Coluna de Usabilidade

Escrito por Fabiano on novembro 8, 2006. Arquivado em Usabilidade. Você pode seguir as respostas a esse artigo pelo RSS 2.0. Você pode deixar respostas para esse artigo

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>