Ir para conteúdo
🥇 [Exclusivo] Seja um Membro VIP EXTREME! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

Posts Recomendados

Olá caros amigos! eu tenho 3 duvidas aqui e acho que podem ser resolvida por vocês

 

1º :confused: eu queria saber se ser programador, tecnico em linguagem de programação é apenas saber utilizar os programas de programação ou tem algo a mais

 

2º :confused: por onde começar eu não tenho nem noções basicas de programação! Eu vejo Programação apenas como criar programas! o que há de errado nessa forma de pensar? Por onde começar? (por favor usem um linguajar basico não muito complexo)

 

3º :confused: como funcionam os programas que são usados pra programar? (JAVA, Delphi...)

 

Muito Obrigado espero que possam me ajudar!!!

Link para o comentário
https://www.webcheats.com.br/topic/146266-ajuda-iniciante/
Compartilhar em outros sites

Iniciando no mundo da programação

 

Para se criar um programa para computador, você precisa de uma linguagem de programação e um compilador ou interpretador ou máquina virtual.

 

Definições e diferenças entre Compilador, Interpretador e Máquina Virtual:

Um compilador é um tradutor capaz de traduzir um texto escrito por um programador (código fonte) em um código binário de uma determinada arquitetura de processadores. Este código gerado é incompreensível para o ser humano, mas pode ser lido e executado pelos computadores.

O ciclo de desenvolvimento então se estabelece da seguinte forma: o programador escreve um texto seguindo as normas e regras estabelecidas pela linguagem de programação. Em seguida, o programador executa o compilador, que verifica se este texto escrito pelo programador não contem nenhum erro e o traduz para uma seqüência de zeros e uns (código binário), que o computador (Sistema Operacional) é capaz de entender. Depois disso, basta que o usuário execute o programa final gerado para ver o resultado. Resumindo, o processo seria:

1- Programador escreve o código fonte e executa o compilador

2- Compilador procura por erros de gramática e de semântica e gera um arquivo executável (binário).

3- Programador executa o código binário e o testa.

4- Os 3 passos anteriores são refeitos até que o programa esteja completo.

5- Usuário final executa o código binário gerado pelo compilador (no Windows, os conhecidos arquivos com a extensão EXE).

 

Um interpretador difere dos compiladores pelo fato de nenhum código binário ser criado. O programador escreve o código fonte e este pode ser executado diretamente através de um interpretador. O interpretador irá ler o código fonte procurando por eventuais erros, e ao mesmo tempo, já o executa e mostra para o usuário o resultado. Desta forma, com a utilização de interpretadores ao invés de compiladores, o ciclo de desenvolvimento se torna mais simples:

1- Programador escreve o código fonte e executa o interpretador.

2- O interpretador lê o código fonte a procura de erros, e conforme vai lendo as instruções, vai executando-as.

3- Os 2 passos anteriores se repetem até que o programador alcance sua meta.

4- Usuário final executa o interpretador, que por sua vez lê o código e executa todas as operações lá descritas.

 

Por sua vez, uma máquina virtual é algo que fica entre os 2 casos anteriores. No caso das máquinas virtuais, o programador escreve um código fonte e executa um programa (compilador) que irá traduzir o texto redigido pelo programador (código fonte) em um código binário, assim como acontece com os compiladores tradicionais. Mas a grande diferença neste caso, é que o código binário gerado não pode ser executado diretamente pelo computador. Embora ele seja binário, ele ainda é incompreensível para o computador. Para que o computador possa executar este código, é necessário uma máquina virtual. A máquina virtual traduz o código binário gerado pelo compilador em um código binário que o computador (Sistema Operacional) consegue entender.

 

Comparação:

A utilização de máquinas virtuais pode parecer meio estranho para alguém novo na área da programação, mas esta técnica trouxe grandes avanços, e está sendo cada vez mais usada. A principal vantagem, é o fato de ser muito fácil executar um mesmo aplicativo em sistemas distintos. Um código binário criado a partir do método tradicional dos compiladores só pode ser executado no Sistema Operacional onde foi criado, já um código gerado por uma máquina virtual pode ser executado em diversos Sistemas Operacionais diferentes (desde que exista uma máquina virtual existente para aquele determinado Sistema Operacional). Ficou confuso ? Pense no Java. Você pode criar um programa no Windows, e eu poderei roda-lo no Linux, FreeBSD, MacOSX, Solaris e muitos outros Sistemas Operacionais sem fazer nenhuma alteração no seu programa.

