Publicidade

quitZAUMMM

Indicando Linguagens para Iniciantes

Patrocínio:

INDICANDO LINGUAGENS PARA INICIANTES

É inevitável. Se você está num fórum, vai surgir a pergunta "Com qual linguagem eu começo?". E incrivelmente indicam C,C++ ou Java. Particularmente já desisti de estudar tanta linguagem e vou me focar em banco de dados e teoria, afinal de contas, quando se entra numa empresa, as escolhas já foram feitas.

Uma das poucas matérias da faculdade que posso citar que é uma verdadeira mão na roda é Estruturas de Linguagens de Programação. À parte a semelhança com construção de compiladores, estuda-se as propriedades das linguagens sem desconsiderar o momento no qual elas surgiram.Também se conhece os podres de todas elas. E é isso que deveria ser levado em conta ao se indicar uma linguagem de programação para iniciantes.

 

 

A BASE DE TUDO

 

Lógica. Se você não sabe fazer chocolate quente ou cozinhar, de quê adianta ter um fogão? Obviamente você pode pegar uma receita e segui-la,mas se não souber o que está escrito (eg.: banho-maria) não vai sair do lugar. É o primeiro passo para alguém que deseja saber programar. Porque mandar os outros fazer seu trabalho de faculdade e pedir para ficar online na hora da prova é fácil. Quando você estiver estagiando numa empresa ou trabalhando numa pesquisa dentro da universidade, a coisa começa a ficar difícil, pois o cérebro não consegue perceber nem mesmo estruturas simples envolvidas no problema.

 

Não recomendo apostilas. Prefira os autores "clássicos" como Donald Knuth, por mais que os livros te façam sentir burro.Geralmente apostilas são feitas por alunos, que podem conter interpretações erradas. Se são feitas por professores,pode apostar que no máximo são notas de aulas. Isso normalmente significa informações espalhadas,sem explicação (apenas frases soltas).

 

E ao contrário do que alguns falam, não tem como dissociar completamente estudo de algoritmos do estudo de lógica.

 

 

LINGUAGEM

 

Ao estudar algoritmos e lógicas já se utiliza uma linguagem: a linguagem natural. Infelizmente a linguagem natural é ambígua e nem sempre possui os mecanismos para expressar corretamente alguma idéia de forma que seja simples entender. Existem as pseudo-linguagens, que são uma espécie de Portugol (semelhança com o ALGOL não é mera coincidência).

 

Considerar somente o que o mercado usa também não é uma boa idéia. Cobol, que muitos pensam estar morta, ainda existe, mas sofre da aversão dos novos programadores. O motivo é clássico: porque ninguém usa. Smalltalk também é uma linguagem antiga, presente no primeiro computador com GUI, na Xerox PARC. Mas dê uma olhada na lista das empresas que ainda utilizam ou já usaram Smalltalk, desde 1998:

 

- Northrop (fabricante de aviões e helicópteros)

- IBM (para monitoramento de rede)

- Globosat

- Honda

- Departamento de Defesa dos EUA

- Fuji

- DaimlerChrysler

- Siemens

- Lucent

- HP

- American Express

- Texaco

- Ford

- General Motors

- Texas Instruments

 

Haskell, linguagem funcional, é diferente de tudo o que você vai ver na vida e provavelmente muito pouco utilizada fora do ambiente acadêmico. Mas alguns nomes associados são conhecidos: ABN AMRO Bank, Nokia Research Center, Linspire e Galois Inc.

 

