Autor Tópico: Amostra de Programas - espaço dos programadores do CC  (Lida 26814 vezes)

0 Membros e 1 Visitante estão vendo este tópico.

Offline Andre

  • Nível 39
  • *
  • Mensagens: 4.072
  • Sexo: Masculino
    • Aletéia
Re: Amostra de Programas - espaço dos programadores do CC
« Resposta #75 Online: 03 de Junho de 2007, 16:28:53 »
Já tinha ouvido falar, mas não sabia o quanto ele ajudava :P
E antes de começar a usá-lo eu queria ver como as coisas são feitas internamente, mas não compensa.
Se Jesus era judeu, então por que ele tinha um nome porto-riquenho?

Offline ByteCode

  • Contas Excluídas
  • Nível 27
  • *
  • Mensagens: 1.369
  • Conta removida por solicitação do usuário
Re: Amostra de Programas - espaço dos programadores do CC
« Resposta #76 Online: 05 de Junho de 2007, 15:13:38 »
Voltando ao assunto da programação, alguém programa com interface gráfica? Comecei a brincar com GTK+ (em C mesmo) e não estou gostando muito não. Achei melhor que a API do Windows, mas continuo achando improdutivo demais (muito código pra pouca coisa).
André, larga a mão de C e venha para Java, daí você poderá usar ferramentas poderosas para interface gráfica, como o JDeveloper da Oracle ou o NetBeans. Se quiser um ambiente de desenvolvimento altamente integrado, com vários plugins disponíveis, pode usar o Eclipse.
Java é o cara!!

Offline Oceanos

  • Nível Máximo
  • *
  • Mensagens: 8.924
  • Sexo: Masculino
Re: Amostra de Programas - espaço dos programadores do CC
« Resposta #77 Online: 05 de Junho de 2007, 15:39:53 »
Byte, meio off, mas vi um frase bastante engraçada sobre Java na uncyclopedia:

“Saying Java is good because it works on all operating systems is like saying anal sex is good because it works on all genders.”

    ~ The Pope


:D


E falando seriamente. Não acho que ele deva ir para Java, Delphi ou Visual Basic só por isso. Ele está certíssimo em querer aprender a usar interface gráfica só com as bibliotecas antes de tudo. As IDEs existem para ajudar o programador, não para ser fator determinante na escolha de linguagem. Anyway, existem diversas IDEs, editores e form designers para ajudar no desenvolvimento em C/C++. Quer linguagem mais difundida que essas?! O próprio Eclipse tem um plugin para C/C++, embora eu odeie o Eclipse, porque ele é extremamente pesado e uma porcaria. Prefiro a combinação gedit+terminal+scons+glade+bazaar+internet. :)

Offline ByteCode

  • Contas Excluídas
  • Nível 27
  • *
  • Mensagens: 1.369
  • Conta removida por solicitação do usuário
Re: Amostra de Programas - espaço dos programadores do CC
« Resposta #78 Online: 05 de Junho de 2007, 16:09:31 »
As IDEs existem para ajudar o programador, não para ser fator determinante na escolha de linguagem.
Claro que a IDE não é o fator determinante para a escolha da linguagem! Sugiro a ele trocar de linguagem também porque Java é robusta, multiplataforma (de verdade), "simples" de aprender, free, possui uma API excelente, simples e eficiente para se trabalhar com Threads etc. Também nunca ouvi falar de uma IDE gráfica própria para C que fosse boa de verdade.

Offline Oceanos

  • Nível Máximo
  • *
  • Mensagens: 8.924
  • Sexo: Masculino
Re: Amostra de Programas - espaço dos programadores do CC
« Resposta #79 Online: 05 de Junho de 2007, 17:05:38 »
Bem, qual desses atributos existem apenas para Java, e não em C/C++?

Aliás, sobre ser multiplataforma, esse não é um bom argumento, embora todo mundo que goste de Java adore de repeti-lo. Se você escrever em ANSI C, e seguir o mínimo do 'guia de portabilidade' que se segue quando se pensa em código portável (não usando bibliotecas dependentes de plataforma, por exemplo), você vai deixar seu código muito mais abrangente. Alcançando diversas plataformas que Java não alcança. Principalmente em casos de dispositivos embarcados. Alguns dispositivos mais restritos não têm capacidade técnica para deixar uma máquina virtual rodando, e acredite, não são poucos. Nesse caso, a maioria dos fabricantes disponibilizam apenas compiladores C.

