[Editorial] Não, o Futuro não será Mobile!

0
Após minha última publicação e toda a consequência gerada, talvez essa seja a última vez que nos encontramos. Assim sendo, gostaria de deixar registrado que foi um prazer trocarmos nossas experiências, aprendermos e evoluirmos nosso conhecimento.
Há alguns leitores especiais, os quais os muito estimo e respeito, e para vocês vai aqui todo meu agradecimento por terem colaborado com a evolução de meus conhecimentos em computação.
Obrigado!
É, se você ainda não leu – sinceramente acho bem difícil – saiba que a repercussão foi grande. Teve Editorial (do próprio Alexandre), Contra editorial, pedidos de esclarecimento, declaração de desagravo, promessa de nunca mais retornar aqui – e duvido muito que não esteja me lendo agora –, pasmem!,  corrente de exclusão, a #foramarciovianna, e a expressão máxima da incivilidade e desrespeito: o xingamento. Não, não é necessário a ninguém para demonstrar a discórdia ao pensamento alheio a ofensa direta e pessoal. Expressão máxima do Totalitarismo, talvez reflexo do Estado em que vivemos, um Governo pseudo-totalitário que não aceita ideias e práticas contrárias ao seu pensamento e as tenta silenciar com os mais vis subterfúgios.
Sim, escrevi minha última crítica sem qualquer ideia que geraria tanta consequência. Simplesmente a publicação acerca de tecnologia mais comentada no site. Somados os 127 comentários da concorrência – vocês sabem de quem estou tratando que surfou na minha onda – aos 671 do contra editorial e aos 706 do meu, totalizam 1504 comentários. Uma marca!
Bom, mas não estamos agora a falar daquele Editorial, certo? Nesse momento passo a apresentar minha perspectiva e os argumentos que embasaram a declaração anterior.
Vamos nessa!
futuro mobile
A paixão pela computação nos leva sempre a querer mais, a desejar mais, como um espírito incessante em busca do inatingível. E foi por querer mais, muito mais, da Microsoft é que aquele Editorial tornou-se público. Um analista não pode contentar-se apenas com o horizonte. Ele tem de ultrapassar essa fronteira e ver o que os admiradores não conseguem. Sim, às vezes nossas ideias chocam, incomodam, são desagradáveis. Contudo, o que podemos fazer se essa é a posição em que estamos? Faltar com a verdade e apenas lhes publicar as palavras que quer ler? Não evoluímos se não estamos dispostos a conhecer o argumento contrário e a refletir a respeito do seu fundamento. Então, passemos a refletir um tanto acerca da computação.
Não, o futuro não será mobile!
Essa é uma das mais repetidas frases atualmente. Tornou-se praticamente um mantra. Contudo, a fascinante computação foi além dessa perspectiva.
Desde os anos 80/90, iniciado com os PDAs – personal digital assistant – a computação almeja ser a nossa companhia. Esses novos equipamentos foram possíveis devido ao surgimento de novas estruturas de processamento. Quando tratamos de estrutura de processamento não estaremos apenas nos referindo à arquitetura do processador, mas aos seus diversos aspectos, arquitetura, linguagem, potência, eficiência enérgica e demais.
Inicialmente estabeleceu-se um paradigma a essa possibilidade: adaptar os sistemas operacionais existentes à nova estrutura de processamento. Partindo dessa ideia, a adaptação do sistema existente, surgem sistemas como o Palm, WebOS e outros derivados do Linux e o Windows Embedded Compact  ou Windows Mobile uma derivação do Windows NT.
windows NT
Como se tratavam de sistemas adaptados, essa proposta encontrava-se limitada aos aspectos de cada estrutura de processamento. Consequentemente, os PDAs terminaram por compor pequenas estruturas de computação que eram capazes de executar apenas as funções menos complexas da computação.
Alterando essa perspectiva, uma equipe em Cupertino rompeu com esse paradigma e partiu do princípio de que se esses pequenos produtos utilizavam uma nova estrutura de processamento, seria necessário, então, criar do zero uma nova plataforma de programação. Incluía sistema operacional, ferramenta de programação e linguagem de programação. Assim sendo, criaram o Newton OS e até iniciaram a criação de uma linguagem nova de programação, a NewtonScript. Te adianto que essa proposta resultou num enorme fracasso, levando essa equipe à falência financeira. Mesmo assim, ela teve um mérito: comprovar que a criação de uma nova estrutura de programação a esses aparelhos seria possível.
Os anos se passaram, e como as companhias que produziam os equipamentos móveis continuavam se baseando no paradigma da adaptação dos sistemas de grande complexidade, essa estrutura mais simples não evoluía – não entrarei nos pormenores das diferenças entre as estruturas CISC e RISC.
Anos depois, aquela mesma equipe em Cupertino, agora mais madura e sob nova batuta, retornou à proposta da criação de uma nova estrutura de programação aos equipamentos móveis. Buscando recriar seu computador de produção, a esse novo equipamento, eles aproveitaram seus elementos característicos da interface gráfica, entretanto, criaram especificamente para esse produto um novo sistema operacional e seus elementos.
Analisaram o mercado e esse aparelho teve de adaptar-se ao que estava em evidência. O mercado de telefones portáteis estava em grande ascensão mundial, então esse projeto foi adaptado para esse segmento e o produto original ficaria no laboratório à espera do momento oportuno para seu lançamento. Surgia o iPhone e a reinterpretação da programação para dispositivos portáteis. Um novo paradigma estava estabelecido: criar programas específicos para cada equipamento ou para cada sistema operacional.
Paradigma estabelecido… paradigma a ser vencido.
Essa é a essência da sapiência humana.
Desde o momento em que os sistemas foram publicamente disponibilizados à programação profissional, uma questão levantou-se: há formas de compartilhar a programação entre os diferentes sistemas?
Sim, foi a resposta inicial. Aproveitando um conhecimento anterior advindo dos binários em Java, ou códigos pré-compilados, os bytecodes, introduz-se a técnica de programação que introduz um software capaz de traduzir um código destinado a outro sistema operacional para o ambiente em uso, esse software recebe diferentes nomes, mas em essência prestam-se ao mesmo objetivo, interpretar e traduzir os códigos compilados à linguagem de máquina. Bem, se era possível executar um código, por que não um sistema operacional por completo?
Nasce a programação baseada em Runtime systems, ou seja, os códigos não são mais diretamente executados pelo o ambiente de processamento, mas previamente interpretados para posteriormente serem executados, interpretação e execução “simultâneas” ou “em tempo real”. Por essa técnica, introduz-se uma “camada” de abstração sobre o cerne e ela lhe traduz os códigos. Bem, cerne, kernel e núcleo do sistema operacional são sinônimos. Como estou no Brasil e o meu vernáculo é a língua portuguesa, tenho o direito de usar o substantivo cerne, ok? Há “intelectuais digitais” que não conhecem sua língua oficial. Ajudemo-nos!
Porém, um grupo de pesquisadores em Illinois, EUA, obteve uma resposta um tanto ousada para responder a essa mesma questão.
Bem, se é possível compilar, traduzir e reescrever, um código a uma forma intermediária que será interpretada para as diferentes linguagens de máquina, ora, por que não realizar logo essa tradução e reescrita à linguagem de máquina diretamente? Nascia o Projeto LLVM.
Machine Language
Rapidamente aquela equipe em Cupertino percebeu o potencial dessa pesquisa e simplesmente contratou, leia-se “adquiriu”, todos os seus cientistas. Liderados por Chris Lattner, anos depois essa equipe conseguiria atingir seu objetivo. Após a divulgação de sua façanha, as barreiras para o compartilhamento da programação aos diversos ambientes de processamento encerraram-se.O código compilado segundo essa técnica poderá ser portado a diferentes sistemas operacionais e ambientes de processamento.
Paradigma estabelecido… paradigma a ser vencido.
Mas, não é só de código-fonte que vive a programação. Um de seus elementos fundamentais estabelece a forma pela qual nós interagimos com a máquina: a interface gráfica. E a esse elemento, a programação Web praticamente é a responsável pela sua atual evolução.
linguagem de programação
A programação Web reinventou a programação moderna. Sua perspectiva estabeleceu a especialização profissional determinando a dualidade à programação: designers e programadores. Cada um no seu quadrado. O designer reflete e otimiza a forma como o usuário interage com o equipamento. O programador analisa e otimiza a forma como o código é criado, executado e interage com os componentes eletrônicos do equipamento. E, claro, ao especializar os profissionais, cada um deles contribuiria com a programação.
Nenhum produto foi mais importante para a evolução da programação Web do que o iPad. Sim, o Tablet forçou a programação Web a reinventar-se. Enquanto a programação vivia seus anos de dualidade, smartphones e desktops, o paradigma de programação impunha a programação destinada a duas diferentes formas de interação e área de visualização. Ao chegar às nossas vidas, o Tablet sacudiu essa estrutura. Não seria mais viável, do ponto de vista técnico da manutenção, manter três códigos ativos. Algo necessitava ser feito. E os designers entregaram sua parcela de contribuição.
À época, o pensamento era de prover a cada tipo de tela e produto uma interface.
Paradigma estabelecido… paradigma a ser vencido.
A diferentes formas de interação e principalmente a diferentes áreas de visualização, ou espécies de tela, não seria tecnicamente viável compor tantas interfaces quanto os equipamentos disponíveis no mercado. Ao invés de códigos, um código, mas um código que seja capaz de adaptar-se a diferentes espécies de equipamentos e formas de telas.
Assim, evoluímos das interfaces estáticas às líquidas, das líquidas às adaptáveis para finalmente evoluirmos das adaptáveis às responsivas. Tal qual preconizava Darwin, a interface gráfica adaptou-se ao meio, tornou-se moldável, adaptável às características do equipamento e às diferentes formas de interação do usuário.
A programação moderna evoluiu ao código portável e à interface moldável.
Não, o Futuro não será Mobile!
O Futuro preconiza a Computação Convergente, onipresente em nossas vidas. Onde códigos e interfaces serão unificados e ambos adaptam-se aos diferentes equipamentos, simplificando e otimizando a experiência.
Um só Windows para todos
Não, eu não quero um Windows Mobile e um Windows Desktop e um Windows Server e um Windows Xbox e um Windows Band e um Windows ioT e seja mais o que for. Eu quero um Windows!
Não, a computação moderna compartilha os mesmos sistemas operacionais, seus programas e interação aos seus diversos equipamentos, entregando uma experiência única e fantástica.
Não, eu não quero ver uma Companhia ícone da Computação afundar-se anualmente e progressivamente por manter-se presa à prática e ao pensamento retrógrados.
Alexandre, dívida paga…
OBS: Um editorial expressa apenas a opinião do redator e não do canal como um todo. Esse tipo de postagens serve para fomentar discussões saudáveis a cerca de um ponto em específico, que no nosso caso é o Windows e os produtos da Microsoft. Sendo assim, leia o texto e deixe seu comentário concordando ou discordando do autor ou fomentando ainda mais a discussão.
Share.

About Author

Apaixonado por computação.