Pau no linux - muito massa :)

Algumas empresas, como a BAE Systems (faz parte do consórcio do Airbus) realmente têm o CMM nível 5. ( http://www.baesystems.com/newsroom/2003/sept/250903news2.htm )
Mas isso não quer dizer que a Tata (CMM nível 5) tenha de ser contratada pela Embraer para desenvolver sistemas de aviônica…
Na verdade quem desenvolve esses tais sistemas (como a Boeing, a BAE, a Embraer etc.) já têm processos internos muito rigorosos, mas não obrigatoriamente CMM.

[quote=#@®®¡$]

Er, qual era o assunto mesmo?[/quote]

Vocês que são Linux-maníacos sabem que distribuição está sendo usada, só de olhar a tela de boot do tal sistema da Airbus?

http://jimmac.musichall.cz/weblog.php/2005/Jan/31

http://www.freerepublic.com/focus/f-news/1620586/posts

Ok. Mas CMM não garante em última análise o software em si. Mas apenas o processo. Não há relação entre um software ser fail-safe e CMM.

[quote=scottys0][quote=renato3110][quote=boaglio]
Verifique a diferença dos códigos:

:arrow: ADA
:arrow: C
:arrow: C++

Olhando ADA pela primeira vez parece uma mistura de Java com PL/SQL. :shock: [/quote]

Parece muito com Delphi, legal…[/quote]

nao parece com Delphi é um pouco parecida com pascal que é baseada na linguagem ALGOL 60, da qual a ADA tambem foi inspirada.

entao ambas sao primas … pois possuem o mesmo Avô [/quote]

Delphi Pascal, uma derivação da ObjectPascal…Modo de dizer sabe como é :smiley:

[quote=thingol]Como exemplo de “weak typing” vamos ver um código em JavaScript.

Como exemplo de “strong typing” vamos ver um código em Java.
[/quote]

Sendo pedante:

Strong static typing: Java.
Strong dynamic typing: javascript.
Weak typing: C…

opa, mais gente conhece Ada (é Ada, não ADA - é nome próprio, gente!!) do q eu imaginava. rs.

eu trabalho com Ada há um tempinho. Quer dizer, brinco, já que não tem mto mercado pra isso no Brasil - por incrivel que pareça usam C na embraer. rs

mas se até um puta dum veterano em computação q adora Ada ta trabalhando com PHP lá no Reio Unido (Nick Roberts), não da pra eu, um matemático, querer muito aqui no Brasil. rs.

o mais legal dessa linguagem é ela dispensar o uso de um debuger (sério, vc praticamente nunca usa - embora exista - debuger com ela).
Vc pode acessar classes java e funções de C, fortran e qualquer outra linguagem se seu compilador suporta-la. No caso do gcc essas 3 funcionam mto bem, e existe um compilador que suporta C# (eu não sei qual, mas fmz… hehe)

vc pode compila-la, tb, para a virtual machine tanto do java quanto a do .net da micro$hit (sei lá como se chama essa vm, mas fmz. rs).

com isso vc pode desenvolver qualquer tipo de aplicação q vc quiser (incluindo aplicativos J2EE, J2ME, …)

elá já vem com um anexo sobre computação distribuida (tipo o JRI) e vc ainda consegue implementações (boas) de corba, moma e soap feitas em Ada - sem contar os bindings.

tem gtkAda, qtAda, XML/Ada. O que falta é um bom pacote aberto para criação de PDFs. :stuck_out_tongue:

ela foi criada em um concurso que o DoD (departamento de defesa norte americano) fez. Tem uma palestra em video no www.gnat.com (Ada lectures, se não me engano) que trata, dentre outras coisas, a esse respeito.

é de alto nivel (ela realmente te força a pensar na aplicação), mas e permite focar a atenção em detalhes como alocação de memória.

ela é uma linguagem padronizada - foi a primeira desse tipo orientada a objetos - e a primeira revisão foi em 83 (Ada83) e a segunda em 95 (Ada95).

No ano passado (2005) saiu a 3a revisão (quem advinha o nome? :P), mas não tem nenhum compilador aberto que a suporte.

Atualmente estou desenvolvendo um ERP - aberto e ainda engatinhando - em Ada95 (pq eu não $$ pra comprar um compilador de 2005 :P) e CORBA. Devo usar gtkAda tb.

Estou também no projeto AdaOS (www.adaos.net - que está em estado de latência há um tempinho).

Se alguém quiser alguma ajuda com Ada pode perguntar pra mim. Outras fontes de informações boas - mto melhores do que eu hehe - são:
http://www.adapower.com/

e o newsgroup:
comp.land.ada ( http://groups.google.com/group/comp.lang.ada )

obs.: eu já trabalhei um tempo com Java, principalmente com o projeto www.OFBiz.org.

[]'s

hehe, legal o pau.

Eu não li o que escreveram acima, mas enfim, eu trabalho na raytheon no desenvolvimento de interface para avionicos para embraer, ATR, e outros. (atualmente trabalho estou implantando solucoes para o SIPAM e tucano A29) e posso falar algumas coisas que sei:

  • Não existe redundancia de software (digo, nenhum programador programou isso). Geralmente todo o comando do avião pode ser feito manualmente (o que existe é “outra forma” de fazer a mesma coisa). O unico sistema de “redundancia” são as celulas piloto/co-piloto. Mas na verdade eles usam os mesmos computadores, se estragar aquilo, estraga tudo referente ao computador especifico (são muiiiiiiiiitos), só no glide slope do emb145 são 2 computadores, o que acontece é perda parcial de funcionalidade. As coisas são isoladas, e nao “duplicadas”.

  • A maioria dos controles criticos são software em fcpa com reset automatico em caso de falha ou requisicao do usuario, fisicamente é igual um fusivel (antigamente era um fusivel mesmo).

  • Na maioria dos avioes são usadas dezenas, centenas de linguagens de programacao, isso varia muito do fornecedor. (acho que no A380 são tipo “todas as que existem” ehehheheh)

Eu cuido da parte de display (mostrar as coisas na tela), já fizemos várias coisas em java, mas ainda não foram homologadas, isso é um rolo desgraçado.

O pessoal usa muito ADA, Fortran e coisas do tipo, e raramente C. Geralmente OpenGL + C são só a parte de display.

ah, legal q o pessoal da embraer use Ada.

só acho estranho q, em uma palestra, um kra q trampa lá e é professor do IME-USP falou que eles usam mais C mesmo e ele nunca tinha ouvido falar de Ada. rs. :stuck_out_tongue:

ele falou tb q rola redundancia. Não especificou como exatamente, thought…

E o sistema operacional ? QNX ?

pelo menos nos avionicos que eu já trabalhei (garmin, lockheed) não existe “sistema operacional” as aplicacoes não dependem de SO. Só da API que o fornecedor oferece. Geralmente você faz o programa e envia para o fabricante gravar no hardware, fcpga. As vezes a API é só um wrapper para microcontrolador.

Mas lógico q existem centenas de coisas ali, mas as coisas não relacionadas a avionicos eu não sei. (como esses displays para passageiros).

Detalhe: Embraer é só uma projetista e montadora de aviões, ela só fabrica 20% do jato que vende. A raytheon (onde eu trabalho) é quem instala todo o sistema de navegação. As asas, por exemplo, vêm prontas da australia. Eles fizeram o projeto do aviao, todo o sistema avionico já existia, fornecido por N empresas. As partes que não existiam (como as asas) eles contrataram empresas espalhas pelo globo para fabricar para eles. Não é questao de competencia, mas sim de tornar o produto o mais barato possível.

Perfeito. Não sei como a conversa de qualidade se ligou com CMM. Uma coisa não tem nada haver com a outra. Existe uma lenda que diz que se teus processos seguem as normas do CMM então é provavel que teu software tenha uma boa qualidade. Mas dá pra fazer vários cocozinho bem documentados, auditados, gerenciados, e etc… etc… etc…

Perfeito. Não sei como a conversa de qualidade se ligou com CMM. Uma coisa não tem nada haver com a outra. Existe uma lenda que diz que se teus processos seguem as normas do CMM então é provavel que teu software tenha uma boa qualidade. Mas dá pra fazer vários cocozinho bem documentados, auditados, gerenciados, e etc… etc… etc… [/quote]

Mas quem disse que processo traz qualidade? Não esqueçam que quem mete a mão no código são as pessoas e não os processos. Agora me digam o que garante qualidade?
Filosoficamente eu respondo, - nada garante nada! O que garante um resultado é um ou mais individuos estarem querendo obter tal resultado! E nada mais.

Só que agora vou fazer uma pergunta:

  • Digamos que um produto é fornecido por duas pessoas, uma vcs conhecem e sabem que ela é uma pessoa criteriosa e que tenta fazer as coisas da melhor forma possivel a outra não vcs não conhecem. A primeira cobra um pouco mais pelo produto. Vcs não tem tempo para estudar cada uma das pessoas antes de fechar a compra.

De qual pessoa vcs vão comprar?

Ou vamos além, vcs têm uma empresa e pretendem contratar um funcionário. Há duas pessoas concorrendo a vaga, uma tem faculdade, várias extensões, certificados e os cambao. A outra é extremamente inteligente(Vcs não sabem disso) mas só tem o 2º grau.

Quem vcs contratam?

Voce deve aplicar a energia certa para atingir o objetivo. Se CMM é necessário, que seja.

CMM e qualidade estão ligados sim.

Essa questão de “quem voce escolhe?” é muito complexa. Quem voce escolhe, Windows ou Linux? Responder: “Linux, por que ele é melhor.” é ingenuidade demais, há muito mais coisas envolvidas.

[quote]Voce deve aplicar a energia certa para atingir o objetivo. Se CMM é necessário, que seja.

CMM e qualidade estão ligados sim.

Essa questão de “quem voce escolhe?” é muito complexa. Quem voce escolhe, Windows ou Linux? Responder: “Linux, por que ele é melhor.” é ingenuidade demais, há muito mais coisas envolvidas.[/quote]

Eu sei jmm que é complexa, mas o que eu quis visualizar é que como o ser humano é pré-conceituoso por natureza, nós tendemos sempre a escolher a opção que “parece” ser mais adequada ao nosso caso. Nem sempre é a mais acertada.

No caso das pessoas, quem me garante que o produto da segunda pessoa não é um puta produto?

e no segundo quem me garante que o cara formado não é um acadêmico que só sabe estudar para provinhas mas na hora de meter a mão na massa o boneco é fraco?

Perfeito. Não sei como a conversa de qualidade se ligou com CMM. Uma coisa não tem nada haver com a outra. Existe uma lenda que diz que se teus processos seguem as normas do CMM então é provavel que teu software tenha uma boa qualidade. Mas dá pra fazer vários cocozinho bem documentados, auditados, gerenciados, e etc… etc… etc… [/quote]

Mas quem disse que processo traz qualidade? Não esqueçam que quem mete a mão no código são as pessoas e não os processos. Agora me digam o que garante qualidade?
Filosoficamente eu respondo, - nada garante nada! O que garante um resultado é um ou mais individuos estarem querendo obter tal resultado! E nada mais.

Só que agora vou fazer uma pergunta:

  • Digamos que um produto é fornecido por duas pessoas, uma vcs conhecem e sabem que ela é uma pessoa criteriosa e que tenta fazer as coisas da melhor forma possivel a outra não vcs não conhecem. A primeira cobra um pouco mais pelo produto. Vcs não tem tempo para estudar cada uma das pessoas antes de fechar a compra.

De qual pessoa vcs vão comprar?

Ou vamos além, vcs têm uma empresa e pretendem contratar um funcionário. Há duas pessoas concorrendo a vaga, uma tem faculdade, várias extensões, certificados e os cambao. A outra é extremamente inteligente(Vcs não sabem disso) mas só tem o 2º grau.

Quem vcs contratam?[/quote]
O que tu disse foi exatamente o que e disse :slight_smile: