Sunday, March 27, 2016

Are Software Engineering and Mathematics Science? Can they be considered a part of modernity project?


Mathematics:
In Greek it means knowledge, study and learning. According to Wikipedia, it is the study of topics such as quantity (numbers), structure, space and change. Due to its vast nature, its’ definition is the topic of many a discussions and debates in the various schools of thoughts.
Mathematics has been defined by many philosophers in myriad ways. Aristotle defined mathematics as “The science of quantity”, while Auguste Comte says its “The science of indirect measurement”.

Some Mathematicians believe that it is a form of Art, like poetry, which is written in terms of equations, which mathematicians enjoy doing, while other mathematicians run behind the notion of “rigor”. Rigor again is quite a relative term and hard to define what they actually mean by it, but generally is considered to be something which relates to do some sort of mathematical activity which is not driven by applications or utility.
Software Engineering:
Software Engineering is an applied branch of computer science.
Software Engineers are generally people who write some code or programs, run them and compile them to produce/create softwares which could be used directly by the end user to accomplish various tasks.
They are also responsible for fixing bugs and optimization of a program at a great throughput.
The other branches constituted by Software Engineering are Requirements Engineering, Software Design, Testing, Maintenance, etc.

Science:
It is defined in the oxford dictionary as “The intellectual and practical activity encompassing the systematic study of the structure and behavior of the physical and natural world through observation and experiment”. Wikipedia states that it’s a Latin word, which means “knowledge” and is a systematic activity dealing with the creation and organization of knowledge in form of predictions and explanations which generally help in the quantification of universal phenomenon.
There is generally a set of rules/procedure, termed as Scientific methods. It helps in the characterization of the phenomenon on the basis of:
Systematic observations, measurement, and experiments,
The formulation, testing, and modification of hypotheses.
The steps, however need not be followed in the same order and are highly flexible in terms of the order of their execution.
Many point to Aristotle as the prime mover behind the development of the Scientific Method.

Modernity :
A period when each successive generation grows up under tangibly different conditions and equating of “Change” with “Progress”.
According to Habermas ,‘ One cannot confine it to an age, rather it is an epoch formed from an outright rejection of antiquity or from a renewed relation to the ancient.’ Hence a modern work becomes a classic if it was once authentically “modern.”

Thus a project of modernity is any institution or an idea that has a significant impact on the way each generation uniquely views and experiences the world around them.
It has been the pursuit of knowledge and their applications in the various projects of Modernity that have allowed us to “Modernize” our society. When we recognize a particular subject / idea as a project of modernity we recognize it’s true value to us in our ‘Modern’ world /civilization. Looking back we can see that the major projects of modernity should include both Mathematics and Software engineering for imagining the modern world without them would tantamount to heresy to a true scientist.
The work that has been done recently in the field of digitization has heralded us into a new golden age of technological prosperity. Every year we see the gap between the haves and haves not reduce with regards to information. The IT sector alone has created a industry which has fueled a new age where capitalism truly marries science and artistic imagination.
The bridge in the information gap decreases the gap between the so-called experts and the common people. The utility of this particular aspect of the modern world can’t be possibly stated in monetary terms.
After all a space to share your thoughts and ideas at such a scale is something no other generation enjoyed and is the essence of a truly free democracy. This has led to many a moments when the world came together from showing their support to the citizens of France after the Paris attacks or in the way the Arab Spring emerged. The effect of this as not only a potent platform for citizens but also for the Politicians themselves. An increase in spending towards Internet based campaigning strategies is a very recent but powerful trend. This can be seen in the campaign by the many people who were active in
the Scottish independence referendum. Even in India Aam Aadmi Party had a very effective plan for an online campaign. Even the whistle-blowers have found a new way to express their “findings” on the Internet from Edward Snowden to Assange. This shows that the way we visualize democracy and hence the very way we govern ourselves is changing thus making it a project of modernity.
Every few months when one of the many companies decides to offer us the next best deal, in terms of a smart-phone they are offering us a glimpse of the future. According to idc the last quarter itself had a shipment of 341.5 million smart- phones. The rate at which we are churning out gadgets we will soon see a day when the technology becomes obsolete by the week.
They represent a pinnacle a of both software engineering and electrical engineering by bringing internet and hence quite literally the world to everyone’s hand. At this rate the our way of life has changed from the way we interact (social networking vs. paging) to fully grasp the full impact of what it means, one must know that recently BBM was officially added to the Oxford Dictionary and even other words which are now added find their roots in the newly ‘spawned’ digital world.
Even the way we shop (amazon vs. going to the market) has undergone a shift. This can be illustrated when one tries to think of the recent discussions by the policy makers on the legality of the drones in delivery industry. Such a digital market place ensures not only a transparent platform for the buyers and sellers but an overall push to both the manufacturing and service sectors. It has also helped in creating a culture where things are customized to the users liking.
This effect will become only more pronounced and each generation in this regard will thus be truly more “modern” then the last . It is only right we recognize the break-troughs in Software Engineering, which has made all this possible.

