Except pg isn't selling anything, he's just letting you see and use what's ostensibly made his life easier.
I'd modify your simile to something more accurate, but modifying similes is a black hole.
Except that scalpels aren't really all that extensible.
See, I told you it was a black hole...
I agree with you that adding Unicode support on top of a language is a terrible idea. But when the language's authors have said that compatibility in future versions is not an issue, when they open source the language, and when one of them says,
MzScheme, which the current version of Arc compiles to, has some more advanced plan for dealing with characters. But it would probably have taken me a couple days to figure out how to interact with it, and I don't want to spend even one day dealing with character sets.
to me, that is coming right out and saying, "Hey, I didn't feel like figuring out character sets, but I know MzScheme has a way of doing it. I'd love for you to do what you need to in order to get this working, because it doesn't interest me."
Also, if someone gave me a gift car with a wooden chassis, I would be quite happy with it. I'd drive it while it worked, and when it got to be enough of an annoyance, I'd take the car apart and rebuild it on a steel one. I certainly wouldn't bitch about it.
I agree. You should definitely take Arc back, demand a refund, and refuse to ever pay for it again.
In Javascript or Java however, Unicode just works universally
Yes, and what a great language Java is. You should probably keep using it.
I mean, thank god the Java 1.0 guys worried so much about character sets instead of, say, macros or closures or even regular expressions. Otherwise Java might be burdened with a lot of bolt-on special functions that add "hassle and verbosity" to the code.
Sorry but that's like selling someone a car and saying "Oh you want the chassis to be made of metal instead of wood? Well you can change that can't you."
I disagree. If you're building something from the start, you decide on a good character set, and use it. Namely Unicode. It's a lot easier to do that than to try and fix things afterwards.
Look at php. Dealing with Unicode in php is a major hassle because it wasn't designed from the ground up to support Unicode. It was added in later as a library. So now you have special functions for dealing with unicode, and all the hassle and verbosity that entails in your code.
In Javascript or Java however, Unicode just works universally.
I'd say choosing a character set is one of the first things you should do as a language designer - that's why I was surprised with the lack of support for anything but ascii which just doesn't cut it any more for real world applications.
Saying that adding Unicode is a couple of days work for anyone interested sounds like a recipe for absolute disaster - see how php turned out.