A linguagem de marcação (markup language) é um conjunto de códigos para editar dados como textos e imagens. Elas foram desenvolvidas para facilitar a estruturação de códigos para internet.
GML e o SGML

A IBM (International Business Machines) desenvolveu a linguagem GML, que com suas "tags" dividiam o código em capítulos, seções, tabelas, listas, parágrafos e outras subdivisões. Essas "tags" ( < tag exeplo > ) possuem pré-formatações, o que facilita uma programação mais ágil com diversos aspectos visuais. Se procurar "
GML Starter Set" encontrará o conjunto de tags GML da IBM (em inglês).
O SGML foi, de certa forma, uma melhora do GML. A partir da nova versão os documentos feitos com suas referências poderiam ser lidos em qualquer compilador SGML, o que deixou ainda mais versátil. Assim, o SGML tornou-se referencia na criação de linguagens de marcação.
XML

Extensible Markup Language (XML) foi criada pela 3W ( Consórcio World Wide Web) com base no SGML. Seu objetivo focava na leitura do código tanto pela máquina quanto pelo programador, além da simplicidade, generalidade e usabilidade em toda a internet. Programas como .NET Framework e iWork da Microsoft e Apple, respectivamente, utilizam arquivos em XML. As recomendações mais recentes para esta linguagem é o XML Schema.
OWL
Web Ontology Language (OWL) é uma linguagem criada para o processamento de dados pela máquina e não só exibir na tela. Baseada também em XML, a OWL é uma recomendação da da W3, portanto um padrão. Sua linguagem é caracterizada pela semantica formal , recomendada para objetos chamados Frameworks de Recursos Descritivos (RDF) desde 2004 (até então usavam XML).
Referencias
Wikipedia
WhatIs
SearchSOA
W3
Mais não é melhor (ou pior) que menos, apenas diferente - O paradoxo do paradigma
Uma das habilidades mais importantes e notáveis na ciência da computação é a capacidade não apenas de resolver um problema, mas de resolvê-lo de forma inteligente. Para isso é preciso conhecer as melhores práticas e ter em mãos as melhores ferramentas para que dessa forma uma solução eficaz seja desenvolvida. Os paradigmas de programação estão diretamente relacionados a essa eficácia. Cada paradigma oferece uma metodologia diferente juntamente com uma série de conceitos para melhor resolver um tipo de problema. Assim, saber quando e como usá-los se torna algo essencial.
 |
| Organização Linguagem X Paradigma X Conceito |
Os paradigmas de programação são compostos por conceitos matemáticos e/ou por uma coleção de princípios coerentes. Eles servem de base para construção da estrutura e dos elementos dos programas de computador, tanto que a capacidade e estilo das várias linguagens são definidas pelos paradigmas que por elas são suportados. Algumas linguagens são desenvolvidas para seguir apenas um paradigma, já outras utilizam-se de vários. São as chamadas linguagens de programação multi-paradigma (Scala, D, Ada, Oz). Os paradigmas de programação mais conhecidos são: Imperativo, Declarativo, Funcional, Orientado a Objetos, Procedural e Lógico.
 |
| Hello World em Haskell (Linguagem Funcional) |
As linguagens comerciais atuais geralmente possuem apenas um ou dois paradigmas diferentes, o que é uma pena, já que existem problemas que poderiam ser resolvidos de forma mais clara se conceitos de outros paradigmas fossem implementados. Idealmente, uma linguagem deveria suportar várias formas diferentes de se atacar um problema, para que dessa forma ficasse a cargo do programador escolher a forma mais eficaz, sem ficar preso a limitações conceituais.
Assim concluímos o primeiro contato com os paradigmas e seus conceitos, descobrimos o que significa um paradigma, sua importância, e como eles influenciam na construção das linguagens. Futuramente, os principais paradigmas serão tratados individualmente em posts, então não se esqueça de seguir o blog para receber todo o conteúdo aqui postado, e também compartilhe sua opinião nos comentários.
Referências:
- Programming Paradigms for Dummies: What Every Programmer Should Know - Peter Von Roy
Navegamos
na internet e muitas vezes não temos ideia da estrutura e tecnologia
por trás dela. Foi-se o tempo das conexões discadas. O acesso à
rede foi popularizado, e a quantidade de conteúdo disponível online
é imensa. Vivemos no tempo do 4K, 3D e da computação em nuvem.
Nem
sempre foi assim. No começo, tanto pela conexão limitada quanto
pelo pequeno número de usuários, os sites e seu conteúdo eram bem
simples!
O
primeiro site da web foi criado por Tim Berners Lee, conhecido como
pai da internet. Tinha como objetivo compartilhar textos científicos
do CERN. Veja como ele era simples!
Web
1.0 é um termo que se refere a web em seus primeiros estágios. No
começo, não havia muita interação entre os usuários e estes
produziam pouco conteúdo. Comentários, muitas vezes, não eram
visualizados no final de cada página. Devido a limitação de banda,
eles eram postos em uma seção chamada guestbook. Com a evolução
das conexões, houve um aumento na taxa de download e upload e
consequentemente, na produção de conteúdo.
Web
2.0 é um termo controverso. Alguns afirmam que sua definição é
muito vaga e ampla. Pensem na Web 2.0 como na intensificação de
algumas características já presentes no começo da internet. São
elas a colaboração e a interação entre usuários. Mesmo que eles
não criem conteúdo, eles adicionam informações. Há uma explosão
no uso de redes sociais, e de sites como YouTube e Blogger.
Um pouco de nostalgia:
A
Web 3.0 introduz o conceito de semântica, onde não só a estrutura de um
site é relevante, mas também o significado de cada elemento.
Por
exemplo, se você pesquisar em um buscador "livros de Paulo Coelho",
como ele entregará resultados precisos de um livro desse autor? Simples:
muitos dos elementos nas páginas são classificados com um tipo de
marcador. Ele indica que "Paulo Coelho" se refere a um autor. Isso é
semântica!
Exemplo genérico de como os dados ganham significado:
Web
4.0 é uma previsão para o futuro. Ela combina os conceitos de
Inteligência Artificial e Semântica. A interpretação de dados ganha
ainda mais importância. Discute-se também a invasão de privacidade e
como será feita a análise de dados pelos sistemas automáticos.
Essa foi uma introdução a evolução da Web. Em posts futuros, aprofundaremos em alguns pontos aqui abordados.
Referências:
Bem-vindos ao primeiro post do
“We Can't See Sharp”. Eis os conteúdos que aqui abordaremos:
- Codificação
e Paradigmas de Linguagens de Programação;
- Evolução da Web (1.0 a 4.0): Web Social, Semântica
[Ontologias, OWL, XML], Mobilidade, Localização e
Conectividade;
Esperamos
que a criação dos blogs permita um ambiente de aprendizagem e
interação entre os graduandos. Colaborem, deem sua opinião,
sugestão ou crítica!