Artigos com a tag 'língua-de-desenvolvimento'

Considerações sobre a evolução das línguas svilluppo: AS2 vs AS3

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 + +.

Leia mais ...

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).

Leia mais ...


Pare SOPA