Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sir Pereira

Transição de linguagem

Mensagens Recomendadas

Sir Pereira

Boas,

tenho já talvez cerca de 2/3 anos de experiência com a linguagem VisualBasic.NET.

No entanto, gostava de algo mais leve, será que compensa nesta altura perder mais tempo a transitar para uma linguagem como C++ (era o que estava a pensar mudar)?

Ou têm uma sugestão de outra linguagem?

Abraço

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
M6

O que entendes por "algo mais leve"?


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Sir Pereira

A plataforma .NET, é uma plataforma que por si só já é muito pesada, e custa a processar na máquina.

E aplicações como as minhas, que normalmente interagem com bases de dados e montam várias interfaces gráficas por cima de vídeo puxa MUITO pelo processador pelas bibliotecas do .NET.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
M6

Sir Pereira, as tua aplicações não são diferentes da média, o teu problema pode ser o facto de teres hardware desadequado em relação ao que é hoje o standard.

Transitar de linguagem só pelo facto da plataforma ser pesada não me parece que faça sentido a menos que a performance seja mesmo um factor critico e tenhas clientes a queixarem-se disso.


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jpaulino

A plataforma .NET, é uma plataforma que por si só já é muito pesada, e custa a processar na máquina.

Isso não é propriamente verdade, e aliás a plataforma .NET Framework tem um processo de compilação em modo runtime (JIT) que  torna as aplicações mais rápidas.

Será que as tuas aplicações estão bem desenhadas?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
M6

Mas a compatibilidade entre sistemas operativos chama-me ao C++, além de que tenho uma certa curiosidade pela linguagem, apesar de me parecer deveras complicada.

Se queres aprender outra linguagem tudo bem, mas não vejo o "peso" da plataforma .net como uma razão para tal.

Quanto à compatibilidade do C++ entre sistemas operativos, bem isso é um "bocadinho" falacioso, uma vez que para conseguires isso tens de restringir o teu código de forma a usares apenas o que é standard, e não fazeres uso de funcionalidades mais avançadas que cada compilador costuma oferecer. O "write once, compile everywhere" na verdade não funciona assim tão bem à primeira como inicialmente se possa pensar.


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
falco

Apesar de o invisual basic .mete, ser melhorzinho que o invisual basic 6. Ele continua a ser uma péssima linguagem para aprender a programar.

A minha opinião e que o basic, não é uma boa linguagem para programadores profissionais, qualquer programador que leve programação a sério. As implementações da m$ sempre acentuaram isso. Não quero dizer que o basic não tenha o seu espaço. Certamente que tem, entre os profissionais de outras áreas que precisam de fazer aplicações e entre amadores que queiram recorrer a programação para desenvolver rapidamente alguma pequena ferramenta, sem se preocuparem muito com a sua qualidade e outros aspectos que informáticos se deveriam preocupar. Também não é a única linguagem que enfio nesta categoria, mas é provavelmente a mais paradigmática disso.

Porque é que a linguagem não é uma boa linguagem para aprender a programar?

Porque com ela não se aprende determinados conceitos base que todos os informáticos deveriam ter. E sem os saber, esses informáticos, não deveriam andar a programar. Para além disso a sintaxe da linguagem é muito diferente de C, que é a linguagem que inspira a sintaxe das principais linguagens.

Mudar de vb.net para C++, não vai ser fácil. Sem dúvida que vai demorar.

Na minha opinião nenhum informático deve passar sem aprender C. Deves aprender antes de C++, porque é mais simples e permite-te mudar a forma de pensar. Para além disso C++ é essêncialmente uma evolução do C quase totalmente compatível). O C vai dar-te parte das bases para o C++, o resto é aprender os conceitos de Programação Orientada ao Objecto e algumas simples diferenças de sintaxe.

É um investimento, que na minha opinião vale sempre a  pena para todos os informáticos. Ficarás a entender muito melhor não só programação, como vários outros conceitos úteis mesmo que não fosses programador. E vai-te abrir as portas para programares em várias outras linguagens de programação e outras plataformas (sistemas operativos e outras arquitecturas de processadores).

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Triton

Na minha opinião nenhum informático deve passar sem aprender C. Deves aprender antes de C++, porque é mais simples e permite-te mudar a forma de pensar. Para além disso C++ é essêncialmente uma evolução do C quase totalmente compatível). O C vai dar-te parte das bases para o C++, o resto é aprender os conceitos de Programação Orientada ao Objecto e algumas simples diferenças de sintaxe.

Aprende C++ de raiz e não C primeiro. C++ moderno pouco tem a ver com o C, apesar de poderes usar conceitos como ponteiros e macros, em C++ existem soluções melhores (references e templates).


<3 life

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
falco

Acho que estas a exagerar...

Tudo depende de como o utilizares inicialmente. Se fores introduzindo aos poucos as diferenças então o C é uma boa plataforma de aprendizagem para o C++.

Para além disso isso não invalida o valor do C, para todos os informáticos. Não que precisem de o dominar em "profundidade", mas é uma excelente forma de introduzir conceitos de informática que são essenciais para os programadores.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Triton

Acho que estas a exagerar...

Tudo depende de como o utilizares inicialmente. Se fores introduzindo aos poucos as diferenças então o C é uma boa plataforma de aprendizagem para o C++.

Para além disso isso não invalida o valor do C, para todos os informáticos. Não que precisem de o dominar em "profundidade", mas é uma excelente forma de introduzir conceitos de informática que são essenciais para os programadores.

Não estou não. Se fores para C++ com a mentalidade de C vais ser um mau programador de C++. A maioria dos programadores não sabem C++, sabem C com classes.


<3 life

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
falco

É claro que são dois bichos diferentes... Sim C++ é mais que C com classes. Mas isso não quer dizer que tenha que acontecer isso tudo depende de como as coisas forem feitas.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Warrior

Eu acho que a diferença aqui está no facto do programador saber o que é POO ou não.

Não me parece que o Sir Pereira corra esse risco, até porque desenvolvendo profissionalmente em VB.net tem que utilizar esses conceitos no dia-a-dia.

Eu acho C muito importante porque nos dá noção da máquina que temos por baixo exactamente da "altitude" certa. Ninguém programa aplicações em assembly por ser demasiado trabalhoso, e ninguém está perto da máquina em Java ou .net. Gerir manualmente memória, trabalhar com apontadores, utilizar sinais, semáforos, ter noção de como funciona a stack..

Eu acho que tudo o que aprendi em C me ajudou a perceber o que cada funçãozinha mais inútil das outras linguagens está a fazer por trás. E por arrasto, todas as funções úteis também. E não acho que um programador saiba realmente o que faz se as chamadas às funções forem constantemente caixas negras..

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
IRX773

Se queres algo POO e não queres o VB.net ... tens o C#, embora ainda "leves" com a plataforma .NET

Algo POO, portável, sem .NET ... Python

Algo sem ser POO (nativamente), portável e que tens opção POO e ainda com muitos "companheiros" de programação tens ou o C++ ou o Java.

Quanto À questão do C ser útil ou não .... O mesmo podem dizer do Pascal e assim, mas acho que no inicio o C é algo muito útil pois "cria hábitos" de programação e porque tem muita utilidade na administração de sistemas (como o VBScript, o SheelCode, o Python, etc) e da robótica (falo por ver alunos de robótica a terem anos de C e Robot-C) e é útil também pois "inspirou" outras linguagens e tem uma sintaxe relativamente parecida com outras linguagens também.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
falco
Se queres algo POO e não queres o VB.net ... tens o C#, embora ainda "leves" com a plataforma .NET

Ele falou em não usar .net.

Algo POO, portável, sem .NET ... Python

Ou Perl, ou Ruby... Mas nenhum deles está no mesmo nível que o C++. Estão todos a um nível mais alto. E em qualquer dos casos o C faz falta a todos os programadores. E um programador avançado de Python pode lucrar em saber C++.

Também falaste em Java, mas se ele se queixava que o .net é pesado, o Java não é muito menos (se fosse de todo).

Quanto À questão do C ser útil ou não .... O mesmo podem dizer do Pascal e assim,

Não necessariamente.

O Pascal é simplesmente arcaico do ponto de vista da sintaxe. Não cria bons hábitos, faz com que os odeiem por darem demasiado trabalho. Há piores que o Pascal, mas não há qualquer boa razão para se perder tempo com o Pascal em vez de aprender C, pois o C é infinitamente mais útil tendo em conta a realidade.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
M6

falco, dizes que o Pascal é arcaico do ponto de vista da sintaxe baseado em que factos?

É que só assim por acaso o Pascal é das melhores linguagens a esse nível, simples e limpa.