The way we see Mathematics has also undergone a change. From being a handmaiden / tool for the sciences Math has now matured into its very own field. With the advent of specialization in the Modern world the time and energy devoted to Math has increased our knowledge and understanding of the subject. The equations given by the mathematicians are finding a new home in the World of AI and Internet itself. To really see the full significance of the role played by Math in reducing the costs here is an excerpt from Matt Komorowski website : Over the last 30 years, space per unit cost has doubled roughly every 14 months(increasing by an order of magnitude every 48 months). The regression equation is given by:
This has pushed both the fields along with the rest of humanity into a truly “Digital World”. This directly translates into a reduction in costs and hence an increase in the very capacity of what we can do as a species.
To conclude I can only say that recognizing both software engineering and Mathematics as projects of Modernity is only logical. Moreover these projects have given rise to internet which for many people, Snowden being one, is one of the most important inventions. The uniqueness of this can be seen from the fact that not only can it be used by everyone it also is shared by everyone, meaning, that it is truly a project of not just Modernity but also Humanity.
Since the world is moving rapidly towards globalization and its easier now to collaborate across borders than before, people have come up with new techniques of sub-animadversion and Agile Development, which helps produce and maintain better software quality in cases where many teams are involved in producing the software.
Coming back to the reason why I believe that mathematics and software engineering forms a part of sciences. All three of them, by their very definition, have many common terms, which motivate us to believe that mathematics and software engineering form a part of science. If we closely look infer the definition of science and the scientific method, it tells us that there is a certain procedure which is followed in the process of getting to the prediction, which in case of science, is the final product. In mathematics, there is generally a set of rules that is followed to derive the final equation(s), something similar happens in case of software engineering as well. There are certain steps which are followed, similar to the scientific method, which lead to some product, wherein some observations, experimentation, testing and modification are done to accept/reject the final equation or the software, similar to the hypothesis about the scientific phenomenon.
Even management, if we look at, is argued, if it is art or science. There are both notions of classifying these two topics in art or into science. Searching on the internet would throw at us n number of articles which talk about almost everything being classified as either art or as science. While a clear distinction is generally hard to find, a good mix could be to look at certain aspects of it as art while at certain others as science. Mathematics, is also looked at as a tool that aids in the prediction of scientific phenomenon. Physics and chemistry were generally spoken about in mathematical terms and looking at the history tells us about the notion that most of the mathematics developed at that point of time was majorly to explain and quantify the findings of these two fields. Even today, most of the mathematics is still not obsolete and is used in the explanation of the physical phenomenon, but then one could argue about biology. Biology, till this point of time, is hard to explain, given a lot of “random” things that happen inside the living systems. People have now started looking at biology from different perspectives and do not generally follow any pre-defined set of instructions and work in quite a random manner, which nullifies the notion that a scientific method is followed and is something that goes into doing science, but this does not mean that biology is not a part of science. In fact, biology is believed to be one of the oldest forms of science dealing with natural science and aims to explain the functioning and behavior of the living organisms.
If we look at the direct application of science, I would like to draw the attention over here to the field of machine learning and artificial intelligence. Artificial intelligence, as we all know, is a field of computer science, which aims to give computers a human like intelligence and inferencing capabilities by using something called machine learning, which forms the basis of how this intelligence is given to a machine. The popular mathematical equations and discoveries made almost centuries back are directly applicable to the realm of machine learning. The mathematical equations can be straightaway written in a program and could produce the output at quite a high-speed, processing a large chunk of data inputs and producing accurate results. Some basic things like Euclidean distance can be directly used inside algorithms like k-NN and have produced much better results. You might argue here, that this is all being done to aid science, to produce intelligent systems that could automate the process and reduce human efforts, but then science itself if trying to do something similar.
Science is trying to study/explain the natural phenomenon and we as humans are trying to infer the nature using science as a tool. The argument that I would like to make here is to look at AI as a hybrid tool similar to science, which is using the already existing knowledge and inferences drawn from the past and combining them in an intelligent way and then enabling us to look at the nature (if we go into domain of automated systems for discovery) with precision and lesser human effort.
If we are looking at science to improve our understanding about the things around us and then improving the quality of life based on our understandings and making human life easier, then AI (constituting mathematics and software engineering) is also doing something similar. AI is also trying to improve the quality of human life by automating the things around us in a precise manner and reducing the human intervention and effort. The field of robotics, again a mix of mathematics, softwares and electronics, aims to serve the humans (I do not intend to look at it as a slave), reducing their efforts, making life easier and helping humans accomplish those tasks which seemed impossible earlier, reaching places, where humans can’t, surviving extreme situations to improve the human’s understanding about the nature and the universe. The effects, today are of course well-known and have undoubtedly given humanity a push forward.
If we look at science as the field in which it is possible to make products that aid human life, then mathematics and software are also doing just that. Science itself also cannot function without the other fields and its probably hard to draw a line between what is only scientific and what comes after that. Looking at another quite a popular upcoming branch of machine learning called Deep Learning or Reinforcement learning, is enabling computers to learn in the way humans learn, by maximizing the reward associated at the end of it. Mathematics forms the basis of this with algorithms like Stochastic Gradient Descent, which were developed quite sometime back, again a hybridization of gradient descent, performed stochastically, so to say. We have been dealing with the notion of hybrid for quite sometime and it is quite a popular one in life sciences, where one specie is bred with another, by ways of mutation and others, resulting in hybrid species, which are best of both worlds. Something similar happens in mathematics and software engineering per se, which gives us another trait to classify it under science.
References:
1. Oxford English Dictionary. Oxford University Press. 2012. Retrieved June 16, 2012. "The science of space, number, quantity, and arrangement, whose methods involve logical reasoning and usually the use of symbolic notation, and which includes geometry, arithmetic, algebra, and analysis."
2. Kneebone, G.T. (1963). Mathematical Logic and the Foundations of Mathematics: An Introductory Survey. Dover. pp. 4. ISBN 0-486-41712-3. "Mathematics ... is simply the study of abstract structures, or formal patterns of connectedness."
3. From the Oxford English Dictionary definition for "scientific"

4. URL : http://www.mkomo.com/cost-per-gigabyte
5. URL : http://www.idc.com/prodserv/smartphone-os-market-share.jsp