Jump to content

Iniciar em programação


Fulgur

Recommended Posts

Boas.

Gostava de saber que linguagem aconselham para iniciar tendo em conta que vou começar do ZERO e não é para nenhum trabalho mas sim para passatempo.

Pelas minhas pesquisas no google percebi que antes de me dedicar a aprender uma linguagem tenho de estudar lógica da programação.

Sei que neste e noutros foruns o que não faltam são perguntas iguais a está mas todos as mensagens dizem algo diferente entre as mais comuns VB, C, C++, C#, Pascal, Python, etc.

Certamente não a UMA LINGUAGEM PARA COMEÇAR mas deve haver uma mais aconselhada que outra.

Já li este tópico e continuo com a mesma dúvida da escolha da linguagem para começar: http://www.portugal-a-programar.pt/topic/43889-faq-quero-aprender-a-programar-por-onde-comeco/

Fico a espera de respostas.

Cumps

Link to comment
Share on other sites

eu comecei com C, é relativamente facil de começar... mas se quiseres podes fazer coisas muito complexas....

ficas com bases muito solidas...

O C tem vindo a substituir o pascal nas escolas, porque alem de ser uma linguagem muito poderosa, estas a aprender algo util, enquanto que pascal so serve para aprenderes a logica da coisa e nunca mais voltas a olhar para aquilo....

Edited by Daniivo
Link to comment
Share on other sites

Cada um vai apontar uma diferente, que é o normal neste tipo de tópicos. Eu diria para ires para Python.

  • Vote 1

“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Link to comment
Share on other sites

Cada um vai apontar uma diferente, que é o normal neste tipo de tópicos.

Concordo com o KTachyon. Mesmo assim,

Eu punha-te a começar com PASCAL. A razão principal é que é strict typing, ele obriga-te a pensares bem no que fazes e na lógica que precisas para resolveres os problemas.

Depois podes avançar para OOP usando phyton ou então ires para programação iterativa em C ou então ires para programação funcional com haskell. Se fores para phyton aconselho-te a ires, logo que aprendes phyton, a aprender java. Existe um nicho significativo no mercado em que o que aprendes com java torna-se muito útil (info que me disseram)

"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Link to comment
Share on other sites

Eu acredito que Python é uma boa linguagem para começar devido ao facto de permitir que a programação seja feita numa shell interactiva em que o código vai sendo interpretado à medida que é inserido, o que acredito que seja uma mais valia para quem começa a programar, coisa que não me recordo de ver nas restantes linguagens indicadas (excepto no Haskell, indicada pelo brunoais). Obriga os "estudantes" a indentarem o código (e acredito que quando passem para outras linguagens fiquem com o bom hábito de aplicar uma boa indentação). Não implica aprender logo conceitos de OOP, que é quase um requisito em Java e C#, mas permite levar a programação a esse nível quando for adequado.

Com isto não quero dizer que se deve começar e acabar com Python. Das linguagens indicadas, acho que C deve ser considerado quase como "cultura geral" dos programadores, pelo que deve constar na lista de linguagens com que se deve brincar (eventualmente).

“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Link to comment
Share on other sites

Tudo depende do que queres...

Se queres ser programador (profissionalmente, ou nos tempos livres), ou até mesmo informático. Então recomendo-te o C.

Se queres utilizar programação no âmbito de alguma outra actividade que já tenhas, então isso pode depender da actividade.

Eu acho que um informático deve começar por um linguagem de baixo nível, mas não é preciso ir para um nível tão baixo quanto o Assembly. O C introduz-te um conjunto de conceitos fundamentais para qualquer informático (e ainda mais para um programador). Dá-te bagagem suficiente para quando utilizares uma linguagem de mais alto nível poderes entender minimamente o que se passa por baixo. Para além disso vai ser certamente muito mais útil que o Pascal...

Depois de dominares minimamente o C, podes então passar para outras linguagens de nível mais alto como o Perl, o Python, o Ruby, etc... Pessoalmente prefiro o Perl e acho particularmente adequada para principiantes (devido à sua extrema flexibilidade), mas outras opções também têm mérito e são também boas opções.

Link to comment
Share on other sites

Em português há um bom livro de introdução o da FCA, cujo autor é o Luis Damas.

Nota importante: em informática, não podemos deixar que a língua inglesa seja um obstáculo, por mais pequeno que seja. Se não sabes bem inglês então corrige isso rapidamente.

