There is no solution, because there is no problem.
Irreverente como toda a sua obra, Duchamp, provoca com esta frase o seu característico desconforto de ideias que nos ficam a corroer a cabeça. Uma observação niilista e demasiado exacta. Se não existe solução, então não estamos perante um problema mas sim outro tipo de entidade. Teremos que lidar, não resolver. Não exageres, não desesperes. Despe-te de falsas teorias e sacode os preconceitos. Vê a vida como ela é: simples e fugaz. Quebra a rotina e observa. Guia-te por aquilo que és e por aquilo que pensas. Cria valores. Estuda, trabalha, desenvolve, goza, ACREDITA. Não tenhas medo e perde-te no absurdo.
UnWorkFlow
Por vezes nem o work anda nada flow nem o flow anda nada work, fenómeno conhecido por unWorkFlow. UnWorkflow é um estado de aparente dormência e alienação. Afinal a manta é tão grande que nunca conseguimos perceber qual é a ponta ideal pela qual devemos começar a cozer. O que interessa é unir as pontas e tecer as redes.
o problema persiste: os eventos sucedem-se síncronos, a um ritmo crescente e constante. Apedrejados por informações, estímulos, tendências, consumimos sem pensar. Erramos conscientemente, desculpabilizando-nos na culpa de toda a gente, que é obviamente nossa.
A verdade é que mudámos... continuamos a mudar.. teremos que mudar e inevitavelmente mudamos (não necessariamente nem para melhor, nem para pior, apenas diferente). O corpo molda-se ao estilo de vida e o cérebro reinventa-se, reorganiza-se... ajusta-se. Em vez de reter reage, em vez de actuar estuda, em vez de raciocinar... relaciona, interliga, quantifica e reestrutura... e mesmo assim não percebe a cena...
Queremos todo espaço e todo o tempo, somos criadores de partículas em busca de todas as nano respostas, nem que para isso sejam sacrificadas todas as perguntas futuras.
Detonamos-nos por religião, enganamos por política, ficamos irados por desporto, matamos e deixamos morrer por vaidade e preguiça... sofremos e causamos sofrimento por pura estupidez e incompetência.
{¿did you try the hardest of your dreams?}
o problema persiste: os eventos sucedem-se síncronos, a um ritmo crescente e constante. Apedrejados por informações, estímulos, tendências, consumimos sem pensar. Erramos conscientemente, desculpabilizando-nos na culpa de toda a gente, que é obviamente nossa.
A verdade é que mudámos... continuamos a mudar.. teremos que mudar e inevitavelmente mudamos (não necessariamente nem para melhor, nem para pior, apenas diferente). O corpo molda-se ao estilo de vida e o cérebro reinventa-se, reorganiza-se... ajusta-se. Em vez de reter reage, em vez de actuar estuda, em vez de raciocinar... relaciona, interliga, quantifica e reestrutura... e mesmo assim não percebe a cena...
Queremos todo espaço e todo o tempo, somos criadores de partículas em busca de todas as nano respostas, nem que para isso sejam sacrificadas todas as perguntas futuras.
Detonamos-nos por religião, enganamos por política, ficamos irados por desporto, matamos e deixamos morrer por vaidade e preguiça... sofremos e causamos sofrimento por pura estupidez e incompetência.
{¿did you try the hardest of your dreams?}
papalagui não tem tempo
Não bastava o papalagui estar constantemente insatisfeito com o que tem e o que é, quis também controlar o que é incontrolável: o tempo. Sendo assim dividiu o tempo em segundos, minutos e horas, criou calendários e programas de agendamento das mais infinas tarefas, que regista meticulosamente, controlando, cronometrando e esquematizando quase compulsivamente. Hoje o papalagiu trabalha em milissegundos e criou disciplinas como gestão de tempo, transformando tudo em trabalho. O objectivo é termos tudo especificado com vista sermos trabalhadores eficientes, bons amigos, dedicados à família, cuidarmos do corpo, sermos inteligentes, ricos e bem sucedidos... tudo tem o seu tempo, desde que seja devidamente calendarizado. As tuas vontades ou necessidades terão que ficar para depois caso entrem em conflito com algum dos agendamentos previamente marcados, se tens perto dos 30 e ainda não fizeste uma nesga daquilo que sonhaste fazer... temos pena, porque para hoje e amanha e os próximos anos já tens coisas marcadas, aquilo a que chamas vida.
estruturas de dados
O modo como percepcionamos aquilo que nos rodeia e as alternativas que formulamos para aprender mais conhecimentos são extremamente influenciados pela linguagem, de igual modo, num contexto especifico de um problema temos que analisar a linguagem sobre o qual o mesmo está inserido de modo a adequarmos a resolução do problema mediante o paradigma existente e respeitarmos as convenções.
Em computação temos pois que encontrar a linguagem que mais se adequa ao nosso problema e às nossas necessidade, uma linguagem de programação é uma notação para escrever problemas. Todavia, se procuramos uma resposta fiável para o nosso problema, não temos apenas que escolher por esta ou aquela linguagem, temos também que analisar os dados e estrutura-los da forma mais eficiente possível, com vista alcançarmos o algoritmo ideal. Estruturar dados não é mais do que armazenar e organizar dados para serem usados de uma forma eficiente, manipulados por algoritmos. As estruturas de dados definem a organização, métodos de acesso e opções de processamento para a informação ser manipulada pelo programa.
Em computação temos pois que encontrar a linguagem que mais se adequa ao nosso problema e às nossas necessidade, uma linguagem de programação é uma notação para escrever problemas. Todavia, se procuramos uma resposta fiável para o nosso problema, não temos apenas que escolher por esta ou aquela linguagem, temos também que analisar os dados e estrutura-los da forma mais eficiente possível, com vista alcançarmos o algoritmo ideal. Estruturar dados não é mais do que armazenar e organizar dados para serem usados de uma forma eficiente, manipulados por algoritmos. As estruturas de dados definem a organização, métodos de acesso e opções de processamento para a informação ser manipulada pelo programa.
São várias as estruturas de dados, entre as mais clássicas destaco:
[ vectores (array) ] estruturas de dados estáticas de dimensão fixa e finita que armazenam elementos do mesmo tipo;
[ listas (list) ] sequencia de elementos do mesmo tipo onde a ordem de inserção é relevante;
[ pilhas (stack) ] estrutura de informação linear, a informação é armazenada de modo a aceder ao ultimo elemento inserido (LIFO - last in frist out);
[ filas (queue) ] semelhantes às pilhas contudo a informação é armazenada de forma a aceder somente ao primeiro elemento inserido (FIFO - frist in frist out);
[ conjuntos (set) ] colecção sem repetições de objectos de um determinado universo/tipo. estes objectos são designados por membros ou elementos do conjunto;
[ árvores (tree) ] estruturas de dados não lineares. A arvore pode ser vazia (estrutura vazia) ou ter um nó principal (raiz/root) e um numero finito de subarvores;
[ árvores binárias (binary tree) ] são tipos de árvores com grau 2, ou seja, contém apenas duas sub-árvores; a sub-arvore da esquerda e a sub-arvore da direita;
[ grafos ] Os grafos são uma forma de modelar os problemas. Um grafo G=(V,E) consiste em cum conjunto V de vértices e um conjunto E de pares de vértices ou arestas. Grafos podem ser utilizados para modelar uma variedade de estruturas e relações;
[ tabelas ] são estruturas de dados que armazenam um conjunto finito de registos(records). Cada registo é constituído por um par de valores, a chave(identifica univocamente o elemento) um elemento (de um dado tipo que contém a informação que se quer guardar.
“The art of programming is the art of organizing complexity,of mastering multitude and avoiding its bastard chaos” - E. Dijkstra
metodologias
O primeiro tópico deste blog foi dedicado a uma linguagem iconográfica de desenvolvimento de software, porque de facto as "boas praticas" sempre estiveram no meu âmbito de preocupação e daqueles que geriam os projectos (ainda poucos) nos quais trabalhei, a eles um obrigado pelas palavras motivadoras em tempos de crise e as congratulações nos momentos altos. Não é fácil saber qual a metodologia a aplicar num determinado projecto, porque as metodologias estão intimamente ligadas às pessoas que as põem em prática, e aí está como sabemos o grande desafio.
Independentemente disso existe a teoria, muito sucintamente enumero algumas.
Model Driven Development – MDD
Metodologia baseada na criação de modelos conceptuais que servem de base para a criação de artefactos de software.
RUP
Rational unified process é uma metodologia orientada a objectos com grande ênfase na linguagem UML, processos de planificação e controle têm grande destaque, começando logo num levantamento exaustivo dos requisitos e planificação e documentação de todos os detalhes até uma verificação exaustiva da qualidade do software e sua adaptação e mudança.
AS METODOLOGIAS AGILE
Metodologia de desenvolvimento de software com carácter iterativo, com planificações informais para curtos períodos de tempo, e focados na inter-ajuda e partilha de conhecimentos para atingir os objectos. Ao longo do ciclo de vida do projecto os objectivos são reprogramados e reavaliados tendo como objectivo maior a satisfação do cliente e entrega de aplicações funcionais, por norma faseadas em várias versões.
XP - extreme programming
Metodologia ágil de desenvolvimento de software, receita: simplicidade, mudandança, feedback, coragem; Por outras palavras encontrar as melhores soluções em equipa, em constante comunicação com feedback rápido e aberto à mudança, numa atitude de crescente melhoria e procura de qualidade e responsabilidade.
Agile Model Driven Development (AMDD)
É a versão agile de desenvolvimento orientado a objectos, na qual se investe um tempo para uma modelagem inicial. basicamente é uma analise mais atenta ao requisitos funcionais de modo a projectar e a potencializar as construção de uma boa arquitectura.
Independentemente disso existe a teoria, muito sucintamente enumero algumas.
Model Driven Development – MDD
Metodologia baseada na criação de modelos conceptuais que servem de base para a criação de artefactos de software.
RUP
Rational unified process é uma metodologia orientada a objectos com grande ênfase na linguagem UML, processos de planificação e controle têm grande destaque, começando logo num levantamento exaustivo dos requisitos e planificação e documentação de todos os detalhes até uma verificação exaustiva da qualidade do software e sua adaptação e mudança.
AS METODOLOGIAS AGILE
Metodologia de desenvolvimento de software com carácter iterativo, com planificações informais para curtos períodos de tempo, e focados na inter-ajuda e partilha de conhecimentos para atingir os objectos. Ao longo do ciclo de vida do projecto os objectivos são reprogramados e reavaliados tendo como objectivo maior a satisfação do cliente e entrega de aplicações funcionais, por norma faseadas em várias versões.
XP - extreme programming
Metodologia ágil de desenvolvimento de software, receita: simplicidade, mudandança, feedback, coragem; Por outras palavras encontrar as melhores soluções em equipa, em constante comunicação com feedback rápido e aberto à mudança, numa atitude de crescente melhoria e procura de qualidade e responsabilidade.
Agile Model Driven Development (AMDD)
É a versão agile de desenvolvimento orientado a objectos, na qual se investe um tempo para uma modelagem inicial. basicamente é uma analise mais atenta ao requisitos funcionais de modo a projectar e a potencializar as construção de uma boa arquitectura.
Subscrever:
Mensagens (Atom)
