DZone
Java Zone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
  • Refcardz
  • Trend Reports
  • Webinars
  • Zones
  • |
    • Agile
    • AI
    • Big Data
    • Cloud
    • Database
    • DevOps
    • Integration
    • IoT
    • Java
    • Microservices
    • Open Source
    • Performance
    • Security
    • Web Dev
DZone > Java Zone > Where is the Science in Software Development?

Where is the Science in Software Development?

Jens Schauder user avatar by
Jens Schauder
·
Feb. 22, 12 · Java Zone · Interview
Like (0)
Save
Tweet
4.31K Views

Join the DZone community and get the full member experience.

Join For Free

Lots of stuff in software development has some really solid scientic foundation. Relational databases for example are based on Relational Algebra. There is Lambda Calculus and Type Theory.

And at least in my personal opionion and experience these kind of things work especially well. Yet when it comes to the construction of code the whole thing does look more like a religion. High priest Uncle Bob preaches that shorter is better and that only those developers will reach nirvana that write their tests before the production code.

And than there are the heretics that call all this bull shit, never write a single test but methods as long as the Edda. And lets not forget: those guys ship code as well.

If you check the scientific facts behind any advice of how to write code you are bound to find a void as empty as the space behind Pluto or a reference to some research done 30 years ago with 20 students doing a 4 hour assignement using different styles, languages or what ever. Correlation to my daily work? Approximately zero. Its like the scientific fact that a feather and a hammer should drop with the same acceleration and hence speed. True if you happen live in a vacuum tube, but pretty irrelevant in this form for our daily life.

I’m wondering why is this? It really doesn’t have to be that way. We all use an IDE which already contains lots of plugins. Our builds, including our test runs are automated. The source code is in a version control system. We track our bugs in an issue tracking system, and with a little effort we can link every commit to a bug (or a feature) in our issue tracking system.

Why don’t we have a set of plug ins that gathers various pieces of information about our code development efforts in a central public repository? I imagine such a repository would be enormously valuable for research.

Of course the data wouldn’t be perfect but go talk to biologists, archeologists, economists or any other scientists, with the possible exception of computer scientists, mathmaticians and theoretic physicists: Data is never perfect.

Right now  software development is like building cathedrals in mediaval times. Looks impressive as long as it stays up, but nobody can tell if it will stay up without trying.

Its about time we get serious about software development. What is stopping us? Or is this already happening and I just missed it?

 

From http://blog.schauderhaft.de/2012/02/12/where-is-the-science-in-software-development/

Software development

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • What Is Pair Programming?
  • Building a QR Code Generator with Azure Functions
  • Chopping the Monolith: The Demo
  • Vaadin Apps as Native Executables Using Quarkus Native

Comments

Java Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • MVB Program
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends:

DZone.com is powered by 

AnswerHub logo