Divulgação Xmega

Software e Hardware para ATMEL

Moderadores: 51, guest2003, brasilma

Mensagempor msamsoniuk » 21 Nov 2009 00:18

fortran na verdade eh otimizada para processamento matematico... note que escrever simbolos em fortran ou escrever simbolos em asm dah meio que na mesma, pq nos dois casos algum software vai ter que parsear strings e, a partir disso, decidir o que gerar em termos de codigo de maquina. no caso do asm eh mais facil, pq cada simbolo corresponde a uma sequencia de codigo e o montador asm nao se preocupa em otimizar nada (fica a cargo do humano que programa). no caso do fortran, o compilador tem que fazer por si todos os passos que um humano faria.

consta que um dos requisitos da ibm era que fortran fosse capaz de produzir codigo tao bom quanto um programador poderia produzir otimizando manualmente o codigo asm, pois isso era crucial para os clientes da epoca, que nao partiriam para uma linguagem de alto nivel se ela nao fosse pau a pau com que eles jah tinham. e eles conseguiram isso na decada de 50! imagine o tanto que foram otimizando depois, acho dificil que as tecnicas que um compilador destes utiliza sejam usadas no dia a dia por qq programador asm, para todas as linhas de seu codigo... eh mais facil pensar q o cara otimiza pontualmente, deixando o resto meio em segundo plano.

imagine que C jah eh meio pau a pau com um bom programador asm... mas fortran consegue bater C por um fator de ateh 2x! mas isso em processamento numerico, pq quando se fala em sistemas operacionais, a vantagem obvia eh de C, de modo que C certamente seria a linguagem ideal para firmwares, microkernels e pequenos sistemas operacionais. isso vem do fato de C ter sido derivado de B justamente como uma forma otimizada para expressar o sistema operacional unix de um modo portavel...

e apesar de parecer um contra-senso fazer algo assim totalmente em C, eh sempre bom lembrar que o unix escrito em C eh um sr. sistema operacional, sinonimo de performance e qualidade, enquanto que um tipico sistema operacional escrito em asm, como o msdos, nao tem nenhuma destas qualidades... coisas para se pensar! :)

vtrx escreveu:Fortram lida principalmente com strings....o processador não inetrpreta outra tipo de código a não ser código de máquina.
ASM é um meio de se montar os códigos de máquina,as linguagens de alto nível são um meio de tentar montar esses mesmos códigos,mas não é garantido 100% de otimização,pois é um código portável,isto é ,não é específico para um tipo de processador.
Não sou contra linguagens de alto nível,mesmo para simples µcontroladores,mas no que eu faço eu não posso deixar 'brechas' de programação,minha função é anti-hacker e anti-cracker de software e hardware,não posso usar exclusivamente uma sub-linguagem de programação.Eu mesmo quando programo banco de dados,uso talvez a pior linguagem de programação para OS,o Delphi,que é extremanete popular mais gera códigos muito grande e facilmente crackeado,desde que não se tome alguma precaução.
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor msamsoniuk » 21 Nov 2009 00:34

pow, sobre delphi nem vou comentar nada... vamos tentar manter o nivel baixo na discussao, no bom sentido hehehe

a vantagem de C++ eh que vc pode escrever codigo C dentro e codigo C quase base 1:1 com asm... a desvantagem eh quando os objetos se voltam contra voce e comecam a consumir recursos de forma incontrolavel! C++ permite vc cometer alguns abusos computacionais que C nao permite... e eh obvio que os programadores vao usar estes abusos e massacrar memoria e processador hehehe :)

uma vez um programador C++ me disse q a principal vantagem da linguagem eh simplificar o projeto e se livrar do mar de ponteiros que um projeto em C exige... eu imagino que isso nao eh muito realista em termos de performance computacional, pq eh obvio que a unica forma de C++ bater C eh justamente usar um mar de ponteiros para objetos, como C faz com structs e funcoes.

bom, acho que eh soh procurar pelas respostas por aih de pq o linux nao foi feito em C++ q temos uma visao melhor da diferenca entre C e C++.

vtrx escreveu:Kizz dizer que voce fica dependendo dos Headers fornecidos.
Veja,quanto mais se sobe o nível da linguagem ,mais recursos são disperdiçados,veja,eu programo em Delphi,C++ e ASM:
Um Form apenas,como uma janela vazia,no Windows em Delphi ocupa 359Kb,em C++ ocupa 20Kb e em ASM ocupa 2Kb.Isto pode não significar nada para um PC com muitos Terabytes,Hds de alta densidade,Os etc,mas para um projeto eletronico pode influir muito.
Lógico que eu escolho a dedo qual linguagem usar dependendo da aplicação,mas a nível de PC.
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Anterior

Voltar para AVR

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x