Jump to content
Sign in to follow this  
Overrun™

Algumas Duvidas Sobre C

Recommended Posts

Overrun™

Boas ppl.

ha algum tempo que quero aprender C mas como sou um ganda noob e só la vou devagarinho saquei uma data de compiladores e tuturials sem sequer saber o que precisava e para que precisava, exacto para que precisava pois eu tenho aqui umas dúvidas e axei que alguem me podia ajudar.

Bem aqui vão:

1º Qual a diferença entre C e C++ e C# (é que li já n sei onde que C e C++ eram o mesmo agora o C# foi só por perguntar) ?;

2º O que preciso para programar nestas linguágens Compiladores, Editores de janelas, Tuturials etc.  ?;

3º mais ou menos quanto tempo axam necessário para aprender uma ou todas (dependendo da 1ª resposta) estas linguágens ?

NOTA: tenho conhecimentos de Pascal apenas e mesmo assim não são os melhores mas lá me vou safando, o que sei fazer melhor é alterar Códigos e não tenho lá muito jeito para programá-los de inicio  :roll: , bem mas como tudo se aprende espero que alguem me possa ajudar.

PS: aprendi Pascal na escola portanto é meio marado :twisted:

NOTA 2: sem contar com programação até me safo +/- bem nos PC's portanto se eu tiver alguma dúvida é porque nesse conteúdo não tenho lá muito conhecimento.

Quem me quiser ajudar pode por aqui resposta na Thread ou pode falar comigo no #IRC no canal #O2 [peço desculpa pela Publicidade].

Cumps. Magic-Hacker

Share this post


Link to post
Share on other sites
Ricardo

Boas

Em relação á primeira pergunta:

C: http://en.wikipedia.org/wiki/C_programming_language

C++: http://en.wikipedia.org/wiki/C_Plus_Plus

C#: http://en.wikipedia.org/wiki/C_sharp

Em relação á tua segunda pergunta:

Depende principalmente que OS usas, pois como podes imaginar os compiladores e editores são diferentes para cada um deles.

Por exemplo, eu nunca programei C em Windows, sempre em Linux, há-de haver quem tenha tido a experiência contrária.

Em Linux:

➔ Editor -> Emacs

➔ Compilador -> gcc

(isto é o que eu uso, há uma 'carrada' de outros...)

A terceira é a mais dificil de responder, depende de pessoa para pessoa, não ha nada a fazer...umas demoram pouco, outras demoram tanto que desistem.

Está tambem relacionado com a experiencia que já tens a programar.

Espero que tenhas ficado 'um pouquito' mais esclarecido...;)

Abraços! 

Share this post


Link to post
Share on other sites
deathseeker25

Boas MagicHacker,

Vou tentar responder-te ás dúvidas da forma mais sucinta possível até porque neste momento estou envolvido em lagum trabalho...

Ok,

1º O C é considerada a linguagem-mãe, porque todas as outras linguagens mais utilizadas na actualidade (Java,PHP, C++,C#) têm pozinhos do C, ou seja, contem instruções bastante parecidas com as do C.

O C++ é, digamos, o C avançado. Depois de aprenderes C é que deves aprender C++, porque esta linguagem tem funções que são continuação das funções do C, logo as intruções são diferentes...

O C++ é então considerada uma linguagem mais "complicada" que o C....

O C# é a linguagem C com vertente Web, ou seja, consiste numa combinação de instruções de C++ com Java e PHP á mistura e é uma das linguagens mais utilizadas pelos programadores da actualidade....

2º Para aprenderes C, precisas, de facto, de um compilador e de alguns tutoriais (ou um bom livro...)

O compilador que eu conheço e que me adapto melhor é o DevC++ da Bloodshed...Procura no Google por DevC++ e encontrarás logo o site da bloodshed onde é só fazer download de seguida...

3º O tempo necessário para aprenderes C, falando com base na minha experiencia pessoal, rege-se entre os 8 meses e um ano (isto para dominares a linguagem a 100%, com os conteúdos todos sabidinhos).

É lógico que se "saíres" do C com os conteudos todos sabidinhos e com alguns programas no currículo, ser-te-á muito mais fácil aprenderes C++ e C#, ou seja, demorarás mais cerca de 6 meses a um ano a aprender essas duas linguagens de seguida....

No entanto, antes de entrares no C, dá mais uma ou duas semanitas a rever Pascal e a praticar com programas mais elaborados (aconselho-te tambem é testares velocidades de código, etc...).

Ora, desculpa lá a pressa na resposta mas tenho mesmo de continuar aquilo que estava a fazer....

Cumps e qualquer duvida, já sabes....P@P está aqui para te ajudar.... :D

Share this post


Link to post
Share on other sites
David Pintassilgo
.... o que sei fazer melhor é alterar Códigos e não tenho lá muito jeito para programá-los de inicio...

Boas!

não sei ao certo que conhecimentos/facilidade tens em relação á programação, mas pelo que eu precebi do teu post, julgo na minha opinião que em 1º lugar devias ter bem claro as noções de Algoritemia que isso ai é que é realmente importante. Partindo dai torna-se tudo MUITO mais facil.

(não sei se dominas bem essa parte, ou se tens dificuldades nisso, só comentei pq foi a sensação com que fiquei) :D


cool stuffs to check.

http://blog.zxcoders.com//

Share this post


Link to post
Share on other sites
Overrun™

hello again

bem desde já obrigado pela ajuda, depois a questão do Dev C++ eu já o tenho só que até com códigos fontes que tenho aqui em C++ (penso eu, são do emule) dá erro na compilação isto com códigos já feitos, ou sou eu que não entendo bem o funcionamento do programa ou então há algum problema.

Depois como já devem ter percebido eu uso Windows (XP SP2) brevemente 64 bits (quando formatar) bem mas não é essa a questão, é assim eu tenho cá uns tuturials meio marados do tipo aprender C e C++ em 14 dias e em 5 Horas etc, eu não acreditei muito mas pelo menos para saber as bases deve dar, depois com o tempo aprendo totalmente o funcionamento.

Tenho também aqui o Visual Studio .NET 2003 mas não sei como compilar, neste momento estou a sacar o Borland Builder C++ 6.0 logo se verá o que sairá daqui.

perguntaram-me se eu tinha noção de algoritmos, bem o que é certo é que a minha professora deste ano (felizmente já bazei) era uma má stora e no pascal começou a falar de algoritmia etc mas n nos explicou o que era eu aprendi abocado (  :oops: )  num TUTURIAL em PT, para alem disso a minha stora deixou o  Label, o Const, o Type, o Procedure e o Functions, ou seja até ao final do 3º período a stora tava a começar a dar os Arrays e a acabar o for to do.

Bem mas isso não interessa porque o Pascal entende-se rápido apartir do momento em que se tem as bases.

já agora o último pedido que vos fazia era se me poderiam aconcelhar um Bom Livro para aprender C++, mas falo mesmo de um Livro e não um simples tuturial ou eBook, isto porquê? O que é certo é que eu não posso ler no PC porque sou logo tentado a começar a fazer, logo levo mais tempo e não aprendo como deve ser, daí o meu pedido de o nome de um bom livro para eu ler quando estiver na Praia por exemplo já que tamos no tempo dela.

Cumps. Magic-Hacker

Keep up the good Work

Share this post


Link to post
Share on other sites
David Pintassilgo

Em relação ao que te estava a falar sobre algoritmia, o que eu digo que é importante não é propriamente a parte teorica toda bonita que os gajus enssinam, com aqueles simbolos manhos etc,..NAO, não é preciso isso (a meu ver) é preciso sim preceber BEM o conteudo, o verdadeiro fundo da coisa, tou-me a fazer entender?  :?  o encadear das coisas umas com as outras....

mas se consegues fazer um programa do inicio ao fim em Pascal é pq tás lá! :D


cool stuffs to check.

http://blog.zxcoders.com//

Share this post


Link to post
Share on other sites
Overrun™
a minha professora deste ano (felizmente já bazei) era uma má stora e no pascal começou a falar de algoritmia etc mas n nos explicou o que era

quando eu falei aqui era a isso que me estava a referir, ou seja a minhsa stora começou por falar em algoritmia e em programação e não nos mostrou sequer um exemplo ao inicio para nós percebermos +/- o que estávamos a dar no fundo o que a stora fez no início foi dar palha k ela tinha no manual dela, tudo escrito sem sequer dar exemplos ou seja frases do tipo:

"o comando Var serve para indicár as Variáveis", isto sem nós sequer sabermos de que variáveis estava a mulher a falar, bem mas isso também já não interessa.

mas se consegues fazer um programa do inicio ao fim em Pascal é pq tás lá!

é assim fazer o programa eu faço mas tenho dificuldades em associar o programa que irei fazer ao problema que tenho, ou seja tendo um problema matemático por exemplo tenho dificuldade em descubrir o programa que irei fazer para o resolver.

mas como eu disse no início tudo se aprende.

ha e quando eu falei em modificar códigos Fontes quero dizer que sem sequer perceber nada de C++ já alterei alguns .ini  como por exemplo as Stats de IRC do evoL, o que relativamente é fácil mas nem todos o fazem.

desculpem lá as frases longas mas perfiro tirar as dúvidas todas duma vez.

não se esqueçam de me dar o nome de um bom livro.  :roll:

Share this post


Link to post
Share on other sites
redhat

o conceito base eh partires o teu problema em problemas mais pequenos!

Vai por mim, resulta!!


Software is like sex... it's better when it's free

in the old days

P@P "C" && "Linux" Moderator

Share this post


Link to post
Share on other sites
David Pintassilgo
o conceito base eh partires o teu problema em problemas mais pequenos!

Vai por mim, resulta!!

Áa! é isso! Tens de ir por partes...


cool stuffs to check.

http://blog.zxcoders.com//

Share this post


Link to post
Share on other sites
Ricardo

Boas

Magic-Hacker, em relação ao livro já foram mencionados alguns em cima....

Para começares realmente a aprender as bases de C arranja este:

The C Programming Language.

Este foi o livro que definiu a estrutura e sintaxe da linguagem C.

Também para uma aprendizagem básica da estrutura/sintaxe, e em português, tens este:

Linguagem C

Agora vem o melhor...

Quando realmente já dominares bem a linguagem, podes dar uma vista de olhos neste:

Algorithms in C

Para mim dos melhores livros de C!!

Este não te vai ensinar nada da sintaxe, é sobre algoritmos e estruturas de dados implementadas em C (este é apenas para interessados :D ), além disso ensina-te também bons metodos de programação, etc...

Abraços!!  ;)

