Dados ou Objetos

Um post interessante do stackoverflow que me indicaram refere a questão de funções ou apis devolverem objetos ou arrays

A principal reação foi de estranheza… um objeto é uma coisa tão diferente de um array… um array, mesmo considerando um array associativo em php, não é muito mais do que um par de valores com n posições… um objeto pode ter uma propriedade que é um array… pode ser uma coleção de outros objetos e, principalmente, pode ter comportamentos implementados dentro de si, ou seja não são só dados…

“An object has state (data) and behavior (code)”

…de outra forma mais valia usar o equivalente aos structs de C.

Outra questão tem a ver com o facto de estarmos a considerar o cenário de resultado de funções e neste caso funções de uma api web.

Considerando que hoje em dia na maior parte das vezes já não estamos a pensar em Remoting ou RMI, como pensavamos há uns dez anos, como por exemplo “objects living in different AppDomains, in different processes, and in different machines” ou “mechanism that enables an object on one Java virtual machine to invoke methods on an object in another Java virtual machine” mas sim pedaços de JSON que são trocados via web então basicamente confirmamos que são só dados que andam de um lado para o outro…

Ou seja, pensando melhor nesta questão o que estamos a falar é se devemos usar arrays ou DTO (Data Transfer Objects) que são objetos cujo propósito é precisamente servir de encapsulamento de dados para transferência entre sistemas. E neste caso podemos pensar que a API que está a fornecer os dados é um sistema e aquilo que vai utilizar os dados é outro sistema.

Assim sendo, e se a nivel de performance estivermos a falar de custos negligenciáveis, parece-me que a escolha será feita somente pela legibilidade que a linguagem seleccionada proporcionar ao código desenvolvido.

Versão em EN no stackoverflow.

(imagem retirada de  http://objectorientedcoldfusion.org/procedural-vs-object-oriented.html)

Referências

As referências culturais são um coisa curiosa, nomeadamente na influência que têm na forma como vemos e interpretamos o que está à nossa volta, como nos relacionamos com outras pessoas e como absorvemos novos estímulos.

Se para uns não conhecer o Bill Murray antes do Lost in Translation ou não ter visto Back to the Future parece uma coisa estranha, para outros não conhecer a versão cinematográfica de Gata em Telhado de Zinco Quente deve ser de uma estranheza inesperada como se pode perceber do texto que acompanha a apresentação da versão do Artistas Unidos que este recentemente no TNSJ

“Será possível devolver ao teatro aquilo que aparentemente o cinema fixou para sempre?”

…Não sei se é possível, mas para determinada geração se calhar já é possivel que aquilo que aparentemente o cinema fixou para sempre (há 60 anos) volte a recuperar o principal papel no Teatro.

GATA EM TELHADO DE ZINCO QUENTE_Fotografias Jorge Gonçalves (3)

Ah sim e foi divertido e incisivo (principalmente o Papá Pollitt), intrigante (o Brick) e motivador para procurar mais quer sobre o filme quer sobre Tennessee Williams.

(Fotografias ©Jorge Gonçalves)

Bases de dados, Javascript, Produtos e visualização de Dados

.NET Rocks

Database in continuous delivery with Enrico Campidoglio – interessante a descrição das diferentes abordagens para a questão do controlo de versões de bases de dados (sempre de raiz ou com “deltas”)

Simple.Data.2 with Mark Rendle – abordagem sobre um ORM, também se falou do ORM criado/usado pelo stackoverflow, o Dapper

Different Databases with David Simmons – conversa com David Simmons sobre 10 diferentes tipos de bases de dados e sua aplicabilidade em diferentes tipos de projetos, interessante para enquadrar o nosso pensamento quando pensamos em guardar dados, e boa referência para um próximo podcast do 10web

Digging into Javascript 6 with Jafar Husain – houve um tempo em que estar em cima das novidades era um bocado um tiro no pé… com tantas versões diferentes… e atrasadas… agora que praticamente todos os browsers se auto-atualizam vale a pena ter uma ideia do que vai sendo disponibilizado… pode ser interessante explorar algo como isto http://www.html5rocks.com/en/search?q=es6

Hanselminutes

Starting with continuous integration in the cloud with Steven Edouard – muita coisa que não conheço… nomeadamente CV em JSON https://github.com/sedouard/resume

Performance as a Feature with Matt Warren – performance… já sabemos que só temos que nos preocupar com isso no fim do projeto… um bocado como a segurança…

Atom-Shell for cross-platform desktop apps with Paul Betts – desenvolver aplicações para desktop em javascript? com node e cenas? e a malta do slack até está a usar isso para criar a sua versão windows.

Boagworld

How to launch your own product – ah e tal quem é que vai criar um novo CMS e fazer dinheiro com isso (Perch)?

99% Invisible

Guerrilla Public Service – tipo marketing guerrilha mas sobre serviço publico, por exemplo sinalização de transito.

Matt Report

Interview with Matt Mullenweg – interessante referencia sobre wix e squarespace (entre outros)

Data Stories

Data Stories #45: With Nicholas Felton – para além da forma como o podcast aparece no site (não esquecer de explorar o podlove) interessante conversa com o criador das belissimas infografias anuais nomeadamente sobre o processo de captura de informação