Linguagens web estão no limbo. Já modifiquei o form de um firewall onde as páginas eram geradas utilizando Perl, já mexi um pouco com PHP e no entanto não vejo muita diferença entre uma e outra. Javascript teve um boom novamente por causa do AJAX (lembro-me da época de 1997 quando comprava revistas com apostilas de Javascript), Ruby está crescendo e Python, por causa do Django e da filosofia de ter somente o que é necessário para os programadores, virou uma mão na roda, mesmo para aplicações que não sejam web-based,como meu trabalho de graduação, por exemplo. Quando a Sun lançou o Java, começou a febre dos Java applets. Pobres demônios de internet discada. Os primeiros compiladores são horríveis. Isso é fato. Naquela época, Java era lento demais. Hoje quem faz a linguagem ser lenta é, em grande parte, o programador. Ano passado a Sun lançou o JavaFX, que possui uma sintaxe muito mais limpa p/ se fazer tanto applets como aplicações desktop. Isso quer dizer que você vai evitar todos os milhares de new AlgumaCoisaLayout e setQualquerPropriedadeMaluca.

 

 

QUE LINGUAGEM ESCOLHER

 

Comece pelo mais fácil: procedural. É como fazemos as coisas. Repare nas embalagens de gelatina e Tang. Não recomendo C porque é a prima direta do Assembly. Além disso, o material de C é muito vasto e as explicações sobre temas como ponteiros, ponteiros p/ funções e variadics nem sempre são claras o suficiente e na maioria das vezes fazem com que a pessoa queira pular alguns passos no meio do caminho, é permissiva, as funções de I/O não são padronizadas e os livros normalmente ensinam vícios de programação dos autores. O clássico exemplo é o system("pause"), getche() ou main declarado como void.

 

Esqueça C++, Java e qualquer coisa que funcione no .NET. Mantenha os pés no chão. Se você não sabe nem identificar estruturas num problema, a combinação "conhecimento inexistente + API complexa e gigante" não vai ajudar em nada. Se o assunto for Java, ainda existe o problema de se entender o que são classes abstratas, interface, contexto do sinal de atribuição,entre outros. A coisa fica mais confusa porque Java mistura tipos primitivos e wrappers. Diferente do Groovy, onde não existem tipos primitivos. Além disso, a API do Java normalmente é tão mais gostosa de usar do que implementar aquela lista circular chata ou hash na mão que você deixa de estudar estruturas de dados por comodidade.

 

Não estude Perl sem ter noção de expressões regulares e boas práticas de programação. Livros que favorecem o estilo Perl de programar (one-liners confusos e compridos) são suspeitos. Aí começa a entrar a noção de manutenibilidade do programa, que foi o que dificultou a vida do Aurélio para revisar as FunçõesZZ. Isso vale para qualquer linguagem. Posso ler um inteiro em C como segue:

 

#include <stdio.h>
int main(void) {
  int D,i;
  i = 0;
  while((scanf("%d",&D),i++,i == 0));
}
Pascal, apesar de todo mundo dizer que é ruim porque não é usado, é boa para começar. Antes de começar com xiitismos desse tipo, conheça a história da linguagem. Niklaus Wirth não projetou a linguagem para ser um sucesso de mercado.

Quando já estiver entendo estruturas de dados, vá para Orientação a Objetos e passe um bom tempo nisso. No caso do Java, é mais comum ver a separação das interfaces. Mas se você quer algo diferente que trabalhe com listas de modo simples, estude um pouco de Flavors. Linguagens como PHP, Ruby, Groovy, Python, Jython e Smalltalk também servem.

 

Os principais problemas para um iniciante são:

 

- Legibilidade

- Simplicidade

 

Se a linguagem não ajuda em nada, como por exemplo a tal Brainfuck, esqueça. Sintaxe se aprende depois, mas se você nem ao menos consegue entender o que o programa faz para absorver uma idéia diferente, jogue fora. A simplicidade faz bem. C não é simples. Java só é simples quando se aproveita a API. Existe uma coisa chamada ortogonalidade, que resumidamente, é a "quantidade" de exceções existentes numa linguagem. Em C K&R, um exemplo de ortogonalidade é o bloco de declaração de variáveis, que obrigatoriamente deve ser o primeiro de toda função. Ainda em C, dois exemplos de falta de ortogonalidade é a passagem de parâmetros (tipos primitivos são passados por valor, enquanto arrays são passados por referência) e valores de retorno de funções (pode-se retornar um tipo primitivo, mas não um array, somente um ponteiro para o primeiro elemento do array). Quando se tem pouca ortogonalidade na linguagem, existe um número muito grande de construções não permitidas que o programador deve memorizar porque não tem outro jeito.

 

 

OS PARADIGMAS MARGINALIZADOS

 

Então você de repente se dá conta que sabe 2 linguagens que suportam programação imperativa, 2 orientadas a objetos e daí? Acabou? Não. Por mais que seja necessário prestar atenção nos padrões para não ficar defasado, o mundo não é feito somente de C,C++ e Java. O motivo que me levou a ter vontade de estudar Haskell foi o algoritmo do quicksort:

 

qsort [] = []
qsort (x:xs) = qsort(filter(< x) xs)) ++ [x] ++ qsort(filter(>= x) xs)

Compare com a implementação em C:

void qsort(int[] a,int lo,int hi) {
  int h,l,p,t;
  if (lo < hi) {
	  l = lo;
	  h = hi;
	  p = a[hi];
	  
	  do {
		 while ((l < h) && (a[l] <= p))
			l++;
		 while ((h > l) && (a[h] >= p))
			h--;
		 if (h < l) {
			t = a[l];
			a[l] = a[h];
			a[h] = t;
		 }
	  } while (l < h);
	  t = a[l];
	  a[l] = a[hi];
	  a[hi] = t;
	  
	  qsort(a,lo,l-1);
	  qsort(a,l+1,hi);
  }
}
Precisa falar alguma coisa? A afirmação "linguagem X é de alto nível" só tem sentido real quando se compara o X com outra linguagem.

 

Estude Prolog, LISP ou Scheme. Scheme possui uma sintaxe mais fácil e o único problema são os parênteses. Um exemplo de código para remover o último elemento de uma lista:

 

(DEFINE (remove_ultimo lista)
  (IF (NULL? (CDR lista))
	  '()
	  (CONS (CAR lista) (remove_ultimo (CDR lista)))
  )
)

 

MAS MEU PROFESSOR DISSE QUE LINGUAGEM TAL É RUIM

 

Esqueça o que a maioria dos professores fala. Tem um na faculdade que diz que Java é lento, mas conheço muita gente que faz programas em C que demoram uma eternidade para rodar e não se recuperam de falhas. Novamente: conhecer estruturas de dados e API faz muita diferença. Implemente a seqüência de Fibonacci em Java usando recursão com e sem mapas para ter uma idéia.

Se você quiser e tiver paciência para ler livros, procure estudar projeto de linguagens de programação. Pode até ser com o livro do Robert Sebesta. Talvez depois de um ano ou dois você esteja menos radical ou maria-vai-com-as-outras.

 

 

Este foi um texto escrito pela membra Import java.Isis

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela contribuição Isis http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Bom galera eu naum gosto muito de dizer também por qual linguagem começar, eu mesmo quando comecei o Técnico de Informática aprendi direto Visual Basic 5, e antes não foi me passado nada de Lógica de Programação ou Portugol, aprendi algoritmos programando em alguma linguagem direta mesmo, depois aprendi Linguagem C e depois PHP. Só que sempre fiz coisas quem mechem com a lógica como aqueles joguinhos de Lógica da revista "Coquetel", e também Sudoku e várias coisas que você acha na internet.

Agora na faculdade recordei um pouco de C e concordo com o que a Isis disse em um trecho do seu texto que ela diz sobre ponteiros,

e na maioria das vezes fazem com que a pessoa queira pular alguns passos no meio do caminho

, eu mesmo não entendo muito de ponteiros apesar de estudar C uns 3 anos, mas o que eu entendo já acho que está bom pelo menos sei fazer meus programas acadêmicos, caso um dia necessite saber mais com certeza me empenharei. Hoje em dia vejo Java uma Linguagem que estou gostando muito e junto com Java estudo Estrutura de Dados, o que acho ótimo, assim concilio uma matéria com a outra.

