You are currently browsing the archives for the Languages category.
- 19. February 2012: Virgil
- 11. February 2012: Maximite
- 17. January 2012: Atypical Curiosity
- 4. January 2012: PIC32MX7 PIM, RB5 pin conflict (solved)
- 30. December 2011: MikroE Mini-32 Board
- 29. December 2011: Donate to Wikipedia
- 28. December 2011: PIC32 Interrupt Nesting (update)
- 20. December 2011: Graphics Library 3.02
- 2. December 2011: Home Brewed IDE for PIC32 assembly development
- 30. November 2011: Yoda Conditions, Egyptian brackets and more...
- February 2012
- January 2012
- December 2011
- November 2011
- March 2011
- February 2011
- January 2011
- March 2010
- January 2010
- December 2009
- November 2009
- September 2009
- August 2009
- July 2009
- June 2009
- May 2009
- April 2009
- March 2009
- January 2009
- December 2008
- November 2008
- October 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- January 2008
Archive for the Languages Category
Virgil
19. February 2012 by pilot.
I was reading recently about the (slow) adoption of object oriented programming languages in the embedded world. There is quite a sad situation, while in the mainstream, OOP languages are pretty much a standard, nowadays in the embedded world, they are just starting to show up, why?
The problem is not the lack of say C++ compilers or Java environments for the architectures used in the embedded world, it is more a matter of dealing with the runtime overhead and code bloating sometime produced by those solutions. But independently from the language of your choice, not all OOP is bad (as in bloating and runtime heavy…) there are some constructs in each language that are worse than others.
Ben L. Titzer, Jens Palsberg and other researchers at UCLA have been working for years on the subject and they have distilled a list of good and “bad” features that impact so much more heavily the typical embedded application. Their recipe, a new language called “Virgil“, designed from the ground up to provide you with the best of OOP without the worst of OOP.
Virgil is compiled to native (like C++) but is also strongly typed (like Java) and shares a syntax that is certainly familiar to programmers of both origin. There are also provisions for low level management including interrupt handling, special function registers and bit manipulation!
The only problem is that new languages’ adoption is always very slow, even when there are strong sponsors… (anybody used “GO” recently?), so if we wanted to accelerate the adoption of OOP, introducing a new language is not exactly a quick option…
Nonetheless, take a look at Virgil and see if you like what it has to offer…
Posted in Languages | No Comments »
Atypical Curiosity
17. January 2012 by pilot.
Actually I am typically pretty curious, especially when it comes to programming languages.
Atypical is a programming language that I discovered recently almost by mistake.
It was designed for the PIC and around the PIC assembly (midrange, 14-bit core) by Michael Park, with all the limitations and quirks of the PIC core, but with the intention to add a little structured programming and improve readability (quite a bit). Atypical flies very low, adding only a very thin layer of pre-processing to your source code. No fancy optimizations, if you are a hard core assembly wizard, you will appreciate how all the power is still in your hands…
As the author says, take a look and see if Atypical piques your interest! (link)
Posted in Languages | No Comments »
Real World Instrumentation with Python
1. March 2011 by pilot.
There is a new book on my nightstand, and it is one of the best I have read in years: it is called “Real World Instrumentation with Python” by J.M. Hughes, published by O’Reilly!Less than a month ago I was readying about Ruby. Then one thing got to another and I followed a friend’s suggestion to look into Python instead. Read a lot about it mostly online, then again, I strolling through a bookstore last Saturday and I stumbled onto a copy of this new book (published this past November 2010). I am amazed by the amount of information packed in so few pages and how smooth and fast it reads. I am now a big Python fan, it’s official, but an even bigger fan of J.M. Hughes.
Posted in Languages, Books | No Comments »
Learning Ruby
22. January 2011 by pilot.
Browsing through those large book stores, of the kind and size you can find only in the US, is one of my favorite pastimes.
I can loose myself in there for entire afternoons just letting the eye fly (wink) over the shelves and picking out the catchiest titles. My favorite section is of course the technology and programming one, and my first pass is often spent looking for the red spine and Newnes logo, just to make sure they do have copies of my books available. Too often they don’t, which I like to think is a sign of how successful my books are, they must literally fly (wink wink) off the shelves!
But for the last couple of years I have been attracted by books on Ruby, a very trendy programming language, although I never really ended up buying one or getting to dig deeper into the subject. I had this notion that Ruby was just for web site designers and there was little else for me there. Eventually, this Christmas I gave in and bought a copy of “Learning Ruby” written by Michael Fitzgerald and published by O’Reilly.
I choose it (among the many other Ruby’s books) because it promised to be very compact (about 200 pages) and based on a lot of practical examples, which is definitely my idea of the way books should be. Ok mine are thicker, but I promise, the next one will be shorter.
Fact is, I ended up liking this book a lot. I read it all in a single flight (from S. Francisco to Munich) and it gave me the sort of fever I sometimes get when something new gets my neurons all fired up at once!
Of course somebody has already started playing with the concept of porting Ruby to the embedded control world, with the RAD project (somehow it does not surprise me that this was done first on an Arduino platform, the A in RAD).
While I am not yet sure of the results and their application to the average embedded control project, I learned that “modern” interpreted languages are nothing like (bad) old MS-Basic. There are so many powerful concepts, such as reflections, duck typing, and multi-paradigm support to mention a few, that are worth exploring and considering carefully when trading performance (abundant in modern processors) with ease of development and code maintenance.
What is your opinion on interpreted vs. compiled in embedded control?
Posted in Languages, Books | 1 Comment »