Автор: Dan Ekstrom
Издательство: Dan Ekstrom
Год: 2022
Страниц: 232
Язык: английский
Формат: pdf, epub, mobi
Размер: 10.2 MB
The impact of software on society is both widespread and deep. It touches almost every aspect of our lives, from the way we bank and shop to the way we stay in touch with our friends and family. It helps us get our work done and entertain ourselves. It even affects the way we think and learn. It can even write the first sentences of a foreword. Software is powerful indeed. But what is it made of, how is it made and how can it be so versatile?
Consider the fact that the same programming language can be used to program a dish washer and a bank account. Even though the software in your dish washer and bank account are both machine code run by a processor, and the key words used to create the logic are identical, the rules that govern the two universes are distinct.
Most people can tell the difference between a bank account and a dish washer, but from a programmers perspective there doesn't have to be one. For example, the dishwasher could connect to the electric company to check the spot price of electricity for the coming hours, decide to start when the price is low, and then make a transaction from your bank account to the electric company when it's time to start. It could also have paid your bills and made a recommendation to cut back on pasta and vanilla sauce by the time it's done.
Because programming languages are not visible, and are never discussed, they remain one of the software's hidden parts, albeit not very deeply hidden. As a result, we know a lot about software and its limitations, but we know very little about programming. There were fewer types of hardware and programming languages in the past. It used to be easy to figure out what programming language was used to create programs on a home computer. In the home, there was primarily one type of computer: a PC running Microsoft Windows, and most graphical applications were written in C++, Visual Basic, or Delphi (Pascal). If you've used any of these languages, you're aware of the constraints they impose on the appearance of buttons on the screen and the types of windows that can be used.
The user interface for an app (application) in your phone could for example be defined with HTML and programmed in jаvascript, then embedded in a browser component from a framework which gives native access to some of the phones hardware. On an iPhone, the app could be written in Apple’s Object C, or their newest language Swift. On Android it could be Java or Kotlin. Many different hardware types and different programming languages exists in our every day life, and they are created with different purpose in mind.
In this book I describe a philosophy. In a profession made of data every bit have been measured, recorded and analysed for the last 40 years. There is so much ground truth that it is hard to see the forrest for all the trees. I want the reader to see the forrest.
Скачать How to think about software development: About software, software development and software developers