I am an aspiring computer scientist doing Masters in Computer Science (Algorithms, Logic and Languages) at Chalmers University of Technology in Sweden.
Technology and programming excites me, but no more than the underlying theory. Currently, I’m experimenting with my interests in programming language theory and formal logic with an application in concurrent and distributed systems. Functional programming and type systems for large scale distributed software seem like interesting areas of research.
Programming languages provide powerful abstractions to build software systems. Much success has been achieved in sequential computation - we have a plethora of high level programming languages which ensure we don’t worry too much about memory management, run time safety and other similar “low level” problems. It is the age of distributed computation and we are still using tools designed for sequential computation. It appears that when building distributed systems, we spend most of our time solving concurrency and communication problems. It would be useful to have tools (say a programming language) to solve these problems internally and provide an effective abstraction to build distributed systems. This way, one can focus on the application logic instead of writing tedious communication protocols, synchronization algorithms etc. This is an interesting and active area of research in both the academia and the industry.