Como iniciar na programação! - Thread dos candidatos a n3rds :D

Eu a ti começava já com uma linguagem orientada a objectos. Até porque uma linguagem procedimental não apresenta grandes desafios quando já sabes programar alguma coisa.
Começa com Java ou C#, eu prefiro C# e para começar penso que seja mais fácil, apesar de no meu caso ter sido ao contrario.
 
Bem, isto cada um puxa a brasa à sua sardinha, e penso que se já começaste com Java então continua com Java... Mas eu sugiro a única linguagem que conheço neste momento: C
É, aparentemente, uma das linguagens mais usadas, e a partir do momento que entenderes C estás apto para entender a maior parte das linguagens de programação.
Quanto ao quereres ir para um curso relacionado com informática, digo-te que eu cheguei à universidade (no curso de Electro, que no primeiro ano é basicamente igual ao de informática) e ensinaram a linguagem (C) desde o princípio, partindo do princípio que não sabes nada... O primeiro exemplo foi logo o exemplo mais conhecido de todo: o Hello World... 2 meses depois estava a entregar um projecto já com uma complexidade mais avançada (utilização de memória dinâmica, listas, etc).
C é um boa linguagem para se aprender.
Cumps
 
Andava neste forum a ver umas coisas sobre C, e ao ver este tópico lembrei-me disto.

Gostas de robótica? Sugeria-te comprares um arduino, e começares a brincar em C.

No site tens tudo o que precisas, desde exemplos (fazer um led piscar até coisas mais elaboradas), e tens uma página própria que te explica as variáveis e funções todas.

http://www.arduino.cc

Atenção que linguagem para programar microcontroladores não é bem C puro, tem muitas instruções que são específicas para o processador e é preciso ter alguns conhecimentos de electrónica para as entender.

Eu nunca tinha programado na vida, e comecei com C puro, precisamente para depois aplicar em PICs. Julgo que C e uma linguagem muito boa para iniciação.
 
Eu a ti começava já com uma linguagem orientada a objectos. Até porque uma linguagem procedimental não apresenta grandes desafios quando já sabes programar alguma coisa.
Começa com Java ou C#, eu prefiro C# e para começar penso que seja mais fácil, apesar de no meu caso ter sido ao contrario.
Então se ele não sabe nada vai começar logo com objectos??? Isso não faz sentido nenhum.
E para começar a programar imperativamente em java mais vale começar por C, aprende-se minimamente como funcionam as coisas e não têm a papinha toda feita com as 1001 classes do java.
 
Caros amigos... Obrigado pelas vossas ajudas...
Bom eu não vou seguir o conselho do amigo The WolfMan pois não acho muita piada a robótica... Mas obrigado pela dica ;)
Quanto aos outros comentários...
Epá eu continuo a bater na mesma tecla: sem alguém a explicar é um pouco difícil pois não se sabe muito bem onde ir... Eu faço as coisas só por ver, porque se me disserem para fazer o mesmo exercício sem ver... Não consigo :s
Eu tento ver o que se pede, mas... Forget :x
No entanto já estou a sacar os filmes que o zib indicou... Não pesco grande coisa de inglês, mas percebo algumas coisas.
Para programar em C... Qual o programa que me recomendam?
 
Caros amigos... Obrigado pelas vossas ajudas...
Bom eu não vou seguir o conselho do amigo The WolfMan pois não acho muita piada a robótica... Mas obrigado pela dica ;)
Quanto aos outros comentários...
Epá eu continuo a bater na mesma tecla: sem alguém a explicar é um pouco difícil pois não se sabe muito bem onde ir... Eu faço as coisas só por ver, porque se me disserem para fazer o mesmo exercício sem ver... Não consigo :s
Eu tento ver o que se pede, mas... Forget :x
No entanto já estou a sacar os filmes que o zib indicou... Não pesco grande coisa de inglês, mas percebo algumas coisas.
Para programar em C... Qual o programa que me recomendam?

Para coisa muito básicas, o DevC++ serve. O Visual C++ Express Edition já é melhorzito, aconselho...
No entanto, Programo melhor em Linux, usando o Kdevelop.

Cumps
 
Para coisa muito básicas, o DevC++ serve. O Visual C++ Express Edition já é melhorzito, aconselho...
No entanto, Programo melhor em Linux, usando o Kdevelop.

Cumps
"Deus" o livre de ir para o Visual C++. O facto de eu ter visto o Hello World do VC++ levou a que eu nunca mais quisesse pegar em C/C++ durante anos, e agora vejo que não é tão difícil quanto pareceu na altura x|
Naturalmente que cada um tem a sua opinião, e vai tentar puxar para aí. Eu comecei a programar com o QBasic no MS-DOS, usei a tecla F1 com alguma frequência, aprendi inglês, e, apesar de não ter sido propriamente a melhor linguagem para uso "real", não me arrependo de ter começado assim (dada a idade com que comecei, qualquer outra coisa seria complexa demais). Usava a interface do QBasic, e isso bastava.
Agora, ainda não uso IDEs nenhumas. Tudo o que é feito para a faculdade em C, C++ ou Java, faço em Linux com o Vim (editor de texto). Até acho que começar com IDEs dá um trabalho extra desnecessário, que é obrigar a pessoa a aprender não só a linguagem, como também o modo de funcionamento da IDE.
Talvez dê jeito usar as IDEs no futuro quando for para programação mais à séria, mas para já (e especialmente para aprender), é bem melhor fazer tudo "à pata" e perceber o que se está a fazer.

No Windows, usava o Dev-C++, e uso essencialmente o Notepad++ e o gcc fornecido pelo Dev-C++. No Linux, uso o Vim e o gcc/g++.

De resto, quanto à melhor linguagem, não concordo quando dizem que ele devia escolher a que gosta mais, dado que ele provavelmente ainda não sabe o suficiente para poder decidir. Se ele vir os ponteiros de C e as classes (e a quantidade brutal de resources disponibilizados) do Java, é bem provável que escolha o Java, por não saber as vantagens (e desvantagens) de cada um.
E pessoalmente, também não sou a favor de começarem a programar imperativamente em linguagens com objectos. Aliás, tal como o Aparício disse, o Java já faz de origem muitas das coisas que dá jeito aprender a fazer. Depois tudo parece magia quando se programa :P

Acho que isto depende inteiramente do objectivo e da dedicação (e capacidade de aguentar e não desistir com os erros). Se é para aprender a programar profissionalmente, então não me parece que começar com Java seja boa ideia. Se é programar para fazer coisas giras, então há coisas mais específicas para isso.

edit -- juntei este tópico ao "Como iniciar na programação", para permitir uma referência futura mais fácil.
 
Última edição:
"Deus" o livre de ir para o Visual C++. O facto de eu ter visto o Hello World do VC++ levou a que eu nunca mais quisesse pegar em C/C++ durante anos, e agora vejo que não é tão difícil quanto pareceu na altura x|

Visual c++ não é simplesmente o compilador de c++ da microsoft?
Sempre usei o visual studio em windows para programar c++ e não vejo grandes diferenças. Deves estar é a referir-te a projectos .NET em c++ que isso sim fica com um aspecto bastante complicado sobretudo devido ao facto de teres de distinguir entre usar o '.', o '->' e o '::' enquanto que em c# ou java é simplesmente o '.'.
 
Kaylim, não sei se terás visto mesmo o Visual C++ ou então não estou a compreender.
A primeira vez que vi o Hello World foi um código rabuscado pelo meu stor de Programação. Mais tarde compilámo-lo no KDevelop e quando iniciei Visual C++ vi que o Ambiente era semelhante ao KDevelop (embora mais complexo) e corre as coisas da mesma maneira...
Nada de complicado, 2 ou 3 linhas de código, manda-se correr e já está.

Cumps
 
Quando se fazem as coisas do zero, sim, até é fácil, é C com umas modificações. O que eu fiz foi ir pelo Wizard do Visual C++ (que vem no Visual Studio 6) e mandá-lo criar um Hello World. Ele criou um com janelinhas todas bonitinhas e tudo, o que era apelativo para mim, dado que na altura só usava o Visual Basic.
Tendo em conta que não conhecia a linguagem, pensava que aquele código todo que era gerado era necessário para fazer uma aplicação mínima. Na realidade, é capaz de ser necessário, mas para programas com janelas, e com isso fiquei com a ideia errada do C++.
 
Boas!
No meu curso apenas temos uma cadeira de programação, em que trabalhamos com Octave. Gostaria de aprofundar um pouco mais os conhecimentos na área, mas que me pudesse ser útil futuramente.
Estando na área das engenharias, compensa aprofundar os conhecimentos de Octave ou começar outra?
 
Estou no 11º e nao no 10º como referi...

Eu vou de facto começar ja a aprender algumas coisas... Eu vi um colega meu fazer uma cena no Java e nao me pareceu dificil... So sei que a resposta era: 2*5=10. Ele fez isso e nao me pareceu dificil...
Mas... Onde vou arranjar o programa? É que tudo o que consigo é o java mas para instalar no PC para poder ver aplicações... Não consigo abrir o Java "Programador"... Onde o vou arranjar?

Recomendam-me começar por PHP e HTML?

Se vais para PHP, recomendo-te a teres também umas noções de SQL, por causa da componente de base de dados, que cada vez mais é imprescindível.
 
Visual c++ não é simplesmente o compilador de c++ da microsoft?
Sempre usei o visual studio em windows para programar c++ e não vejo grandes diferenças. Deves estar é a referir-te a projectos .NET em c++ que isso sim fica com um aspecto bastante complicado sobretudo devido ao facto de teres de distinguir entre usar o '.', o '->' e o '::' enquanto que em c# ou java é simplesmente o '.'.

Isso são características do C++, que é que isso tem a ver com .NET ou não? C++ é C++, a sintaxe é igual em todo o lado. Também não vejo o que é que isso têm de complicado, prefiro muito mais a sintaxe de C++ a Java ou C#. Eu gosto de usar ponteiros, pelo menos sei o que estou a fazer e sei exactamente quando é que as coisas são passadas por valor ou por referência.
 
"Um compilador é um programa que transforma texto noutro programa, isto é a forma martelada desta definição, mas para já é o que precisam de saber."

Sem dúvida, a melhor definição para compilador que já vi. A registar.

No entanto, para quem leu e ficou a perceber o mesmo, cá vão os meus 50 cêntimos da coisa: compilador é um programa que vai transformar o programa em texto e criar um intermédio chamado objecto. Depois outro programa, o Linker, vai adaptar o objecto que é o código assembler do fonte original e fazer um final executável na plataforma respectiva. Ou seja:

- programa fonte -> objecto -> executável final

Os programadores criam os programas na forma de texto e comandos. Depois é preciso COMPILAR aquilo tudo para correr em código binário no respectivo sistema operativo. Portanto, se viram os meu link para os manuais de assembler da Intel, aquilo só produz e explica o código assembler/binário. Depois o sistema operativo, tipo Windows ou Linux, pode interpretar cada instrução de uma forma própria, porque se baseiam em estruturas e API's (funções internas do sistema operativo) diferentes.

Saber as instruções todas do manuel da Intel não significa que saibam programar para uma determinada plataforma. É preciso depois adaptar estes códigos binários todos ao sistema operativo. Por isso, vou-me repetir: aprender pelo menos C + ASM. Isto sim é d'homem!

Tentei falar o mais simples possível. Espero que se perceba.
 
Geralmente tu não programas para uma máquina em particular, mas sim para um SO, porque o objectivo do SO é mesmo esse criar uma camada entre as aplicações e o hardware, dando-te uma interface para interagires com a máquina. Daí que não te seja tão importante saberes programar em asm para uma determinada máquina. No entanto para perceberes o que estás fazer é preciso saberes programar em asm (e já agora, fazendo as microinstruções directamente) para alguma coisa, visto o contacto com o hardware é mais directo, pelo que ficas com uma ideia de como é que as coisas são internamente, o que é útil na programação em geral.
Agora no dia-a-dia não cabe na cabeça de ninguem ir fazer uma aplicação inteira (um jogo por exemplo) em asm, é mais prático usar API's e bibliotecas.
 
Eu acho este post bastante útil no entanto acho de extrema importancia dizer também porque se programa. Essencialmente por três razões, para resolver problemas, resolver lacunas em programas actuais e para inovar, criando novo software útil. Avisar também que quando se começa a programar ensina-se a resolver problemas, simples claro, no entanto logo desde muito cedo se demostra através no ensino de algorimos e só depois de programação, que o essencial nesta actividade é gostar de resolver problemas e mais importante de saber resolver problemas, comecem por dividir todas as vossas tarefas mais rotineiras em sub-tarefas de modo a terem um conjunto de passos para atingir o vosso objectivo. Assim começam a entrar na onda dos programadores. Abraço
 
boas, estou agora a acabar de dar introduçao pascal na escola (12º ano, AIB).
Gostava de aprender a programar em C, pois parece me a linguagem mais comum, podem aconselhar-me algum tutorial para este proposito? ou entao outra linguagem?

cumps
 
Para começar por C: lê "Linguagem C" do Damas, ficas muito bem servido, ou então podes ir procurar na net por tutoriais, que não há assim nenhuma grande dificuldade na parte mais básica.
 
Back
Topo