Good viewpoint on the world of developers: either you know well the language, or you know well the tool. See the IDE divide.
"The developer world is divided into two camps. Language mavens wax rhapsodic about the power of higher-level programming — first-class functions, staged programming, AOP, MOPs, and reflection. Tool mavens are skilled at the use of integrated build and debug tools, integrated documentation, code completion, refactoring, and code comprehension. Language mavens tend to use a text editor such as emacs or vim — these editors are more likely to work for new languages. Tool mavens tend to use IDEs such as Visual Studio, Eclipse, or IntelliJ, that integrate a variety of development tools."
"One consequence of the greater language selection available to the editor-only developer is it typically includes languages that are more powerful".
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
domingo, 25 de novembro de 2012
sábado, 24 de novembro de 2012
Software Is Mathematics
Software should be considered a part of Mathematics. Conventional Mathematics studies the existence of objects. Software is the branch of Mathematics which builds the objects.
Here, in What Does "Software Is Mathematics" Mean? - Part 1, considerations on this idea for courts in judgments about patenting software. Which should not be patented if it is considered Mathematics.
Here, in What Does "Software Is Mathematics" Mean? - Part 1, considerations on this idea for courts in judgments about patenting software. Which should not be patented if it is considered Mathematics.
terça-feira, 20 de novembro de 2012
What bridges exist between Turing machines and models of concurrent computing?
Good references to TM as models of computation in this research gate discussion.
sábado, 13 de outubro de 2012
The best approach to software development in general
Methods, hype, fashion? See post at Crafted Software.
"... the vast majority of developers react to all these things. It is not just because someone, somewhere wrote a book, recorded a video or gave a talk in a conference about something that it will make that thing right, in all contexts"
See also Does that thing you like doing actually work? Quote: "I am, of course, asking whether there’s any evidence in software engineering"
"... the vast majority of developers react to all these things. It is not just because someone, somewhere wrote a book, recorded a video or gave a talk in a conference about something that it will make that thing right, in all contexts"
See also Does that thing you like doing actually work? Quote: "I am, of course, asking whether there’s any evidence in software engineering"
Buy x Build (software)
Great quote from DeMarco in the very well analyzed post The Buy-vs-Build Shift (part 1):
In 1982 Tom DeMarco opened his hugely influential book on Software Engineering with the line “you can’t control what you can’t measure”. Interestingly, in an IEEE paper in 2009[2] he writes: “For the past 40 years [...] we’ve tortured ourselves over our inability to finish a software project on time and on budget. But as I hinted earlier, this never should have been the supreme goal. The more important goal is transformation, creating software that changes the world or that transforms a company or how it does business.”
However, he thinks that framework are a good substitute for a components market, which looks like it make sense until you realize that using a framework means loosing the universal machine paradigm. Loosing the programmability.
On the other side, I fully agree with him when he writes that "It seems that even if software development was not a core competency for most companies it is rapidly becoming strategically important for many to make software development a core competency."
In 1982 Tom DeMarco opened his hugely influential book on Software Engineering with the line “you can’t control what you can’t measure”. Interestingly, in an IEEE paper in 2009[2] he writes: “For the past 40 years [...] we’ve tortured ourselves over our inability to finish a software project on time and on budget. But as I hinted earlier, this never should have been the supreme goal. The more important goal is transformation, creating software that changes the world or that transforms a company or how it does business.”
However, he thinks that framework are a good substitute for a components market, which looks like it make sense until you realize that using a framework means loosing the universal machine paradigm. Loosing the programmability.
On the other side, I fully agree with him when he writes that "It seems that even if software development was not a core competency for most companies it is rapidly becoming strategically important for many to make software development a core competency."
The halting problem
A different - and good for teachers -way to look at and explain the Halting Problem: Eric Lippert's blog.
Assinar:
Postagens (Atom)