Or is it? Developing software is more simple or more complex?
And we are talking open source...
What happened to software? Why is there so few creative software (2010)? Are we at the end of software? What are the forces which led to this situation, looking like a bit step backward to the epoch of non-programmable accounting machines? Is there a way out of this situation? Yes, and a very simple one: make good software. With invention. Developing models and abstractions. It is difficult but absolutely possible. It this re-start of software I wish to explore here in this blog. Welcome
quarta-feira, 12 de novembro de 2014
domingo, 12 de outubro de 2014
sexta-feira, 26 de setembro de 2014
sábado, 6 de setembro de 2014
Do not estimate software development projects
This paper (What We Do and Don't Know about Software Development Effort Estimation) makes it clear: there is no reliable estimate methodology. Expert advice, experience are the best evaluators.
Slowly the idea of software as a craft, as an art, is growing. Not a production activity.
Slowly the idea of software as a craft, as an art, is growing. Not a production activity.
Computer Science Majors, Your Degree May Not Be As Valuable As You Think
Well, what this article show is that you can have programmers who will work as bricklayers. That's ok and enough to produce the bad spaghetti monolithic code of most commercial software. What about real developers. They should have, yes, a computer science degree. To be able to abstract concepts of the software they design. The keywork here is design, not build.
sábado, 23 de agosto de 2014
sábado, 9 de agosto de 2014
You ain't gonna need it
Finally someone said it clearly: we have to Get Back to Coding.
Note: "Don't be pressured by the perceived popularity of Git to adopt Git. (Obviously, if you want to explore Git for your own edification, I'm not recommending against that. But understand that that choice will add complexity to your other work.)"
Just let me code
Discouraged Developer
If you really need it, here is How to get started with GitHub
Note: "Don't be pressured by the perceived popularity of Git to adopt Git. (Obviously, if you want to explore Git for your own edification, I'm not recommending against that. But understand that that choice will add complexity to your other work.)"
Just let me code
Discouraged Developer
If you really need it, here is How to get started with GitHub
Devops? Docker?
Devops: new methodology? Hype or finally some thing which integrates development and operation? Looks like developers should think operation. Much like engineers design the product and the plant to fabricate the product.
And Docker? Looks like containers are better than virtual machines for development:
http://www.infoworld.com/t/application-development/docker-the-first-true-devops-tool-247170?source=IFWNLE_nlt_stradev_2014-07-29
http://www.zdnet.com/what-is-docker-and-why-is-it-so-darn-popular-7000032269/
http://opensource.com/business/14/7/docker-through-hype?sc_cid=70160000000dgMrAAI&elq=a1b855f9c688441790c95f6bb6c7251f&elqCampaignId=31321
http://www.infoworld.com/d/application-development/how-get-started-docker-245278?source=IFWNLE_nlt_virtualization_2014-08-07
And Docker? Looks like containers are better than virtual machines for development:
http://www.infoworld.com/t/application-development/docker-the-first-true-devops-tool-247170?source=IFWNLE_nlt_stradev_2014-07-29
http://www.zdnet.com/what-is-docker-and-why-is-it-so-darn-popular-7000032269/
http://opensource.com/business/14/7/docker-through-hype?sc_cid=70160000000dgMrAAI&elq=a1b855f9c688441790c95f6bb6c7251f&elqCampaignId=31321
http://www.infoworld.com/d/application-development/how-get-started-docker-245278?source=IFWNLE_nlt_virtualization_2014-08-07
sexta-feira, 4 de julho de 2014
User evaluation of an IDE, framework, .Net
Why I Left the .NET Framework: "because it kept reasserting itself and wanting to be more than it was: an implementation detail"
sábado, 28 de junho de 2014
domingo, 11 de maio de 2014
Mathematics and Programming
Three examples, with monads and other constructs, showing that mathematical concepts, and functional programming, are the way to clear and error-free programs. Difficult perhaps. But worthy.
The Curse of the Excluded Middle
Monads and Programming
Functors, Applicatives, And Monads In Pictures
The Curse of the Excluded Middle
Monads and Programming
Functors, Applicatives, And Monads In Pictures
segunda-feira, 24 de fevereiro de 2014
The Evolution of the Developer
"Developers are now the real decision makers in technology. Learning how to best negotiate with these New Kingmakers, therefore, could mean the difference between success and failure".
Really? Will the cloud change the power structure of IT? Or does this apply only to software business, not to business in general?
Really? Will the cloud change the power structure of IT? Or does this apply only to software business, not to business in general?
sábado, 15 de fevereiro de 2014
No Methodologies
Why don’t software development methodologies work?
An experienced programmer - a "typical" programmer -, one who have used all methodologies and "techniques du jour" shows clearly that methodology is not the key to producing good software.
The text strongly suggests that the key to good software is... the programmer. As a craftsman. Which puts the last nail in the coffin of so-called Software Engineering.
Simple: Software is not engineering. It is related to Art, Craft and Mathematics.See Knuth The Art of Computer Programming.
" I’ve lived through waterfall/BDUF (big design up front), structured programming, top-down, bottom-up, modular design, components, agile, Scrum, extreme, TDD, OOP, rapid prototyping, RAD, and probably others I’ve forgotten about. I’m not convinced any of these things work."
"My own experience, validated by Cockburn’s thesis and Frederick Brooks in No Silver Bullet, is that software development projects succeed when the key people on the team share a common vision, what Brooks calls “conceptual integrity.” This doesn’t arise from any particular methodology, and can happen in the absence of anything resembling a process. I know the feeling working on a team where everyone clicks and things just get done. What I don’t understand is why I had that feeling a lot more in the bad old days of BDUF and business analysts than I do now."
"I think programmers should pay much more attention to listening to and working with their peers than to rituals and tools, and that we should be skeptical of too much process or methodologies that promise to magically make everyone more productive"
An experienced programmer - a "typical" programmer -, one who have used all methodologies and "techniques du jour" shows clearly that methodology is not the key to producing good software.
The text strongly suggests that the key to good software is... the programmer. As a craftsman. Which puts the last nail in the coffin of so-called Software Engineering.
Simple: Software is not engineering. It is related to Art, Craft and Mathematics.See Knuth The Art of Computer Programming.
" I’ve lived through waterfall/BDUF (big design up front), structured programming, top-down, bottom-up, modular design, components, agile, Scrum, extreme, TDD, OOP, rapid prototyping, RAD, and probably others I’ve forgotten about. I’m not convinced any of these things work."
"My own experience, validated by Cockburn’s thesis and Frederick Brooks in No Silver Bullet, is that software development projects succeed when the key people on the team share a common vision, what Brooks calls “conceptual integrity.” This doesn’t arise from any particular methodology, and can happen in the absence of anything resembling a process. I know the feeling working on a team where everyone clicks and things just get done. What I don’t understand is why I had that feeling a lot more in the bad old days of BDUF and business analysts than I do now."
"I think programmers should pay much more attention to listening to and working with their peers than to rituals and tools, and that we should be skeptical of too much process or methodologies that promise to magically make everyone more productive"
sábado, 8 de fevereiro de 2014
Software pronto não é software
Artigo Geraldo Coen 2011
E tese proposta em 2010: O Fim do Software, e como Recomeçar: "O objetivo deste trabalho é mostrar que se pode usar o conceito de máquina universal como modelo para o desenvolvimento de software."
Aplicação prática deste trabalho é um ambiente de desenvolvimento para software, comercial e outros, que é uma planilha cujas células são expressões LISP.
Assim, o ciclo clássico REPL é aplicado a uma planilha, o que é familiar aos usuários de planilha. A planilha se torna, usando expressões LISP, uma máquina universal. Além disso, execução em paralelo fica muito fácil, uma vez que os relacionamentos entre células indicarão as restrições ao processamento em paralelo. Finalmente, no caso particular de uma planilha com uma só célular leva ao sistema LISP (ou qualquer outra linguagem, ou EMACS, etc) atual.
E tese proposta em 2010: O Fim do Software, e como Recomeçar: "O objetivo deste trabalho é mostrar que se pode usar o conceito de máquina universal como modelo para o desenvolvimento de software."
Aplicação prática deste trabalho é um ambiente de desenvolvimento para software, comercial e outros, que é uma planilha cujas células são expressões LISP.
Assim, o ciclo clássico REPL é aplicado a uma planilha, o que é familiar aos usuários de planilha. A planilha se torna, usando expressões LISP, uma máquina universal. Além disso, execução em paralelo fica muito fácil, uma vez que os relacionamentos entre células indicarão as restrições ao processamento em paralelo. Finalmente, no caso particular de uma planilha com uma só célular leva ao sistema LISP (ou qualquer outra linguagem, ou EMACS, etc) atual.
sábado, 18 de janeiro de 2014
terça-feira, 14 de janeiro de 2014
Assinar:
Postagens (Atom)