Mostrando postagens com marcador Complexidade. Mostrar todas as postagens
Mostrando postagens com marcador Complexidade. Mostrar todas as postagens

domingo, 23 de dezembro de 2012

domingo, 2 de dezembro de 2012

Fighting Complexity

Getting rid of complexity is the theme of Dr. Neumann research in computers and network security.  See Killing the Computer to Save It

"... the insight that “complex systems break in complex ways” — that the increasing complexity of modern hardware and software has made it virtually impossible to identify the flaws and vulnerabilities in computer systems and ensure that they are secure and trustworthy."
 
“I’m fundamentally an optimist with regard to what we can do with research,” he said. “I’m fundamentally a pessimist with respect to what corporations who are fundamentally beholden to their stockholders do, because they’re always working on short-term appearance.”

sábado, 13 de outubro de 2012

Complex things are complex

But not complicated. People should understand that anyone can program a simple enough problem. Developing a complex system is another thing. It requires skill and knowledge. You are building a machine. This is the point made by MarkCC in yet another excellent post in his Good Math, Bad Math blog: Everyone should program, or Programming is Hard? Both!
"To write complicated programs is complicated. To write programs that manipulate symbolic data, you need to understand how the data symbolizes things. To write a computer that manipulates numbers, you need to understand how the numbers work, and how the computer represents them. To build a machine, you need to understand the machine that you're building. It's that simple."

sábado, 27 de novembro de 2010

Complexidade, Software Engineering

Retomando o tema software engineering, Ervin Varga: The Holistic Approach to Software Engineering as a Way to Handle Complexity.  Tenho reservas quanto a considerar desenvolvimento de software como uma engenharia (ver por exemplo The Angry Monkeys Blog, de Alan Downie, Why you absolutely MUST write an API when you write your next app com a idéia do programador como um jardineiro que cria um jardim mas que também pode trabalhar como um engenheiro de software).  Varga parte do Congresso inicial de Software Engineering de 1968 e aponta os temas atuais - paralelismo, formação em Ciência da Computação, reinvenção do business de software - e pede uma abordagem nova para lidar com a complexidade.

Recomendações do autor:
  1. To accentuate loudly that software development is a complex endeavor!
  2. To highlight the fact that complexity entails completeness!
  3. To start educating software people that only a holistic approach to software engineering is the right way to go in order to triumph over the current “software crisis”!
  4. To get people certified!
Outro ponto de vista, analisando as rupturas históricas em Software Engineering, Jean Bezivin citado por Jean-Jacques Dubray: Four Decades of Software Engineering, are Changes Coming?