A arte, o engenho e muita diversão!

A Arte

Programar pode ser uma arte, apesar de ser uma acção e não necessariamente uma “expressão” no sentido mais conservador. Nesse caso um programa seria “uma forma de arte” e consequentemente os developers seriam artistas.

Ainda assim, isto nem sempre é observado desta forma! Numa atitude quase que “patológica” ou “desenquadrada” pro- gramar é muitas vezes visto como um ofício, uma tarefa, um trabalho e não propriamente uma forma de arte! Por exemplo e sem divagar muito, ensinam-se artes plásticas, expressão dramática, música, etc… nas escolas, no entanto ainda não existe de forma “massificada” a programação como matéria de ensino e estudo! Ainda que pareça precoce ver os mais novos a aprender a programar, certo será admitir que hoje em dia qua- se todos sabem usar um tablet, ou mesmo um computador!

Continuar a ler

C# 6: Programação com produtividade

Introdução

Com o passar dos anos, cada vez mais os programadores consideram o C# como sendo a linguagem da plataforma .Net. A sua evolução tem sido constante e tem contribuído para a simplificação e redução do trabalho com a escrita de código em .Net. As novidades desta nova versão não são tão impressionantes como a do aparecimento do Linq, por exemplo, mas não deixam de ser úteis para aumentar a eficiência do programador.

Este livro que revemos nesta edição é constituído por cinco capítulos e explica as principais novidades introduzidas no C# 6.

Continuar a ler

Introdução à programação com Python, Algoritmos e lógica de programação para iniciantes

Para a review desta edição, foi-me oferecido pelo autor, o livro Introdução à Programação com Python: Algoritmos e lógica de programação para iniciantes, 2ª edição.

Dividido em 12 capítulos, o livro apresenta uma estrutura bem organizada e de leitura suave, até para os maus adversos leitores de livros técnicos. Começa por apresentar a motivação para a aprendizagem, capaz de cativar tanto iniciantes como estudantes que recorram ao livro para consolidar conhecimentos.

Continuar a ler

Segredos de Numeração

Neste mundo moderno, tudo é um número (ou vários). Neste artigo veremos alguns exemplos de numerações utilizadas em aplicações de negócio, o seu significado, como construí-los e como validá-los. Uma explicação mais detalhada da matemática dos dígitos de controlo deixa-se para o leitor.

Um dígito de controlo (check digit), que pode ser numérico ou alfanumérico, é um valor que pode integrar ou ser separado do número original e que valida possíveis erros de introdução. O erro mais habitual é a troca acidental da ordem de dois dígitos. E.g. “xxxx12xx” ou “xxxx21xx”.

Continuar a ler

SHIFT APPens 2017

A meio do passado mês de Fevereiro, nos dias 17, 18 e 19, deu lugar no pavilhão Mário Mesquita mais uma edição do SHIFT APPens, mais propriamente a 4ª edição do Evento. Como atividade principal era pedido aos participantes que durante os três dias do evento pudessem desenvolver uma aplicação à sua escolha, formando também equipas dinâmicas onde várias personalidades de programação e design se poderiam misturar. No fim dos três dias, e sendo prometido muito código e café por parte da organização do Shift, os participantes poderiam apresentar os seus projetos ao júri do evento (Carlos Mota – Representante do Google Developers Coimbra; Alcides Marques – Representante do Laboratório de Informática do Instituto Pedro Nunes; Joana Brites – Representante da Faculdade de Letras da Universidade de Coimbra; Tiago Henriques – Representante da Wit Software), e serem então premiados pelo seu trabalho (existindo claro, o 1º, 2º e 3º prémios). Em conversa com o relações públicas do evento, Filipe Mendes, podemos perceber que este ano o Hackathon teve bastantes mais participações que nos anos anteriores.

Continuar a ler

Raspberry Pi Zero W

Com o intuito de comemorar o quinto aniversário da família Raspberry Pi, o fim de Fevereiro de 2017 trouxe mais uma novidade a esta conhecida família. Como não podia deixar de ser, aqui na Programar continuamos a ser fãs desta temática, motivo pelo qual não hesitamos em dedicar-lhe algumas linhas nesta edição.

Continuar a ler

Interface Humano – Computador, Nanotecnologia e a dependência tecnológica

Introdução

O presente release tem por finalidade abordar como a criação de interfaces avançadas propiciam novos avanços em diferentes áreas do conhecimento. Neste contexto, o foco discutido permeia questões sobre a criação e o desenvolvimento da nanotecnologia que pode estar direta ou indiretamente alterando a interação do homem com o computador.

Um ponto evidente é que o imaginário proposto nas produções cinematográficas, principalmente no que tange a ficção científica apresenta grandes possibilidades de aplicação no uso de Interfaces Humano-Computador (doravante IHC), tanto no aspecto positivo e benevolente como pode ser percebido na produção “Viagem Fantástica” (Fantastic Voyage) de 1966, como no aspecto sombrio e devastador na produção “Exterminador do Futuro” (The Terminator) de 1984. Cabe como ilustração um breve comentário sobre o filme “Minority Report” de 2002 que apresenta um estilo de interface, introduzida tempo depois no console de videogame XBOX da empresa Microsoft com o periférico Kinect o qual proporciona uma mecânica de jogabilidade semelhante à mostrada no filme.

Continuar a ler

Revista PROGRAMAR nº 55 — Março de 2017

A Revista PROGRAMAR está de volta com mais uma edição. Desta vez temos como tema de capa o artigo Docker: Overview, da autoria de Nuno Cancelo. Adicionalmente, nesta edição poderá encontrar mais 15 artigos, que listamos de seguida:

  • API Rest com Spring Boot (parte 2) (José Martins)
  • JavaFX: Passos Seguintes (Nuno Cancelo)
  • Um bot para Telegram com o Jogo da velha (Jogo do Galo) (Nilo Menezes)
  • Automação do Azure com Windows PowerShell Desired State Configuration (Ricardo Cabral)
  • O Problema do casamento Estável utilizando o Algoritmo Gale-Shapley (António Santos)
  • O Problema da falta de GPIO Pins (António C. Santos)
  • C# – Padrão de Arquitetura SOLID (António C. Santos)
  • SQL Curtas – SQL Curtas #2: Dúvidas Comuns (André Melancia)
  • Kernel Panic – A arte, engenho, e muita diversão (António Santos)
  • Análise ao livro C# 6 – PROGRAMAÇÃO COM PRODUTIVIDADE (Mónica Rodrigues)
  • Introdução à Programação com Python, Algoritmos e lógica de programação para iniciantes (António Santos)
  • Segredos de Numeração (André Melancia)
  • ShiftAppens 2017 (Filipa Peres)
  • Raspberry Pi Zero W (Rita Peres)
  • Interface Humano-Computador, Nanotecnologia e a dependência tecnológica (Augusto Manzano)

Clique aqui para fazer o download desta Edição!

long long ago; /* in a galaxy far far away */

O título até parece brincadeira, mas é sério! E compila em C99! E foi assim, há muito, muito tempo, que a primeira edição da revista, foi publicada, fazia o ano de 2006, não numa “galáxia muito, muito distante”, mas num URL perto de todos nós! E assim o tempo passa! Tal qual história de ficção engraçada ou de mitologia clássica, a revista volta até aos seus leitores, como uma “fénix renascida” do famoso Albus Dumbledore, retirada de um livro conhecido de todos, ou de quase!

Não vale a pena fazer “resumos do ano passado”, porque o passado é “história que contamos”, não é mais do que isso, nem menos do que isso aqui não se tentam contar histórias, pelo contrário, tentamos “fazer história”.

Fazer história é dar uso àquela que é uma das mais elementares capacidades do ser humano e que nos distingue dos restantes mamíferos, a capacidade de criar! Para alguns pode parecer estranho, mas programar é criar “novos mundos” escrevendo código, é como pintar um quadro, como esculpir uma peça, como escrever um livro, onde a sintaxe e a semântica devem fazer um sentido inequívoco.

Ouso dizer, sem querer ser demasiado ousado, que programar, sendo um verbo transitivo, pode significar mais do que apenas a divisão de um problema entregue a um equipamento eletrónico, em instruções que este aceite. Significará imaginar algo, construir esse algo “abstrato” mentalmente, e por fim descrever esse algo em instruções capazes de serem executadas por um equipamento. Assim, de certa forma poder-se-ia dizer que programar é tão importante como escrever, ler, sonhar, pensar, definir, controlar, fazer uma complexa miríade de tarefas, dentro e fora do âmbito criativo. Isso faria de todos os programadores, entusiastas, aspirantes a programadores, verdadeiros artistas!

Parafraseando algo que li num chat, faz algum tempo, “o nosso dever para com a vida, é aprendermos o que pudermos, ensinarmos o que soubermos, melhorarmos tudo em que tocamos, ajudar tudo o que conseguirmos, criar o que nos for possível e deixar tudo melhor do que encontrarmos, para os que vierem depois de nós”, não porque seja “socialmente correto” dizer tudo isto, mas antes porque um programador, é uma “mente inquieta”, uma “mente inquisidora”, “criadora”, artista e cientista, de bits e bytes descritos! E nesses bits e bytes, aquilo que outrora lemos como ficção, poderá ser algo imprescindível no dia a dia, do amanhã! Algo que faça a diferença, para alguém, ainda que pouca seja, será sempre alguma! Será o “sabre de luz, de um personagem de cinema, ou o comunicador da ficção de 1966. Quem sabe até a “Nimbus 2000” de atleta dos livros, numa competição desencantada, numa escola onde se chega de comboio a vapor, ou um simples rodapé, de um qualquer livro escrito.

Até à próxima edição, boas leituras!
António Santos