Os 10 mandamentos do arquiteto de software

Hehehe … discordo … tem gente que a sun paga aqui :twisted:

//edit

Falta mais não …

haha, sério? eh… bom… pula essa parte então. :stuck_out_tongue:

Falando em Visual Studio 2003.
Eu cheguei a dar uma olhada…
[Comentário]
Obs: o cara que foi mostrar falou que teve que arranjar 15 Gb no notebook dele para poder instalar… :S
[/Comentário]

A microsoft “promete” com essa versão 2003, mas como quem apresentou foi um marketeiro, não estou nem um pouco empolgado para ver essa criança.

antes que vcs me ataquem,
não eu não mexo com .NET, só “brinquei” um pouco, e mesmo assim foi com C#…
Que convenhamos é quase uma cópia do java.

Cara, acho que você confundiu o 2003 com o 2005. Eu dei o exemplo do 2003 beta, mas ele já é final, e não acredito que precise de mais que 1 giga para instalar…

Já o 2005 é pesadão mesmo, até porque ele tem vários “módulos” pensados em “team development”.

A idéia da MS é que o Visual Studio seja desde a ferramenta que o programador usa para programar, passando pela ferramenta de modelagem usada pelo analista, de administração de banco de dados (do SQL 2005), de modelagem de BI (também sql 2005), modelagem física da sua arquitetura (definir quais são os servidores, se estão em segmentos de rede separados, etc, quais as regras de firewall…), controle de qualidade, batch build e até mesmo para desenvolvimento em ferramentas de terceiros (incluindo aí Oracle e SAP até onde estou sabendo).

Ele inclui um toolkit chamado “Domain specific language toolkit” onde você pode tirar proveito do designer visual dele para qualquer coisa que você queira, por exemplo: Quero criar um modelador de UML com algumas particularidades e com um suporte a geração de código do meu jeito, então pego o toolkit e monto isso. Daí você não fica preso ao drag and drop built in do Visual Studio.

Então se você for instalar o “pacotão”, poe 15 giga mesmo (tenho que confirmar esse tamanho). Mas você pode, por exemplo, baixar as versões “Express” do C#, SQL Server e etc que são simples e pequenas (1.3 GB). Se não me engano, essas versões serão gratuitas, mas ainda não sei direito dos detalhes comerciais.

Assisti algumas demonstrações, fiquei muito impressionado com algumas coisas e um pouco decepcionado com outras, mas no geral gostei bastante. Isso porque do Visual Studio.Net 2002 para o 2003, quase nada mudou, mas do 2003 para o 2005 a mudança é enorme.

Hã? 1 GB? :shock: :shock: :shock:

Hã? 15 GB??? :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock:

ehehehehe, achou muito? :slight_smile:

Bom, nada impede de baixar apenas o .net Framework (uns 20 mega) + o Web Matrix (acho que são 4 mega) e desenvolver… :slight_smile:

Os 15 giga provavelmente estão incluindo uma máquina virtual, porque a gente evita de misturar produto beta com o windows que usamos no dia a dia…

[quote=mateusvelloso]ehehehehe, achou muito? :slight_smile:

Bom, nada impede de baixar apenas o .net Framework (uns 20 mega) + o Web Matrix (acho que são 4 mega) e desenvolver… :slight_smile:

Os 15 giga provavelmente estão incluindo uma máquina virtual, porque a gente evita de misturar produto beta com o windows que usamos no dia a dia…[/quote]

Digamos que achei… humm… muito! Mas muito, tipo… muito, é aquilo… muito, muito, muito, MUITO mesmo!

E sobre a máquina virtual não entendi muito bem, seria um Windows simulado de modo a não afetar o Windows “real” se o programa aí não funcionar? Acredito que não esteja falando do .NET Framework, que tem só uns meguinhas.

Sinceramente, mesmo assim, 1 GB já me assusta, e muito. E eu que achava que meu Eclipsezinho extends God de 115 MB era grande…

Abraços.

Na verdade, se não me engano, já é possível desenvolver com Eclipse/C#/Mono… Tenho que confirmar, porque tinha um pessoal trabalhando nisso.

Mas estamos falando de instalação FULL, ou seja, instala C#, VB, C++, J#, todas as ferramentas… Dificilmente alguém precisa disso tudo.

