No princípio era o verbo, e o verbo era Unix.

E do verbo se criam dois pilares, que se tornam sustentáculos de uma batalha fervilhante em ideologias e teorias, que desgastam a integridade moral de seus articulistas, tudo para colocar em evidência a falta de paciência de quem já não consegue pensar por si.

Windows e Linux muitas vezes parecem ser personagens míticos de uma guerra indefinida e sem propósito em prol de sua “justificável” (injustificável!) supremacia indefinida sobre os olhos seu Deus (Unix). Do braço direito de Deus ao Anjo da Luz da eterna discórdia, assim como o Arcanjo Gabriel e Lúcifer, Linux e Windows parecem travar uma batalha épica entre o bem o e mal, muitas vezes invertendo seus papéis, de acordo com os olhos (e a mente) do narrador.

Que seja feito o Windows

Quando a informática ainda parecia só um conceito, e computadores eram coisas que as pessoas ouviam falar, o conceito de sistema operacional já era maduro, e muitos projetos foram criados a fim de satisfazer determinados problemas, indiferente das visões “top-down” e “bottom-up”.

Daí, uma “tal” empresa chamada Microsoft, fundada em 1975 resolveu entrar de “cabeça” nessa área, que até então era dominada por outros muitos gigantes da tecnologia, e então em 1979 surgiu o Microsoft Xenix, um sistema Unix que ela pretendia usar em microcomputadores, após adquirir uma licença Unix Versão 7 da AT&T, e era um sistema Unix completo, e foi provavelmente a versão a mais difundida do sistema operacional Unix em meados dos anos 80, e até hoje parece ser ignorada das páginas da história da empresa, como um filho que foge de casa e forma uma nova família com um sobrenome totalmente novo.

Certamente o Unix não foi o primeiro sistema operacional do mundo, mais com certeza foi um dos mais importantes, principalmente pelo advento da Linguagem C, que foi (é!) amplamente utilizado pelos sistemas operacionais modernos.

O Xenix era um sistema eficiente e cheio de recursos, porém depois da decepção de não poder licenciar o Unix, a Microsoft pareceu ficar “desiludida”, assim em 1987 a Microsoft vendeu a licença do Xenix para a Santa Cruz Operation (SCO) em um acordo que deixou a Microsoft proprietária de 25% da SCO, que por sua vez portou o Xenix para os processadores 386, iniciando uma novela que teve um final muito triste para a SCO, embarcada no desejo da Microsoft de obter as patentes do Unix, entrou em um processo judicial contra a Novell, que hoje detém os direitos do Unix, e após perder o processo pediu concordata.

Aliado ao custo das maquinas RISC, o Unix não atingiu massa critica como SO em estação de trabalho, e não demandou aplicações de automação de escritório.

Enxergando um mercado promissor (os PCs) a Microsoft criou outro projeto, ainda em 1981, o MS-DOS. O DOS já havia sido criado, pela Seattle Computer Products (SCP), concorrente para o CP/M, implementado para computadores da família IBM PC, porém a versão da Microsoft foi a mais difundida das variantes.

E um mortal se torna um Deus Olímpico.

Em 1985, quando a versão 2.0 do Xenix foi liberada, foi também adicionado o suporte para processadores Intel 80286, e mesmo 2 anos antes a SCO (futura dona do Xenix) tendo portado para o processador Intel 8086, já parecia esta claro para a Microsoft que o MS-DOS seria seu “verdadeiro produto”, este por sua vez já estava em sua versão 3.1, e incorporava muito da ideologia Unix, afinal a Microsoft tinha experiência com esse sistema. Características essas que estão até hoje nos Sistemas da Microsoft, como o Windows, que é POSIX compliant. E foi nesse mesmo ano, que se iniciou esse “projetinho” chamado Windows, que era “somente” uma interface gráfica bidimensional para o MS-DOS.

Ainda em 1985, a Microsoft fez um acordo com a IBM para desenvolver o OS/2, que foi um dos primeiros sistemas de 32bits de sua época. Assim, a Microsoft passou ser uma das empresas com maior domínio e experiência em sistemas operacionais, já possuía 6 anos de experiência com o Unix, e já estava produzindo uma variante do DOS a cerca de 4 anos, e agora em conjunto com a IBM estava produzindo o OS/2. Pessoalmente chamo esse momento da história de: O Grande plano.

E a partir daí, ambos projetos DOS e Windows cresceram muito, e obviamente incorporam conceitos do Unix e do OS/2, sistemas que a MS conhecia muito bem, até que em 1990 por uma decisão do Bill Gates a Microsoft decidiu abandonar o projeto OS/2, e em Maio do mesmo ano lançou o Windows 3.x, o primeiro sucesso amplo da Microsoft. Já esse momento da história eu chamo: O Grande golpe.

De lá para cá os sistemas da Microsoft ganharam fama e cresceram em conceito, cresceram a um ponto que o “Unix e o OS/2” que faziam parte do passado da MS se tornaram irrelevantes na visão de muitos.

Os paradigmas da História.

Só por nota, o GNU foi criado em 1984, um pouco antes do que eu chamei de “O Grande plano”, então se você é um dos que afirmam que Stallman teve a idéia da criação de um sistema operacional totalmente livre, por ódio à MS ou algo parecido, por favor, se acalme.

E em 1994, a Microsoft já havia sido processada por pressionar fabricantes de equipamentos a lançar seu produto apenas para sua plataforma operacional. Então se você é um daqueles não sabem por que tanta gente carrega ódio pela empresa, bem, já pode ter uma idéia.

Claro, não vou (e nem quero) falar sobre isso, mais são só dois exemplos, que ajudam entender todo um falatório desmedido espalhado internet a fora.

Desenvolvimento em DOS

O DOS, a grande aposta da MS, fornecia uma única ferramenta de desenvolvimento: O interpretador “BASIC”. E o desenvolvimento um pouco mais “profissional” era realizado com o Macro Assembler da Microsoft (MASM), que poderia ser adquirido separado, posteriormente versões futuras incluiriam melhorias, como o Quick Basic, seguido por compiladores e interpretadores de outras linguagens como dBase, Clipper, COBOL, Fortan, Pascal e o obviamente também o C.

Foi então que a Borland, uma empresa não muito conhecida na época, criou um conceito muito importante para a Informática no geral, a IDE(Integrated Development Environment) com o lançamento do Turbo Pascal, e a vantagem do uso de uma IDE é integrar um editor de programas, um compilador e um depurador em uma única interface orientada a menus.

Entretanto o desenvolvimento em DOS possuía muitas dificuldades, como: Limite de 640KiB de RAM, modelo de memória segmentado do 8086, aritmética de 16bits, ausência de mecanismos de proteção de memória, systemcalls primitivas e a falta de bibliotecas padronizadas. Assim, as ferramentas de desenvolvimento foram sendo expandidas para fornecer todas as bibliotecas e componentes necessários á criação de aplicações “reais”, de modo que programas escritos em uma IDE não poderiam ser compilados em outra.

Desenvolvimento em Windows.

Como disse acima, o Windows era só um tipo de interface gráfica bidimensional para o DOS, e não havia conquistado muito espaço no mercado, até porque nessa época (1985), a computação era quase que exclusivamente direcionada às empresas, e muitas vezes um “shell” não trazia nenhuma vantagem técnica para as mesmas. Porém com o surgimento do Windows 3.0 (1990), foi incorporando uma quantidade suficiente de recursos para atrair usuários e desenvolvedores, eliminaram o limite de 640KiB, criaram um conjunto mais rico de systemcalls e bibliotecas padronizadas para gráficos, multimídia e impressão, facilitando o desenvolvimento de aplicações para o usuário final.

Foi então que uma nova ferramenta surgiu: o Visual Basic. Antes dele o desenvolvimento para Windows utilizava as mesmas ferramentas do MS-DOS, freqüentemente associados ao DOS-Extenders para utilizar mais memória RAM e como as bibliotecas padrão do Windows eram de baixo nível, de modo que um programa simples necessitava de centenas de linhas de código, o VB incorporou bibliotecas de nível mais alto, também um desenhador visual interativo de formulários, automatizando a geração de códigos para a interface gráfica.

O Windows só se tornou popular o suficiente para justificar a criação de IDEs visuais depois que houve uma massa critica de aplicações de produtividade pessoal, como editores de planilha, que era um dos pontos fracos do Unix e OS/2.

Nasce um novo pilar: Windows NT.

O Windows NT, e seus sucessores, foi um sistema operacional totalmente novo, não uma extensão para o DOS como o 3.x, 95,98 e ME, focado no mercado corporativo. Tornou o desenvolvimento em Windows ainda mais fácil ao incorporar novos systemcalls, além de abandonar o modelo de memória segmentado do 8086 e 80286.

Com a expansão da quantidade de systemcalls do Windows, e o surgimento de outros IDEs visuais, fez-se necessário um mecanismo melhor para a construção de bibliotecas de componentes. Assim, a Microsoft definiu os OLE Controls, (OCX) para substituir o VBX e suportar vários IDEs da empresa.

Porém o OLE Controls teve sua definição em baixo nível, gerando o chamado DLL Hell.

A Cultura Windows

Como o SO fornecia apenas componentes de baixo nível e nenhuma ferramenta de apoio ao desenvolvimento, os IDEs tornaram-se “inchados” e incompatíveis entre sí. Lembrando, que mesmo os IDEs da Microsoft deviam ser adquiridos separadamente do sistema.

Os problemas gerados pelo DLL Hell, digo, padrão OCX fizeram com que cada IDE fornecesse suas próprias bibliotecas de componentes, aproveitando quase nada do know-how dos programas ao mudar de IDE. E muito pior, uma nova versão de uma IDE era freqüentemente incompatível com aplicações desenvolvidas com versões anteriores do mesmo IDE.

Renasce um titã.

O sistema Unix, por sua vez, mestre dos mestres, a principio já fornecia desde sempre varias systemcalls, bibliotecas padronizadas de alto nível e vários utilitários de apoio ao desenvolvimento.

