Category Archives: Studium

Lisp on Embedded Systems

I had a very inspiring conversation today. I was trying to lay out why one should learn Lisp. I found that there are tons of reasons why Lisp is superior to other Languages. But I found some articles in the web that can explain that much better then me. There are some Articles written by Paul Graham that describe the reasons beautifully. For example “If Lisp is So Great” or “Revange of the Nerds“. I can only encourage you to read them.

What I found very interesting is the main statement of these Articles. Popularity of a Language is not the same as greatness as very well explained in the second Article. Another statement is that programming languages are slowly closing up with functionality and paradigms found in lisp. That is also one of the reasons why I started learning it, because I heard about that trend some time ago somewhere in the big depths of the net.

Most articles are stating that Lisp is the way to go to create web applications and financial systems. But I would even go further. I think it is also the way to go for embedded systems. Some people may think that Lisp is too big and too slow to use it for development on embedded systems. But look at your cellphone. It will probably have a JVM (Java Virtual Machine) running on it. What is that thing? It is a full emulation of a system. It runs bytecode. It is slow like hell but people still develop applications for cellphones compleatly written in java. I bet that there are phones that have their entire software written in Java. Now we look at Lisp. I found a comparison between JDK and SBCL here. It really seems that Java is faster and uses up less memory in most cases. At least taking a glimpse on the Graph. But as I already posted before. SBCL is not perfect. But there are developments like “Headless” coming that will better up that situation. On another site I found that the commercial Allegro Common Lisp implementation is the fastest. But sadly I do not see any benchmarks anywhere. And it does not support any embedded system.

I think that even if the benchmarks show that Lisp may be less efficient in speed and memory usage, it is only a matter of time and dedication to change that. But what do you buy with that loss of efficiency anyways. You get a REPL (you can interact with everything in the running program) you get binary upload (you can change the code of a running program) you get macros.

But for the beginning we could start with something more simple then the full fledged Common Lisp on embedded. There is still L (a Common Lisp language subset specially designed for embedded systems) and Mars realtime kernel to run L on. I sadly have not found a project site for that only a paper. I ask myself how much of Lisp goodness it provides.

Next semester I will have to make a project in embedded systems and the topic is not yet fully set. But I hope that I will be able to work towards the target of running lisp on embedded systems. I already asked my Professor about the idea and he is not negative but he still wants to talk about it. So wish me luck. (also I hope that my partners for the project will be willing to work in that direction too)

If you have any pointers and ideas about this topic then do not hesitate. I will appreciate any pointer.

[Update] Corrected minor stylistic mistakes.

Exams once more

It is nearly half a year ago as I had my last exams. But it seems that I had them only some days ago. I did not really recover yet from the exams back then and now I have to write some more new ones. When will this end? My predictions are in one and half year. But who knows what happens in that time? Perhaps it will take even longer what I would really hate!!!

I hate that stuff as you can imagine.

My photography is suffering from all that. At least I try to finally work over the images taken in Warsaw this winter. But it needs it’s time. I can imagine though that when the exams are over I will not have one spare minute to do anything. Now … we will see.

All exams over!

Finally all exams are over!

With the todays exam I was already ready after 45minutes what a nice feeling! I have never finished an exam in such a short time till now!

Now I go partying! Scoll!!! πŸ˜‰

Only one more to go!

The SE exam was not that hard at all. I really managed to write everything down. That was a lot of writing.

I had to write down some use cases, create a data model, create an interface for a class and that is nearly it. I am not sure how many mistakes I have done there though. That means I am not sure what grade it will be, but I have a good feeling about it.

Now there is only one more exam to go: DB. Now I will do some previous exams to get a feeling what is expected. I hope that will go smooth. Still, wish me luck. πŸ˜‰

Tomorrow at this time I will probably be already drinking beer with some friends in Sinnlos. We have to celebrate that the exams are over. I am really ready for vacation! πŸ˜‰

Too many Exams

Sigh… that is a really busy week. Writing 7 exams in one week is really a mess. It sucks all your brain out. There are still 2 to go. One about software engeneering and one about DB systems. Whish me luck … I hope that I will be able to write a bit more in the blog when they are over.

Now I need a bit rest after today’s compiler exam that was really hard. I did not expect it to be such a problem. I only hope that I managed to do it well enough to get a 4 :/ I do not really want to write it once more.

After that I continue learning for the next exam. Wish me luck!