Por outro lado, esta camada de tradução a mais criada pela máquina virtual torna a execução do programa mais lenta quando comparada ao método tradicional de compilação.

Já as linguagens interpretadas são ótimas pois simplificam o processo de desenvolvimento.

 

Tipos de linguagens de programação:

As principais linguagens de programação modernas podem ser dividas (de forma simplificada) em 2 grandes grupos: linguagens de programação procedural (Basic, C, Pascal, ..) e linguagem de programação Orientadas à Objetos (Java, C#, Smalltalk, ..).

As linguagens procedurais são, na minha opinião, mais simples de se entender por isso recomendo que inicialmente você comece a estudar essas linguagens e deixe um pouco de lado as linguagens orientadas à objetos.

No desenvolvimento de um sistema procedurais, você deve descrever diversas instruções dizendo passo-a-passo o que exatamente o computador deve fazer. Já as linguagens de programação Orientada a Objetos tentam simular o mundo real no computador, através da criação de classes, métodos, atributos, etc. Desta forma, o programador descreve o programa de uma forma mais abstrata, o que pode tornar a programação um pouco mais complicada para os usuários iniciantes.

 

Bom, chega de conversa! Vamos voltar para pergunta inicial: Qual linguagem de programação utilizar para iniciar no mundo da programação ? A resposta é............ DEPENDE ! Vou tentar dividir em tipos de personalidade. Ai você pode analisar a que melhor se encaixa, e assim poderá escolher a linguagem que provavelmente será mais produtiva para você:

 

Caso você queira algo mais fácil de aprender, eu recomendo iniciar com Pascal. Ela é uma linguagem que não é muito mais utilizada hoje em dia, mas é ótima para aprender, pois é uma linguagem que possui uma estrutura muito bem feita. Mas não tente ir logo de cara para o Object Pascal, pegue um compilador de Pascal puro. Você encontra mais informações sobre esta linguagem no Wikipedia

É necessário se cadastrar para acessar o conteúdo.

Caso você seja mais "nerd" e tenha paciência e vontade de aprender, você pode tentar começar programando em C (mas fique longe do C++, aprenda C puro primeiro). É uma linguagem bastante difícil de se aprender, mas depois que você sabe ela, qualquer outra vai parecer muito fácil! É uma linguagem muito utilizada ainda nos dias de hoje e todo bom programador tem que saber.

 

Caso você goste de jogos de computador e queira aprender a programar para desenvolver jogos, recomendo a linguagem Blitz Basic (ou suas variantes, Blitz3D, BlitzPlus ou BlitzMAX). Ela é muito, muito fácil de usar e é totalmente voltada para o desenvolvimento de jogos para computador. Você encontra mais informações sobre ela em:

É necessário se cadastrar para acessar o conteúdo.

 

Caso você esteja pensando em aprender Java como sua primeira linguagem de programação, eu te digo: não faça isso! Eu programo com Java faz mais ou menos 6 anos e não a recomendo como linguagem para se iniciar no mundo da programação. Caso você não tenha uma ótima base de Orientação a Objetos previamente estabelecida, Java será uma linguagem bastante complicada e muito confusa. Por essas razões, não acho que vale a pena começar com ela.

 

Mas o mais importante: independente da linguagem que você queira aprender, existem outras coisas muito mais importantes para se estudar: Desenvolvimento de Algoritmos e Estruturas de Dados.

Para fazer um programa de computador, você precisa ter uma sólida base destes 2 temas. Sem saber isto, você nunca será um bom programador em linguagem alguma! Saber quais os comandos da linguagem não é nada, você tem que saber o que fazer estes comando, e é aí que o estudo de Desenvolvimento de Algoritmos e também de Estrutura de Dados é que vai te ajudar.

Para estudar estes temas, recomendo fortemente o livro Algoritmos: Teoria e Prática (Charles E. Leiserson, Clifford Stein, Ronald L. Rivest e Thomas H. Cormen). Este livro, embora tenha um preço um pouco elevado, contem simplesmente tudo sobre o tema. Vale muito a pena estuda-lo caso você realmente queira se tornar um programador um dia.

 

Progamador e uma coisa bem dificil ta

 

Escrever software implica comunicar a uma máquina as intenções de um ser humano. Para qualquer comunicação é necessário um conjunto de símbolos que ambas as partes reconhecem e entendem. O problema com as máquinas de hoje é que elas entendem um número limitado de símbolos, muito menor que o dos humanos.

 

Para resolver isso, vários paradigmas foram criados buscando transmitir à máquina as intenções do ser humano. O mais vantajoso até hoje é o paradigma da linguagem de programação.

 

Programar significa utilizar uma certa linguagem para transmitir uma série de instruções ao computador. O ser humano escreve com símbolos que ele entende – palavras e símbolos textuais – e isso é transformado para o símbolos que a máquina entende através de um programa chamado compilador. Sim, você pensou certo. Se o compilador é um software, e um software é criado com um compilador, como se criou o primeiro compilador?

 

Parece uma charada mas não é. Acontece que existem diferentes níveis de linguagem. Linguagens de alto nível e de nível máquina ( “baixo nível” não se diz porque é feio). Os primeiros compiladores eram escritos em linguagens de nível máquina com os quais se criaram compiladores de nível mais alto e assim sucessivamente até linguagens de alto nivel como Java, C++ ou C#. O paradigma orientado a objetos é atualmente o paradigma das linguagens mais flexível e difundido, já que nele é possivel montar linguagens com outros paradigmas (procedural, funcional, etc) sem perda de generalidade.

 

Bom, temos uma linguagem. Toda a linguagem escrita tem um semântica e uma sintaxe. As de programação também têm. E toda a escrita é redigida por alguém. No mundo editorial quem escreve é redator, mas no mundo do software, quem escreve para máquinas é programador. O texto que o programador escreve é chamado “código” (alguns chamam de código fonte, do inglês “source code“) para transmitir a ideia que é meio críptico e muito “secreto”.

 

Mas então qualquer um que escreve código é um programador? Tecnicamente sim, mas na realidade isso não diz muito sobre o que a pessoa faz ou sabe fazer. É como dizer que todos os autores de best sellers sabem escrever. Isso é verdade, mas não significa nada de útil. É uma tautologia se pensarmos bem.

 

O que é interessante para o mundo do software não é que a pessoa saiba escreve código, o interessante é que a pessoa escreva bom código. Da mesma forma que autores escrevem bons livros. Para isso é preciso uma capacidade técnica maior que simplesmente escrever palavras. O programador é para o código o que um autor é para um livro e não apenas um redator. Bom, pelo menos um (bom) programador aspira a ser um autor e não um redator.

 

Da mesma forma que na língua portuguesa também nas linguagens de programação uma instrução pode ser escrita de várias formas. Umas mais claras que outras. E enquanto qualquer frase minimamente representativa da ideia basta para a pessoa comum, não basta para o autor que quer tirar o maior partido das palavras que pode usar para escrever em menos espaço o maior número de ideias. Mas também existe um limite. Ser conciso demais pode levar à confusão do leitor médio. Um autor não escreve para si, escreve para os demais, para ser lido, já que o objetivo ultimo é vender livros difundir as suas ideias.

 

O programador sofre do mesmo problema. A linguagem até pode permitir que ele escreva mais em menos palavras, mas nem sempre isso é a melhor forma para quem lê. A variedade C de linguagens é conhecida por permitir uma ampla gama de formas de escrita – bastante crípticas, por sinal. E Java permite que tudo seja escrito usando códigos Unicode como \u0002 … Lá porque você escreve dessa forma, não significa que o deva. Essa é a diferença entre um autor e um redator. Essa é a diferença entre um escritor de código e um programador.

 

Mas saber escrever não é apenas colocar palavras juntas. Existe mais. Existe conhecer as palavras em si mesmas, as regras da linguagem (como escrever corretamente) e conhecer a semântica da linguagem (o que as palavras significam). Para programadores isso significa saber o que cada palavra reservada faz, assim como as bibliotecas padrão que acompanham a linguagem. Estas bibliotecas são como dicionários de palavras novas que podem ser (re)utilizadas a cada momento para enriquecer o texto.

Muitas linguagens, poucas palavras

 

Quando você aprende a falar e a escrever, normalmente, você aprende a língua de seus educadores, que por extensão é a língua do seu país. A sua língua natural. Também quando você programa você começa por aprender uma linguagem. A diferença é que essa, ainda não é, a sua linguagem natural.

 

Durante a vida do programador ele aprende muitas linguagens da mesma forma que aprendemos muita línguas. Afinal, traduções são limitadas, em si mesmas, na riqueza de transmitir o pensamento (as instruções) do autor, e ler o original, na lingua originalmente pensada para transmitir a mensagem, é sempre uma experiência mais rica. O programador passa por um tempo de busca da sua linguagem natural. Aquela que ele entende e é proficiente sem esforço. Imagine um prêmio nobel da literatura escrevendo em outra língua que não a sua. Não é simples atingir o mesmo nível de intimidade com todas a linguagens. O programador descobre isso com o tempo.

 

Pensemos que você decide aprender todas as línguas faladas na Europa. Parece simples. Você até é capaz de agradecer e perguntar as horas em todas elas, mas você consegue manter uma conversa longa em todas elas. sem parecer um idiota?

 

Parecer um nativo é impossível. Você tem que ser um nativo para falar e escrever nativamente. É um erro a pessoa pensar que pode aprender uma lingua/gem por tradução daquela que já conhece. Isso dá para o básico, não para o avançado, muito menos para o extraordinário.

 

Assim, quantas mais linguagens, menos palavras. Em termos de software, você pode conhecer muitas linguagens e fazer o básico em todas elas, mas só será proficiente em algumas e só será intimo com uma ou duas. É uma regra natural, seu cérebro não aguenta saber tudo todo o tempo.

 

O programador tem então três caminhos. Ser um autor memorável em uma linguagem, ser um “zé-ninguém” em todas ou ser um “meia-boca” em meia dúzia.

 

Profissionalmente você não ganhará bom dinheiro sendo autor memorável em uma linguagem nem “zé-ninguém” em todas. Você ganhará dinheiro sendo proeficiente em uma ou duas e se desenvolver com uma ou duas (o que é desenvolver é assunto para outro post). Ou seja, você acaba deixando de ser autor no meio do caminho para passar a ser editor, revisor, professor ou dono de uma editora. É uma mudança de carreira, mas uma necessária nos dias de hoje (um pequeno segredo: ninguém quer realmente pagar para alguém escrever código bem. O mercado, hoje, está preocupado em escrever depressa. Não bem.)

 

O programador pode evoluir em amplitude ou em profundidade, mas não em ambos. É demasiado extenuante. O “problema” é que para evoluir ele precisa aprender pelo menos uma linguagem em profundidade.

 

Bom, então se o caminho profissional natural do programador é deixar de ser programador, se ele se dispersa em várias linguagens, nunca será ninguem no mundo do software ? Sim. Se você ficar perseguindo linguagens novas todos os dias acabará acordando – tarde – para o fato que não está em lugar algum. Como o andarilho que percorre e conhece todos os caminhos, mas não onde voltar depois da caminhada. Pelo contrário, se você seguir uma ou duas linguagens, você atingirá o nível necessário para passar ao próximo nivel: desenvolvedor.

 

Não há vergonha nenhuma em você ser um bom programador em duas linguagens e excelente em uma delas. Aliás, deveria se sentir dignificado com isso, já que é raro. Mas é como o cara que saber fazer contas de cabeça com 1000 algarismos e de trás para frente: assombroso, mas ninguém pagará você para fazer isso. (Bom, quase ninguém. Se você for louco talentoso o suficiente para fazer isso, alguem pagará.)

 

Quando uma pessoa é inciada no mundo do software espera-se que saiba programar. O famoso “programador júnior”. O que ele sabe é escrever código. Não programar. Porque normalmente ele não entende o que escreve e não escreve coisa intelegível. Mesmo que funcione, ele não sabe por onde começar na hora de alterar ou re-escrever em outro lugar. É natural. Afinal todos tivemos que saber o alfabeto antes de saber escrever o nosso nome. O problema é que com tantas linguagens por aí é fácil a pessoa se frustrar e constantemente mudar de rumo. Saberá muitas linguagens, mas saberá dizer pouco.

 

Se você se apresenta como programador, pergunte-se: eu sei realmente escrever bem? Os outros entendem meu código sem eu explicar? Estou seguindo as regras? Sei escolher as instruções e API certas ?

 

Sem saber , você pode ser um “zé-ninguém” em todas as linguagens ou um “meia-boca” na meia duzia com que se cruzou até hoje. E você, ainda, acha que é programador?

Link para o comentário
https://www.webcheats.com.br/topic/146266-ajuda-iniciante/#findComment-742909
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.