vale muito a pena comprares um livro... nao ha nada como um livro para quem esta começando e para quem esta num nivel básico.... e o povo aqui s fala maravilhas desse livro.... mas eu nunca o le.

como se o ingles fosse algo que se aprende de um dia para outro. o meu ingles tecnico è relativamente bom, mas por vezes vem uns termos.... Nao ha como a nossa lingua nativa 😉

Link to comment
Share on other sites

Em português há um bom livro de introdução o da FCA, cujo autor é o Luis Damas.

Nota importante: em informática, não podemos deixar que a língua inglesa seja um obstáculo, por mais pequeno que seja. Se não sabes bem inglês então corrige isso rapidamente.

Recomendo.

Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Link to comment
Share on other sites

O C tem vindo a substituir o pascal nas escolas, porque alem de ser uma linguagem muito poderosa, estas a aprender algo util, enquanto que pascal so serve para aprenderes a logica da coisa e nunca mais voltas a olhar para aquilo....

Ai sim? Porque dizes que o Pascal só serve para as bases? No que é que C supera em muito Pascal?

A meu ver, para começar, é Pascal. Não só se aprende a estruturar um programa e tudo o mais, como é possível utilizá-lo para projectos interessantes e inclusive iniciar em certos temas como OOP ou desenho píxel-a-píxel (denominado por muitos de "gráficos avançados").

Mas como já escolheste C, ok...

Só acho pena verem o Pascal como uma "coisa" em vez de uma linguagem com grandes capacidades e utilidade. E quando falo de Pascal, incluo a sua variante, Delphi, que foi a primeira LP com um IDE de ambiente RAD, faz tudo o que faz VB.NET e mais alguma coisa, e é portável para qualquer plataforma.

Edited by thoga31

Knowledge is free!

Link to comment
Share on other sites

Comecei a programar com Logo, mas já tinha em casa livros de BASIC e Pascal. Nunca me deu para ir para o Pascal, embora fosse a coisa mais "nativa" para Mac que existia na altura do primeiro computador que tive em casa. Mas acabei sempre por ir para BASIC, várias versões diferentes, de facto. Quando achei que estava na altura de mudar, virei-me para Java e C/C++. Quando cheguei à faculdade, mais Java e C, entre outras, como Lisp, VHDL e ASM. Por volta da mesma altura também comecei a brincar com Objective-C. À medida que ia fazendo cadeiras, mais linguagens de programação apareciam, e a adaptação já era quase directa. Sempre tive Python à minha disposição no Mac OS X, e até tive uma cadeira que era dada na linguagem, mas só recentemente reconheci a maravilha da linguagem para desenvolvimento web.

No fundo, no fundo, a primeira linguagem de programação é uma introdução à programação, e não precisa de introduzir todos os conceitos e mais alguns. Porque, se for para chegar logo a todos os conceitos, a linguagem de programação ideal é mesmo um assembly, que é a representação mais directa das instruções que o processador processa. O C já abstrai muitos desses conceitos, mas abstrai menos que muitas outras linguagens de programação. Se é adequada para começar a programar? Se caloiros de engenharia informática que nunca tinham programado na vida conseguem apanhar C no primeiro ano e se safam, é porque não é impossível. Quanto muito, poderá tornar-se mais difícil. Mas, se calhar, o ideal seria observar taxas de sucesso dos alunos consoante a linguagem escolhida para introduzir a programação.

“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Link to comment
Share on other sites

No que é que C supera em muito Pascal?

Em vários aspectos muito práticos, como por exemplo:

Não há software relevante implementado em Pascal em quantidades relevantes. E pelo contrário, quase todo o software de sistema e muitas outras aplicações estão implementadas em C.

O C está na base de vários sistemas operativos, e a sua compreensão é útil para a compreensão mais profunda desses sistemas.

A sintaxe do C está na base da sintaxe de uma quantidade enorme de linguagens de programação muito utilizadas.

Estas três razões fazem com que C seja "ziliões" de vezes mais importante e útil que PASCAL.

A meu ver, para começar, é Pascal. Não só se aprende a estruturar um programa e tudo o mais,

E com C também!

como é possível utilizá-lo para projectos interessantes e inclusive iniciar em certos temas como OOP ou desenho píxel-a-píxel (denominado por muitos de "gráficos avançados").

