Re: Questions from a Beginner.
- Posted by mattlewis (admin) May 20, 2009
- 1212 views
Then tell me one of the vast reasons that's not based on your subjective personal taste. You can't. Performance cannot be an issue for you, since you happily trade O(n) vs. O(1) for programming convenience.
I wish I could live in your black and white world. It's true that three are some use cases where a change to the language could go from O(n) to O(1), but as I mentioned before, you're focusing on a micro optimization. For the sort of things that euphoria programmers do, the O(n) seems to be a minor issue. The sum of euphoria's performance has been good enough compared to other interpreted languages.
There's a lot to be said for programming convenience. It's probably the main reason that languages such as python have had their success, and why more programmers are no longer writing everything in C. It's fine that you put different weights on your criteria. It's less fine that you insult others with different priorities.
EU has more problems than Lua or Python:
- Lack of reference semantics.
Again, this was a deliberate choice (please don't tell us again that you think it was a bad choice), although it's in the process of being revisited. This is definitely a trade off. Values aren't modified inside a function call. It's definitely an inconvenience, and reference semantics would be a performance boost, but it's often easier to understand, especially to beginning programmers.
- Lack of any other advanced language features like OOP, exception handling, closures.
I suspect we'll have something OOP-like before another couple of versions. But there are plenty of languages out there that lack OOP, which is just one programming paradigm, not the paradigm. I'm not a complete fan of structured exception handling, but I suspect we'll end up with something along those lines, too. There have been discussions about features similar to closures.
- Lack of libraries.
Yes, this is mainly a market share issue, and is one reason why I'm sometimes forced to use other languages.
- Awful interface to C, thanks to 30bit integers, etc.
I don't think the euphoria integer is the biggest drawback to interfacing with C. By far, it's the lack of support for memory structures. The Win32Lib approach is my favorite of any library to address this, but clearly something better is needed.
- Porting it to 64bit will be a pain and probably break lots of code which converts pointers to floating point values.
I don't follow you here. We'll just use something other than doubles.
You cannot see the truth because it would hurt too much as you invested a lot of time into this crap. I cannot help it. Truth hurts. But luckily for you I am the biggest asshole around. This way you can keep telling lies to yourself easily: Everyone knows that an asshole like me cannot possibly be right.
You're by far not the biggest asshole around. You're just the euforum poster who is the most full of himself. I guess the thought that someone can accomplish something and enjoy themselves using something that doesn't conform to your priorities or that isn't mainstream is too much for you to bear.
Every so often, some such nuisance presents himself in these parts. In another month or two, you'll probably get bored of pestering us, and will move on. Eventually, we'll attract the attention of another troll/kook, and the cycle begins again.
Matt