Share this post


Link to post
Share on other sites
[PT]Devilishly
1º Qual a diferença entre C e C++ e C# (é que li já n sei onde que C e C++ eram o mesmo agora o C# foi só por perguntar) ?;
Podes programar C++, como se estivesses a programar em C e podes programar C como se estivesses a programar C++, no entanto a filosofia de ambas é completamente diferente

O C é uma linguagem relacional, enquanto o C++ e C# são linguagens Orientadas a Objectos.

Por ultimo, o C# é uma reação da M$ ao Java(da SUN)... Possui uma VM como o Java, no entanto essa é apenas para windows. Existe o projecto mono q da suporte ao C# para linux, mas nao é completamente operacional

2º O que preciso para programar nestas linguágens Compiladores, Editores de janelas, Tuturials etc.  ?;
Um bom livro, um compilador, as bibliotecas e o Notepad(ou um IDE q nao faça tudo por ti) :D
3º mais ou menos quanto tempo axam necessário para aprender uma ou todas (dependendo da 1ª resposta) estas linguágens ?
Demoras um ano para apreender todos os conceitos de uma linguagem e estrutura das suas bibliotecas. No entanto se ja souberes outras linguagens de paradigmas identicos(OO), apenas tens de te preocupar em "saber" usar as suas bibliotecas...

Share this post


Link to post
Share on other sites
Overrun™

Bem Bem olha no que umas simples (pensava eu) perguntas vieram dar.

desde já obrigado pelas respostas.

de seguida quero-vos perguntar outra coisa  :oops:

o [PT]Devilishly disse-me que a filosofia do C e do C++ era diferente porque o C era uma linguágem relacional e o C++ uma linguágem orientada a objectos, o que é certo é que eu já ouvi falar em relacional e já ouvi falar em orientado a objectos mas neste contexto não consigo entender o que significa isso do relacional e objectos. Se alguem me pudesse explicar ou no minimo me dizer se vem escrito em algum dos livros...  :D   para alem de que eu também já ouvi falar das bibliotecas mas também não sei para que servem, mas o que me deu a entender nas respostas foi que só iria aprender depois de aprender o C e/ou o C++, entretanto sobre o C# esqueçam porque já não estou interessado era só para saber sobre de que se tratava.

Pelos vistos realmente é melhor estudar mais um pouquinho de Pascal e depois mais tarde logo começo a dar-lhe no C, mas já agora deixem-me perguntar uma ultima coisa sendo que não há nenhuma linguágem inicial obrigatória e sabendo que o Pascal é mais aconcelhada, mesmo assim eu posso tentar começar pelo C isto tendo um bom livro que me explique os conceitos claro. é que eu já tenho umas basesitas de Pascal da escola, mas não tenho gosto nenhum em tar a aprender Pascal (é uma linguágem que não tenho vontade de aprender, isto porque eu sou um bocado ambicioso, e então gosto de começar pelas coisas mais avançadas.) mas no caso de ser mesmo aconcelhavel (quase obrigatório) o pascal para início é como diz o outro:

"se não percebo nada de me*** como é que quero perceber de internet"

não é este o contexto mas aplicasse.

Cumps. Magic-Hacker

Be Cool

Share this post


Link to post
Share on other sites
SLider3
Pelos vistos realmente é melhor estudar mais um pouquinho de Pascal e depois mais tarde logo começo a dar-lhe no C, mas já agora deixem-me perguntar uma ultima coisa sendo que não há nenhuma linguágem inicial obrigatória e sabendo que o Pascal é mais aconcelhada, mesmo assim eu posso tentar começar pelo C isto tendo um bom livro que me explique os conceitos claro. é que eu já tenho umas basesitas de Pascal da escola, mas não tenho gosto nenhum em tar a aprender Pascal (é uma linguágem que não tenho vontade de aprender, isto porque eu sou um bocado ambicioso, e então gosto de começar pelas coisas mais avançadas.) mas no caso de ser mesmo aconcelhavel (quase obrigatório) o pascal para início é como diz o outro:

É assim, eu não sou muito da ideia de que se deve começar pelo Pascal... Eu comecei pelo pascal e achei perda de tempo. Os conceitos de programação que normalmente são ensinados em pascal para aqueles que se iniciam nesta linguagem podem perfeitamente ser ensinados usando C já que são linguagens do mesmo paradigma. E eu não acho que a sintaxe do C dificulte esta aprendizagem...

Quando alguem se inicia  programação deve aprender certos conceitos e metodos de fazer as coisas, e isso é que realmente importa.

Bem, mas isto é a minha opinião ... cada um tem a sua.  :D

Share this post


Link to post
Share on other sites
Overrun™

tanks SLider3 sempre pensei que o pessoal tivesse começado todo pelo Pascal, bem afinal sempre tenho uma última duvida, os Programas em C e/ou C++ são em 'DOS' ou em ambiente gráfico ??

é que vi aqui um exemplo noutro Topico compilei e era em DOS e eu sempre pensei que C fosse em ambiente gráfico.

Se por acaso der para fazer das duas formas digam sff.

Cumps. Magic-Hacker

Share this post


Link to post
Share on other sites
deathseeker25
tanks SLider3 sempre pensei que o pessoal tivesse começado todo pelo Pascal, bem afinal sempre tenho uma última duvida, os Programas em C e/ou C++ são em 'DOS' ou em ambiente gráfico ??

é que vi aqui um exemplo noutro Topico compilei e era em DOS e eu sempre pensei que C fosse em ambiente gráfico.

Se por acaso der para fazer das duas formas digam sff.

Cumps. Magic-Hacker

Podes fazer em DOS ou em ambiente gráfico....em DOS precisas de um ou dois ficheiros diferentes no máximo....Em ambiente gráfico precisas de mais alguns interligados....

No entanto, ao inicio é quase tudo em DOS....

Cumps

Share this post


Link to post
Share on other sites
SLider3
tanks SLider3 sempre pensei que o pessoal tivesse começado todo pelo Pascal, bem afinal sempre tenho uma última duvida, os Programas em C e/ou C++ são em 'DOS' ou em ambiente gráfico ??

é que vi aqui um exemplo noutro Topico compilei e era em DOS e eu sempre pensei que C fosse em ambiente gráfico.

Se por acaso der para fazer das duas formas digam sff.

Cumps. Magic-Hacker