A máquina virtual é isso mesmo. Pode ser um VMWare ou o próprio Microsoft Virtual PC e Virtual Server. A idéia é muito boa (e útil) principalmente para nós desenvolvedores. Voce roda um processo que emula uma máquina, instala um sistema operacional nela e roda o que você quiser. É muito legal para ambientes de testes, você tira uma imagem de um dvd, joga pro computador, levanta um SO zerado, instala seu software, testa, remove e deleta a máquina.

Na verdade, muitas empresas estão colocando seus servers assim. Coloca um storage enorme, um cluster com um monte de máquinas físicas hospedando um monte de máquinas virtuais. A vantagem, obviamente, é que você tem tolerância a falhas, distribuição de processamento e uma enorme velocidade para restaurar um servidor perdido (basta copiar a imagem). Isso, inlusive, não é só windows não. Eu tenho um linux virtual dentro do meu windows aqui para brincar de rodar .Net nele.

Fora a vantagem de isolar essa “máquina” do resto, imagina se você quiser testar um virus :slight_smile: Se olhar por esse lado da segurança, essa máquina virtual tem muito em comum com a do java…

Poxa, assim não consigo nem mais postar no Guj! :slight_smile:

[]'s
Marco Campêlo

Poxa Mateus o artigo é muito legal, compartilho suas visões! Só não entendi a última do Design Patterns. Em que situação eu deixaria de usar um pattern em nome de uma feature do .NET e vice-versa? Parece que DP são ferramentas. Poderia exemplificar?

Uma das partes mais legais é quando você diz:

Isso, NMO, é a lei que rege pelo menos a maioria do mercado, e a Microsoft é um grande exemplo de empresa que trabalha forte com a aparência (não importa o que é, o que importa é a impressão que o cliente tem). Concorda?

google eclipse ikvm :slight_smile:

Screenshot:

Hmm, acho que vou instalar windows e .NET só para rodar o Eclipse com ikvm. Hehehehe

Eu tenho uma proposta.

Já que muitos acharam que os 10 pontos foram bem escolhidos e mal justificados, justifiquem os 10 amndamentos propostos.

Como eu disse achei tudo legal, só não entendi a última.

Gostei da ideia, Shoes, mas, sinceramente, eu que ja nao gosto dos 10 mandamentos originais, gostei menos ainda desses. Eis a minha lista revisada dos 4 mandamentos:

:arrow: Tenha o sistema sempre em estado utilizavel e testavel durante o desenvolvimento

:arrow: Faca o que for importante para o negocio primeiro, o que for importante para o projeto depois, e deixe o que nao for nem um nem outro de lado

:arrow: Use as melhores ferramentas e pessoas que o orcamento puder garantir

:arrow: Tenha um processo, e refine-o sempre para garantir da melhor forma possivel que os outros mandamentos sejam cumpridos a risca

Faltou alguma coisa?

Atualmente eu estou trabalhando num projeto de migração para Asp.Net+VB.Net de um grande sistema feito em VB6. Graças a Deus no próximo mês essa tortura vai acabar, pois vou para uma empresa trabalhar com Java.

Essa não é a primeira vez que eu trabalho com VS.Net. Ano passado também fiz um grande projeto nele, e digo que em nenhuma das vezes, em nenhum momento, eu me senti minimamente confortável com o VS.
No projeto do ano passado tivemos grandes problemas com alguns simples mecanismos de validação que o próprio Asp.Net cria, que, basicamente falando, são javascripts criados em tempo de execução. Muita coisa teve que ser feita à mão, pois o Asp.Net não oferecia uma solução mais flexível para o problema que tivemos.
Outro grande problema foi com sessões. Elas simplesmente morriam após um intervalo aleatório de tempo. Mesmo que o timeout fosse colocado no máximo possível, a sessão muitas vezes morria com 1 ou 2 min. Entramos em contato com alguns consultores certificados pela M$, que nos disseram que isso seria resolvido em releases futuros. Só que, como não tínhamos tempo pra esperar a boa vontade da M$ pra liberar esses releases, tivemos que implementar outra solução às pressas.
Fiquei sabendo até de alguns boatos dizendo que esse problema de sessões é o mesmo que o Orkut tinha até há pouco tempo atrás.