Bom essa é minha mini-trajetória por enquanto no mundo da programação, agora sobre qual Linguagem realmente eu recomendo aprender a Pseudo-Linguagem e depois pensar muito pois opção é o que não falta!

 

[]'s

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Wow!

 

Belo texto.

 

Acho que depois que você tem uma Base forte e principalmente vontade qualquer linguagem que pegue, vai aprender. Agora qual linguagem? Diria que vai da sua necessidade atual. Se você precisa fazer uma janela se abrir, coçar suas costas ao mesmo tempo que ela lhe extrega um copo com sua bebida favorita, não faço idéia de qual linguagem vai usar, talvez C. Agora se precisa fazer um programa para somar 2 numeros porque não escolher Visual Basic. Ou então Delphi? Que tal Java? Dai você vê com qual linguagem você se "identifica" mais, e comece a estudá-la. Com o tempo você vai se acostumando com os erros que vão aparecendo e logo que aparecer o erro na tela você pensa: "Já sei o que é!". Depois de mais algum tempo você nem comete mais esses erros.

Mas não se prenda só nessa linguagem. Tenha a mente aberta sempre para novas coisas e esteja sempre aprendendo.

 

A é isso ai.

 

Abraços.

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que maravilha de texto cara... nossa.

Mas acho que ainda fico meio vacuo a resposta de qual linguagem começar. Até o momento percebi claro que o melhor é ter a boa logica de programação, logo pegando o PASCAL que como eu sei é uma linguagem realmente mais academica.

 

eu sei muito "picado" das coisas.. :( as vezes fico querendo, tento, começar do zero e tal.. ver algoritmos.. fazer exercicios.. e outros... e sei que isso é certo, mas e tipo tudo tão "bobo" =( vamo ver.

Irei passar testo pra um amigo da mesma cituação.

 

abs.

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito bacana o texto. Mas vou deixar minha humilde opinião, boa parte do texto está 100%, agora a grande questão quando se indica C, acredito que seja pra já se ambientarem com uma linguagem mais digamos assim rustica, pois você tem que trabalhar na mao mesmo, e por ser uma linguagem procedural acredito que deva ser umas das primeiras sem dúvida.Lógico que sou adepto de que a pessoa deva aprender primeiro de tudo lógica, sem lógica para computação nada feito, como a Isis citou.Mas é claro que é tudo muito relativo, se você consegue dominar o tal do portugol e depois consegue se habituar com C, voce vai embora.Logo em seguida você está pronto pra entender orientação a objetos, ai é que muitos falam Java, pode ser porque não? Assim como pode ser outra linguagem que use o paradigma O.O.

Acredito que se há o dominio da logica de programacao, e você compreende os conceitos , você se dará bem em qualquer linguagem, é apenas uma questão de tempo e pratica.

 

Abs e parabéns pelo texto Isis

0

Compartilhar este post


Link para o post
Compartilhar em outros sites
Mas acho que ainda fico meio vacuo a resposta de qual linguagem começar.

 

Eu não falei em momento algum que ia indicar uma linguagem p/ iniciantes. Leia o texto novamente.

O problema do povo que indica uma linguagem por ser fã dela é não pensar no que o outro quer e precisa segundo sua dificuldade em entender as coisas.

 

Um detalhe: quando enviei o texto p/ o Quit eu avisei que nem estava terminado. Era só p/ ler. Não sei porque foi postado "as is".

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito legal o texto, o último parágrafo eu entendo muito bem como é haha... professores...

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

muito interessante mesmo o texto

 

parabéns Ísis

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom demais....

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sem palavras a isis caprichou no texto, parabens isis esta ideiologia irá ajudar muita gente que tiver a cabeça no lugar para começar com o pé direito.

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpa o termo mais: "pulta que o pariOOO!!!"

Texto bom d++++ veio...mUUUUUUito bom mesmo.

 

Sou novo em Logica e tou começando com o Programa VisuALG e estudando PASCAL, pelo visto estou no caminho certo!!!

Espero no futuro estudar e aprender PHP para funcionalizar com o FLASH®...mais gostaria mesmo de ficar monstro em JAVA ate pq sempre me deixou de boca aberta.

 

Sinceramente Obrigado pelo Post mUUUito bom essa iniciativa sempre deveria acontecer ate pq quem esta iniciando assim como eu...A PALAVRA DE ORDEM E ORIENTAÇÃO!

 

VLW...MESMO!!!

 

aBRAÇOS A TODOS...SUCESSO E PAZ!!!

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom Dia!!!

 

Fala ai Galera mais uma vez...bem de ontem pra hj eu li bastante coisa no forum na area de logica de programação e na boa tem mUUUUUita coisa confusa que de certo ta forda pra entender EX: post com o assunto algoritmo e o cara posta pedido de ajuda. E meio dificil saber por onde começar saco!!!

 

Gostaria se possivel de ser avisado de um post assim: 1º aula de Algoritmo em PASCAL sei la ou algo do tipo.

 

OBRIGADO MESMO MAIS UMA VEZ PELA INICIATIVA DO FORUM E PARABEM PARA AQUELES QUE TIRAM NOSSAS DUVIDAS.

 

OBS: se eu estiver quebrando alguma regra do forum gostaria de se notificado vlw...

 

... [ ]sss a todos e sucesso!!!

 

PS: se algum post de aula inicial ja existe e eu nao o achei por favor mande-me o link se possivel!!!

 

t+

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

realmente muito bom o texto

isso me remeteu ha dois anos atras, na faculdade....

nao vou citar por motivos eticos...

tivemos um professor de algoritmo muito fraco.

 

nao sabia passar, nao deu conceito de logica

nem portugol ele ensinou! so pedia fluxograma!

foi pessimo metade da classe aloprou....dai semestre

seguinte...........JAVA e C++ que piada

nao tinhamos noçao de nada....e o pau comendo....

fora trocentas materias e seminarios...resumo da opera?

me formei sem saber programar nada vezes nada!!!

 

um ano e meio depois to de volta na facu pra tentar

aprender sim. agora nao tenho mais pressao de me formar.....

quero fazer direitinho - logica primeiro, portugol, linguagem procedural, pascal...

e ver se me adapto com java.

os profs na facu sao um barato..dizem..'vcs tem q correr atras pq a materia é complexa')

complexa? eles nao tem didatica pra ensinar!

aff

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu também tive um professor fraco em lógica. Mas acho que é outro erro de quem esta começando, achar que o professor vai te ensinar tudo sobre lógica de programação ou outra coisa, acho que se o professor for bom ou ruim, o problema é dele. No meu caso tive que correr por fora, aprendi o que tinha para aprender lendo livros e fazendo os exercícios proposto nos livros. Outra coisa é a determinação da pessoa que o leva ao sucesso próprio. O texto esta de parabéns eu vou recomendar esse texto para o pessoal na faculdade onde estudo.

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se todos tem em mente isso.. + na faculdade ou em um curso você só aprende 5% das coisas, as outras 95% você aprende pesquisando e treinando por conta propria.

Bom isso é uma opinião minha ;D

 

[]s

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse lance dos 5% é uma verdade. Mas isso não justifica certas asneiras que falam, por exemplo, com Java ("Aqui não ensinamos Java porque é mercadológico").

 

Oras, mesmo que o mercado em uma faculdade seja o de educação (sendo o cliente/empregador o Estado), ainda é o mercado que paga as contas.

 

Tem gente que usa esse argumento capenga de que o que vai pro mercado não é digno de se ensinar numa universidade p/ justificar a ausência de certas matérias numa grade curricular. Não é à toa que cansei de escutar em jornal que as empresas falam que não existem pessoas qualificadas. Lógico né...Se nem os 5% os professores tem a capacidade/vontade de ensinar p/ que o aluno tenha um ponto de partida...

 

Por outro lado, as empresas fazem exigências absurdas: 'procuramos estagiário no 2° ano com sólidos conhecimentos em .NET, Java, modelagem de dados, HTML, CSS, Javascript, Oracle, SOAP, SOA'. Eu vejo vagas assim até mesmo no mercado iMasters.E tenham em mente um detalhe: dizem que é fácil um bacharel aprender detalhes de linguagem em 6 meses, mas só vejo vagas que pedem 2 anos de experiência, no mínimo (vejam esse link: http://www.normasleg...11644_2008.htm), mesmo pra programador júnior.

 

Daí você tem a seguinte situação: 90% das linguagens no teu CV foi por vontade própria de estudar, mas você nunca trabalhou com elas (ou só viu na faculdade) e é recém-formado. Como normalmente entendem 'experiência comercial' quando contratam, mesmo que você saiba mais que 5%, você esbarra no tempo de serviço, porque dificilmente uma empresa cumpre lei trabalhista nesse país (ainda mais em TI, que é um bordel*) ou encara o funcionário como investimento (é sempre como gasto/despesa). As opções? Concurso ou freelancer. Mesmo que seja com os 5% da faculdade ou os 95% aprendidos por conta própria. Nessas horas eu lembro do "calouro concurso", que achava que concurso era p/ quem não confiava no taco e nomes seguram empresas (Microsoft, Google, Siemens -- vide reações à crise). Se alguém do tipo quiser sentir fortes emoções aos 50 anos com mulher, filhos e pais p/ cuidar, seja feliz. Eu prefiro trabalhar pro Estado com uma boa remuneração, plano de carreira garantido, aposentadoria, PLR e outros benefícios que só o Estado fornece (já que é um saco sem fundo, aparentemente), além da estabilidade. Pelo menos desse modo eu tenho certeza de que, como entra salário e não podem demitir, os 95% restantes eu tenho condição de pagar (livros, cursos, certificação, palestras, encontros,conferências,etc).

 

 

 

* Porque TI é um zonão eu sou a favor de uma regulamentação. Talvez assim parem de contratar gente como 'programador júnior' com atribuições extras de DBA e técnico em redes ou pagar qualquer coisa sem valorizar os 6 anos que você passou sentado num banco de faculdade simplesmente porque você não tem 3 anos de experiência na função.

 

 

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bacana o último post da _Isis_. Como há poucos profissionais no país qualificados, as empresas tendem a escravizar os estagiários (principalmente os que detém menos conhecimento). Bem, ainda existem algumas empresas onde você consegue aprender durante o estágio, conseguir uma maturidade profissional, ter uma experiência profissional que acrescente algo, mais essas empresas são raras. Já recebi propostas no meu e-mail: Procura-se estagiário com conhecimento de C/C++, Java, SQL, PHP e com disponibilidade de 25 horas semanais (25 horas semanais???).

As empresas geralmente utilizam seus estagiários para aumentar seus lucros a curto prazo, já que colocando um jovem para programas simples ou dar suporte técnico ele dá retorno imediato. Entretanto, continua a carência de mão de obra qualificada. Caso fosse dado um treinamento adequado àquele jovem, ele não daria retorno imediato, mas dentro de algum tempo ele estaria dando retornos muito maiores, seria um excelente gerente mais à frente. Mesmo que aquele jovem não ficasse na empresa (o que aparentemente daria prejuízo total - treinar alguém pra este depois sair), se todas as empresas fizessem isso, quando esta empresa fosse contratar alguém que estagiou em outra empresa, não haveria problemas, visto que esta pessoa também aprendeu bastante em sua última experiência profissional (em vez de ser escravizado). Mas fazer o quê? Esse é o mercado (pelo ao menos por enquanto, até você ter uma empresa ou migrar para a política (sim, a mais alta autoridade da área de TI do Ministério de Minas e Energia tem poder político), e, nessa ocasião, se esforçar para mudar um pouco essa realidade).

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nossa esse iMasters me surpreende a cada dia. Isis, muito bons seus comentários você é 10, to contigo e não abro.

 

 

Abraços e espero te ver por aqui mais vezes

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parabéns por mais um texto claro e elucidativo. De fato, muitas pessoas só sabem seguir tendências. Talvez, mais importante do que a linguagem de programação que deveríamos começar, fosse melhor apenas começar.

Fica dica: Faça; Faça rápido; Faça bem e rápido.

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Depois de 4 anos desse texto posso dizer que minha percepção sobre TI não mudou em nada, exceto por duas coisas que provavelmente serão mais dois pontos de ligação onde as pessoas que leram o post viram frases e situações desconexas:

 

"Language X fits your mind"

 

Se você não funciona com uma linguagem, não se sinta diminuído. Isso é natural. Explico: estudando Python desde 2008 e depois de um curso de Django com o Henrique Bastos ouvi a frase "Python fits your mind" algumas vezes. Vinda de 6 anos de C eu ficava frustrada toda vez que tentava estudar Java porque mesmo tendo um conhecimento básico de OO por causa das aulas de C++ parecia impossível entender qual tinha sido a idéia dos desenvolvedores da linguagem.

 

Como eu comentei um tempinho atrás num post intitulado "Linguagem mentirosa" (ou algo assim) no fórum de Java, perdi as contas de quantas vezes tentei estudar Java e nunca passei da parte de classes e interfaces. A cada vez que tentava a sensação de burocracia no código aumentava (e piorava quando via programadores mais experientes escrevendo programas maiores). Quem me conhece sabe que eu sempre tive essa impressão do Java (e até do C++ depois de algum tempo).

 

O que aconteceu foi que encontrei uma linguagem que funciona como eu, particularmente, acho que deveria ser programação. Mas como foi dito até pelos outros membros do fórum, ficar na zona de conforto é parar no tempo. E isso não funciona em TI. Por isso eu considero importante mesmo os iniciantes tomarem conhecimento de outras linguagens que suportam o mesmo paradigma de programação da linguagem X de um modo diferente e até mesmo de outros paradigmas de programação. Steve Jobs dizia que computadores são bicicletas p/ a mente (http://www.youtube.com/watch?v=9Z795Pm9fqs). Por que, ao invés de se perder em posts tendenciosos do tipo "X vs. Y", não tratar as linguagens/paradigmas como ferramentas que levam o programador a visualizar o mesmo problema em formas e níveis diferentes? Não é a diferença de percepção (traduzida como experiência) que faz a programação em par funcionar?

 

PS; Estou no derradeiro capítulo de interfaces do livro Big Java. Vamos ver se eu sobrevivo a isso.

 

 

 

 

"Mesmo rezando, o que não muda no fiel é a doença de querer parecer sábio"

 

Isso foi um ensinamento budista que vi no youtube:

 

Deixo livre a interpretação p/ que vcs vistam a carapuça em professores, colegas de trabalho, amigos, chefes, analistas de mercado, reviews de tecnologias...Enfim, a lista pode assumir o tamanho que vcs quiserem. A primeira imagem que me vem à cabeça são pessoas que insistem em recomendar uma prática/tecnologia como se fosse a solução para todos os problemas baseando-se apenas em teoria. Muitos aqui já viram isso: a pessoa faz um barulho enorme e quando dá tudo errado, some. A segunda imagem são professores. Creio que um dos meus, apesar de ser doutor, não merece muito crédito pelo que fala: para a simples pergunta "você já viu algum site grande mesclar Java com Groovy ou outras linguagens de script" a resposta foi dada com um certo desrespeito pelo trabalho de outros cientistas de computação responsáveis pela criação de linguagens de script. E vários outros professores também se encaixam nesse quadro por sequer conseguirem respeitar os alunos com dificuldades em entender as matérias.

 

Se quiserem comentar mais e compartilhar situações nas quais vcs tiveram que recomendar linguagens ou boas práticas, tanto para iniciantes ou programadores já experientes (na minha visão esses são os mais difíceis), postem.

 

 

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu ainda sou iniciante em programação, fluente mesmo só em DarkBasic, uma linguagem pouco usada, feita para desenvolver jogos 2D e 3D.

 

2 Linguaguens ótimas pra quem não tem noção nenhuma de programação, são, DarkBasic e Pascal, eu aprendi DB sem nunca ter ouvido falar em Pascal, hoje posso dizer que sou fliente em DB, porque se você me mostra algum código em DB, falho, provavelmente eu ache o erro.

 

Porque essas 2 são boas para começar?

 

Porque são simples e claras.

 

DarkBasic, provalvemente só não é muito usada na industria de games, porque seu compilador não é muito bom, porque a linguagem é ótima, Simples, clara e pouco limitada, apesar dos códigos serem fáceis de entender, você consegue fazer praticamente qualquer coisa nele, desde um software minúsculo, até jogos enormes.

 

Eu acredito que aprendendo uma dessas 2, você já vai ter uma ótima "Noção de Linguagens", Por exemplo:

 

Um amigo meu estava fazendo curso técnico de informática, e ele tinha uns exercicíos em Pascal. Ele não tava conseguindo fazer o código dele rodar, ele me mandou, e eu, que nunca tinha ouvido falar em Pascal, consegui arrumar o código dele. Porque? Simplesmente porque eu já tinha a tal "Noção de Programação", são detalhes e palavras-chave que fazem a diferença, coisas ridiculas até as mais complexas.

 

Aprendendo uma linguagem simples, você vai aprender desde o que são variaveis, até funções e cálculos complexos, e vai entender coisas do tipo, linguagens Case Sensitive (Que diferenciam maiúscula de minúscula), até outras linguagens em que todos os valores indicados a uma variavel tem que estar entre aspas ( " ). Ex.:

 

<div id"nomedadiv"></div>

 

Bem, é basicamente isso que eu queria dizer, se você não tem noção nenhuma de programação, comece com uma dessas 2 linguagens que você vai se dar bem.

 

Boa sorte a todos!

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Curti!

Imagino que a dificuldade de muitos seja a falta de exercícios que encontram para fazer, aí param por não conseguir causar uma evolução no seu aprendizado.

 

Por isso, eu estou focando em JavaScript usando o CodeCademy.com! (Não tenho qualquer relação com a empresa).

Não precisa aprender a configurar nada antes de começar a usar e os exercícios aumentam gradualmente de dificuldade (até é devagar demais...)

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Curti!

Imagino que a dificuldade de muitos seja a falta de exercícios que encontram para fazer, aí param por não conseguir causar uma evolução no seu aprendizado.

 

Por isso, eu estou focando em JavaScript usando o CodeCademy.com! (Não tenho qualquer relação com a empresa).

Não precisa aprender a configurar nada antes de começar a usar e os exercícios aumentam gradualmente de dificuldade (até é devagar demais...)

 

Olá à Todos!

 

Sou novo aqui no Fórum, e tenho a seguinte sugestão!

 

Você citou o codecademy, um site que já usei bastante, porém como só está em partes traduzido para o português, e meu Inglês é de baixo nível(eu sei vou procurar estudar mais ;D) procurei na Web um meio de traduzir o site, e então achei o site http://translate.codecademy.com/translate/sign/in , que foi criado pela OneSky,

que é bem interessante, mostra o progresso da tradução, quantas palavras/frases foram traduzidas e quantas faltam para traduzir e muito mais. Traduzi bastante coisa lá, só que como é muita coisa, o ideal seria fazer um "mutirão de tradução", pois pelo que vi, nos cursos aprovados, falta cerca de 680 frases, distribuindo o trabalho entre todos, daria para traduzir rapidinho e todas as pessoas interessadas em programar poderiam usufruir dessa incrível tradução! Creio que a maioria aqui do Forum sabe algo de inglês então cada um ajudando um pouco na tradução seria muito rápida. Claro que depende do tempo e da boa vontade de traduzir, mas pensem, é um trabalho gratificante. Desde já agradeço aos de boa vontade! Abraços!!!

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar Agora