Wednesday, January 18, 2006
First impressions of Eiffel
Vorlath has blogged in detail about his first impressions about Eiffel after viewing four of Eiffel Software's multimedia presentations. Here are some excerpts:
My first impressions are very good indeed. I like the structure of the language and I like the way they implement what they call Design by Contract...
When I started watching the first presentation, I almost turned it off immediately. It said that Eiffel code is very readable just like VB. Now, as someone who has used VB professionally for a several years in the past, I can tell you now that this is NOT a good thing. VB is horrible for readability. It's the worst language for it actually. But their corporate nature makes it clear who their target audience is. They have a version for .NET that integrates directly into VS. They also have a standalone version, but you can see they're following the money trail. It's too bad really, because at the very beginning, you don't know if the decisions they make are geared towards the consumer or towards getting the remains of MS clients...
[Design by Contract] will make a developer think about exactly what each and every method does. Only experienced Eiffel programmers could say if this is too much micromanagement and if they really check everything. At the very least, it should trap a lot of errors normally missed. For me, this is not enough. It's like a forced alternative to try/catch, or worse extra work on top. While I appreciate the intention and kudos to those who do use this properly, it's another way to force error checking. Not that error checking is a bad thing (quite the opposite). My point is simply that it seems like languages are coming out with these constructs such as contracts and try/catch blocks to try and convince the programmer to actually and finally write the error-checking code. For me, I already do this anyways, so the benefits are moot. For beginners and intermediate, I highly recommend it...
Overall, I like the syntax. I liked it before when I saw it and after looking at the presentations, I still like it...
The presenter is obviously excited about Eiffel. But at one point, he compared it to magic. Or that it can seem like magic programming in Eiffel. I can appreciate this kind of enthusiasm, but I'm wondering if their marketing department didn't drop the ball on that one...
Eiffel is either converted into C or into MSIL (.NET intermediate bytecode for the uninitiated). I understand the use of C for portability ... but I must admit that I was disapointed it didn't have a genuine compiler.
This may be the last corporate language I review. Although I will look at other languages that may be corporate, I will not review them. I'm making an exception here because I really liked the design. So all in all, two thumbs up on my initial impressions...
My first impressions are very good indeed. I like the structure of the language and I like the way they implement what they call Design by Contract...
When I started watching the first presentation, I almost turned it off immediately. It said that Eiffel code is very readable just like VB. Now, as someone who has used VB professionally for a several years in the past, I can tell you now that this is NOT a good thing. VB is horrible for readability. It's the worst language for it actually. But their corporate nature makes it clear who their target audience is. They have a version for .NET that integrates directly into VS. They also have a standalone version, but you can see they're following the money trail. It's too bad really, because at the very beginning, you don't know if the decisions they make are geared towards the consumer or towards getting the remains of MS clients...
[Design by Contract] will make a developer think about exactly what each and every method does. Only experienced Eiffel programmers could say if this is too much micromanagement and if they really check everything. At the very least, it should trap a lot of errors normally missed. For me, this is not enough. It's like a forced alternative to try/catch, or worse extra work on top. While I appreciate the intention and kudos to those who do use this properly, it's another way to force error checking. Not that error checking is a bad thing (quite the opposite). My point is simply that it seems like languages are coming out with these constructs such as contracts and try/catch blocks to try and convince the programmer to actually and finally write the error-checking code. For me, I already do this anyways, so the benefits are moot. For beginners and intermediate, I highly recommend it...
Overall, I like the syntax. I liked it before when I saw it and after looking at the presentations, I still like it...
The presenter is obviously excited about Eiffel. But at one point, he compared it to magic. Or that it can seem like magic programming in Eiffel. I can appreciate this kind of enthusiasm, but I'm wondering if their marketing department didn't drop the ball on that one...
Eiffel is either converted into C or into MSIL (.NET intermediate bytecode for the uninitiated). I understand the use of C for portability ... but I must admit that I was disapointed it didn't have a genuine compiler.
This may be the last corporate language I review. Although I will look at other languages that may be corporate, I will not review them. I'm making an exception here because I really liked the design. So all in all, two thumbs up on my initial impressions...