Lendo o artigo de Júlio ActionScript 2 ou ActionScript 3? Para esclarecer! Eu gostaria de fazer algumas considerações sobre a evolução "inverso" de ferramentas de desenvolvimento para aqueles que, como eu, vem de C / C + +.
Artigos com a tag 'língua-de-desenvolvimento'
Considerações sobre a evolução das línguas svilluppo: AS2 vs AS3
Constantes e variáveis: qual é a diferença real?
Parece óbvio, mas alguns escapam a sutil diferença entre constantes e variáveis em uma linguagem de programação. As constantes, a partir do nome, não altere o seu valor durante o curso de um programa, enquanto as variáveis podem fazê-lo! Muitas vezes, porém, acontecerá a usar variáveis em vez de constantes sem perceber, também, porque isto não irá afetar a lógica de uma aplicação. Apesar disso, a diferença entre constantes e variáveis, e surge todo em tempo de compilação, onde a constante desempenha um ruole definitivamente mais poderoso.
Vindo de C ou de programação Assembly sabe a diferença entre constantes e variáveis, especialmente porque, tanto na Assembleia e C, constantes de desempenhar um papel de MACRO. Para MACRO indendo um "pedaço de código" que é rotulado e substituído no código em tempo de compilação. O compilador, em suma, realiza uma espécie de encontrar .. substituir (e é sostituitsci) no código de cada vez que encontra uma constante.
Imagine que você escrever no fragmento de código C simples seguinte:
1 2 3 4 | 5 ; int a = 5; 3 ; int b = 3; int c; b ; c = a + b; |
sono indicate come variabili in questo caso. Tanto a que b são mostrados como as variáveis do presente caso. Em C, de facto, as constantes são definidos com a palavra-chave #define . sono state definite come int . Fazemos notar que imediatamente a que b tem sido definida como int . Já aqui você pode fazer uma otimização em primeiro lugar. Se sabemos que a nossa variável a nunca exceder um determinado valor, você deve declará-la corretamente e não usar tipos de dados de forma aleatória. Alguns desenvolvedores não se preocupam em declarar os tipos corretos, pensando que isso não afeta a performace! Errado! Alternativamente, é aceitável que a primeira versão do Código não envolve esse nível de detalhe. No entanto, uma boa regra, durante o processo de desenvolvimento, analisar o código e verificar os tipos de dados.
No entanto, em uma montagem da família Motorola, por exemplo, como a 68.000 mítico, nosso código tomariam completado (sem otimizações) numa espécie de:
1 2 3 4 | , d0 ; int a move o # 5, d0; int. , d1 ; int b movimentos. o # 3, d1, int b d2 ; int c - foo movimentos D1, D2, int. C - foo l d0 , d2 ; risultato in d2 ovvero c adicionar. o resultado d0, d2, d2, ou em c |
ou:
1 2 3 | , d0 ; int a move o # 5, d0; int. , d1 ; int b movimentos. o # 3, d1, int b d1 ; risultato in d1... movimentos. o d0, d1, d1 resultado em ... |
O compilador, por mais inteligente esforço, em otimizações, em seguida, escrever o código com a palavra certa só pode ajudar a melhorar a saída compilada. No nosso caso, se o valor 5 é uma constante, não é conveniente usar uma variável inteiro, porque o compilador, correctamente, enquanto a variável variável, precisamente, um predisponde toda a conter o valor simples de 5, que em binário é 101, isto é ocupa três bits simples (se alguma coisa, int é o pior 32bit ou 53bit ponto flutuante de precisão dupla!). Se tivesse escrito o código como este:
1 2 3 4 5 | # Define MIA_COSTANTE 5 3 ; int b = 3; int c; b ; c = MIA_COSTANTE + b; |
O compilador saberia desde o início que MIA_COSTANTE , sendo constante, o valor não vai mudar para que eu possa reservar menos espaço para tratá-la. Na prática, a Assembléia diverebbe código:
1 2 3 | d0 ; la "q" indica una istruzione "quick", cioè che tratta valori compresi tra -128 e +127 moveq # 3, d0, e "q" indica uma instrução "quick", que são os valores entre -128 e +127 ; Uma educação "rápido" leva menos tempo de CPU (4 ciclos de clock, neste caso) d0 ; anche qui uso una istruzione "quick" addq # 5, d0; aqui um manual de instruções "rápido" |
Este código é extremamente rápido e ocupa menos bytes. O que devemos ter em mente é que quando você declarar uma variável de ambiente está pronto para tratá-lo como tal, mesmo que os compiladores de hoje podem fazer milagres, realizando uma série de etapas antes de compilar o código (alguns compiladores, mesmo realizar uma espécie de programa de simulação para otimizar a compilação em código de máquina).
Uma boa regra é, portanto, para declarar o tipo certo para nossas variáveis, ainda que estes sejam. Alternativamente usar as constantes, especialmente se a linguagem de programação estamos a utilizar o esperado (como no caso do novo Flash CS3).






Últimos Comentários
Gabriel : Olá, interessante artigo. Eu preciso de algo semelhante, mas com algumas mudanças. Em um ...
sebastian : grande parcela - muito obrigado!
Assunto : muito útil mesmo! Eu tentei isso e é exatamente o que eu precisava. Agora eu quero saber como faço para obter ...
vik : Com a ajuda estratégica!
Pimenta : Olá, eu não sei se você é um dos criadores do plugin WP Bannerize. Tenho visto um ...