sexta-feira, fevereiro 14, 2014

[Reflexão] Computação para inglês ver

http://brgag.com.br/author/peddroalmeida/
*Crédito da imagem @PeddroAlmeida

Em um último post que fiz no blog e grupo "TI na Bahia" no Facebook, um dos muitos comentários que obtive como resposta à estória publicada me chamou a atenção. O comentário do William Oliveira salientava que o entendimento da estória não era devido apenas ao conhecimento da área de banco de dados, mas também da língua inglesa, visto que todos os comandos em SQL são descritos em inglês.

Durante as minhas turmas de banco de dados, esta hipótese levantada pelo William se confirma na medida em que vejo muitos alunos com dificuldades em decorar uma sintaxe simples de um comando SELECT, por exemplo. Já vi de tudo, aluno que troca o FROM pelo WHERE, o GROUP BY pelo HAVING, e por aí vai no mais perfeito empirismo desvairado.

Isto leva a crer que, apesar das milhares de ofertas de cursos de inglês, campanhas de "Salvador vai de Bike" e uso exagerado de termos ingleses em nossa mídia colonial, a grande maioria da população, na qual se insere os alunos em geral, não pensa necessariamente utilizando termos anglo-saxônicos.

Os efeitos colaterais desta situação são sentidos em sala de aula no momento em que os alunos demonstram grande dificuldade de aprender o uso correto da sintaxe de comandos na linguagem SQL.

Se pensarmos bem, no fundo, no fundo, a grande vantagem de um estudante que mora em um país que fala o inglês, de um outro que não fala, é que este praticamente "conversa" com seu computador em linguagem nativa.

Sim ! Se as linguagens de computador são em inglês, o emprego de comandos nesta lingua para quem pensa em inglês é praticamente um diálogo bacana de se ter com a máquina .

Vamos a um exemplo didático para que vocês entendam do que estou falando.

Suponhamos que o inventor da linguagem SQL seja um brasileiro, mais especificamente um soteropolitano. :-D

Em um belo dia, um professor de SQL discorre sobre consultas a serem feitas em um banco de dados e cita um exemplo hipotético envolvendo duas coleções distintas de dados: Os cabides dos guarda-roupas de Maria e Joana.

Tanto a Maria quanto a Joana guardam em cada cabide um trio de roupas contendo uma camisa, uma calça e uma meia.

Para fins de organização, elas resolveram guardar em um banco de dados as cores de cada peça de roupa, segundo o cabide onde estão localizados. A Maria e a Joana então tomaram o cuidado de numerar seus cabides com o objetivo de melhor recuperar as roupas. Desta forma, foram criadas duas tabelas distintas contendo os dados dos cabides de ambas:

TABELA cabide_de_maria
CAMPOS: id_cabide, cor_da_calça, cor_da_camisa, cor_da_meia

TABELA cabide_de_joana
CAMPOS: id_cabide, cor_da_calça, cor_da_camisa, cor_da_meia

É importante dizer que o campo "id_cabide" guarda o número do cabide que a Maria e a Joana numeraram em seus guarda-roupas.

Para criar estas tabelas, basta dizer para o computador que os criem com os seguintes comandos:

CRIE TABELA cabide_de_maria
(
id_cabide INTEIRO NÃO NULO CHAVE PRIMARIA,
cod_da_calça CARACTER (50) NÃO NULO,
cor_da_camisa CARACTER (50) NÃO NULO,
cor_da_meia  CARACTER (50) NÃO NULO
);

CRIE TABELA cabide_de_joana
(
id_cabide INTEIRO NÃO NULO CHAVE PRIMARIA,
cod_da_calça CARACTER (50) NÃO NULO,
cor_da_camisa CARACTER (50) NÃO NULO,
cor_da_meia  CARACTER (50) NÃO NULO
);

Uma vez dito ao computador para criar as tabelas, basta inserir os valores, seguindo este exemplo:

INSIRA DENTRO DE cabide_maria (id_cabide, cor_da_calça, cor_da_camisa, cor_da_meia)
            OS VALORES (1,'azul','vermelho','amarelo');

Bem, digamos que Maria deseje recuperar os cabides que possuem uma cor de camisa que esteja em uma das camisas nos cabides do guarda-roupa de Joana.

Para fazer isto, é muito simples, basta dizer ao computador que ele faz:

SELECIONE TODOS_OS_CABIDES
DO cabide_de_maria APELIDADO DE cm
ONDE cm.cor_da_camisa ESTEJA NA
     (SELEÇÃO cj.cor_da_camisa
      DO cabide_de_joana APELIDADO DE cj)

Veja que os campos de ambas as tabelas são iguais, por isto foi necessário apelidá-las para economizar os dedos durante a digitação de qual cabide a cor de camisa, por exemplo, se refere. Note que sem isto o computador pode ficar em dúvida e irá interromper a execução do comando solicitado.