O desenvolvimento em Unix era basicamente feito em C, e como o desenvolvimento do próprio SO era baseado em C, e não em assembler como o DOS e o Windows, naturalmente as bibliotecas eram de utilização mais fácil pelos programadores.

As bibliotecas gráficas do Unix, baseadas no X Windows System, não eram de baixo nível como as bibliotecas do Windows, de modo que era viável criar aplicações sem construtores visuais de formulários. Infelizmente não havia um único padrão de Toolkit devido às disputas entre os grandes fornecedores de sistemas Unix.

Foi então, que nasceu o Linux, a partir da necessidade de um clone do Unix compatível com PCs padrão, e da tentativa da AT&T em bloquear o acesso gratuito do UNIX nas universidades. E claro, ele não veio para ser um “Windows Killer” como muitos teimam em afirmar.

Focado em ambientes multiusuários e servidores de rede, para usuários de elevado nível técnico, o Linux, dentro do grau de especialização e demandas mais rígidas de confiabilidade de servidores, bibliotecas e ferramentas de apoio se tornaram mais importantes do que IDEs visuais, além de que, a necessidade de suportar múltiplas plataformas de hardware dificultava a construção de ferramentas visuais.

Foi ai que o Linux e o GNU se encontraram, o Linux entrou como kernel para aquele sistema operacional iniciado em 1984, que já estava pronto, porém “só faltava” o kernel. Assim, um conjunto de ferramentas de desenvolvimento GNU, como editores de programas, compilador (GCC), depuradores, bibliotecas, foram incorporados ao Linux. E por rodar em computadores baratos, rapidamente gerou demanda para aplicações voltadas ao usuário final.

Desenvolvimento Windows

Desenvolvimento Linux

IDEs Monolíticos, que tem que realizar todas as tarefas, e integrar todos os componentes.

IDEs leves, que atuam como ponto de integração para softwares de terceiros, acrescendo em produtividade. É papel do sistema prover os recursos (bibliotecas, etc..) para o programa.

Aplicações “amarradas” ao IDE.

Aplicações “amarradas” somente ao Linux (ou nem em isso).

Foco em assistentes e em “não precisa ser um programador”

Foco em automação e em “saber o que se está fazendo”

Pacotes integrados

Integrar programas de origens diferentes

Dependência do fornecedor

Escolha (e mudança) do fornecedor

Instaladores autônomos e com todos os recursos necessários para rodar o programa.

O sistema se responsabiliza pela instalação e os recursos adicionais ficam por conta do administrador do sistema, ou do software de gerenciamento. Gerando às vezes os muitos “problemas de dependências” ao se instalar programas.

Como cada programa provê todos os recursos para “si”, os programas se tornaram inchados, e a cada versão costuma-se aumentar os requisitos de hardware do programa, mesmo com poucas melhoras significativas.

Os programas são leves e rápidos, e os requisitos de hardware costumam variar muito pouco, a não ser que seja implementado um número muito maior de funcionalidades do mesmo.

A fim de melhorar a desempenho dos programas, o próprio sistema se tornou “inchado” para incorporar diversas as características dos programas e tecnologias.

A performance dos programas é condicional ao próprio programa, e o sistema, assim como os programas tende a manter pouca variação de “tamanho”.

Por prover diversos recursos para diversas tecnologias, o desenvolvimento de novas ferramentas se tornou mais fácil e rápido.

Pelas dificuldades de implementação de novas tecnologias e por acordos comerciais com a Microsoft, o desenvolvimento, apesar de rápido e eficiente não foi desenvolvido muitas ferramentas para o sistema pelas grandes fabricantes de software.

Aliado ao alto preço do sistema, problemas relacionados a licenciamento de software, e segurança, se fez necessário a busca de uma alternativa para projetos em longo prazo.

Aliado a crescente insatisfação com o Windows, e pelas facilidades dos licenciamentos dos softwares do sistema, surgiu um numero grande de desenvolvedores garantindo a viabilidade para o suporte do sistema para projetos de longo prazo

 

Muito pode ser citado nessa tabela, porém é importante ressaltar que a decisão da plataforma para o desenvolvimento de aplicações deve ser feita de forma minuciosa, de modo que seja possível aproveitar o máximo das “qualidades” de cada sistema, a fim de viabilizar “ao máximo” todo o escopo do projeto em sí.

Publico alvo, também é um fator de extrema importância, mais também devem ser consideradas as previsões de curto ou longo prazo para esse tipo de situação.

Outra coisa interessante de salientar é que pela facilidade de personalização do sistema Linux, muitos projetos estão surgindo junto ao sistema como uma aplicação paralela ao sistema Windows, por exemplo, o Gparted usa um Live CD em Linux capaz de oferecer diretamente todos os recursos de seu programa independente da plataforma principal do PC, podendo então ser um concorrente direto de um aplicativo nativo ao Windows (Partition Magic), e também considerar como “publico alvo” essa plataforma. Claro de modo geral desconsiderei as noções de programas multiplataforma, que entram em um escopo diferenciado nesse tipo de analise.