Aliás, na minha opinião, o Asp.Net é uma das tecnologias mais mal feitas que eu já vi até hoje. É praticamente a “reinvenção da roda” (alguém falou isso?? :roll: ) do Html, mas tem objetos incompatíveis com o padrão proposto pelo W3C (aliás, M$ e padrões não são compatíveis, que o diga o polêmico Mauro Santana, colunista da MSDN Mag), alguns que simplesmente não existem, além de ser extremamente prejudicial para o trabalho de um webdesigner, caso o programador não esteja MUITO familiarizado com a tecnologia. E mesmo assim, para o programador fazer algo que seja manipulável por um webdesigner, ele terá que fazer um esforço hercúleo.

No projeto atual não estamos tendo tantos problemas como antes, pois a aplicação, apesar de grande, não é muito complexa. Digamos que os maiores problemas que estamos enfrentando são o tratamento automático do versionamento de arquivos do VS, que às vezes sobrepõe os arquivos instalados no servidor de teste com versões antigas que estão no cache local da máquina, relatórios feitos no Crystal Reports em versões não suportadas pelo VS, que ele tenta converter mas corrompe, entre outras coisas menores…

Na minha opinião, a IDE do Visual Studio mais atrapalha do que ajuda, tamanha é a quantidade de opções. Algumas delas bem pouco intuitivas e obscuras. Não sei, pode ser apenas impressão minha, mas eu já a uso há muito tempo e até hoje não consegui me acostumar. Só como um exemplo, eu comecei a usar a IDE do Eclipse muito depois de ter visto a IDE do VS, e apesar de também ser uma IDE bem complexa, eu já me adaptei totalmente. Às vezes eu tenho a impressão :roll: de que a Microsoft tenta entupir a IDE do VS de funcionalidades só pra dizer que ela é melhor do que as outras…

Ah… chega de falar dele… só mais uns comentários:

Faz isso não… o WebMatrix é horroroso… às vezes é até melhor usar um EditPlus da vida do que ele. A única coisa que presta nele é o Class Browser.

Na verdade são mais de 2GB. Acabei de ver aqui na minha máquina.

*editado:
Concordo e continuo achando isso mesmo após o autor do artigo ter exposto seus esclarecimentos aqui.

cv, o que tu ta dizendo? Que concorda? Que discorda?

Marcio, onde que o cara fala “compre Windows, compre Windows”???

Ele não fala Java é mau, .NET é bom, ele nem tá falando de tecnologias específicas ali, mas de posturas do desenvolvedor. Não?

Olá

[quote=cv] Eis a minha lista revisada dos 4 mandamentos:

:arrow: Tenha o sistema sempre em estado utilizavel e testavel durante o desenvolvimento

:arrow: Faca o que for importante para o negocio primeiro, o que for importante para o projeto depois, e deixe o que nao for nem um nem outro de lado

:arrow: Use as melhores ferramentas e pessoas que o orcamento puder garantir

:arrow: Tenha um processo, e refine-o sempre para garantir da melhor forma possivel que os outros mandamentos sejam cumpridos a risca[/quote]

A lista original é óbvia e não é nenhuma novidade desde os tempos do Clipper, VB ou Delphi. Não vou justificar nem discutir porque ela fala por si mesma. O erro do Mateus foi tentar justificar o óbvio.

Já esta aqui é bem mais moderna e leva 5 estrelinhas. Muito mais de acordo com o mundo atual. Faço questão de repetir o segundo ítem:

Faça o que for importante para o negócio primeiro, o que for importante para o projeto depois, e deixe o que nao for nem um nem outro de lado.

No próximo projeto que eu gerenciar vou colocar isto no topo da lousa!

[]s
Luca

Olá

+1

Aliás não foi a toa que uma vez o Ray Duncan (gênio do tempo do DOS) escreveu na DrDobbs que os programadores da Microsoft deveriam ser gênios porque conseguir escrever alguma coisa que funcione com as ferramentas Microsoft só sendo gênio. Isto ele escreveu comparando o C da Microsoft com o C da Borland.

[]s
Luca

Sentimentalismos… :roll: A Microfoft é Satã! :evil: Que venha o Messias da tecnologia, salve-nos!!! :smiley: