Orientação sobre fluxo de aprendizado [RESOLVIDO]

1. Orientação sobre fluxo de aprendizado [RESOLVIDO]

Marcelo Mauro de Oliveira
marcelomauro

(usa Ubuntu)

Enviado em 28/07/2013 - 11:02h

Gostaria de uma dica do pessoal mais experiente em programação.

Estudei C ( Introdução a programação com C e Estrutura de Dados em C). E tenho muito interesse de no futuro chegar a poder contribuir com o desenvolvimento de alguma aplicação no linux (pois tenho usado este sistema e seria legal ter como retribuir à comunidade software-livre). Estou com uma dificuldade em qual fluxo de aprendizagem devo seguir.

Conversando aqui e acolá algumas pessoas me recomendam ir ao github, ver os códigos de aplicações em andamento e aprender por lá. Tentei fazer isso. Até entendo os códigos, mas não consigo entender a visão de conjunto das aplicações pelo fato de usarem bibliotecas que ainda não trabalhei (ou mesmo conheço) bem como a estrutura de organização das aplicações com makefiles, configs, etc... Disso tenho andado em círculos e o meu aprendizado está estagnado.

Digamos que eu queira ajudar, alterar localmente, seja o que for, uma aplicação como gedit, ou irssi. Além do que eu já estudei em C descrito acima, que outro conhecimento adicional eu precisaria?

Qualquer orientação acerca de um fluxo de aprendizado é bem vinda!

Desde já agradeço!


  


2. MELHOR RESPOSTA

euteste da silva
foxbit3r

(usa Solaris)

Enviado em 29/07/2013 - 10:06h

Caro marcelomauro,

Se você deseja escrever aplicação séria para Linux/Unix, você deve procurar materias focados nesse tipo de plataforma.

Minha dica é: C programming unix environment book, TCP/IP Illustrated, Volume 1.

Acho esses que eu citei são bem legais, por funcionar em quase todos os unix e unix-like.

Quer acho de graça e só para linux. Eu te recomendo http://www.tldp.org/LDP/lpg-0.4.pdf

Outras dicas ficam o autoconf, http://www.edwardrosten.com/code/autoconf/


Tem muito mais coisas... depois vc manda uma mensagem ai que trocamos idéia.

boa leitura.

3. Re: Orientação sobre fluxo de aprendizado [RESOLVIDO]

Bruno Rogério Fernandes
brunorf

(usa Arch Linux)

Enviado em 28/07/2013 - 11:24h

A meu ver, o certo seria você se engajar de uma vez em algum projeto, ajudar no que for possível. Dessa forma, conforme surgir a necessidade você vai aprendendo.

Além disso, não sei se você tem familiaridade com ferramentas para organização de projetos mais longos, como o make, algum controle de versões (git, subversion, etc.). Se não tiver, sugiro que dê uma olhada nisso, pois são muito utilizadas nesses projetos.


4. Re: Orientação sobre fluxo de aprendizado [RESOLVIDO]

Marcelo Mauro de Oliveira
marcelomauro

(usa Ubuntu)

Enviado em 28/07/2013 - 11:29h

brunorf escreveu:

A meu ver, o certo seria você se engajar de uma vez em algum projeto, ajudar no que for possível. Dessa forma, conforme surgir a necessidade você vai aprendendo.

Além disso, não sei se você tem familiaridade com ferramentas para organização de projetos mais longos, como o make, algum controle de versões (git, subversion, etc.). Se não tiver, sugiro que dê uma olhada nisso, pois são muito utilizadas nesses projetos.


Então, eu já tenho conta no git sei mais ou menos como usá-lo.

Sobre o make não usei ainda. Algum material indicado para estudo?


Quanto a se "engajar de uma vez em algum projeto", bem, esse seria o objetivo. Mas como fazer isso? É exatamente este tipo de orientação que ando atras há algum tempo.


5. Re: Orientação sobre fluxo de aprendizado [RESOLVIDO]

Bruno Rogério Fernandes
brunorf

(usa Arch Linux)

Enviado em 28/07/2013 - 12:08h

Sobre o make, não precisa se aprofundar, basta ter uma noção. No caso, acredito que qualquer uma dessas páginas já lhe bastará:

http://mrbook.org/tutorials/make/
http://www.cs.colby.edu/maxwell/courses/tutorials/maketutor/

Sobre um projeto para se engajar, pense em algum que você queira participar. Algo que você realmente queira colaborar. Depois disso, entre na página do projeto, muitas vezes lá existem informações sobre como fazer para se tornar um voluntário. Entre em contato com a equipe responsável, por e-mail ou por IRC (a maioria dos projetos têm canais IRCs, que acredito ser o melhor meio de você conversar com a equipe de desenvolvimento).

Por exemplo, para o rails (Ruby on Rails), o canal ideal é #rails-contrib no irc.freenode.net. Acredito que esse não seja de seu interesse, pois não seria em C.

Um projeto que o pessoal vive "implorando" por ajuda é o do kernel GNU Hurd:
http://www.gnu.org/software/hurd/
Lá com toda a certeza a linguagem predominante será C. O projeto ainda não está maduro, não tem GRANDES resultados, mas talvez você se interesse.

De qualquer forma, o ideal é que você busque um projeto de seu interesse.



6. Re: Orientação sobre fluxo de aprendizado [RESOLVIDO]

???
gokernel

(usa Linux Mint)

Enviado em 28/07/2013 - 14:18h

01 - Para ser aceito em um projeto relevante a pessoa terá que mostrar realmente que sabe sobre a API utilizada neste projeto... não é tão simples assim ser aceito de primeira em algum projeto .

02 - Você precisa de ter disciplina na vida ... organizar um tempo para o projeto, etc ...

03 - Um passo de cada vez: começe com algo pequeno seu e var apredendo ... determine datas para concluir esse seus projetos ...

04 - Estude, estude, estude ...



7. Re: Orientação sobre fluxo de aprendizado [RESOLVIDO]

Ricardo Fabiano Silva
madrugada

(usa Gentoo)

Enviado em 28/07/2013 - 14:25h

C e C++ andam de mãos dadas! rsrs

Se você já aprendeu C, fica fácil aprender C++ também.

Segue abaixo uma dica com link de curso gratuito na Fundação Bradesco:
http://www.vivaolinux.com.br/dica/Linguagem-C-Curso-gratuito


8. Re: Orientação sobre fluxo de aprendizado [RESOLVIDO]

Marcelo Mauro de Oliveira
marcelomauro

(usa Ubuntu)

Enviado em 28/07/2013 - 14:57h

gokernel escreveu:

01 - Para ser aceito em um projeto relevante a pessoa terá que mostrar realmente que sabe sobre a API utilizada neste projeto... não é tão simples assim ser aceito de primeira em algum projeto .

02 - Você precisa de ter disciplina na vida ... organizar um tempo para o projeto, etc ...

03 - Um passo de cada vez: começe com algo pequeno seu e var apredendo ... determine datas para concluir esse seus projetos ...

04 - Estude, estude, estude ...


Concordo inteiramente com o que você falou. Mas daí volto à minha dúvida principal. Como exposto acima, tenho conhecimento introdutório de C até à noção de Estruturas de Dados (e isso também, mas menos trabalhado em python e java). Mas como todos sabem para este conhecimento trabalhamos exclusivamente com as bibliotecas padrão do C.

Então se tenho que "estudar, estudar, estudar" meu questionamento é o que vem depois disso que eu já estudei porque não basta simplesmente olhar o codigo de um outro desenvolvedor se não se sabe com o que ele está trabalhando (pelo menos na minha concepção isso só é fácil para aqueles que já têm certa experiência).

Então o que eu estou pedindo é que vocês compartilhem o caminho que fizeram para que eu "estude, estude, estude" e me desenvolva de modo a ser capaz de fazer "um algo pequeno meu e vá aprendendo". Só falei dos projetos porque é o que o pessoal recomenda, como nesta thread mesmo aconteceu. Mas sei que ainda tenho muito chão pela frente para que isso venha a acontecer e quando acontecer farei com muito prazer. Percebo que tenho andado em círculos por muito tempo.


9. Re: Orientação sobre fluxo de aprendizado [RESOLVIDO]

Marcelo Mauro de Oliveira
marcelomauro

(usa Ubuntu)

Enviado em 28/07/2013 - 15:03h

madrugada escreveu:

C e C++ andam de mãos dadas! rsrs

Se você já aprendeu C, fica fácil aprender C++ também.

Segue abaixo uma dica com link de curso gratuito na Fundação Bradesco:
http://www.vivaolinux.com.br/dica/Linguagem-C-Curso-gratuito


Cara, já estudei o básico de C, C++, Python, Java, Javascript, SQL, etc... não creio que a questão seja a linguagem. Os livros introdutórios ficam na descrição das estruturas da linguagem e são ótimos em fazer isso. Mas quando vejo um código de um fonte no github existe muita coisa lá que nunca se fala neste tipo de livro ou tutorial do tipo "linguagem C Curso gratuito".

Tive a oportunidade de estudar C na universidade numa disciplina de 160hs. Muito boa por sinal. Mas como te falei, o objetivo é apresentar a linguagem e estruturas de dados em C. O que vem depois para se fazer uma boa aplicação?


10. Re: Orientação sobre fluxo de aprendizado [RESOLVIDO]

Daniel Marchi
DMS_

(usa elementary OS)

Enviado em 28/07/2013 - 16:28h

Que nada...estude shellcode!


11. Re: Orientação sobre fluxo de aprendizado [RESOLVIDO]

???
gokernel

(usa Linux Mint)

Enviado em 28/07/2013 - 16:33h

Se já tem algum projeto seu publicado, então enviar o link para analizar.

Se não tem ... começe hoje um, e lógico se tiver tempo disponível para isso...

Usando a frase de um colega meu:
"Aprende-se a programar , programando."

Livros/faculdade só informa praticamente o básico, mas experiência só programando mesmo e de preferencia algo útil.


12. Re: Orientação sobre fluxo de aprendizado [RESOLVIDO]

???
gokernel

(usa Linux Mint)

Enviado em 28/07/2013 - 16:54h

Imagine a seguinte situação relacionada a falta de experiência:
-------------------------------------------------
Um médico chega ao paciente e fala:

"bem-vindo a mesa de cirurgia, fiz o curso de medicina por correspondência e vc será o meu primeiro paciente que vou operar."

Qual seria a reação do paciente ??? ;)
-------------------------------------------------




01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts