The introduction of Smalltalk in the mid 1970s ushered in a series of thought experiments that would eventually popularize the object oriented programming model with several of the most successful languages of all time. At the peak of popularity, object oriented programming in C++ and Java has changed the way we code, the way we visualize problems, and even the way we think. Not all of the changes have been for the better. This talk seeks to crystallize the problems with the object oriented languages and programming model. It also will explore specific ways that other languages remedy these problems. We'll see small examples in a variety of languages.
How is C++ is different to other languages and how does that affect the way we write and think about programs? C++11 adds a host of new language ideas that build on these differences and C++14 extends things yet further. Key questions to explore are: how do these new features change how we think about C++? What standard design idioms and techniques should we consider changing and what new ones should we explore? How can we take advantage of the new without abandoning the old? As C++ enters a new era and enjoys a new burst of energy, this talk seeks to explore how we will live and learn in this exciting new world.
Software is a mess.
In the last 40 years I and my colleagues have been writing buggy, unspecified, and difficult to maintain software.
By doing so we have created an entire industry. We have collectively created billions of lines of unmaintainable unspecified code that will require millions of programmers to work for thousands of years to correct the mess we've made.
Where did things go wrong? Can we make things work again? Should we admit we were wrong and throw all our legacy software away and start again?
How can we make correct software, that is easy to understand and maintain?
I don't pretend I can answer these questions - but I have some idea as to what went wrong, so maybe we can learn from our mistakes.
In this lecture I'll talk about some of the biggest mistakes we made and what we can learn from these.
We have heard about IoT for years and years, some even claim to have seen it, very few claim to have tamed it and even fewer actually do.
Interestingly those who do tame it, claim it to be a different beast altogether.
Today, it is easy to add an Bluetooth Smart/Wireless IC/Chip to your physical product and write an app or website for it, Is this not IoT ?
Get an insight on what has worked in IoT.
How does Bluetooth Smart change the rules for IoT.
Learn to quickly prototype your IoT.