[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Saida padrao




Estou corrigindo os trabalhos entregues pelos alunos e tenho notado que muitos
cometem um erro conceitual no relatório quando se referem à "saída padrao".
Entre um trabalho e outro, enquanto respiro um pouco, resolvi explicar isso.

Antes de mais nada, deixo claro que ninguem perdeu nota por causa disso. Seria
ridiculo, já que nao está relacionado com a matéria.

O problema que eu vi é que muitos alunos tem usado "Saida padrão" como sinônimo
de "monitor". Conceitualmente isto está errado! Saída padrão é uma saída que o
programa tem que é para onde ele joga os dados quando nada é especificado. Onde
é a saída padrao é algo que cabe ao ambiente decidir e nao ao programador.

Por exemplo, em C ao usar printf() ou um fprintf(stdout, ...), vc está enviando
dados para a saída padrão, contudo se o comando executado tiver sido algo como
$ prog > meu_arquivo
a saída padrão não é a tela e sim o arquivo. A shell é o ambiente e ela é que
decide, atraves do comando dado, onde é a stdout, mas só pq vai para o arquivo
nao deixa de ser saída padrao.

Digo isto porque alguns alunos tem falado no relatório a respeito da
"velociodade da saída padrao". Isso nao faz muito sentido. A saída padrão
poderia ser a tela, um arquivo, uma conexao de rede, até uma placa de som ou
outro device. Cada um com performances diferentes.

Mais ainda, a saida padrao poderia ser o /dev/null, e esse é um "device"
extremamente eficiente em termos de performance.

Repito que isso não afeta em nada a correcao, este email é apenas FYI.



Guioc