3 ms·
So you want the code that makes your hands free car to be written in Haskell? I can just hear the answers: "Why, yes! Because I can prove that it is correct!"
by luckydude 14y ago
So you want the code that makes your hands free car to be written in Haskell?
I can just hear the answers: "Why, yes! Because I can prove that it is correct!"
Now consider that you are going to get bored at GM and move on. Someone a lot less talented than you is going to go in and modify your perfect haskell code. They don't know haskell, they aren't you, but the code needs to be enhanced.
Now how comfortable are you in that car? (I know what you will say, but as an experienced manager, I would not be comfortable in that car.)
- wpietri 14y agoThere is something to be said for hard things looking hard. Personally, I'd rather that code be in Haskell than Java, because there are plenty of people with room-temperature IQs who think they can code in Java but would get beaten up and have their lunch money taken by something like Haskell. I've heard about some really interesting Smalltalk systems, super high-reliability stuff. I'm sure SmallTalk helped some, but what I suspect helped more is that the kind of people who were off-the-beaten-path enough to have years of SmallTalk experience were well above average.
- tikhonj 14y agoI'm not sure I would want to be in a car with code written in any language by somebody who couldn't learn Haskell (or any other language, for that matter) in a couple of weeks, at least well enough not to mess something up without noticing. That said, if I had to be in a car with code written by somebody who didn't know a language, I would much rather that language be Haskell than C (to pick an extreme example; replace C with most any other language and it would be true to a smaller degree). It's much harder to sneak a bug through Haskell than pretty much any other language and it's easier to have more thorough testing. Somebody new is very likely going to have trouble getting code to compile at all, but the would also have trouble adding subtle (or even unsubtle) bugs to it. To continue with the extreme example, there is a whole host of C bugs which are easy to add without realizing but are practically impossible with Haskell: memory issues (having the occasional segfault or bus error), concurrency issues (these can be very subtle and hard to catch), mutation in the wrong place (could also be very intermittent), potential type issues and so on. If the language was C, I wouldn't want anybody without a lot of experience working on the code at all--there's just too many very subtle ways it can fail without being easily detected. Even languages that make is harder to shoot yourself in the foot make it easier than Haskell.