Isso são coisas que não interessam a quem tá a dar os primeiros passos... E mais ainda ao aprender C ele mais facilmente transita para o C++, ou para um Java, ou para um Perl, ou um C#, ou outra coisa onde ele pode fazer isso e muito mais, com mais e melhores recursos e com suporte para mais paradigmas que ele pode explorar.

Mas, se calhar, o ideal seria observar taxas de sucesso dos alunos consoante a linguagem escolhida para introduzir a programação.

O que queres dizer com taxas de sucesso? Notas escolares?

Eu preferia olhar para o que eles aprenderam e para a sua competência e capacidade de de entender quer os problemas quer o que estão a fazer, anos depois quando tiverem a trabalhar. Medir isto é muito mais complicado. Não sei se podemos "reduzir" isto a uma taxa...

Link to comment
Share on other sites

O que queres dizer com taxas de sucesso? Notas escolares?

Eu preferia olhar para o que eles aprenderam e para a sua competência e capacidade de de entender quer os problemas quer o que estão a fazer, anos depois quando tiverem a trabalhar. Medir isto é muito mais complicado. Não sei se podemos "reduzir" isto a uma taxa...

Não exactamente. No meu curso o pessoal sempre foi exposto a várias linguagens de programação, muitas vezes devido a objectivos específicos da cadeira. Se o objectivo é que os alunos consigam perceber e aplicar a algoritmia, podes perfeitamente dar-lhes C e obriga-los a aprender os conceitos todos. Quanto do tempo é que é gasto em conceitos que não estão relacionados com a algoritmia?

Basicamente, a diferença aqui é entre ter um curso que consiste numa única cadeira que dá tudo, e várias cadeiras que focam determinados aspectos. Ninguém disse que eles não vão aprender os conceitos por só terem trabalhado na linguagem X ou Y, apenas que há linguagens que podem ser mais apropriadas (eficientes) para introduzir determinados aspectos que outras.

“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Link to comment
Share on other sites

Mas de forma alguma estou a sugerir que se use C para ensinar tudo, muito pelo contrário... Estou a sugerir apenas para: dar os primeiros passos na programação; também para dar apoio a cadeiras de sistemas operativos, redes, bases de dados, segurança, etc...

Certamente que ensinar determinados paradigmas de programação como programação funcional, ou até mesmo orientação ao objecto, o C não é a linguagem mais adequada... Bem como para outras cadeiras, como de análise estatística, etc...

Edited by falco
Link to comment
Share on other sites

Depois de ler vários comentários deste e de outros fóruns decidi começar pela linguagem c. Se me conseguirem indicar tutoriais de iniciação nesta linguagem e livros agradecia. Se forem em português melhor.

Obrigado a todos pelas respostas.

Tens alguns recursos disponíveis no Portal de Downloads do fórum.

Link to comment
Share on other sites

  • 4 months later...

Na Minha Opinião

Para quem nao percebeu. A burrise fala mais alto

esta aqui a esplicação por topicos

1º Primeiro Deves Começar com Visual basic e a progamação mais facil que ha " Para MIM" Procura no Google ou outros site com tutoriais , curos ou livros

2º muda para c++ e depois c# " EU NAO LIGo a linguagem C"

3º Mudas para Progamação de Web

4º Primeiro Tens de Começar com HTML Depois muda para php depois ASP.NET , css , java com orientação em objectos , perl

parte "Extra"

5º Começas Com Progamção de android depois para iphone e um extra para o teu conhecimento

6º começas com python e pascal ( a Onde Eu Estou )

7º Quando Tiveres Boms Estudos poderas Continuar com computação grafica

Nota: Progamação Não e nada facil , Tens de Ter Muita dedicação e paciena e nunca desistir e Ter Principalmente Boas Notas em matematica e CFQ

Para quem tem miopia " ISTO E A MINHA OPINIÇÃO !!!! FOI O MEU MÉTODO DE APRENDIZAGEM DE PROGAMAÇÃO "

Cumprimentos

Edited by apocsantos
[EDITADO] Escrever uma fraze inteira em maiusculas é "gritar" com as pessoas.

Penso noventa e nove vezes e nada descubro; deixo de pensar, mergulho em profundo silêncio - e eis que a verdade se me revela. - Albert Einstein

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.