Live data from Hacker News

Mongrel2 Says, "Goodbye Python"

sheddingbikes.com

181–190 of 251 posts

Re: Mongrel2 Says, "Goodbye Python"

#182

I have found that the one system that doesn't give me any trouble running Python is Ubuntu. I'm using Ubuntu Server 10.4, specifically, which is the latest LTS (Long Term Support) version. Ubuntu 10.4 has Python 2.6 but I wanted Python 2.7 (which is the LAST 2.x version). So here's what I did: I installed all common dependencies (such as OpenSSL with "apt-get build-dep python2.6", since they're all the same for Pytho…

Oh yeah, that's no trouble at all.

Oh well, you know, it's definitely not trouble enough to drive me away from Python.

Despite the whole version madness across Linux distributions, Python is still my preferred language for web development, and even if that means going through a bit of trouble getting it properly installed on a particular system, hopefully that is something I'll only have to do and document once every few years.

I surely hope all distros eventually catch up with Python 2.7 so we can all stop worrying about this. Thanks for taking the time to make some noise about it ;)

Re: Mongrel2 Says, "Goodbye Python"

#183
post #45
post #37

It's sad and ironic (for Python) that Zed actually had to switch from Python to C to make Mongrel more portable. Disclaimer: I love Python, but I hate that anything but the most trivial code won't run across all versions.

> I hate that anything but the most trivial code won't run across all versions. Please, define "all versions" and "most trivial code". I have very little problems with Pythons ranging from the ancient 2.4 to modern 2.7. Of course, I am careful with what I do. I know if I use a dictionary comprehension I will be limited to 2.7+, so I try not to. I am quite sure a lot of the code I write could run under any 2.x Python…

generators

Re: Mongrel2 Says, "Goodbye Python"

#184

So what can we learn from this for designing future languages? Make it standard idiom to have every file of code declare its version-dialect at the top? Default to throwing warning if interpreter and code version-dialect mismatch? Have the main code interpreter called by all code files simply be a host for routing code to the correct dialect-version interpreter? Perhaps include an optional "slim" download where the h…

I'd say a good start would be: 1. Less syntax, so that later language features don't cause upgrade problems and can more easily be worked around rather than causing syntax errors. 2. Awesome package management with everything not core in packages that work with the distros so they don't mind using them. Both of those are damn hard to do though. Less syntax makes the language fairly unusable (Forth), and package manag…

I think dialects are tough to predict emergent behavior that will inevitably happen if a language becomes old enough. They just want to happen.

If your language assumes this and supports version-dialect from the start it will be more robust and age gracefully in the long run.

edit: basically it would require too much work or a stroke of pure genius to ensure perfect syntax for a new language in public release 1. Language designers should assume as project age approaches infinity the probability of a syntax revision approaches 1.

edit2: also if the interpreter host could interpret all the older versions up to the latest by default, you could write your code in both 2.7 and 3.1 and use 2.5 libraries with it etc. No need to rewrite every single older library for trivial changes.

Re: Mongrel2 Says, "Goodbye Python"

#185
post #41

It's funny how, for Zed, anything that doesn't work the way he thinks it's supposed to work is "broken" and the result of some boneheaded decision and that it "sucks". I too am frustrated by ancient versions of server OSs that use equally ancient versions of Python, but that's why virtualenv was invented. And source distributions. I am happy using it when required. Being "stable" in OS terms is not changing APIs very…

Actually, it's not that Python doesn't work the way I expect, it's that distros have killed Python's portability promise and made C more attractive. Granted I'm able to code C well enough to pull this off, but having to do this is annoying.

Also, this is how things improve. Someone doesn't like the current state of affairs and changes it.

Re: Mongrel2 Says, "Goodbye Python"

#186
post #32

I guess it was just about time for me to try mongrel on a fresh new project. I feel I am blessed for that only. Seeing that 0MQ batteries are included is a great bonus. If all would be fine, perhaps my network appliance would be shipped with mongrel2 which would be fantastic.

Cool give it a shot. We've got a bunch of stuff we're working on for the 2.0 push but what you have in 1.1 should be stable and usable. If not, let me know by dropping a ticket.

Re: Mongrel2 Says, "Goodbye Python"

#187
post #38

I'm not sure why he concerns himself with old distros. Are they the customers for Mongrel2? The description on the website emphasizes modern web technologies. Using Rails 3 is best with Ruby 1.9.2, and yet the only popular distros that install that via their package management system are the rolling release ones, Arch Linux and Gentoo (where it is masked). Most people willing to use this brand new software are also w…

Upgrading Ruby to 1.9.2 won't break your OS. Upgrading Python on some distros can even break package management. That's the difference. And if you have a well tested, rock stable environment you generally don't want to mess with it if you don't have to, or may not easily be able to. You want to not support older than Lenny. Well, we have machines that are still on Sarge, though slowly being upgraded. Some of the mach…

That's only because package management "on some distros" (I won't name them, we all know which they are and I'm sure we're talking about the same one) is fubar. I'm not talking about the package manager alone, but also the over-the-top package dependencies, incoherent dependency resolver, let alone the sheer stubborness of some developers working on package management..

Re: Mongrel2 Says, "Goodbye Python"

#188
I would be very curious to learn why you had not packaged Mongler2 with cx_freeze, which allows you to provide your own copy of Python with any modules you may want to add to it.

Doing so would have made your software immune to the broken Python installations.

Re: Mongrel2 Says, "Goodbye Python"

#189
post #173
post #124

Earlier quoted context omitted.

I should have said: They haven't been fixed by default . Perl is also moving forward, it's just doing so differently than Python. Python has major releases like 2.6 and 3.0 where they explicitly break old code in the default installation. Perl however doesn't break any of the old warts by default, but developers can easily do so by importing modules like Moose and perl5i in their own code. See http://search.cpan.org/…

> Perl is also moving forward, it's just doing so differently than Python. Python has major releases like 2.6 and 3.0 where they explicitly break old code in the default installation. 3.0 yes, but 2.6 is simply not true. code written for 2.2 will work in 2.6, bugs notwithstanding.

Almost, "with" became a keyword.

Re: Mongrel2 Says, "Goodbye Python"

#190

He's absolutely right. I have come to the conclusion that we must do one thing: Stop sharing. Shared libraries and language runtimes are a relic of the past when memory and storage were orders of magnitude smaller. Bundle all dependencies and throw out the package managers!

And reinstall your entire operating system when a core library needs a security patch.
Post reply on HN