Fica tudo arrumado e faz precisamente o oposto do que dizes: cria bons hábitos de programação, ao contrário do C, onde tens tanta corda para te enforcar que muitos passam a detestá-lo.

O Pascal é uma excelente linguagem de programação para ensinar/aprender programação, foi aliás com esse intuito que foi criada.


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
IRX773

O Pascal é uma excelente linguagem de programação para ensinar/aprender programação, foi aliás com esse intuito que foi criada.

Deve até ser a melhor para aprender ... Especialmente porque depois se quiserem aprender uma POO têm o pascal como base para o Delphi, também ela criada a pensar na aprendizagem de uma linguagem POO.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Triton

Deve até ser a melhor para aprender ... Especialmente porque depois se quiserem aprender uma POO têm o pascal como base para o Delphi, também ela criada a pensar na aprendizagem de uma linguagem POO.

Faz um favor a ti próprio e não digas mais nada.


<3 life

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
falco
falco, dizes que o Pascal é arcaico do ponto de vista da sintaxe baseado em que factos?

Com base na sintaxe...

É que só assim por acaso o Pascal é das melhores linguagens a esse nível, simples e limpa.

Não concordo... Não gosto da sintaxe, prefiro sintaxes mais parecidas com o C.

O Pascal é uma excelente linguagem de programação para ensinar/aprender programação, foi aliás com esse intuito que foi criada.

Não concordo que seja a mais adequada para aprender a programar. O Pascal foi feito num contexto que acho que já não é o actual e que por isso já não é uma boa solução.

Deve até ser a melhor para aprender ... Especialmente porque depois se quiserem aprender uma POO têm o pascal como base para o Delphi, também ela criada a pensar na aprendizagem de uma linguagem POO.

LOL!

Ainda está para vir o dia em que o delphi vai ser levado a sério.

Faz um favor a ti próprio e não digas mais nada.

É o fantástico as coisa que se podem dizer neste fórum, quando não sou eu a dizer.

Não deixo de concordar com essa opinião, mas a dualidade de critérios na aplicação das regras é curiosa.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
M6

falco, pelo que compreendi, o que dizes expressa apenas a tua opinião pessoal e como deves compreender a tua opinião pode não reflectir a realidade, como é o caso aqui.

A comprová-lo está o facto da linguagem ainda hoje ser usada no ensino e de ser reconhecida por isso. O Pascal foi criado no contexto da aprendizagem e esse contexto é uma constante, a não ser que as pessoas passem a nascer ensinadas, a aprendizagem vai continuar a existir.

Uma última nota no que toca ao Delphi, o tempo do Delphi já passou, já foi levado a sério e morreu quando o seu criador foi para a MS para desenvolver o .Net.


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
falco
falco, pelo que compreendi, o que dizes expressa apenas a tua opinião pessoal e como deves compreender a tua opinião pode não reflectir a realidade, como é o caso aqui.

E eu posso não concordar com a tua opinião sobre o que é a realidade. Como é o caso aqui.

A comprová-lo está o facto da linguagem ainda hoje ser usada no ensino e de ser reconhecida por isso.

Ser utilizada para esse propósito, não comprova que actualmente seja a solução adequada para tal.

Na minha opinião ela é utilizada, simplesmente porque a maior parte dos professores de informática, não tem conhecimentos para utilizar outra mais adequada, ou simplesmente por inércia.

Pascal foi criado no contexto da aprendizagem e esse contexto é uma constante, a não ser que as pessoas passem a nascer ensinadas, a aprendizagem vai continuar a existir.

Não, não é uma constante!

O que as pessoas precisam de aprender, bem como as formas como devem aprender, não são constantes, e tanto não são que sempre houve mudanças tanto nas matérias, como nos métodos pedagógicos. Algumas coisas mudam ao fim de alguns anos, outras demoram muitos a serem mudadas, mas não são constantes.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
M6

E eu posso não concordar com a tua opinião sobre o que é a realidade. Como é o caso aqui.

Sim, mas isso não muda a realidade.

Ser utilizada para esse propósito, não comprova que actualmente seja a solução adequada para tal.

Na minha opinião ela é utilizada, simplesmente porque a maior parte dos professores de informática, não tem conhecimentos para utilizar outra mais adequada, ou simplesmente por inércia.

De novo, é a tua opinião e não a realidade.

Não, não é uma constante!

O que as pessoas precisam de aprender, bem como as formas como devem aprender, não são constantes, e tanto não são que sempre houve mudanças tanto nas matérias, como nos métodos pedagógicos. Algumas coisas mudam ao fim de alguns anos, outras demoram muitos a serem mudadas, mas não são constantes.

Sim, tens razão quando afirmas que os conteúdos e as formas de aprendizagem evoluem.

Acontece que a aprendizagem do paradigma da programação imperativa é uma necessidade constante.

É "impensável" alguém trabalhar "a sério" nesta área sem conhecer este paradigma, e o Pascal é uma excelente ferramenta no auxilio do seu ensino.


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

Apesar de o invisual basic .mete, ser melhorzinho que o invisual basic 6. Ele continua a ser uma péssima linguagem para aprender a programar.

A minha opinião e que o basic, não é uma boa linguagem para programadores profissionais, qualquer programador que leve programação a sério. As implementações da m$ sempre acentuaram isso. Não quero dizer que o basic não tenha o seu espaço. Certamente que tem, entre os profissionais de outras áreas que precisam de fazer aplicações e entre amadores que queiram recorrer a programação para desenvolver rapidamente alguma pequena ferramenta, sem se preocuparem muito com a sua qualidade e outros aspectos que informáticos se deveriam preocupar. Também não é a única linguagem que enfio nesta categoria, mas é provavelmente a mais paradigmática disso.

Porque é que a linguagem não é uma boa linguagem para aprender a programar?

Porque com ela não se aprende determinados conceitos base que todos os informáticos deveriam ter. E sem os saber, esses informáticos, não deveriam andar a programar. Para além disso a sintaxe da linguagem é muito diferente de C, que é a linguagem que inspira a sintaxe das principais linguagens.

Mudar de vb.net para C++, não vai ser fácil. Sem dúvida que vai demorar.

Na minha opinião nenhum informático deve passar sem aprender C. Deves aprender antes de C++, porque é mais simples e permite-te mudar a forma de pensar. Para além disso C++ é essêncialmente uma evolução do C quase totalmente compatível). O C vai dar-te parte das bases para o C++, o resto é aprender os conceitos de Programação Orientada ao Objecto e algumas simples diferenças de sintaxe.

É um investimento, que na minha opinião vale sempre a  pena para todos os informáticos. Ficarás a entender muito melhor não só programação, como vários outros conceitos úteis mesmo que não fosses programador. E vai-te abrir as portas para programares em várias outras linguagens de programação e outras plataformas (sistemas operativos e outras arquitecturas de processadores).

Discordo em praticamente tudo.

A ideia que transmites é a seguinte: Quem demora a fazer uma aplicação 5 horas é bom programador, quem a faz em 30 minutos é mau programador.

Pegando no exemplo do C++ que tanto idolatras: Estive a ver uns exemplos (no armazém de código aqui do PAP » Secção C++ ) para que uma Textbox / Textfield whatever, tenha asteriscos ao escrever, é preciso isto:

http://www.portugal-a-programar.pt/index.php?showtopic=15184

Enquanto para se fazer em VB.NET apenas preciso de, nas propriedades da Textbox no campo "Password Char" escrever " * ". SIMPLES.

Tempo é dinheiro. Podes muito bem dizer que a framework do VB pertence à Microsoft e afins e que é mais caro, concordo, mas não é por isso que não fazes uma aplicação com pés, membros e cabeça. Eu não sei se tiveste contacto directo com o VB.NET, mas com certeza que não tiveste, pois vias a potencialidade que o mesmo tem. É muito relativo discutir linguagens de programação, é normal que algumas estejam mais destinadas a certos conteúdos do que outras, mas no VB.NET, no geral, fazes de tudo um pouco.

Se gostava de aprender C++, Pascal e essas linguagens todas? Gostava, na escola! Porque agora não tenho tempo para aprender uma sozinho como fiz no PHP.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Warrior

Julgo que interpretaste mal o que o falco disse, ele nunca discordou (pois tal é impossível) que vb é mais rápido a desenvolver do que C++.

Questiona-se é a qualidade.

Eu programei VB.net durante um ano e digo: aquilo não é linguagem para se desenvolver. Se querem usar .net, usem C# ou algo assim. Senão, Java.

Programação envolve teclado, não rato, por mais voltas que se tentem dar.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.