[FUG-BR] OT: Re: RES: C/C++

gethostbyname gethostbyname em gmail.com
Domingo Fevereiro 25 10:36:11 BRT 2007


Paulo Pires escreveu:
> On 2/25/07, gethostbyname <gethostbyname at gmail.com> wrote:
>   
>>> Apenas que a composição do texto na norma, tanto na construção da
>>> frase como na apresentação visual, torna difícil a interpretação do
>>> que quer dizer.
>>>
>>>       
>> Compreendi. Foi um erro meu ter misturado o negrito no meio do código,
>> além de ter duplicado a mensagem.
>>     
>
> Não falo nem do negrito.  O próprio PDF da norma é confuso.
>   
Ah, sim.
>   
>>> Até concordo com você, mas é porque nós estamos acostumados com
>>> máquinas e sistemas que trabalham com números.  Não precisaria ser o
>>> caso.  Eu não se um CP/M da vida tinha alguma coisa como "exit status"
>>> de um programa, nem tenho muita dificuldade em imaginar um sistema em
>>> que um processo retornasse, ao invés de um mero valor, algo que
>>> pudesse ser interpretado como um comando/ação ou um objeto mais
>>> complexo.
>>>
>>>       
>> Esse objeto "mais complexo ou comando" poderia ser enviado ao OS por
>> outros modos, não? Chamar system, por exemplo. Seria mais prático e
>> simples, não? Imagine a main retornando algo que não seja o número, que
>> complicação isso geraria.
>>     
>
> system() não devolve algo ao SO, mas requisita algo dele (se pensarmos
> no UNIX, system(3) é uma composição de fork(2), execve(2) e
> waitpid(2)/wait4(2)).
>
>   
Eu pensei nisso porque você disse "algo que pudesse ser interpretado
como um comando/ação".
> Deixe-me dar um exemplo do que eu quis falar.  Digamos que você fez um
> programa chamado -- digamos -- "beethoven", que utiliza alguma técnica
> que você vai patentear para gerar uma sinfonia completa a partir de
> uma seqüência incial de bits.  Se esse programa existisse hoje num
> sistema operacional corrente, o resultado ou seria gravado em arquivo
> ou seria enviado a um outro processo através de um pipe ou socket,
> como parte da própria execução do programa, e, somente após essa etapa
> final de manualmente depositar a sinfonia em algum canto, o programa
> devolveria 0 se fosse bem sucedido ou outro valor se falhasse.  Se, ao
> invés disso, você tivesse um SO que permitisse devolver um "objeto
> sinfonia" ao término do programa, você não precisaria se preocupar com
> manualmente gravar ou serializar sua sinfonia.  Esse "peso" ficaria
> com o sistema.
>
> Claro que um SO assim teria que saber o que fazer com o objeto que
> você lhe envia.  Certamente seria um sistema mais complexo, mas não
> sei se já não caminhamos para uma coisa assim, ainda mais nesses dias
> de rede para todo mundo e processamento cada vez mais distribuído.
> MIME types são uma abordagem já em uso para identificação de objetos
> arbitrários, assim como são as extensões de arquivo ou as assinaturas
> de arquivos executáveis (incluindo aquela linha começando com "#!" no
> topo dos nossos scripts em shell, PERL, AWK etc.).
>
> Compare as duas versões do programa acima mencionado (em C++).
>
>     // beethoven.cc -- SO de hoje
>     // stdout deve ser redirecionado para
>     // arquivo ou pipe.
>     #include <iostream>
>     #include "beethoven.h"
>
>     int main(int argc, char **argv){
>         try {
>             symphony S(argc, argv);
>             std::cout << S;
>         }
>         catch(...){
>             return 1;
>         }
>         return 0;
>     }
>
>
>
>     // beethoven.cc -- SO viajante
>     #include "beethoven.h"
>
>     symphony main(argc, argv){
>         return symphony(argc, argv);
>     }
Você gostaria de mais ou menos um SO orientado a objetos que não
seguisse padrões rigorosos? Algo dinâmico como a API de JAVA, diferente
de C++?

gethostbyname


Mais detalhes sobre a lista de discussão freebsd