gildot

Topo
Sobre
FAQ
Tópicos
Autores
Preferências
Artigos
Sondagens
Propor artigo


8/3
gildicas
9/30
jobs
10/9
perguntas
10/25
press

 
Programar.. onde? como? quando?
Contribuído por chbm em 16-07-00 11:55
do departamento pascal-C-perl-....-lisp
perguntas Bandit escreve "A minha pergunta é simples... para aquelas pessoas que nunca programaram na vida.. em nenhuma lingua e querem começar.. por que linguagem começar e como começar??? Existe algum bom livro para começar? É isso "

TUX: Term Unit X | Zope 2.2  >

 

gildot Login
Login:

Password:

Referências
  • Bandit
  • Mais acerca perguntas
  • Também por chbm
  • Perguntas
  • Como se pode ter o seu próprio host ?
  • Linux preparado para 'enterprise'?
  • Produtividade: linha de comando vs IDE
  • Sistemas operativos: O que são?
  • linux distribuído nas revistas, sim ou não ?
  • Pergunte ao Gildot: qual o melhor codificador de mp3?
  • staroffice
  • Esta discussão foi arquivada. Não se pode acrescentar nenhum comentário.
    C (Pontos:2)
    por shakazulu em 16-07-00 13:56 GMT (#1)
    (Utilizador Info)
    Na minha opinião a linguagem mais acessível para se aprender como primeira língua de programação é a C.
    Quando fiz o meu curso de programação a primeira que aprendi foi Basic,depois Pascal e a seguir Cobol,isto á 15 anos atrás.Mas antes tive um módulo de introdução á lógica de programação.
    Como segunda linguagem de programação mais acessível eu colocaria a Delphi.
    Espero ter ajudado ;)
    Re: primeira linguagem (Pontos:1, Interessante)
    por Anonimo Cobarde em 16-07-00 15:32 GMT (#3)
    Discordo em que se aprenda C como primeira linguagem. É complicado explicar como se utiliza a função scanf a pessoas que nunca tiveram aulas de programação ou de arquitectura de computadores (explicar o que faz aquele caracter - '&' - antes dos nomes das variáveis é muito complicado). A não existência de um tipo nativo para manipulação de strings é um dos outros motivos para a não adopção desta linguagem.
    Como primeira linguagem eu iria para a linguagem Pascal ou uma das suas derivativas (Modula 2, Ada, Oberon).
    Já agora que raio de linguagem é a Delphi? Penso que te deves estar a referir ao Pascal com extensões Object Oriented desenvolvido pela Borland.
    Re: primeira linguagem (Pontos:1)
    por vaf em 16-07-00 19:01 GMT (#6)
    (Utilizador Info) http://students.fct.unl.pt/users/vaf12086/
    Já agora que raio de linguagem é a Delphi? Penso que te deves estar a referir ao Pascal com extensões Object Oriented desenvolvido pela Borland.

    Pois... chama-se Delphi. Uma linguagem bastante poderosa e bastante rápida de aprender e de programar. Além do Python, Delphi parece-me ser a melhor linguagem para RAD.

    Cumprimentos,

    Vasco Figueira
    Re: primeira linguagem (Pontos:0)
    por Anonimo Cobarde em 16-07-00 19:17 GMT (#7)
    Deves-te estar a referir ao Delphi Pascal :)
    Re: primeira linguagem (Pontos:0)
    por Anonimo Cobarde em 16-07-00 22:24 GMT (#8)
    duh! thats whats called 'being anal'...
    Re: primeira linguagem (Pontos:2)
    por shakazulu em 17-07-00 2:19 GMT (#17)
    (Utilizador Info)
    Sim isso mesmo,mas sinceramente penso que Pascal básico seja mais acessível...penso eu!
    Re: primeira linguagem (Pontos:2)
    por shakazulu em 17-07-00 2:17 GMT (#16)
    (Utilizador Info)
    Sim tens razão Delphi não é uma linguagem...shi onde tinha a minha cabeça ;)
    Quanto a ser Pascal,bem na verdade é uma linguagem mais acessível que a C ou então começava pela Linguagem Basic...
    Pascal provavelmente será bom p'ra começar (Pontos:1, Interessante)
    por Anonimo Cobarde em 16-07-00 15:12 GMT (#2)
    Se estás completamente a iniciar programação, recomendo-te que comeces com pascal. C provavelmente será demais para o iniciante, dado ter uma síntaxe menos legível e ser mais "restrito" (em termos de semântica) do que o Pascal. Hope this helps :)
    Para começar, nada como experimentar. (Pontos:1)
    por js em 16-07-00 15:56 GMT (#4)
    (Utilizador Info)

    E para experimentar, nada como uma linguagem interpretada, que permita fazer pequenos pedaços de código, dar um <Enter> e ver logo o resultado. Para este fim não vejo nada de mal no velhinho Basic (que nem sei se ainda existe como o imagino!). Mas o melhor que conheço é sem dúvida Python, pois

    • é interpretado (o que encoraja a experimentar imediatamente as coisas que se aprendem),
    • tem uma sintaxe muito simples e que encoraja bons hábitos (por exemplo, encoraja a indentação),
    • permite que se aprendam naturalmente conceitos de orientação por objectos numa fase posterior da aprendizagem (pois implementa um modelo maravilhoso e sucinto de orientação por objectos).

    Re:Para começar, nada como experimentar. (Pontos:1)
    por js em 17-07-00 0:26 GMT (#13)
    (Utilizador Info)

    Dei uma resposta geral e esqueci-me de um caso particular muito importante... que é o C. Explico:

    Eu não recomendaria C para começar, *a não ser que* considerasse o candidato a aprender capaz de ler e gostar do Kernighan & Ritchie. O livro é tão bom que me parece que vale a pena tentar C via Kernighan & Ritchie só para ver se "pega" (para aproveitar o livro). Se a vítima gostar, é deixá-la comer o livro e ir por ali fora. Se não gostar, eu passaria ao ao Basic ou (de preferência) Python.

    Depende, mas... (Pontos:1)
    por jmce em 16-07-00 18:17 GMT (#5)
    (Utilizador Info)

    Pode ser melhor dar respostas diferentes conforme os objectivos de quem quer aprender. Assim de repente lembro-me de algumas classes distintas de "alvos":

    1. quem está a iniciar uma formação prolongada em informática, motivado para muito aspectos teóricos e práticos da programação (ensinado por outros ou autodidacta);
    2. quem tem de ter alguns conhecimentos de programação não necessariamente muito extensos, por razões profissionais (tarefas de programação esporádicas em componentes pouco críticos para uso próprio ou de um grupo restrito);
    3. quem escreve muito código mas dentro de domínios algo "restritos" (do ponto de vista do espectro das linguagens): por exemplo, estudantes, cientistas, engenheiros que necessitem de escrever muitos programas de cálculo numérico (raramente preocupados em distribuir esse código para reaproveitamento mas mais simplesmente "fazer as contas");
    4. quem está interessado na programação como um hobby ligeiro, e quer fazer pequenos programas para uso próprio;
    5. crianças.

    No primeiro caso não sei bem o que recomendar, embora ache que C poderá ser uma das primeiras se for muito bem ensinada; dominar os conceitos desta linguagem ajudará a perceber muitas outras. Uma via alternativa ou complementar poderá talvez ser a seguida no Structure and Interpretation of Computer Programs (Abelson e Sussman), mais centrada sobre Scheme/Lisp...

    No 3o caso (ciência, engenharia), o Fortran ainda poderá ser interessante (talvez até ajudando alguns compiladores a optimizar por poderem "adivinhar" mais o que se passa com um bocado de código) e as novas encarnações dele removem alguns dos horrores antigos. Sugeriria o ensino de C apenas aos mais fascinados pela programação em si, não aos que querem apenas despachar as contas e têm pouca paciência para pormenores. Acho que o uso de C não se compadece com meias aprendizagens e conceitos vagos...

    Para todos os grupos, acho que não faria nada mal começar pelo ensino de Python, a linguagem proposta no projecto Computer Programming for Everybody; citando a proposta apresentada à DARPA,

    Python is a good language for teaching absolute beginners. It derives many of its critical features from ABC, a language that was designed specifically for teaching programming to non-experts [...]. The Python community has seen many reports from individuals who taught their children programming using Python. The consensus from these reports is that the language itself is well suited for this purpose--unlike, for example, C++, Java, Perl, Tcl, or Visual Basic, which are too cluttered with idiosyncrasies.

    [...] Python is a good first choice for teaching which also serves well as a language for more serious application development. Unlike other languages proposed for teaching to novices (e.g. Logo, LogoMation, even Python's ancestor ABC), Python isn't just a teaching language. It is suitable for developing large real applications, as shown by projects here at CNRI [...] as well as elsewhere. For example, Industrial Light and Magic has converted its entire tool base to Python and considers this an advantage over the competition.

    Mais considerações sobre qualidades e defeitos do Python como primeira linguagem podem ser vistos no artigo "Py thon in Education: Raising a Generation of Native Speakers".

    A linguagem em si é bastante "limpa", elegante e promove a legibilidade, sem miríades de casos particulares e pormenores de sintaxe obscuros; a orientação por objectos está por toda a parte mas sem esmagar o programador (pode ser usada quando interessa e até ser ignorada em boa parte). À volta da linguagem está construído um grande conjunto de módulos para variadíssimas funções mas que não poluiu a linguagem em si. Dando novamente o exemplo da ciência e engenharia, onde é frequentemente necessário manipular imensos ficheiros com dados, inclusivamente manipulando o seu formato para servirem de input a novos programas, o python é óptimo para construção rápida de scripts que façam essa transformação (o Perl também é muito forte nesse campo, mas a sintaxe dele poderá ser um obstáculo ao começo do seu uso). Para além destas tarefas, e apesar da natureza do python (não compilado) há já suporte muito interessante para cálculo numérico em rotinas de alto nível (que internamente usam módulos escritos em C para maior eficiência).

    Livros introdutórios? O Learning Python da O'Reilly. Este juntamente com o tutorial e o material de referência em www.python.org deve ser mais do que suficiente para muito trabalho...

    Alguém tem sugestões sobre tutoriais de programação para principiantes absolutos, online? Descobri há tempos um, orientado também para Python em http://members.xoom.com/alan_ gauld/tutor/tutindex.htm.

    Re:Depende, mas... (Pontos:1)
    por sena em 17-07-00 0:48 GMT (#14)
    (Utilizador Info) http://decoy.ath.cx/~sena/

    «À volta da linguagem está construído um grande conjunto de módulos para variadíssimas funções mas que não poluiu a linguagem em si.»

    Este foi um dos aspectos que me confunde um pouco quando programo em python, mas talvez seja minha culpa.

    Não sei se por calonice ou se por hábito do C, tenho a mania de, em vez de fazer "import foo" e escrever "foo.bar()", fazer "from foo import *" e escrever só bar(). O problema é que, por vezes, além de uma ou duas funções do módulo que quero utilizar, também há outras às quais eu não ligo e que podem colidir com nomes de variáveis que eu venha a criar. Mas é um problema meu e não da linguagem, que é excelente... :)

    Agora, sabes alguma coisa do Python 3000 que está para vir? Eles dizem que vai ser completamente revista e que as versões 1.5/1.6 vão ser incompativeis com a 3000.. Mas não tenho mais informações..


    Re:Depende, mas... (Pontos:1)
    por cgd em 18-07-00 2:47 GMT (#26)
    (Utilizador Info) http://cgd.teleweb.pt
    from foo import bar1 from foo import bar2

    é isto que te está a escapar.
    -- carlos

    Re:Depende, mas... (Pontos:1)
    por cgd em 18-07-00 2:51 GMT (#27)
    (Utilizador Info) http://cgd.teleweb.pt

    tens esta para programadores, e esta para iniciacao à programacao em geral, mas usando python.
    -- carlos

    Basic pois claro! (Pontos:1)
    por cao_negro em 16-07-00 22:48 GMT (#9)
    (Utilizador Info)
    Para começar tem de ser BASIC pois é interpretada, tem uma sintaxe facilima de entender (IF variavel=2 THEN ....), há muita informação sobre o assunto, tens o MS Visual Basic (esta é para chatear), e sempre podes simular as outra linguagens; por exemplo programar em BASIC ao estilo do C. Podes ainda tentar o Pascal (Delphi), que em breve terá uma versão para Linux. O C é horrivel, complicado, necessita de um conhecimento razoavel da arquitectura do computador, e por isso leva muito tempo a aprender.
    Re:Basic pois claro! (Pontos:1)
    por sena em 17-07-00 0:19 GMT (#12)
    (Utilizador Info) http://decoy.ath.cx/~sena/

    Bem, esta teve piada...

    BASIC é uma terrível linguagem de programação, especialmente para iniciantes. Provoca uma habituação a maus hábitos de programação (nomeadamente o uso de GOTOs), e é uma linguagem muito limitada e pouco funcional.

    Concordo no entanto que uma linguagem interpretada poderá ser melhor para um iniciante, já que este não tem que compilar o código cada vez que quer experimentar alguma coisa, e não tem de aprender a usar o compilador (nem sempre é assim tão simples).

    Mas, para linguagem interpretada, recomendo muito o Python. Já está disponível para várias plataformas (incluindo Windows) e tem uma sintaxe simples e muito lógica, boa documentação (mesmo para principiantes) e bom apoio (newsgroups, foruns, etc.).

    Só mais uma coisa, cao_negro... O C é horrivel, complicado, necessita de um conhecimento razoavel da arquitectura do computador e leva muito tempo a aprender? Não é bem assim. O C é uma linguagem excelente. Concordo que pode ter uma sintaxe um pouco mais complicada do que outras linguagens, mas não é nenhum monstro de sete cabeças... Para quem quer aprender C (e, se começar com C, pode ir facilmente para outras linguagens), recomendo um livro em Português: Linguagem C, Luis Damas, FCA Editora (ISBN 972-722-156-4). Apresenta de uma forma clara e completa as bases de C, sem se limitar a uma variante especifica, como MS Visual C (ensina, portanto, ANSI C).

    E, cao_negro, o que é "programar em BASIC ao estilo de C"???


    Basic pois claro! (Pontos:1)
    por cao_negro em 17-07-00 9:41 GMT (#22)
    (Utilizador Info)
    Não necessitas de utilizar os GOTOs para programares em BASIC, pois se o teu interpretador for decente teras de estruturar o programa (como fazes em C) e inicares a executção apartir de um main() como fazes em C passando a utilizares subrotinas, funções, etc. (dai o estilo C), á inclusivé certos BASIC que mais parecem C. Quanto ao C ser horrivel, é o de certeza para um principiante. Já agora vou comprar o livro que me aconselhas pode ser que seja desta! Quanto ao Python vou experimentar. Gostava tambem de aconselhar o chbm a utilizar um ambiente de programação RAD, caso contrario passa o tempo todo a fazer o interface do utlizador. P.S.-Aos editores: assuntos deste genero são muito mais uteis do que as polemicas anti-fulano ou beltranto, que acabam de se transformar em peixeiradas.
    Linguagens interpretadas vs compliadas (Pontos:1)
    por su- em 17-07-00 16:46 GMT (#23)
    (Utilizador Info) http://projecto-oasis.cx:81/~su-
    Não sei que problema estão a ver nas linguagens compiladas.

    Antigamente, quando os compiladores demoravam minutos a compilar os programas sim, eram um problema, mas hoje em dia os computadores/compiladores são rapidissimos e os programas pequenos (estamos a falar de principiantes) são compilados instantâneamente.

    Por outro lado, os IDEs como o Kdevelop e o xwpe compilam o automaticamente o código sempre que se manda correr o programa e ja tinham sido feitas alterações.

    aceitam posts destes ??? (Pontos:0)
    por Anonimo Cobarde em 16-07-00 23:02 GMT (#10)
    Depois , esperam que todos vos adorem , aceitarem posts de "putos" a pedirem ajuda , que e isto ??? sera que isto e www.gildot.org ??? ou sera www.ajudadot.org ??? no comments......... anonimo gayolas !
    Re:aceitam posts destes ??? (Pontos:2)
    por Bandit em 17-07-00 0:01 GMT (#11)
    (Utilizador Info)
    epah na pedi ajuda.. apenas uma dica.. porque lingua começar... Acho que o teu comentário era desnecessário.. e sou "puto" (17 anos) tenho culpa de ter nascido tarde?... mais puto pareces-te tu com esse comentário.. visto seres tão adulto na devias descer ao nivel de um puto (eu)
    :::Bandit:::
    Re:aceitam posts destes ??? (Pontos:1)
    por plexar em 17-07-00 4:31 GMT (#21)
    (Utilizador Info)
    Bandit, deixa o anónimo para lá... ele precisa é de aprender a linguagem da boa educação... Se quiseres, podes dar uma espreitadela às seguintes páginas que contêm manuais e "tutoriais" que utilizei... sobre C, sobre Scheme, sobre Java, ainda mais sobre C, e sobre Prolog.
    Plexar.
    R: Assim Sim !!! (Pontos:2)
    por shakazulu em 17-07-00 21:10 GMT (#24)
    (Utilizador Info)
    Plexar...Obrigado porque a tua informação sobre os vários manuais e tutoriais é muito, mas muito útil não só para mim mas de certeza para outras pessoas.São bons posts como o teu que ajudam a funcionar o Gildot.
    Re:aceitam posts destes ??? Aceitam porque ? (Pontos:1)
    por buffer em 18-07-00 22:59 GMT (#30)
    (Utilizador Info) http://www.coders-pt.org

    Bem, adorei.. tiveste muitoooo bem.. (nem por isso, mas prontos..)

    1º este post não foi um "AJUDA-ME AQUI QUE EU PRECISO ".. foi um pedido de esclarecimentos sobre uma questão que se calhar interessa a mais ppl.. se a ti não interessa, fica la fora..

    2º se reparares, este " pedido de ajuda ", já originou algumas discussoes, p.e., sobre as linguagens interpretadas e as compiladas..

    should I go on ??

    uma palavra para os editores.. posts destes são bem interessantes, e fazem muito bem em aceita-los, pois isto não é algo que apenas interessa a uma pessoa.. interessa a mais com certeza ( ja me tou a lembrar dum post que fiz sobre cursos universitarios, e veio logo alguem dizer mal do post.... nao e um post pra um.. mas pra muitos..


    -- what was my problem with man You ask? No.. I ask you what was man's problem with me..

    Decididamente Python, mas.... (Pontos:1)
    por z0mbi3 em 17-07-00 0:59 GMT (#15)
    (Utilizador Info)
    Bem, eu recomendaria Python, mas depende para que e que queres isso...Podes tb usar o BASIC (sim, o BASIC!) mas so com uma condicao, nao usares a instrucao GOTO. E se quiseres em vez de BASIC podes ir pro VB que e simples de se aprender e de entrar na filosofia, so que depois ficas com uma cena...nao programas para linux.
    Mas se e para aprender, o VB nao e assim tao mau como o pintam (no caso de NAO USARES GOTO's). VB ate e bom para aprender o basico da programacao. Epa, outra linguagem tb boa para aprender e o scheme, so que e baseado em Lisp e nao e uma linguagem que se aprenda sozinho (e um pouco complicado entrar na filosofia das linguagens funcionais quando se esta habituado as linguagens procedimentais e imperativas sem a ajuda de alguem experiente). Epa, basicamente a minha opiniao e que se e para aprenderes a BASE da programacao scheme e o melhor depois saltas para uma linguagem imperativa simples (Python, BASIC, por esta ordem de preferencia) finalmente saltas para o C e a partir dai consegues fazer quase tudo :)
    Re:Schéme (Pontos:2)
    por shakazulu em 17-07-00 2:25 GMT (#18)
    (Utilizador Info)
    Tinha-me esquecido do Schéme que é a primeira linguagem a ser dada no primeiro ando de Engenharia Informática pelo menos no IST.
    Bandit se queres os manuais do Schéme eu posso-te emprestar para tirares fotocópias :)
    Re:Schéme (Pontos:1)
    por plexar em 17-07-00 4:03 GMT (#20)
    (Utilizador Info)
    Na Feup tambem é assim.
    Começei pelo Scheme no 1º sem, e depois pelo Pascal no 2º sem, embora, agora se leccione C substituindo o Pascal...
    Plexar.
    Sem sombra de duvida Pascal e Delphi->Object Pasca (Pontos:1)
    por lucipher em 17-07-00 3:32 GMT (#19)
    (Utilizador Info) http://www.leetcode.org
    eu começei por pascal embora nunca me dediquei muito a programação, acho a linguagem facil mas é como diz o ditado "roma e pavia na se fez so num dia" ou qualquer coisa do genero, traduzindo se queres aprender uma linguagem de programação deves começar por algo que te dê bases e que seja facil de utilizo e poderosa mas com tantos requisitos e muito provavel na encontrares uma.. esprimenta ler documentos de linguagem1 versus linguagem2 .. como existe a do pascal vs c "why do i realy like delphi and hate vb" coisas do genero embora atravez deles so ganhes algumas ideias.. diverte-te Abraços!
    Re:Sem sombra de duvida Pascal e Delphi->Object Pa (Pontos:2)
    por shakazulu em 17-07-00 21:18 GMT (#25)
    (Utilizador Info)
    Ena o Lucipher também sabe Pascal ;)
    Mas tu sabes mais de html,dhtml,javascript,asp...não é ?
    E as tuas bases de dados és tu que as fazes ou arranjas alguém para as fazer ?
    Hoje em dia na área de web design(que é a tua área) os próprios web designers têm de fazer todo o trabalho(gráficos,programação das paginas,etc)e depois os sites não ficam tão bons como deviam ficar.Mas já existem empresas que têm os departamentos separados e ainda bem que seja assim.
    Bem...devem vocês estarem a perguntar...e o que isto tem haver com programação...
    Sinceramente nada,simplesmente desviei um pouco que este meu amigo ;))
    Perdoem-me!!!
    Re:Sem sombra de duvida Pascal e Delphi->Object Pa (Pontos:1)
    por buffer em 18-07-00 22:12 GMT (#28)
    (Utilizador Info) http://www.coders-pt.org
    ele tambem sabe php ..

    foi so um complemento..


    -- what was my problem with man You ask? No.. I ask you what was man's problem with me..

    Re:Sem sombra de duvida Pascal e Delphi->Object Pa (Pontos:2)
    por shakazulu em 19-07-00 1:46 GMT (#31)
    (Utilizador Info)
    eu sei disso...tava só a brincar com ele ;)
    places (Pontos:1)
    por buffer em 18-07-00 22:41 GMT (#29)
    (Utilizador Info) http://www.coders-pt.org
    bem, isso da linguagem depende também do que se quer fazer com ela.. mas para iniciares.. sinceramente.. não sei.. conheço pessoas que aprenderam c com um livro, e outras que começaram por aprender pascal, outras por basic (oi ;-) )..

    se precisares de tutoriais (isto tah bem escrito??), informaçoes sobre programaçao, etc..

    http://www.coders-pt.org.. tens la tuts. de C em portugues por exemplio.. também estam la informações sobre linux, etc..

    gut luke


    -- what was my problem with man You ask? No.. I ask you what was man's problem with me..

     

     

    [ Topo | Sugerir artigo | Artigos anteriores | Sondagens passadas | FAQ | Editores | Preferências | Contacto ]