Enfim, o fato de Java não precisar recompilar seu código (aliás, não precisa mesmo em todos os casos, né?) também não muda nada. Porque de qualquer maneira ela precisa da JVM no sistema destinatário.

Acho que os três maiores problemas da linguagem são: ela é prolixa; te prende ao seu paradigma; é muito pesada. Também não sei se estou errado, mas a impressão que tenho é que o 'garbage collector' dela está lá de enfeite. Eu achei incrível como o Eclipse ficou pesado depois de pouco uso aqui. A vantagem dela é que o overhead parece ser um pouco menor que C mesmo.

Aprender Java? Ok, é válido e muito útil, não tem como discordar. Aliás, tudo é mais ou menos útil de acordo com seu objetivo. Agora, deixar de aprender C, que tem toda sua história, seu poder, sua profundidade na indústria e no meio acadêmico em detrimento de Java? Suspeito que quem o fizer se tornará um mau programador.

E tirando Visual Studio e as IDEs da Borland, não conheço nenhuma IDE boa de verdade também.

Offline ByteCode

  • Contas Excluídas
  • Nível 27
  • *
  • Mensagens: 1.369
  • Conta removida por solicitação do usuário
Re: Amostra de Programas - espaço dos programadores do CC
« Resposta #80 Online: 05 de Junho de 2007, 18:07:06 »
Pra que investir em C, uma linguagem dificil, sendo que tudo o que se faz em C também se faz em Java, muitas coisas até melhor em Java. Mas se o cara conseguir programar nas duas, melhor ainda, nada contra C.
E existe uma IDE Java da Borland, o JBuilder.

Offline Oceanos

  • Nível Máximo
  • *
  • Mensagens: 8.924
  • Sexo: Masculino
Re: Amostra de Programas - espaço dos programadores do CC
« Resposta #81 Online: 06 de Junho de 2007, 00:04:18 »
Se investe para aprender programação, oras. E não simplesmente ferramentas de alto-nível que fazem tudo pra ti. De onde você tirou que C é uma linguagem difícil? Poderia me dizer?

E bem, praticamente tudo que se faz em Java se faz em python, em delphi, em visual basic, em cobol e se faz tudo e mais um pouco em C… Indiscutivelmente C é uma linguagem de mais abrangência, difusão e poder que Java. Essas linguagens de programação que citei são criadas de forma que façam de "tudo". O problema é o "como fazer" e como vai ficar. Não é de forma alguma "tudo que se faz em C se faz em java, até melhor", você não consegue fazer um sistema operacional em Java e nada de mais baixo nível, por exemplo. Te digo: se seu alvo é fazer apenas programas para locadoras e essas coisinhas afins, vai fundo, aprenda só java|delphi|visual basic e sql. Mas, se pretende aprender a programar de verdade e quicá fazer coisas de mais baixo nível, aprenda C.

Offline Andre

  • Nível 39
  • *
  • Mensagens: 4.072
  • Sexo: Masculino
    • Aletéia
Re: Amostra de Programas - espaço dos programadores do CC
« Resposta #82 Online: 06 de Junho de 2007, 16:48:56 »
O Oceanos já fez uma ótima argumentação pró-C. :P

E tem outro detalhe, eu evito ao máximo usar programas em Java. Não tenho muita memória e a JVM come toda ela.

Quanto a C ser difícil, não acho. As maiores dificuldades são ponteiros e o baixo nível de manipulação de strings, mas nem são tão complicados assim depois que você pega o jeito.
Se Jesus era judeu, então por que ele tinha um nome porto-riquenho?

Offline uiliníli

  • Nível Máximo
  • *
  • Mensagens: 18.107
  • Sexo: Masculino
Re: Amostra de Programas - espaço dos programadores do CC
« Resposta #83 Online: 07 de Junho de 2007, 19:02:27 »
Ainda estou me acostumando com os ponteiros, mas não é nem difícil, é só questão de prática mesmo.