Em uma consulta mais complexa, digamos que a Maria queira saber quais cabides de seu guarda-roupa contém uma camisa e calça penduradas, cujas cores também existam em uma camisa e calça penduradas em um cabide de Joana.

Para saber isto, basta dizer o seguinte ao computador:

SELECIONE TODOS_OS_CABIDES
DO cabide_de_maria APELIDADO DE cm
ONDE EXISTA UMA
     (SELEÇÃO TODOS_OS_CABIDES
      DO cabide_de_joana APELIDADO DE cj
     ONDE cj.cor_da_camisa = cm.cor_da_camisa
         E cj.cor_da_calça = cm.cor_da_calca);

Viu como é fácil aprender o SQL? Basta dizer ao computador que ele faz. :-D

---------------------------
Bem, se você entendeu a lição, por que será que tem tanta dificuldade em fazer o mesmo em inglês?

CREATE TABLE cabide_de_maria
(
id_cabide INT NOT NULL PRIMARY KEY,
cod_da_calça CHAR (50) NOT NULL,
cor_da_camisa CHAR (50) NOT NULL,
cor_da_meia  CHAR (50) NOT NULL
);

CREATE TABLE  cabide_de_joana
(
id_cabide INT NOT NULL PRIMARY KEY,
cod_da_calça CHAR (50) NOT NULL,
cor_da_camisa CHAR (50) NOT NULL,
cor_da_meia  CHAR (50) NOT NULL
);

INSERT INTO cabide_maria (id_cabide, cor_da_calça, cor_da_camisa, cor_da_meia)
            VALUES (1,'azul','vermelho','amarelo');

SELECT *
FROM cabide_de_maria AS cm
WHERE cm.cor_da_camisa IN
     (SELECT cj.cor_da_camisa
      FROM cabide_de_joana AS cj);

SELECT *
FROM cabide_de_maria AS cm
WHERE EXISTS
     (SELECT *
      FROM cabide_de_joana AS cj
     WHERE cj.cor_da_camisa = cm.cor_da_camisa
         AND cj.cor_da_calça = cm.cor_da_calca);

-------------------------

Perceberam a diferença da coisa? Enquanto os comandos em português se resumem a "dizer" ao computador o que ele deve fazer, os comandos em inglês, para muitos alunos, participam de um intrincado quebra-cabeças de palavras que mais parece um código secreto de uma lingua alienígena dentro da máquina.

Em meu entendimento, pecamos um pouco por menosprezar o conhecimento de inglês dos alunos e o fato de muitos deles sequer terem a chance de pensar nesta língua durante as aulas. Como corrigir isto, bem tenho muitas sugestões a fazer e que deixarei para um próximo post. Só adianto uma coisa, o inglês nada mais é que uma língua como todas as outras. Nos concentremos na comunicação e no fazer entender-se apenas, ao invés de nos cobrarmos uma fluência bastante díficil de ser alcançada para quem não vive a língua diariamente.

Programar nada mais é do que dizer ao computador como se espera que ele faça algumas coisas. Pense nisto.

3 Comments:

At 11:28 PM, Blogger Apendice said...

Engraçado que isso é algo que eu sempre faço, inclusive com a técnica do pato, ou de explicar pra mim mesmo em voz alta o que estou fazendo. Só nunca tinha observado que seria uma técnica tão interessante, rs. Mas a partir do momento em que comecei a praticar, isto facilitou e muito a minha vida no curso de ADS.

 
At 2:18 AM, Blogger chenlina said...

chenlina20150630
louboutin femme pas cher
ray bans
michael kors outlet online sale
christian louboutin shoes
caoch outlet
chanel outlet online
fitflop sale
ray ban glasses
tod's shoes
oakley sunglasses
michael kors outlet online
soccer jerseys
ncaa jerseys
discount christian louboutin
jordan 6
louis vuitton outlet
coach outlet
fitflops clearance
true religion
retro jordans
oakley sunglasses outlet
cheap nfl jerseys
christian louboutin outlet
coach factory outlet
cheap jordans
christian louboutin sale
coach outlet store online
oakley sunglasses wholesale
birkin bags
chi flat iron
michael kors
michael kors outlet online
burberry sale
ralph lauren uk
louis vuitton outlet
polo outlet
coach outlet online
ray ban sunglass
true religion
burberry outlet

 
At 11:28 AM, Blogger dalia alaa said...


http://www.prokr.net/2016/09/anti-black-ants-7.html
http://www.prokr.net/2016/09/anti-black-ants-6.html
http://www.prokr.net/2016/09/anti-black-ants-5.html
http://www.prokr.net/2016/09/anti-black-ants-4.html
http://www.prokr.net/2016/09/anti-black-ants-3.html
http://www.prokr.net/2016/09/anti-black-ants-2.html
http://www.prokr.net/2016/09/anti-black-ants.html

 

Postar um comentário

<< Home