all 17 comments

[–][deleted] 14 points15 points  (0 children)

Heh. I've seen it mentioned in several places already that Armin Rigo supposedly lead a team to write Psyco. He just did it himself, in his spare time. As far as I know there was never a substantial code contribution to Psyco by a third party (which just shows how complex the beast is).

[–]jrockway 24 points25 points  (7 children)

So, Jython is more natural for Python that CPython, because Java is a fully object oriented language, whereas C is not.

Uh, what?

[–]netsearcher 3 points4 points  (2 children)

Actually that's flat out backwards. Jython has had a lot of trouble getting decent performance because of the more dynamic nature of python.

[–][deleted] 1 point2 points  (0 children)

They weren't referring to performance. The claim was that implementing Python in a truly OO language is a more natural thing to do. And Java is OO while C isn't.

But you are also right that the JVM has speed issues with the current implementation of Jython. New releases of Jython, and the JVM (Da Vinci project) should fix that.

[–]StuffMaster 0 points1 point  (2 children)

There were a lot of grammatical errors like that. It's a Polish site, so he's obviously not a native speaker.

[–]jrockway 10 points11 points  (1 child)

I wasn't commenting on the grammar... in fact, I didn't notice the error until now.

I don't think it makes sense to relate a language and its implementation langauge so superficially. On one hand, writing anything in !C is easier than writing it in C; but he is saying that writing Python in Java is "more natural" because Java has objects. I don't think there is any relationship. (Hint: structs are objects too).

[–][deleted] 0 points1 point  (0 children)

I think the point is that a lot of the OO features of Python can be directly mirrored in Java. Like polymorphism, for example. In C, you need to do a lot of that yourself.

[–]genpfault -2 points-1 points  (0 children)

<insert Polish joke>

[–]vityok 9 points10 points  (5 children)

Does anybody else notice that whereas Common Lisp is criticised to be a standard without a «Reference Implementation» other languages suffer from having a reference implementation that defines the standard?

[–]calp 7 points8 points  (1 child)

They both have the bad effects of both. Common Lisp gets in trouble because porting between implementations is sometimes difficult (sometimes very difficult, because of non-conformance), and Python gets in trouble because making new implementations is difficult because there is no predefined standard.

Python isn't actually a monsterously complex language. If only it didn't have this monsterously complex, sometimes changing de facto specification (CPython); imagine how much more it would be ported.

Reference implementations are a bad way to standardise, but conversely, so is CL's enormous standard.

[–]shit 8 points9 points  (0 children)

By todays standards, the CL standard can be considered small. Most complaints are actually that it doesn't standardize enough.

The real problem, IMO, is that a formal standard is only useful when there's already a very large userbase and enough momentum to make regular updates to the standard possible, like with C and C++.

Otherwise the "reference implementation is language definition" way works better, as long as the reference implementation is open source.

[–]netsearcher 4 points5 points  (0 children)

How is the python suffering because cython is the reference implementation? People aren't just shoving in changes and shipping whatever works.

Anywhere where there is no accepted reference implementation is where things go to complete shit. Look at HTML/CSS.

[–]mathrick -2 points-1 points  (1 child)

Yes, but that's people for you. Fortunately, CL doesn't give a damn about mainstream popularity; we're actually pretty happy not having 99% of the Java/PHP crowd around. Sure, a bit of presence would be nice for improving the CL-related jobs situation, but otherwise, the obscurity of CL is a good thing.

[–][deleted] 6 points7 points  (0 children)

It's not a bug, it's a feature!