Offline ByteCode

  • Contas Excluídas
  • Nível 27
  • *
  • Mensagens: 1.369
  • Conta removida por solicitação do usuário
Re: Amostra de Programas - espaço dos programadores do CC
« Resposta #84 Online: 08 de Junho de 2007, 11:53:47 »
Se investe para aprender programação, oras. E não simplesmente ferramentas de alto-nível que fazem tudo pra ti. De onde você tirou que C é uma linguagem difícil? Poderia me dizer?
Oras, pra que complicar se podemos facilitar? Afinal, a tecnologia serve pra isso, facilitar a vida e não complicar!
Olha, entre os programadores que conheço e professores meus, e por experiência própria, C é uma linguagem que possui um nível mais elevado de dificuldade para se aprender e usar.

Citação de: Oceanos
E bem, praticamente tudo que se faz em Java se faz em python, em delphi, em visual basic, em cobol e se faz tudo e mais um pouco em C… Indiscutivelmente C é uma linguagem de mais abrangência, difusão e poder que Java. Essas linguagens de programação que citei são criadas de forma que façam de "tudo". O problema é o "como fazer" e como vai ficar. Não é de forma alguma "tudo que se faz em C se faz em java, até melhor", você não consegue fazer um sistema operacional em Java e nada de mais baixo nível, por exemplo. Te digo: se seu alvo é fazer apenas programas para locadoras e essas coisinhas afins, vai fundo, aprenda só java|delphi|visual basic e sql. Mas, se pretende aprender a programar de verdade e quicá fazer coisas de mais baixo nível, aprenda C.
Olha Java não é só para sisteminhas de automação comercial. E você está redondamente equivocado se acha que Java faz tudo por você, não sei da onde tirou isso. Java é utilizado em aplicações de grande porte e usado em sistemas que necessitam auto grau de precisão. Inclusive em projetos espaciais Java é uma das linguagens utilizadas, como pode ver aqui na seleção dos programadores do satélite Corot: http://72.14.209.104/search?q=cache:chv9bAMJGXEJ:www.astro.iag.usp.br/~corot/recrutjan02.doc+sat%C3%A9lite+corot+java&hl=pt-BR&ct=clnk&cd=2&gl=br&lr=lang_pt
Não é atoa também que a maioria dos celulares usados no mundo usam tecnologia Java. Além disso, vários sites de vendas online de peso são feitos em Java. Java é uma linguagem robusta, você pode sim fazer um SO em Java, basta encarar o desafio. Java apenas não exige que se trabalhe diretamente com ponteiros, que aliás, é um pé no saco ficar cuidado de ponteiros. Java também tem o Garbage Colector, que facilita muito a liberação de memória. Sem falar na API java que é enorme e bem diversificada, se o programador realmente conhecer a linguagem e for inteligente, possui uma possibilidade infinita de combinações e probabilidades para resolver um problema de software.
Claro que sei que C é uma linguagem muito forte e robusta e tem toda uma história. Mas repito: pra que complicar se você pode descomplicar?
« Última modificação: 08 de Junho de 2007, 11:56:11 por ByteCode »

Offline Andre

  • Nível 39
  • *
  • Mensagens: 4.072
  • Sexo: Masculino
    • Aletéia
Re: Amostra de Programas - espaço dos programadores do CC
« Resposta #85 Online: 08 de Junho de 2007, 13:18:23 »
Os celulares usam Java porque é mais simples desenvolver um aplicativo só que funcione em várias plataformas diferentes, e nesse caso a necessidade de recompilar conta como um fator negativo ao C.

Dizer que o Garbage Colector facilita a liberação de memória é complicado. Um aplicativo em C consome bem menos memória que um aplicativo em Java.

Quanto a ser possível usar Java para se fazer um SO, vai ter que haver uma base em Assembly e provavelmente em C. Com Java e seus bytecodes sozinhos não se vai muito longe.
A um nível mais alto, existe sim gerenciador de janelas para Unix em Java, mas não o usaria se tivesse menos que 1GB de memória RAM.

E por último, C ser 'complicado' é o que lhe dá tanto poder, que é a possibilidade de programar em um nível intermediario.
Se Jesus era judeu, então por que ele tinha um nome porto-riquenho?

Offline Oceanos

  • Nível Máximo
  • *
  • Mensagens: 8.924
  • Sexo: Masculino
Re: Amostra de Programas - espaço dos programadores do CC
« Resposta #86 Online: 08 de Junho de 2007, 13:33:55 »
Oras, pra que complicar se podemos facilitar? Afinal, a tecnologia serve pra isso, facilitar a vida e não complicar!
Isso pode ser uma verdade, mas também uma fuga. Nem sempre o caminho mais "fácil" é o melhor caminho. Acho que nem preciso argumentar o porquê, né?

E se você quer facilidade, programe em python. É a linguagem mais fácil que conheço.

Olha, entre os programadores que conheço e professores meus, e por experiência própria, C é uma linguagem que possui um nível mais elevado de dificuldade para se aprender e usar.
Em compensação, no decorrer do tópico a opinião aqui se demonstrou outra.

Olha Java não é só para sisteminhas de automação comercial. E você está redondamente equivocado se acha que Java faz tudo por você, não sei da onde tirou isso. Java é utilizado em aplicações de grande porte e usado em sistemas que necessitam auto grau de precisão. Inclusive em projetos espaciais Java é uma das linguagens utilizadas, como pode ver aqui na seleção dos programadores do satélite Corot: http://72.14.209.104/search?q=cache:chv9bAMJGXEJ:www.astro.iag.usp.br/~corot/recrutjan02.doc+sat%C3%A9lite+corot+java&hl=pt-BR&ct=clnk&cd=2&gl=br&lr=lang_pt
Quais "mecanismo de precisão" que Java tem que C ou outra linguagem não tem? Porque se não tiver é só apelo à autoridade isso.

Não é atoa também que a maioria dos celulares usados no mundo usam tecnologia Java.
Argumentum ad Numerum. Isso provavelmente porque a Sun faz acordo com os fabricantes de celulares. Agora que tem o .NET, a disputa está se acirrando.

Além disso, vários sites de vendas online de peso são feitos em Java.
Bem, automação comercial.

Java é uma linguagem robusta, você pode sim fazer um SO em Java, basta encarar o desafio.
Como? O próprio conceito de JVM exclui qualquer possibilidade do Java trabalhar diretamente com o sistema. Como você quer fazer um sistema operacional se também não trabalha com ponteiros?

Aliás, o problema de java não é só que ele não trabalha em um nível inferior. Ele também peca na performance. Se você precisa de um programa que precisa ser rápido, como um jogo, que precisam do máximo do sistema sem desperdiçar recursos, não achará espaço para Java.

Como eu havia dito e repito, Java é útil sim, mas no seu âmbito, que geralmente é automação comercial.

Java apenas não exige que se trabalhe diretamente com ponteiros, que aliás, é um pé no saco ficar cuidado de ponteiros.
Pois é, não trabalhar com ponteiros diretamente é horrível. Tira flexibilidade da linguagem.

Java também tem o Garbage Colector, que facilita muito a liberação de memória.
Facilita, mas pode deixar o sistema lento. Não ter esse controle de quando destruir os objetos e ponteiros… digo, só objetos, pode ser muito danoso para um programador experiente, que sabe exatamente quando deve liberar um objeto da memória. Tira a flexibilidade da linguagem.

Ainda assim, isso não impede que haja Memory leaks no programa.

Sem falar na API java que é enorme e bem diversificada, se o programador realmente conhecer a linguagem e for inteligente, possui uma possibilidade infinita de combinações e probabilidades para resolver um problema de software.
Bem, querer comparar a api do java com a quantidade de bibliotecas em C é covardia. C é muito mais antigo e difundido que Java.

Claro que sei que C é uma linguagem muito forte e robusta e tem toda uma história. Mas repito: pra que complicar se você pode descomplicar?
Flexibilidade? Velocidade? Menor consumo de memória?
« Última modificação: 08 de Junho de 2007, 13:47:57 por Oceanos »

Offline Oceanos

  • Nível Máximo
  • *
  • Mensagens: 8.924
  • Sexo: Masculino
Re: Amostra de Programas - espaço dos programadores do CC
« Resposta #87 Online: 08 de Junho de 2007, 13:34:41 »
A um nível mais alto, existe sim gerenciador de janelas para Unix em Java, mas não o usaria se tivesse menos que 1GB de memória RAM.
O Looking Glass? Realmente. Ele parece ser muito bonito e legal, pena que é MUITO pesado.

Offline Lorentz

  • Nível Máximo
  • *
  • Mensagens: 10.635
  • Sexo: Masculino
Re: Amostra de Programas - espaço dos programadores do CC
« Resposta #88 Online: 09 de Junho de 2007, 22:34:40 »
Voltando ao assunto da programação, alguém programa com interface gráfica? Comecei a brincar com GTK+ (em C mesmo) e não estou gostando muito não. Achei melhor que a API do Windows, mas continuo achando improdutivo demais (muito código pra pouca coisa).
André, larga a mão de C e venha para Java, daí você poderá usar ferramentas poderosas para interface gráfica, como o JDeveloper da Oracle ou o NetBeans. Se quiser um ambiente de desenvolvimento altamente integrado, com vários plugins disponíveis, pode usar o Eclipse.
Java é o cara!!

Realmente, a plataforma .Net com a linguagem C# (C Sharp) e ferramenta Visual Studio 2005 é o que há.

Microsoft rulez!
"Amy, technology isn't intrinsically good or bad. It's all in how you use it, like the death ray." - Professor Hubert J. Farnsworth

Offline Ricardo RCB.

  • Nível 32
  • *
  • Mensagens: 2.226
  • Sexo: Masculino
Re: Amostra de Programas - espaço dos programadores do CC
« Resposta #89 Online: 14 de Junho de 2007, 09:09:16 »

E se você quer facilidade, programe em python. É a linguagem mais fácil que conheço.

Só um adendo (já que a maioria aqui parece ser especializada em C/C+/Java) e é apenas a minha opinião pessoal :

ruby e phpgtk são ainda mais fáceis do que python. Aliás python é uma bela linguagem para quem não sabe nada de programação e quer começar a aprender (antes de migrar para C).

E ruby on rails está gerando bastante interesse para quem desenvolve soluções para aplicações web, além da velha combinação php+mysql.

E uma linguagem que achei que teria muito potencial era a rebol (faz tempo que não vejo nada a respeito).

Bom, só algumas disgressões. Depois, se alguém ai não conhece e quiser conhecer eu coloco alguns exemplos de código de php e ruby.
“The only place where success comes before work is in the dictionary.”

Donald Kendall

Offline Andre

  • Nível 39
  • *
  • Mensagens: 4.072
  • Sexo: Masculino
    • Aletéia
Re: Amostra de Programas - espaço dos programadores do CC
« Resposta #90 Online: 14 de Junho de 2007, 12:48:02 »
Eu sei lá porque o interpretador de Ruby do meu ArchLinux não está funcionando direito.

Eu gosto de Lisp também. Achei que demora um pouco mais para você ficar 'fluente' na linguagem, mas no geral vale a pena.
Se Jesus era judeu, então por que ele tinha um nome porto-riquenho?

Offline Oceanos

  • Nível Máximo
  • *
  • Mensagens: 8.924
  • Sexo: Masculino
Re: Amostra de Programas - espaço dos programadores do CC
« Resposta #91 Online: 14 de Junho de 2007, 13:13:34 »
Aliás python é uma bela linguagem para quem não sabe nada de programação e quer começar a aprender (antes de migrar para C).
Nem só. É uma ótima linguagem para você produzir muito. Lendo só um pouco já dá para você sair programando.

Também não acho que seja o caso de migrar... Se fixar em uma linguagem pode ser um problema funcional. Uma linguagem de programação é uma ferramenta como qualquer outra. Um carpinteiro não começa para o martelo e migra para a chave de fenda, não é? É a mesma coisa.

Offline Oceanos

  • Nível Máximo
  • *
  • Mensagens: 8.924
  • Sexo: Masculino
