terça-feira, 20 de maio de 2014

A Aplicação Ontológica em uma visão mais geral - A Web Semântica
Leandro P. G. Silva  21/05



                                            © Brightfire View


Bem, no meu último post falei sobre o XML e prometi trazer um pouco sobre o OWL para vocês leitores. Com a intenção de não cometer o mesmo erro e tornar essa leitura pouco interessante, vim com uma aplicação prática para a linguagem OWL, na chamada Web Semântica.

Já pensou que louco seria se ao invés de palavras chave os buscadores como Google trabalhassem interpretando suas perguntas e fornecendo respostas?

Esse é o trabalho da Web Semântica, ou "web 3.0" como preferir, modelo tecnológico de partilha de dados e, do uso ontológico nos mecanismos de busca da web, com uma maior interação onde há o cruzamento das tags de conteúdo com seus dados disponibilizados e interpretação semântica para uma experiência mais fluída de navegação.

Seu enfoque é a desambiguação dos termos, pesquisas condizentes com o seu negócio e visibilidade para os mecanismos de busca, ao mesmo tempo que beneficia a empresa em sua organização de conteúdo.


                                © Whitheoaksblog

Com foco em sua criação à aplicação, a última, tão recente quanto a revolução mobile da "maçã" (2007), trouxe um vídeo debate promovido pelo pessoal da Academia Tech para vocês, que entre outras coisas, da exemplos reais de algo saído da academia para ser aplicado diretamente nas empresas:

Web Semântica | Os desafios por trás da nova web


Dá para ver que discordo do colega Tiago sobre a importância da chamada Web 3.0, não é mesmo?

Veja mais com um expert: http://www.brightfire.co.uk/blog/2012/marketing-automation-2/tech-expert-prediction-a-web-3-0-boom-by-2014


Fontes: 
http://tableless.com.br/a-web-semantica/
http://pt.m.wikipedia.org/wiki/Web_sem%C3%A2ntica

domingo, 11 de maio de 2014

Plagio [citation needed]


O problema do plagio cresce cada vez mais, e segundo reportagem publicada no Estadão "O número de casos de 'má conduta' (termo que inclui desde um parágrafo plagiado até trabalhos inteiros forjados ou adulterados) na ciência está aumentando, e a pressão que os pesquisadores sofrem das instituições e das agências de fomento para publicar pode ser um dos principais fatores por trás deste aumento, segundo especialistas de vários países que discutiram o assunto ontem numa sessão plenária do Fórum Mundial de Ciência, no Rio de Janeiro." Porém não há motivo que justifique o plágio,  todo profissional deve ter ética em sua pesquisa e respeitar o trabalho dos outros.

Diferente do que muitos pensam plagio não é somente a copia integral de uma obra, há vários tipos de plagio.
Integral: Simplesmente copiar sem alterar e nem acrescentar nada e sem fazer citação ao autor original.
Parcial: Sair retirando vários trechos de diferentes obras e reunir tudo num texto só. Nesse caso mesmo citando a fonte de cada trecho se o trabalho consistir somente de trechos sem acrescentar nada novo continua sendo plagio.
Conceitual: Fazer igual, mas em outras palavras. Apenas mudar como o texto é escrito não faz as ideias do autor serem suas.

Crime de plagio é sério, muito comum em trabalhos acadêmicos e principalmente TCC, pode levar a reprovação e expulsão da instituição de ensino.
Pode ser evitado sempre citando a fonte das informações, além de permitir que o leitor busque mais conhecimento na fonte, dá credibilidade ao seu trabalho e estimula o pensamento critico ao questionar as informações e não apenas reproduzi-las.

Referencias:
http://www.puc-rio.br/sobrepuc/admin/vrac/plagio.html
http://cmsw.mit.edu/writing-and-communication-center/avoiding-plagiarism/
http://blogs.estadao.com.br/herton-escobar/ma-conduta-wsf/
http://www.estadao.com.br/noticias/geral,aumento-das-fraudes-em-pesquisas-preocupa-cientistas,1012713,0.htm

quarta-feira, 7 de maio de 2014

The web evolution

Foi Uma Explosão !!!


https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaDPz4Z2gwJ8jbypzyP0TAgmJl2jchHn4uWH2c7r4pKXW7GuRT60kSi0w9C4TyIyFu2WE5M_V5d_oCluRxYtkZBKSmmJqdaA1VfLT3QQI2YofXfJtIAXvYQVk55wXyyWOfZz_8osyqDFTM/

De acordo com a teoria do Big bang foi á aproximadamente 13,3 bilhões de anos que o universo foi formado dando início a um lento processo de evolução natural. Analogamente, á aproximadamente 22 anos atrás explodiu uma "bomba" que modificou o modo de como vemos o mundo. E assim, surgiu a primeira pagina na internet. 

Exatamente no dia 6 de agosto de 1991 que o britânico Tim Berners-Lee criou a primeira página da web que se tratava de uma breve explicação  do conceito do hipertexto.
Nesta primeira página, Berners-Lee explicava o conceito da rede  global destacando em belos argumentos que a WWW – ou W3, é “uma grande área de hipermidia de iniciativa recíproca que tem por objetivo de dar acesso universal a um grande universo de documentos”. Este site está no ar até hoje e você pode acessá-lo no link a seguir : http://info.cern.ch/hypertext/WWW/TheProject.html 


http://www.achievement.org/achievers/ber1/headers/ber1_image.gif

                                Web 1.0 e 2.0 !
http://johnnyholland.org/wp-content/uploads/model.png

A Web 1.0 era caracterizada por não ter muita interatividade com o usuário. Basicamente era utilizada para trocar informação. De certo modo uma pagina na internet era algo parecido com um jornal pois ao ler um jornal não se tem interação/alteração com os elementos inseridos sejam eles imagens, anúncios, notícias etc. A Web 1.0  era aquele negócio quadrado e sem aplicação prática na vida dos usuários, ou seja, não havia o leque de opções que encontramos na internet hoje em dia, mas devemos lembrar que foi a partir daí que construímos quase com a velocidade da luz um mundo totalmente novo em vários aspectos. 


Comparando a Web 1.0  com a 2.0 o fatores são totalmente diferentes já que surgiram a partir daí sites como o google, msn, wikipedia que oferecem uma maneira de personalização como a troca do plano de fundo no caso do msn. Mecanismo de inserção de informação e de busca através do google e alteração de informação (wikipedia). A Web 2.0 não se diferencia muito do que temos hoje em dia, na verdade, a Web 3.0 e outras são apenas aperfeiçoamentos em minha opinião.

Bom Após uma breve aula de história estarei encerrando por aqui pra que vocês não fiquem com sono ( rsrsrs).
Então é isso ai pessoal depois falarei mais sobre o assunto.


Fonte : Folha de São paulo , BandTec , Descomplicando a tecnologia.

domingo, 4 de maio de 2014



XM O quê?
Por Leandro Gomes em 4 de Maio de 2014


XML - Linguagem de Marcação


XML, do inglês eXtensible Markup Language é uma fonte de códigos que podem ser usados em textos e dados, lidos por computadores ou pessoas. Um exemplo de linguagem do tipo que é mais conhecida é a do HTML, para formatar e organizar websites, mas no caso do XML, usada para padronizar uma sequência de dados, assim você os organiza e distingue conteúdos.


Características do XML:

_Sintaxe básica_ Usada comumente para compartilhar informações entre diferentes computadores ou aplicações, combinada a outros padrões a sintaxe torna possível separar 'formato' do 'conteúdo' de um documento, separando-os consegue se reaproveitar códigos escritos, em outras aplicações ou propósitos.


_Aplicações_ Na escrita e leitura de bancos de dados, compartilhamento em sistemas de informação (especialmente via internet), codificação de documentos e comparação de números seriais. O XML também é utilizado quando você recebe atualizações de suas assinaturas de RSS, o processo necessário advém de uma fonte que disponibilizou um arquivo XML para fornecer o feed ao programa que fez a leitura em seu device.


  
Além disso, o XML é a base do OWL, linguagem ontológica que falarei na próxima publicação do blog, dúvidas? Sugestões? Não esqueça de deixar seu comentário.



 Fonte: Tecmundo