É assim, em qualquer linguagem input/output simples é por linha de comandos!! Não se vai começar logo a fazer interface gráfica quando se está a aprender uma linguagem, até mm porque em algumas linguagens isto é bastante complicado ou trabalhoso.

Para fazer interface gráfica em C podes fazê-lo de várias maneiras: ou usar as bibliotecas do C, ou no caso de estares a programar em win usando as apis do win ou então usando um toolkit tipo GTK ou wxWidgets, etc.

O que te aconselho é a não te preocupares com interface gráfica enquanto não dominares a linguagem.

Share this post


Link to post
Share on other sites
Overrun™

obrigadão pessoal as minhas dúvidas tão praticamente resolvidas, excepto aquelas dos Conceitos de orientado a objectos etc mas isso depois quem me respondeu poder-me-á explicar melhor mais tarde, sendo assim vou comprar o tal livro linguágem C de luíz damas e estudar aquilo bem e como por enquanto não faço mais nada pode ser que aprenda aquilo rápido, já agora leio primeiro o livro todo e depois passo á acção ou dentro do livro está escrito quando devo experimentar ? eu sei que é uma pergunta estupida mas eu ás x também sou meio duh... se me poderem responder agradeço.

NOTA: esta Thread até valeu a pena para o ppl novato chegar e ler e se tiver mais dúvidas polas aqui, não acham?

Cumps. Magic-Hacker

Share this post


Link to post
Share on other sites
redhat

nao engulas conhecimento e so dp experimentes!

Ao longo do livro tem varias cenas para experimentares!! Faz-te bem ver como e porque que funciona daquela maneira!


Software is like sex... it's better when it's free

in the old days

P@P "C" && "Linux" Moderator

Share this post


Link to post
Share on other sites
[PT]Devilishly
obrigadão pessoal as minhas dúvidas tão praticamente resolvidas, excepto aquelas dos Conceitos de orientado a objectos etc mas isso depois quem me respondeu poder-me-á explicar melhor mais tarde, sendo assim vou comprar o tal livro linguágem C de luíz damas e estudar aquilo bem e como por enquanto não faço mais nada pode ser que aprenda aquilo rápido, já agora leio primeiro o livro todo e depois passo á acção ou dentro do livro está escrito quando devo experimentar ? eu sei que é uma pergunta estupida mas eu ás x também sou meio duh... se me poderem responder agradeço.
Em relação  parte da diferença entre OO e linguagens baseadas em procedimentos e funçoes, vou apenas te dar um simples exemplo e coloco-te um link para se quiseres saber mais:

A programação Orientada a Objectos, baseia-se em interacções directas com os objectos. Ou seja, defines um objecto c todas as suas propriedades e dp podes aplicar transformações sobre ele, sabendo q esse objecto continua sempre a obedecer a determinada estrutura pre-definida.

Supondo q em determinada posicao do teu programa queres desenhar um carro no monitor e depois move-lo.

Se fosse em *POO, o mais normal era criares um Objecto Carro e definires nesse objecto todas as caracteristicas de um carro(tais como numero de rodas e outros...) e adiciona-lo  tua tela. Sempre q o quisesses desenhar, apenas aplicavas um metodo por exemplo redrawCar() e ele redesenhava o carro na tela, como o previsto.

Uma aplicação tipo de nao OO, seria em vez de se pensar como um Objecto carro, simplesmente considerar "desenhar um carro" como simplesmente um conjunto de metodos e funcoes q desenham um carro no monitor. Isto apesar de em algumas linguagens parecer mais "rapido" e fácil, acaba por nao o ser, pois por exemplo, se quisesses aplicar uma transformação ao carro, terias de alterar as tuas funções por forma a estarem correctas...

Isto foi assim um exemplo meio fraquito, mas se tiveres mais duvidas... :roll:

Aqui tens um pdf q te explica isso:

http://www.dei.isep.ipp.pt/~lpinho/disciplinas/cprg/POO.pdf

* - Programação orientada a objectos

Share this post


Link to post
Share on other sites
Overrun™

bem ajudasteme a perceber +/- o que eu precisava de saber.

Já não tenho mais dúvidas, já agora já comprei o livro eheh XD.

PS: podiam era ter avisado que o livro era tão grande

Cumps. and Tnx. Overrun

Share this post


Link to post
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
Sign in to follow this  

×
×
  • 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.