Re: Amostra de Programas - espaço dos programadores do CC
« Resposta #92 Online: 14 de Junho de 2007, 13:14:34 »
Eu gosto de Lisp também. Achei que demora um pouco mais para você ficar 'fluente' na linguagem, mas no geral vale a pena.
Lisp eu queria aprender. Não fui atrás ainda por.... preguiça.

Offline Tash

  • Nível 32
  • *
  • Mensagens: 2.191
  • Sexo: Masculino
    • http://about.me/alganet
Re: Amostra de Programas - espaço dos programadores do CC
« Resposta #93 Online: 14 de Junho de 2007, 13:18:10 »
Eu tenho vontade de aprender Lua, alguém já ouviu falar?

Offline Eleitor de Mário Oliveira

  • Nível 37
  • *
  • Mensagens: 3.502
  • Sexo: Masculino
    • Lattes
Re: Amostra de Programas - espaço dos programadores do CC
« Resposta #94 Online: 14 de Junho de 2007, 17:25:31 »
Em C, alguém sabe o que é "dereferencing pointer to incomplete type"?

Offline Ricardo RCB.

  • Nível 32
  • *
  • Mensagens: 2.226
  • Sexo: Masculino
Re: Amostra de Programas - espaço dos programadores do CC
« Resposta #95 Online: 15 de Junho de 2007, 10:07:33 »
Aliás python é uma bela linguagem para quem não sabe nada de programação e quer começar a aprender (antes de migrar para C).
Nem só. É uma ótima linguagem para você produzir muito. Lendo só um pouco já dá para você sair programando.

Também não acho que seja o caso de migrar… Se fixar em uma linguagem pode ser um problema funcional. Uma linguagem de programação é uma ferramenta como qualquer outra. Um carpinteiro não começa para o martelo e migra para a chave de fenda, não é? É a mesma coisa.

Sim, python é uma linguagem maravilhosa, dá para produzir muito, o "migrar" foi inspirado na aparente preferência por C/C+.
“The only place where success comes before work is in the dictionary.”

Donald Kendall

Offline Ricardo RCB.

  • Nível 32
  • *
  • Mensagens: 2.226
  • Sexo: Masculino
Re: Amostra de Programas - espaço dos programadores do CC
« Resposta #96 Online: 15 de Junho de 2007, 10:18:56 »
Eu tenho vontade de aprender Lua, alguém já ouviu falar?

Já, criação de brasileiros, é bem leve, rápida, se você ainda não conhece o site oficial é http://www.lua.org
“The only place where success comes before work is in the dictionary.”

Donald Kendall

Offline Ricardo RCB.

  • Nível 32
  • *
  • Mensagens: 2.226
  • Sexo: Masculino
Re: Amostra de Programas - espaço dos programadores do CC
« Resposta #97 Online: 15 de Junho de 2007, 10:25:49 »
Eu sei lá porque o interpretador de Ruby do meu ArchLinux não está funcionando direito.

Eu gosto de Lisp também. Achei que demora um pouco mais para você ficar 'fluente' na linguagem, mas no geral vale a pena.

Não conheço muito esta distribuição, mas eu vi um bug a respeito do ruby, algo do tipo ele era instalado em /usr/usr ou coisa assim.
“The only place where success comes before work is in the dictionary.”

Donald Kendall

Offline Eleitor de Mário Oliveira

  • Nível 37
  • *
  • Mensagens: 3.502
  • Sexo: Masculino
    • Lattes
Re: Amostra de Programas - espaço dos programadores do CC
« Resposta #98 Online: 30 de Junho de 2007, 19:51:26 »
Quais comandos e qual headfile é preciso para criar gráficos com C?

Offline Guinevere

  • Nível Máximo
  • *
  • Mensagens: 5.861
  • Sexo: Feminino
Re: Amostra de Programas - espaço dos programadores do CC
« Resposta #99 Online: 30 de Junho de 2007, 21:18:20 »
tem trocentos. Acho que fiz um trabalho em opengl uma vez com turbo C e depois mudei pra linux com facilidade. Achei bom, mas isso tem uns 10 anos...

 

Do NOT follow this link or you will be banned from the site!