Na próxima parte do artigo, falarei um pouco mais sobre as ferramentas de desenvolvimento do Linux, com alguns exemplos práticos, e também sobre outras vantagens e desvantagens de desenvolver para essa plataforma.

 

Fonte: Wikipedia e Lozano

Notícias relacionadas

Wallacy's picture

Obrigado.

Vou aproveitar esses complementos para o próximo artigo da "série". Antes preciso assistir esse "Triumph of the Nerds", parece interessante.

-----
Para aquele que controla o próprio pensamento, todo o resto se torna simples jogo de crianças...
Gandhi.

flaviotomazio's picture

Simplesmente WOW Jawdropping! , que artigo interessante. Isso me lembra a uma aula que tive, o professor disse: "Se você desenvolver em Java o seu software, teste tanto no Windows, quanto no Linux, alguns recursos que rondam no Windows podem não rodar Linux."

WorldOrg

Gilberto Martins's picture

flaviotomazio disse:
"Se você desenvolver em Java o seu software, teste tanto no Windows, quanto no Linux, alguns recursos que rondam no Windows podem não rodar Linux."

Segue uma pergunta de quem não é desenvolvedor: e é verdade? o "write once run anywhere não é tão verdadeiro ?

Abraços

===
Blog: Livre e Social

Dennes's picture

Oi, Gilberto !

Não, não é. É marketing.

Para que isso seja verdadeiro você precisa capar tanto o seu desenvolvimento que muitas vezes não vale a pena pagar este preço.

É como a relação entre T-SQL, PL-SQL e SQL-ANSI. Se escrever em SQL-ANSI vai rodar, mas você vai perder muitos recursos dos ambientes específicos.

[]'s

Dennes

---------------------
CidadaoCarioca
BufaloInfo

Wallacy's picture

Quote:
Se escrever em SQL-ANSI vai rodar, mas você vai perder muitos recursos dos ambientes específicos.

Depende da aplicação também né... Geralmente isso é mais valido para projetos muito grande....

O que é uma pena... Seria bom se o "write once run anywhere" fosse infalível.

-----
Para aquele que controla o próprio pensamento, todo o resto se torna simples jogo de crianças...
Gandhi.

hamacker's picture

Dennes disse:
Oi, Gilberto !

Não, não é. É marketing.

Para que isso seja verdadeiro você precisa capar tanto o seu desenvolvimento que muitas vezes não vale a pena pagar este preço.

É como a relação entre T-SQL, PL-SQL e SQL-ANSI. Se escrever em SQL-ANSI vai rodar, mas você vai perder muitos recursos dos ambientes específicos.

[]'s

Dennes

---------------------
CidadaoCarioca
BufaloInfo

Não é um correspondente verdadeiro porque TSQL, PSQL, DSQL e tantos pseudos-SQL de cada banco são liguagens muito poderosas para serem usados por seus bancos. Já o SQL ANSI é apenas uma linguagem de consulta que não dá nem para coçar os dentes no mundo de hoje.

O C ANSI seria um exemplo mais perfeito, onde voce pode seguir pelas libs compativeis e ter um código rodando em qualquer compilador C, ou se desviar do ANSI e ter um código que pode correr o risco que quebrar a portabilidade.

Isso me faz lembrar um pouco de linguagens como o VB e PHP que a cada versão era incompatível com a anterior. Já com C e Pascal isso nunca aborreceu.

Tem de parar de pisar no pé do JAVA, pode não ser a melhor linguagem do mundo para alguns, mas é a que mais se aproxima da ansiedade comercial do "escreva uma unica vez e rode em qualquer lugar".

--

http://hamacker.wordpress.com

Dennes's picture

Oi, Hamacker,

Quote:

Não é um correspondente verdadeiro

Sua colocação é um ponto de vista pessoal, assim como minha oposição a ela.

Você acredita que a diferença existente por exemplo o C ANSI e desvios dele sejam diferenças aceitáveis para que tais desvios sejam evitados.

Já eu acredito que essas diferenças, quer sejam no C ANSI, no Java, ou onde forem, são consideráveis por causa do ambiente operacional.

Quote:

mas é a que mais se aproxima da ansiedade comercial do "escreva uma unica vez e rode em qualquer lugar".

Até onde isso é uma ansiedade comercial que deveria ser alimentada ?

Fiz um comentário em algum post por aqui de que cada um vê o mercado que o cerca e é este o caso neste comentário, eu vejo uma coisa, você outra.

Pelo que me cerca, essa afirmação é uma completa lenda e não é levada a sério comercialmente. Inúmeras software houses experiêntes simplesmente descartam essa idéia, considerando a perda existente ao se tentar fazer isso. Mas como disse, é apenas o ambiente que me cerca, uma estatística disso é muito improvável de existir.

[]'s

Dennes
---------------------
CidadaoCarioca
BufaloInfo

Gilberto Martins's picture

Olá Dennes.

Como já disse, estou interessado em voltar ao desenvolvimento. Mas vejo frequentemente seus comentários apontando para uma possível queda do Java. Talvez "queda" não seja o termo mais adequado, mas seus comentários são quase sempre negativos em relação à linguagem.

De fato, encontrei este texto que afirma que "Java é cada vez mais ameaçada por novos métodos de desenvolvimento". Achei interessante o seguinte texto:

Computerworld disse:
Na Sun, o CEO Jonathan Schwartz continua sendo um defensor convicto de Java, mas reconhece que não é a única linguagem no páreo atualmente. Na conferência SugarCon 2008 para usuários do SugarCRM, no início deste mês, Schwartz falou sobre o projeto Da Vinci Machine para ampliar a JVM de forma a acomodar outras linguagens. “A intenção é dizer, 'Olha, Java é uma linguagem, não é um martelo para todos os pregos. Acontece que é um martelo realmente bom’.”

Entretanto, este declínio pode estar começando agora, para fazer efeito em alguns bons anos ainda. Para confirmar isto, este site traz estatístisticas construídas sobre pesquisas feitas em alguns sites de busca. É interessante pois, apesar de não poder ser tido como uma base eficaz, é um sinal de tendências. Afinal, quanto mais popular, maior a procura sobre a informação.

Assim, considerando estes dois sites, compreendo que por mais que realmente o interesse por .NET esteja crescendo, Java ocupa um lugar proeminente, e ainda permanecerá nele por um bom tempo.

Veja que não sou desenvolvedor e os sites citados demonstram imparcialidade.

Saudações

===
Blog: Livre e Social

Dennes's picture

Oi Gilberto,

Por causa de sites como esse fico muito desanimado com as informações disponibilizadas on-line.

ComputerWorld : A matéria tem vários erros técnicos que podem levar a má interpretações tendendo contra a linguagem Java. Pelo menos, em um pequeno trecho, a matéria cita que o Java ainda tem 20 ou 30 anos de vida. Mas os erros técnicos são diversos e está na minha lista de coisas a fazer escrever comentários sobre esta matéria

LangPop : A metodologia utilizada para comparação é absurda. Ao escreverem "Visual Basic" no gráfico, nem mesmo citam de qual versão se trata. Não se preocupam com o ambiente de desenvolvimento, que é o mais importante hoje, apenas com a escrita. Um exemplo disso é misturar SQL e Javascript nas contagens. Quem desenvolve um sistema inteiro em SQL e Javascript ? Os cálculos, portanto, são totalmente furados.

Não creio que você me veja falar contra o Java tão frequentemente não, até porque não gosto de debates Java x .NET. A única coisa que posso falar contra o Java é em termos de produtividade do desenvolvimento, em que o .NET é muito superior, apesar de alguns desenvolvedores Java insistirem que não, nesse caso acabo deixando que atribuam isso a minha opinião pessoal.

De resto, Java e .NET se misturam em vantagens e desvantagens tão amplamente que é quase impossível dizer se há um melhor ou não. Óbvio que tenho minha opinião pessoal.

[]'s

Dennes
---------------------
CidadaoCarioca
BufaloInfo

Gilberto Martins's picture

.

Olá Dennes

Uma observação sobre o LangPop:

Dennes disse:
LangPop : A metodologia utilizada para comparação é absurda.

Antes de avaliar a metodologia, é interessante observar o que o site comenta sobre o que está sendo apresentado:

LangPop disse:
We have attempted to collect a variety of data about the relative popularity of programming languages, mostly out of curiousity. To some degree popularity does matter - however it is clearly not the only thing to take into account when choosing a programming language.

  • ...
  • Note: these results are not scientific. They are interesting nonetheless, and are an attempt to glean as much data as possible notwithstanding the fact that gathering precise data is impossible.

    Os autores estão conscientes de que isto é apenas uma coleção de estatísticas de buscas. Baseados principalmente (talvez) que algo é tão popular quanto mais se procura saber deste algo.

    Dennes disse:
    Ao escreverem "Visual Basic" no gráfico, nem mesmo citam de qual versão se trata.

    Fizeram o mesmo para todos os outros. É apenas resultado de buscas. Nada mais do que isto. Um termômetro pouco acurado, mas interessante e que deve ser observado. É como uma pesquisa eleitoral, que pode inclusive apresentar uma tendência errada, uma vez que é por amostragem. O LangPop também, mas a dimensão da base da amostragem é expressiva o suficiente para montar um "esboço do rascunho" da tendência.

    Dennes disse:
    Não se preocupam com o ambiente de desenvolvimento, que é o mais importante hoje, apenas com a escrita. Um exemplo disso é misturar SQL e Javascript nas contagens. Quem desenvolve um sistema inteiro em SQL e Javascript ? Os cálculos, portanto, são totalmente furados.

    Para muitos, o VI ou o VIM é um ambiente de desenvolvimento espetacular, melhor que as IDEs. Para outros, é complicado pensar como se desenvolvia sem uma IDE, no passado. Estes números não abrangem isto, apenas buscas feitas por usuários em sites de busca. Como a explicação do objetivo do site foi explicado logo no princípio, imaginei que não seria necessário citar isto.

    Popularidade, que foi o foco do site, é compreendido melhor com o seguinte exemplo, completamente fora do escopo da discussão:

    O BBB é um fracasso mental incontestável, devido a sua completa ausência de objetivo, mais parecendo com algo que não sabe o que é e nem para que serve.

    Entretanto, é popular o suficiente para que uma quantidade razoável de espectadores paguem para decidir quem seria o próximo a ir para o tal paredão.

    Uma certa linguagem pode não ter este ou aquele aspecto que deve ser ou é relevante, e mesmo assim é mais popular, e mais procurada pela maioria.

    Saudações

    ===
    Blog: Livre e Social

    Dennes's picture

    Gilberto,

    Quote:

    Fizeram o mesmo para todos os outros. É apenas resultado de buscas. Nada mais do que isto. Um termômetro pouco acurado

    Seria um termômetro pouco acurado se a única coisa errada com ele fossem os números. Mas não, são comparações absurdas.

    Quem usa javascript, por exemplo, está desenvolvendo o lado client de uma aplicação web. Obviamente está usando uma linguagem de servidor (qual?) além de uma forma de acesso a banco (muito provavelmente SQL).

    Ou seja, colocar javascript e SQL lado a lado em um gráfico comparativo com outras linguagens de programação é absurdo.

    O framework .NET sozinho deve ter umas 40 ou 50 linguagens de programação para ele, foram livros específicos sobre determinadas áreas do framework (ASP.NET ,WCF, WPF,WF, etc.). Java tem o J2EE, J2ME, e muito mais coisas. Simplificar isso e fazer uma comparação apenas pelo nome de uma linguagem torna o resultado totalmente inválido, resquício da época em que eu programava em .PRG e realmente a linguagem era o que determinava um ou outro ambiente de programação.

    Por causa de todas estas variantes existentes, abordar uma comparação desta forma é algo absurdo, que leva as pessoas ao erro, como por exemplo citar o site deles como termômetro para alguma coisa.

    []'s

    Dennes

    ---------------------
    CidadaoCarioca
    BufaloInfo

    Gilberto Martins's picture

    Olá Dennes.

    Estou sonado, e coloquei a resposta do teu post aqui sem querer.

    Desculpe pela minha falha.

    ===
    Blog: Livre e Social

    OMGWTFBBQ's picture

    É bom que seja pois utilizei estes dados no meu TCC sobre Java versus .NET... Sticking out tongue

    davidkwast's picture

    PO, se der disponibiliza ele aqui no Meiobit se for possivel. É sempre bom ler um texto compilado com o método científico, onde a parcialidade é jogada de lado se o método for seguido as riscas.

    []s

    OMGWTFBBQ's picture

    Deixa o meu orientador aprovar (ou não). Eye-wink

    Mas já vou adiantando que na minha conclusão, a resposta à pergunta "Qual plataforma é melhor, Java ou .NET" é: "depende".

    Bem estilo consultoria de TI mesmo. Eye-wink

    davidkwast's picture

    Tem que ser isto mesmo, vai ter um escopo para avaliar.

    []s

    Parabéns, uma aula de história pra mim! Bastante sucinto também, explica tudo detalhadamente, desde as críticas à MS, passando pelos problemas de dependências, e finalizando no elefante-branco do Vista. Sensacional!

    flaviotomazio's picture

    Por favor, alguém me explica o significado da expressão "elefante-branco".

    WorldOrg

    YinYang's picture

    Um elefante branco é uma possessão suposta valiosa cujo o gasto exceda sua utilidade, e é conseqüentemente uma responsabilidade.
    é como o vista mesmo, hauhauhuah

    Um elefante branco atrai bastante gente e é um objeto de curiosidade. Porém, o custo para mantê-lo é muito alto e ele não serve para absolutamente nada, apenas para os outros apreciarem.

    ------------------------------

    Campanha Play Ogg

    hamacker's picture

    Elefante Branco chama bastante a curiosidade, aguça os sentidos, mas no fim é complicado sutenta-lo.

    É como comprar um passat bem antigão, bacana, legal, supimpa, mas consome muita gasolina, dificuldade para manutenção e quase sem valor comercial.

    Um exemplo foi usado com DTV, onde um setupbox custa R$ 900,00, não funciona em todo lugar, não são todos os programas em HD e tem grande chance de ficar obsoleto em breve porque o GINGA (software de interatividade) só vai sair na metade do ano. Peraí...acho que estou confundido, este aí não é um elefante branco e sim um GRANDE MICO ! Jawdropping!

    OMGWTFBBQ's picture

    Quanta bobagem encadeada... Barf!

    renanfernandes's picture

    Muito bom.

    Eu já desenvolvi bastante em linux, tanto aplicações comerciais como academicas e "diversão". E sendo muito sincero : A maioria das experiências foi traumática! principalmente quando usei pela primeira vez o GTK. Como alguém em sã consciencia pode ser produtivo usando GTK? ?? ? ? Jawdropping!

    Mas, enfim. Descobri o python e o pyQT e a partir daí minha vida mudou Sticking out tongue

    Gilberto Martins's picture

    Opa!

    Pode mandar links sobre python ? Estou querendo voltar ao desenvolvimento e parece que a melhor opção para isso é python. Ainda mais se puder ter uma GUI.

    Infelizmente, não conheço nada destes novos conceitos, tipo framework, IDE, etc. Sou do tempo em que se usava sidekick para edição dos .PRG (alguem lembra?). Por isto (no meu caso) a maior afinidade com os Unix em geral.

    Obrigado

    ===
    Blog: Livre e Social

    jwjosefy's picture

    Olá Gilberto.

    Eu sei que vai meio atrasado, mas vai mesmo assim:

    Livro MUITO BOM sobre Python e Qt: aqui

    Python (oficial): www.python.org

    Python Brasil: www.pythonbrasil.com.br

    Gilberto Martins's picture

    Olá jwjosefy.

    Estou dando uma olhada no link que você enviou, e de pronto lhe agradeço. Mas o QT, quando para uso comercial, é licenciado. Pelo que andei futucando, o GTK é livre e gratuito, mesmo para uso comercial. Você teria um link bom para esta biblioteca ?

    Já soube que desenvolver com PyGTK onera e muito a escrita do código, me disseram que o uso de uma certa biblioteca reduz este peso. Mas meu problema mesmo é o licenciamento.

    Desculpe, desde então, e antecipadamente lhe agradeço.

    Abraços

    ===
    Blog: Livre e Social

    davidkwast's picture

    GTK pode ser usado por ser LGPL, eh possivel comercializar o codigo fechado. Se o codigo puder ser comercializado aberto, QT pode servir. A licença GPL se preocupa com a liberdade de quem obtem o programa distribuido, para uso dentro de um Empresa nao tem problema.

    []s

    jragomes's picture

    Artigo interessantíssimo. Muito bem escrito, bem claro e leitura empolgante.

    Realmente, acho que uma deficiência desde o principio no mundo fora do Windows, foi um Toolkit e IDE que facilitasse a criação de interfaces. Vemos que depois que Apple reestruturou o MacOS, criou uma IDE para criação de programas e outras cositas más, a Apple vem crescendo bastante.

    Ainda hoje sofremos com isso, vide a guerra QT vs GTK.

    Esperamos a segunda parte do artigo.

    Viver pouco como um rei ou viver muito como um Zé?
    www.jragomes.com

    hamacker's picture

    Ironicamente a grande vantagem do Linux é justamente a quantidade de Toolkits, se a quantidade de toolkits fosse ruim, os "não consagrados" morreriam rapidamente pela falta de apoio, mas o que se vê é que eles não morrem nunca, o que é indicio de ser bem utilizado e ter apoio.

    É fácil escrever uma IDE sob uma determinada plataforma, KDE, GNOME e JAVA tem as suas IDEs peso-pesado. Tente escrever uma que seja multiplataforma, bem, existe o eclipse, mas é uma excessão. Mesmo quando há wrappers ou frameworks que rodam toolkit do ambiente hospedeiro ainda assim tem gente que não gosta. Aquele aMSN escolheram tk/tcl que achei que não existiria mais.

    Claro que se estamos comparando com o Windows pode parecer que sistemas unix estão transbordando de toolkits, mas na *minha opnião* é melhor ter a opção de escolha do que ter apenas uma. Mesmo no Windows, eu começo a ver aplicações que não foram escritas usando a GDI padrão do Windows e com o advento do porte do KDE para WIN32 essa quantidade de aplicações tende a aumentar.

    Klbr's picture

    Muito muito bom! Depois dessa esperarei ansiosamente pelo resto da história. Laughing out loud

    Dennes's picture

    Oi, Wallace !

    Permita-me fazer alguns acréscimos e ajustes de datas nisso :

    Com relação a criação do DOS, os comentários do Fernando Cima dão bastante detalhes sobre isso.

    Conforme ele cita, Tim Patterson, da SCP, criou o 86-DOS. A Microsoft contratou Tim Patterson e comprou o 86-DOS, mantendo Tim Patterson como seu desenvolvedor e dai surgindo o MS-DOS, criado pela Microsoft.
    (http://meiobit.com/windows-e-net-esmagam-concorren...)

    O MS-DOS foi criado já para os processadores 8086/8088, então existe uma pequena mistura em linha de tempo no artigo com a qual deve-se tomar cuidado, o surgimento do DOS foi muito antes dos 80386, mas você sabe disso.

    As primeiras versões do windows eram apenas shell, não gráficas no atual sentido, isso pode ser visto no vídeo em http://meiobit.com/sobre-os-planos-para-o-windows-...

    A 1a versão do Visual Basic foi feita para DOS, antes do surgimento do Windows

    A relação entre a Microsoft e a IBM, que você chamou de "O grande golpe", na verdade é bem mais complexa que isso. Você pode ver detalhes em http://en.wikipedia.org/wiki/OS/2 . O Windows já existia quando as duas trabalhavam em conjunto no OS/2 e os motivos da separação foram diversos como explicado no link.

    Quando fala do Windows NT, coloca tudo em um pacote só. Não tive muito contato com as primeiras versões do NT. Mas algo muito importante a ser destacado é a passagem para windows 95 e windows NT 4.

    Primeiramente o sistema de multi-tarefa mudou da multi-tarefa cooperativa para a multi-tarefa preemptiva. Além disso o sistema operacional passou a implementar o conceito de processo e o isolamento dos processos em 4 GB de memória virtual.

    Os componentes COM (evolução do sistema OLE do windows 3.x) também surgiram nesta época.

    O padrão COM permitiu (talvez pela primeira vez) que componentes criados em um ambiente (Delphi, por exemplo) fossem utilizados em outro ambiente (Visual Basic, por exemplo).

    Vale a penas citar que os componentes COM não são o 1o padrão de DLLs do sistema windows, mas o 2o. Antes do formato COM, utilizava-se um formato de DLLs baseadas em funções, as famosas API's do sistema operacional.

    Cada IDE passou a oferecer sua própria biblioteca de componentes não por causa do DLL Hell, mas por causa de questões ligadas ao direito sobre o software. Componentes que faziam parte do Visual Basic pertenciam a ele, Delphi idem.

    Parece haver uma mistura de datas, pois após citar as IDEs de alto nível, que alguns classificam como 3a ou 4a geração de desenvolvimento, você cita que o desenvolvimento windows é em assembly. O desenvolvimento windows muito mal foi em assembly nas versões iniciais do windows, quanto mais com IDE's avançadas como Visual Basic e Delphi, que deixavam o desenvolvimento muito mais simples e voltado ao desenvolvimento comercial do que a criação de softwares em C

    Com relação a comparação do desenvolvimento :

    1) A IDE (Visual Basic, Delphi, PowerBuilder), sempre foi utilizada como meio de produtividade. É claro que pode-se desenvolver acessando diretamente as API's do sistema operacional, mas não é produtivo. De qualquer forma, é o sistema que provê todos os recursos fundamentais, assim como todos os sistemas operacionais, as IDE's fornecem produtividade e sim, agregam pacotes de componentes de terceiros.

    2) De fato, é mais produtivo construir algo visualmente do que no notepad.

    3) É a diferença entre resolver o problema da empresa ou resolver o problema criado pela tecnologia. Em ambiente windows, quando este 2o caso é necessário, utiliza-se as API's do SO ou desenvolvimento em C (ou ambos)

    4) Produtividade

    5) Vide trabalho atual de open source e interoperabilidade da MS

    6) É complicado saber de qual versão do sistema operacional você está falando, pois cita características que já não existem há 10 anos.

    7) Idem

    Cool "inchado"... muito subjetivo. Já vi muitas instalações de Linux falharem por falta de hardware adequado.

    9) Um sistema pensado para o trabalho comercial, e não para a tecnologia por si só.

    10) Muito relativo e não datado

    Essa tabela não é uma tabela atual. Características citadas como sendo do desenvolvimento windows não existem a mais de 10 anos. Pode ser uma comparação histórica, mas não atual.

    Quote:

    Outra coisa interessante de salientar é que pela facilidade de personalização do sistema Linux, muitos projetos estão surgindo junto ao sistema como uma aplicação paralela ao sistema Windows

    O Windows CE teve uma edição criada por uma empresa de consultoria nacional sob medida para as urnas eletrônicas, justamente devido a sua capacidade de personalização, a qual linkei aqui anteriormente.

    []'s

    Dennes

    ---------------------
    CidadaoCarioca
    BufaloInfo

    fcima's picture

    Oi Wallacy,

    Ainda em relação ao OS/2, alguém pode entender errado quando você diz que ele foi um dos "primeiros sistemas 32-bits de sua época". O OS/2 na verdade nasceu em 1987 como um sistema operacional 16-bits, feito para rodar em procesador 80286.

    Somente em 1992 - 5 anos depois da primeira versão, e 2 anos depois do Windows 3.0 - apareceu a primeira versão 32-bits do OS/2, o OS/2 2.0. Nessa altura do campeonato o Windows já tinha se firmado como o sistema líder de mercado.

    Ou seja, ao invés de ser um dos primeiros, na verdade foi um dos últimos.

    Existem outros erros técnicos referentes ao Windows, mas isso fica a cargo do leitor Smiling

    Abraços,

    Wallacy's picture

    Valeu Cima.

    Vou dar uma olhada melhor nisso depois, acredito que eu tenha feito uma confusão com o OS/2 mesmo.

    -----
    Para aquele que controla o próprio pensamento, todo o resto se torna simples jogo de crianças...
    Gandhi.

    hamacker's picture

    Pelo que me lembro, o OS2 já tinha uma versão 32 bits antes do win95, só.

    Sei disso porque na época tinha muita divulgação da IBM para tentar abafar o lançamento do Win95.

    fcima's picture
    397 tibs
    + conexão