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

API Rest com Spring Boot (parte 1)

No mundo Java, o framework open source Spring, não sendo o único, é quase um standard para quem pretende adotar um padrão de injeção de dependências / MVC, que nos facilita bastante a vida pois permite que nos concentremos essencialmente nas business rules evitando ter de desenvolver as partes mais trabalhosas as quais são geridas pelo framework. De uma forma simplificada, podemos então dizer que o Spring é um framework de injeção de dependências, capaz de gerir o ciclo de vida dos diversos componentes e que inclui módulos (ou projetos), bastante robustos e com provas dadas, que nos permitem interligar um enorme número de tecnologias bastante comuns em Java.

Continuar a ler