Codificação e Paradigmas de Linguagens de Programação



Linguagem de programação - um conjunto de termos (vocábulário) e regras (sintaxe) que permitem a formulação de instruções a um computador.


Codificação - a aplicação do vocabulário (repertório de instruções) e sintaxe próprios de alguma linguagem de programação para representar as instruções em condições de codificação pelo computador e conseqüente execução. 


Paradigma de programação - maneira como o desenvolvedor resolve um problema e determina como um programa poderá ser executado. Eles são classificados quanto ao seu conceito base, podendo ser : imperativo, funcional, lógico, orientado a objetos e estruturado. Uma linguagem de programação pode combinar dois ou mais paradigmas para potencializar as análises e soluções, cabendo ao programador escolher o mais apropriado. 



- Programação Procedural

É um paradigma de programação baseado no conceito de chamadas a procedimentos, também conhecidos como rotinas, subrotinas, métodos, ou funções, que simplesmente contém um conjunto de passos computacionais a serem executados. Um dado procedimento pode ser chamado a qualquer hora durante a execução de um programa, inclusive por outros procedimentos ou por si mesmo.

Esse paradigma ainda é muito usado, por ser mais fácil de compreender e normalmente programadores aprendem a desenvolver usando esse paradigma, ele pode ser eficiente para problemas simples e até para o aprendizado, mas não se prenda a esse tipo de paradigma, existem outros que são muito melhores do que esse.


Características:

- Conjunto de instruções organizado em blocos para executar determinada tarefa(funções).
- Conjuntos de funções agrupadas por funcionalidades em bibliotecas.
- Modelagem por meio de fluxograma e grande utilização de algorítimos.
- Extremamente técnico.


Algumas linguagens com esse paradigma:

- C
- Pascal
- Basic
- C++
- PHP
- Python
- Visual Basic
- Perl


- Programação Orientada a Objetos
A orientação a objetos é o paradigma de programação predominante atualmente e está, aos poucos, substituindo a programação procedural, criada no inicio da década de 1960.
Nesse paradigma o programa é composto por objetos com propriedades (atributos) e operações (métodos) que podem ser executados por eles.
Todas as funcionalidades e atributos de cada entidade do sistema são armazenados em classe que representam essa entidade.
Normalmente, utilizamos a Unified Modeling Language (UML) para modelar soluções orientadas a objetos.


Características: 

- Podemos definir objeto como abstração de um particular aspecto de interesse, incluindo não somente sua estrutura, como nos métodos tradicionais, mas também comportamento, regras, conhecimento, responsabilidades, ciclo de vida, intrínsecos ao aspecto em questão. Objetos com características comuns são agrupados em classes.

- Uma característica derivada da forma muito comum de hierarquia "é um", é a herança. Subclasses herdam estrutura e comportamento das subclasses às quais estão ligadas, evitando assim redundâncias e inconsistências. Deve-se observar a possibilidade de herança múltipla no caso em que uma subclasse pode ter relacionamento "é um" com mais de uma superclasse.

- Os objetos existem em convívio com outros objetos, e não isoladamente. Assim, chama-se comportamento às ações e reações de um objeto, mudando de estado e trocando mensagens, em contato com os demais objetos. É sua atividade visível. É representado pelos chamados métodos, descritos para cada classe de objetos.
- Outras características bastante interessantes, provenientes da área de inteligência artificial, são a representação de conhecimento e a definição de regras sobre objetos ou classes de objetos. É crescente a colaboração entre as áreas de orientação a objetos e de inteligência artificial, trazendo grandes contribuições a ambas.


Algumas linguagens com esse paradigma: 

- C++
- C#
- VB.NET
- Java
- Python
- Ruby
- Smalltalk


- Programação Multiparadigma
Uma linguagem de programação multiparadigma é uma linguagem que suporta mais de um paradigma de programação. A ideia de uma linguagem multiparadigma é fornecer um framework no qual o programador possa trabalhar com vários estilos, misturando livremente construtores de diferentes paradigmas. O objetivo em se projetar linguagens deste tipo é reservar aos programadores a melhor ferramenta para determinado trabalho, admitindo que nenhum paradigma resolva todos os problemas da maneira mais elegante, ou mesmo eficiente.
As características da programação multiparadigma pode ser relaciona com a junção dos paradigmas de programação que ela reúne, ou seja, ela une todas as características dos paradigmas de programação que ela engloba.
Algumas linguagens com esse paradigma:
- Scala
- Oz


- Programação Estruturada

Não existe uma definição universalmente  aceita para a programação estruturada; ao 
contrário, existem várias escolas de pensamento que a conceituam.

No sentido mais restrito, o conceito de programação estruturada diz respeito à forma do 
programa e do processo de codificação. É um conjunto de convenções que o programador pode seguir para produzir o código estruturado. As regras de codificação impõem limitações sobre o uso das estruturas básicas de controle, estruturas de composição modular e documentação.
Características: 
- Programação sem GO TO (eliminação completa ou parcial do comando GO TO)
- Programação com apenas três estruturas básicas de controle: seqüência, seleção e iteração 
- Forma de um programa estruturado
- Aplicação de convenções de codificação estruturada a uma linguagem de programação específica
Algumas linguagens com esse paradigma: 
- Pascal
- C


Qual Paradigma escolher para o meu projeto?
O universo computacional é complexo. Desta forma, este universo foi divido em partes, para que a complexidade pudesse ser trabalhada ("dividir para conquistar"). A existência de diversos paradigmas de programação justifica-se apenas pela existência de diversas classes de problemas. A escolha de um paradigma depende do tipo de problema a ser solucionado. Procurar a solução para um problema consiste em escolher o paradigma que permita a expressão da solução com o mínimo de esforço. No entanto, certos problemas não permitem uma solução concisa com a utilização de apenas uma paradigma, isto é, necessitam de uma forma de expressão mais ampla para serem solucionados. 
Também é sempre necessário lembrar que o paradigma de programação é totalmente independente da linguagem de programação, ou seja, a orientação a objetos é um paradigma criado para a solução de problemas para desenvolvedores e não tem uma ligação de necessidade com nenhuma linguagem, quem aborda esses paradigmas são as linguagens de programação, e também podemos vemos que varias linguagens de programação abordam vários tipos de paradigma de programação.






Paradigm Description Main characteristics Related paradigm(s) Critics Examples
Imperative Computation as statements that directly change a program state (datafields) Direct assignments, common data structures, global variables Edsger W. Dijkstra, Michael A. Jackson C, C++, Java, PHP, Python
Structured
A style of imperative programming with more logical program structure
Structograms, indentation, either no, or limited use of, goto statements Imperative C, C++, Java
Procedural
Derived from structured programming, based on the concept of modular programming or the procedure call
Local variables, sequence, selection, iteration, and modularization Structured, imperative C, C++, Lisp, PHP, Python
Functional
Treats computation as the evaluation of mathematical functions avoiding state and mutable data
Lambda calculus, compositionality, formula, recursion, referential transparency, no side effects Erlang, Haskell, Lisp, Clojure, Scala, F#
Event-driven including time driven
Program flow is determined mainly by events, such as mouse clicks or interrupts including timer
Main loop, event handlers, asynchronous processes Procedural, dataflow ActionScript
Object-oriented
Treats datafields as objects manipulated through pre-defined methods only
Objects, methods, message passing, information hiding, data abstraction, encapsulation, polymorphism, inheritance, serialization-marshalling See here and[1][2] Common Lisp, C++, C#, Eiffel, Java, PHP, Python, Ruby, Scala
Declarative
Defines computation logic without defining its detailed control flow
4GLs, spreadsheets, report program generators SQL, regular expressions, CSS
Automata-based programming
Treats programs as a model of a finite state machine or any other formal automata
State enumeration, control variable, state changes, isomorphism, state transition table Imperative, event-driven






Fonte: http://en.wikipedia.org/wiki/Comparison_of_programming_paradigms

Referências: 

FEDELI, R. D.; POLLONI, E. G. F.; PERES, F. E. Introdução à Ciência da Computação. --2 ed -- São Paulo:Cengage Learning, 2010.
MONTEIRO, M. A. Introdução à organização de computadores. 4 ed. Rio de Janeiro: LTC, 2002.