Minha Jornada em ser proficiente em JavaScript e Python.

Sempre trabalhei mais com produtos de mercado do que com desenvolvimento, mas sempre procurei conhecer as linguagens utilizadas neste produtos, com o objetivo de solucionar problemas, melhorar integrações e automatizar tarefas.

A algum tempo, tenho investido bastante do meu tempo em JavaScript e Python. Alguns  motivos para isso são:

  • Os principais fornecedores de Cloud (Amazon AWS, Microsoft Azzure, Google Cloud, IBM Bluemix, …) tem serviços baseados nestas linguagens;
  • Produtos como IBM Connections, estão deixando a plataforma Java/IHS/WAS/DB2 e migrando para Javascript/Nginx/Node.JS/MongoDB.
  • Soluções em Analytics e Big Data de mãos dadas com Python.
Três Homens em Conflito ou O Bom, O Mau e o Feio!!!
O Bom O Mau O Feio
JavaScript
  • JavaScript me faz lembrar da aulas de Programação Funcional!!! Idêntico as recursões da linguagem Scheme.
  • JavaScript é uma escolha natural para quem usa APIs baseadas em Json.
  • JavaScript/Node.JS/MongoDB é uma combinação muito poderosa, onde tratamos objetos de apenas uma maneira, isto é, no formato Json.
  • Assincrônia. Saiba o que são funções “blockantes”, para evitar sustos nos resultados do seu código.
  • Fuja dos Callbacks Hells!
Python
  • Python me faz lembrar das aulas de Pascal da faculdade! Uma linguagem simples e sem burocracia. Programar procedural ou orientado à objeto, fica a escolha do programador.
  • Python é um “trator” no que se fala em tratamento de dados.
  • Python 2.7 e Python 3.x gera confusão de qual devo usar.
  • Uso de Json através de bibliotecas.
  • Alguns artigos que li sobre o Python 3, questionam sobre os problemas de performance devido ao novo I/O stack e o suporte a Unicode.

Em ambos as linguagens, tenha noção de:

  • “Para prego use Martelo, para parafuso use Chave de Fenda”, saiba quando utilizar uma linguagem ou outra.
  • Escolha um bom editor, como sugestão Atom, Sublime e Visual Studio Code.
  • Bibliotecas são instaladas com facilidade usando npm/JavaScript ou pip/Python.
  • Aprenda a fazer chamadas via Rest para APIs estamos na era da Economia das APIs.
  • Você precisa utilizar dados JDBC, SAP, Aplicações Legadas, etc. Crie APIs em Java Servlets, e utilize dentro do Javascript e Python usando Rest/HTTP, com isso você reduz a necessidade de instalação de novas bibliotecas.

Nunca deixe de aprender coisas novas e pratique, pratique, pratique.

Leia também:

Como começar a utilizar o IBM Watson

Imagine que você desenvolveu uma aplicação que de sugestões de livros, onde os usuários interagem através de uma bate-papo(chat) com o seu aplicativo. Tenho certeza que você imaginou o potencial de uma solução como essa!

Essa interação usando linguagem natural é um exemplo de função cognitiva. Para usá-la em qualquer aplicação basta apenas utilizar as APIs (Application Program Interface) que o IBM Watson disponibiliza publicamente nas nuvem do IBM Bluemix.

Para auxiliar aqueles que desejam experimentar o IBM Watson e o IBM Bluemix, vou listar abaixo alguns recursos:

Visão Geral Iniciando com o Watson Developer Cloud e o Bluemix Criando uma conta no Bluemix.

Navegue pelos Serviços do Watson e comece a utilizar.

http://www.ibm.com/watson/developercloud/doc/getting_started/

Colocando a mão na massa Application starter kits Explore aplicativos de exemplos que utilizam os serviços do Watson

https://www.ibm.com/watson/developercloud/starter-kits.html

 

Watson Developer Conference Labs Laboratórios que auxiliam a descobrir como utilizar os serviços do Watson e integrar com serviços de terceiros.

http://watson-labs.mybluemix.net/

Onde aprender mais … IBM Watson Academy Treinamentos para começar com o Watson, Bluemix, Watson Developer Cloud, Watson Cognitive Services e Watson Natural Language Classifier.

https://www.watson-academy.info/course/index.php?categoryid=25

 

Cursos e Laboratórios Mais cursos online

https://www.ibm.com/us-en/marketplace/learning-lab/courses

 

Laboratórios de Casos de Uso Navegue por casos de uso e exemplos https://www.ibm.com/us-en/marketplace/learning-lab/use-cases

Leia também:

O que é Watson Workspace? O que é Watson Work Services?

Vou dar duas respostas simples para as duas perguntas acima:

  • Watson Workspace é um aplicativo para desktop (Browser), Android e iOS; que permite uma experiência de colaboração entre equipes para que as coisas aconteçam “Get Work Done”. Algumas características:
    • Conversação persistente entre membros de equipe
    • Receba recomendações do Watson
    • Quer testar? Acesse workspace.ibm.com

 

  • Watson Work Services é  uma plataforma. Um coleção de serviços cognitivos e colaborativos acessíveis através de APIs, que pode ser utilizado para construir novos aplicativos, ou melhorar aplicativos existentes. Mais detalhes em https://developer.watsonwork.ibm.com

Leia também:

Um mundo cheio de Bots!

Hoje vou falar como os bots estão invadindo o nosso mundo.

Meu primeiro contato com bots foi em 2007, quando construí um bot  (veja aqui) para o IBM Sametime, que traduzia textos usando o Google Translator!!! Elas andaram meio sumidos, mas estão de volta com força total.

Mas o que são bots?

O termo bots vem de acrônimo para (ro)Bots, e de maneira simplificada são usuários digitais dentro de aplicações de chat como o Facebook Messenger, WhatsApp, Slack, … Estes “usuários” trazem notícias, produtos e/ou serviços dentro destas aplicações como se fossem uma conversa.

Como alguns exemplos de bots temos:

– Alexa: bot de voz da Amazon
– Amy: bot via email da x.ai
– Lyft: bot que informa o tempo de chegada estimado a algum lugar.
– Hipmunk: bot que faz reserva de viagens

Num mundo cheio de páginas Web e Mobile Apps, por que expor serviços via conversa?

1) Acessamos a Internet mais via celular do que via navegadores. O que fez com que o mercado ficasse saturado de aplicações móveis. Você, como usuário, não vai instalar todas as aplicações que encontra, correndo o risco de deixar o seu celular lento. E caso for utilizar um serviço, não vai instalar, usar uma vez e desinstalar.
Se você verificar teu celular, verá que terá pelo menos 3 aplicações de mensagens, no meu caso: SMS, email, Facebook Messenger, WhatsApp,…

2) Usuários passam a maior parte do tempo de uso de um celular, utilizando aplicações de chat.

3) Plataformas de chat já expõe esses serviços, Slack em 2015, Facebook, Apple e Skype em 2016.

4) As tecnologias de reconhecimento de linguagem natural expostos via APIs.

A adoção de Bots está apenas começando, e vale a pena acompanhar a sua
evolução.

Leia também: