How do we write secure, robust, scalable, mutilthreaded software? There are several aproaches, and no definitive answer to this question. But the recent advent of multicore processors have put a new emphasis on how we as programmers write software that can utilize this new hardware architecture so that the processors are not idle and we get maximum performance.
Traditionally we write sequential programs. That is what programmers are taught, and it is easy to understand the flow in the software. Programmers are also taught that we should avoid multithreading whenever possible, because chances are that bugs will be present – indeed one gets the feeling that bugs are inherent in multithreaded software. And the fact is that getting multithreading right in imperative languages like C++, Java or C# is extremely hard; the primitives provided in these languages for handling threads and their communication are not adequate. It might look simple on paper, but multithreaded software is rarely as simple as the textbook examples. (more…)
During the christmas holidays i had the opportunity to sit down and investigate the functional programming language Erlang, and i was not disappointed at all. I had heard some rumors about this particular language from various sources, particularly when i was at the JAOO conference in September 2007.
Now, there are a number of fundamental differences between a functional programming language and an imperative language like Java or C# that i like, all of which i will not delve into in this post (more on that later). But what really struck me with Erlang is the primitives for concurrent programming and building fault tolerant systems. Concurrent programming – and distributed ditto – has been build into the language from the very beginning due to the source of the language which makes it much more complete. (more…)
It seems that every one with a descent amount of respect for themselves have a “blog”. What is a “blog”? First of all, “blog” and “blogosphere” and all the other non-words relating to this phenomena really bugs me. It seems that words are being invented with higher frequency than anyone can keep up with. And to make matters worse: they are being adopted by the majority of people. Why is that?
Anyway, this is the first entry in my “blog” (God help me), but definitely not the last. Whenever there is a subject that bugs me or thrills me I will waste some time writing about it. Take it or leave it.