Django 1.0 Released 104
jgomo3 writes "Finally, the stable version 1.0 of Django (one of the most popular free Python based frameworks) has been released. Explained in the project blog, this achievement was in part due to the great users and developers community of the Django project, and recall the big effort with numbers like 4000 commits and 2000 bugs fixed since last stable version. Django is 'The Web framework for perfectionists with deadlines.' You can dive in by reading the overview."
Great work (Score:5, Interesting)
Django is just a pleasure to work with. Congratulations to these guys for creating such a well thought-out and hugely productive framework. Now if only it would become more established and bulked up a bit so we could mostly ditch a certain other Enterprise Edition set of technologies...
Re:Great work (Score:5, Funny)
Re:Great work (Score:5, Funny)
Re: (Score:1)
Re: (Score:2)
I'm not certain that I would have been nearly as enthusiastic diving into C or Java at the age of 10.
While VB probably was a great choice 5 years ago,I think Python's getting lots of rightly deserved hype as the modern "kids" language. It's got VB's advantage of clean syntax, the bonus of having an interactive shell, and it's powerful enough that the kid can use the language for years and get a really solid foundation before having to learn another language.
Re: (Score:1)
Re: (Score:2)
VB was an excellent starting point for young programmers
There, I fixed it for you.
Re: (Score:1)
Should not be to hard kill all three of them.
A language is alive as long as it is in use.
Killing the developers would help with killing the language, but it would still take time, look at cobol for an example.
Re: (Score:1)
well, if they were smart, they'd have used Jython to run Django on the JVM. Then you get the proven enterprise stability of Java with the hot, trendy marketing flare of Python.
I wouldn't be surprised if someone is already working on porting it over.
Re: (Score:1)
Re: (Score:1, Insightful)
it's not an additional layer.
Python already runs on a VM, Jython makes that VM the JVM, and the JVM actually is a very fast,very reliable VM.
Much better than the standard python VM.
Re: (Score:2)
Re: (Score:1)
Yes, much, much, much faster. The python vm is pretty slow. The only way to get decent performance out of it is to write modules in C instead. And it's inherently more secure (and thus stable).
However, there is a replacement python vm in the works that has promise though, psyco. It's basically a python specific java-esque JIT capable vm.
It will probably take a while to get anywhere near Java's level of performance.
Re: (Score:2)
Wow, you're several years behind. Psyco was just a JIT module for Python and it's dead as a doorknob, doesn't even run on x86_64. Psyco's developer is working on similar optimizations as part of work on PyPy, which *is* a modern and vibrant project.
Re: (Score:3, Informative)
Django already runs on Jython. [python.org]
Re: (Score:1)
Because the topic is Django 1.0 release, not python frameworks in general.
Let's stay on topic shall we?
Re: (Score:2)
Your mother said that to me last night in bed. Actually, in all seriousness, this is useful. If only because they were saying how the API would be changing in a number of ways before 1.0 and now we can breathe a sigh of relief.
Re: (Score:2)
Let's stay on topic shall we?
Gold Five: Stay on topic.
Gold Leader: *We're too close!*
Gold Five: Stay on topic!
Gold Leader: [shouts] Loosen up!
[he too is picked off by Vader and Company; Gold Five tries to escape but is fatally winged]
Gold Five: Gold Five to Red leader, lost Tiree, lost Dutch.
Red Leader: I copy, Gold Leader.
Gold Five: It came from... behind!
[crashes]
obmoviequote (Score:1, Funny)
A Django ate my baby!
Thank you. Thank you very much. Tip your waiter, I'll be here all week so tell your friends.
Re: (Score:2)
Re:obmoviequote (Score:4, Funny)
vegetarians have a bitter after taste
Re: (Score:2)
I have a great recipe for shepherd's pie. Start with two medium sized shepherds...
Re: (Score:2)
Re: (Score:2)
Well actually herbivores are typically the tastiest of meats, if you fatten them up on high calorie carbohydrates.... just add lots of corn and wheat into their diet and you'll be enjoying your vegans like never before.
Re: (Score:2)
yay (Score:5, Informative)
I just started playing with Django today, so I'm mostly just thrilled that the absolutely awesome tutorials still work. This is one of the most newbie friendly things I've ever worked with, in large part 'cause it's got awesome documentation and very clear tutorials and logically named well almost everything. (Plus it produces pretty and friendly sites.) I may not be as hyper about it once I start trying to use it for a real project, but it getting to a stable release is promising.
But... (Score:3, Funny)
awww, who am I kidding. This is slashdot, I can't sound smart without referencing wikipedia. *siiigh*
Seriously tho, Django is so much better than some of the other options (read:java!)
Re: (Score:3, Interesting)
Groovy for Grails http://grails.org/ [grails.org] which is based on Java/Hibernate/Spring is an excellent alternative to Django.
It's just about choosing the right tool for the job.
Re: (Score:1)
Large memory requirements -- that's what I find my Grails apps have after deploying to my VPS (Virtual Private Server). I had to immediately upgrade plans after deployment. It left me wondering whether I made the right choice in choosing Grails to develop my apps in.
Django is now under consideration. It's still very early and I can certainly rewrite what I have so far; I'm just doing my homework first to see if it's worth it.
Don't get me wrong, development with Grails and Groovy is awesome, there's lots to
Re: (Score:3, Interesting)
Seriously tho, Django is so much better than some of the other options (read:java!)
You're now comparing a framwork with a language. For a meaningful comparison, compare Django with Wicket.
It's not very surprising that new web frameworks are better than JSP, Struts or JSF. I want to know how they measure up to stuff like Wicket or the latest Tapestry.
Gongrats! (Score:1)
Congrats to the contributors!
Django . . . (Score:4, Interesting)
Re: (Score:1)
Quit Your Job (n/t) (Score:1)
EOF
The in-factor... (Score:5, Interesting)
It's too bad everyone and their dog are excited about Ruby on Rails, when a great platform like Django is out there as well.
I use Django on my own site, and CakePHP (a poor RoR clone) at work. While using PHP has advantages, CakePHP is really not anywhere near Django in terms of the ORM stuff and actually using your data in any complex way.
The one really great thing about Django is that it's consistent. There is usually one way of doing things, instead of a million different ways that apply in different situations.
Take a look at the Django tutorial:
http://docs.djangoproject.com/en/dev/intro/tutorial01/ [djangoproject.com]
And the Django book:
http://www.djangobook.com/ [djangobook.com]
I don't think you'll be sorry.
PS. And on the whole Python indentation=block thing... It's not perfect, but only use spaces and it won't be a problem.
Re:The in-factor... (Score:4, Insightful)
And on the whole Python indentation=block thing...
Re: (Score:1)
Pybraces got me in. I dropped it in disgust a few hours later. Seriously.
I've found that RoR is farther along than Django, if you can stand Ruby, which I can't. Django is usable, improving, and in Python.
Of course Python vs Ruby is more personal taste than much else it's not an objectively evil language like Java, which has been shown to rape babies and vote for Republicans.
Re: (Score:1)
The thing I dropped was pybraces. I love python. Should have clarified.
Tab/space mangling (was Re:The in-factor...) (Score:2)
I've been writing python for years, and I think the tab/space sensitivity is terrible. I stick with e3 partly because of Python (and make) having problems if tabs are substituted to spaces and vice versa. This is completely invisible to the user on all (if not most) text editors. Even worse, many text editors aren't very careful with what they do to whitespace. Also, more or less, 8 charactor tab stops are considered standard, but for programming many people like them at 3. Guess what most text editors do?
Re: (Score:2)
I agree, and while I don't mind the style of indentation forced on the user (*), I resent the fact that it is, in fact, forced on the user, and very nit-picky at that.
(*) I work with animators who sometimes try to write their own MEL scripts... they never indent and it always pisses me off. But I also hate it when people try to FORCE their style on you.
Re: (Score:2)
Re: (Score:2)
That's syntax of the language, it's not formatting.
Re: (Score:2)
Re: (Score:2)
I'm going to make a wild guess and say it's because you can choose where to put the brackets.
However, more importantly, you can also wrap things to multiple lines for easier reading; to prevent the need to scroll left and right to read long commands.
(Note: I haven't used Python enough to know if there's some way to do line continuations in it.)
Re: (Score:2)
(Note: I haven't used Python enough to know if there's some way to do line continuations in it.)
implicit line joining [python.org] and explicit line joining [python.org]
basically, a \ for explicit and just continue the comprehension/function call/etc. for the implicit.
Re: (Score:2)
Every language has a syntax, otherwise you couldn't have a language.
Re: (Score:1)
Re: (Score:1)
I love Python. At first I found the tab/space thing kind of ambiguous, but then a fellow vim-lover got me to do this:
cat >> ~/.vimrc
set tabstop=3
set shiftwidth=3
set expandtab
^D
Makes all those worries go away. :) (well, except possibly for sharing code with people who don't use the same 3-space indent standard)
Re: (Score:2, Informative)
I'd recommend 4-space indents for Python, it's what the standard library uses, and what anyone who wants to use something 'standard', like any large project, will be using as well. One reason the tab/space things isn't a problem is that the language comes with a clear recommendation. .vimrc:
I still use tabs for everything else, so I've added to my
autocmd FileType python set et ts=4 sw=4 sts=4
Re: (Score:1)
I thought it was an awful idea when I was using a different scripting language. Then I took a gig that's pretty much 100% python. A couple months in and I still have the same opinion -- it's an awful idea.
It's not an issue -- emacs seems to take care of the problem quite nicely thankyouverymuch -- but it's still an awful idea IMO.
Other than that, Python's not too shabby. Not as great a language design as Tcl (why hasn't the world caught up with the ease of deployment Tcl has enjoyed for years?), but it
Re: (Score:2)
I've spent more than a few hours learning Python. I like most things about Python (though, in most areas, I like Ruby -- which I started learning later -- more than Python), except the indentation thing.
Re: (Score:2)
PS. And on the whole Python indentation=block thing... It's not perfect, but only use spaces and it won't be a problem.
That sentence is wrong is so many ways, it's metaphysical. Saying something like this is the fastest way to get yourself killed - especially if I would be standing next to you.
I use Python. And I use tabs. It's the only way to go. All else is evil. :-)
Re: (Score:2)
Actually, PEP-8, the official python style guide, strongly recommends spaces over tabs.
Re:The in-factor... (Score:5, Informative)
It's too bad everyone and their dog are excited about Ruby on Rails, when a great platform like Django is out there as well.
Even in the Ruby world, it's too bad Rails gets most of the attention; a lot of people would probably be better off with one of the many more lightweight frameworks there, or even no framework at all (really, your 3 page website needs an 80kLOC framework to support it?). So many people hyperfocus on one system and miss out on all the other ways of doing things; Nitro, Merb, Sanatra, Ramaze, even writing your own handlers in Rack. Given the size, complexity and overhead of these things, it'd really make more sense for people to start from the bottom (Rack) and work their way up, not the other way around.
Python wise this probably means starting by writing your own WSGI [wikipedia.org] handlers, rather than starting with a huge framework to write Hello World in.
on the whole Python indentation=block thing... It's not perfect, but only use spaces and it won't be a problem.
Blegh, use tabs properly and it won't be a problem either. It's shocking how people can't even get a trivial thing like that right, though, is it really that difficult to configure your editor not to mix the two? Hint: Set your editor to highlight leading whitespace, doing tabs and spaces differently, then you'll never be surprised by either. I'll get you started:
There, now you have no excuse. Well, except the first EvilSpace match broke at some point, anyone see why?
Re: (Score:3, Informative)
on the whole Python indentation=block thing... It's not perfect, but only use spaces and it won't be a problem.
Blegh, use tabs properly and it won't be a problem either. It's shocking how people can't even get a trivial thing like that right, though, is it really that difficult to configure your editor not to mix the two? Hint: Set your editor to highlight leading whitespace, doing tabs and spaces differently, then you'll never be surprised by either.
Anyone who has ever worked in a larger organization will know that it's impossible to get people to configure their software identically, unless we're forcing every one.
Also, a lot of people aren't that smart anyway...
That's why I advocate spaces only: There is a single way to render a single space, so the margin for error is smaller. :)
Re: (Score:2)
You still need to get people to configure their editor to expand tabs, and make indents the same size everyone else is using, etc. Fools who can't configure their editors properly will find some way to screw it up either way. And frankly, I don't want fools working on any of the code I maintain ;)
Re: (Score:2)
I agree with both. :)
Unfortunately I've yet to find a job where I don't have to deal with fools to some degree. Nor one where I get to code python professionally either, in fact.
But I still think it's easier to make people indent with tabs (for everything, not just Python) than implementing some more advanced whitespace handling over a bunch of different editors... :)
Re: (Score:2)
Interesting point... I edit python, php, perl, etc., all in the same text editor. So I'm supposed to keep changing the configuration? In my editor, it's a global setting, not per language. So if I have a php and python tab, if I change the behavior of tabbing, I can't just go back and forth.
Don't get me wrong, I like python a lot, it's an excellent language, but some of the artificial restrictions built in just to get you to program in a style they liked is really annoying.
Re: (Score:1)
It's not artificial. Higher code density leads to better code. They've done studies. Really.
Oh, and get a better editor. There are plenty that have language-specific settings for formatting.
Re: (Score:2)
Re: (Score:2)
Fixed:
Still not sure why the \zs broke it. Also, the \zs in the trailing space regexp is a superfluous leftover from when those two were combined.
Re: (Score:2)
I use Django on my own site, and CakePHP (a poor RoR clone) at work. While using PHP has advantages, CakePHP is really not anywhere near Django in terms of the ORM stuff and actually using your data in any complex way.
I did a project earlyer this year with Cake 1.2 Beta. It wasn't nice. Allthough I do like PHP for webstuff. Right now I'd say Symfony for PHP webwork and Django for Python webwork. And if you don't know either of those languages, take Python, it's more consistent and used everywhere, not just
Re: (Score:2)
The one really great thing about Django is that it's consistent. There is usually one way of doing things, instead of a million different ways that apply in different situations.
This can be an advantage, but it can also be a disadvantage. One size doesn't always fit all.
Re: (Score:2)
This can be an advantage, but it can also be a disadvantage. One size doesn't always fit all.
Very true. But doing the almost same thing in insanely different ways for almost the same use case seldom makes sense... :)
I've seen solutions like that, and it just ends up hampering productivity.
Re: (Score:2)
This can be an advantage, but it can also be a disadvantage. One size doesn't always fit all.
Very true. But doing the almost same thing in insanely different ways for almost the same use case seldom makes sense... :)
I've seen solutions like that, and it just ends up hampering productivity.
That is definitely true. Doing 80-90% of the use cases efficiently is often better than doing 100% slowly.
There's a fine balance between versatility and efficiency, and you can't really make broad, generalising statements about what's best. Well, you can, but it wouldn't be very useful.
Re: (Score:2)
Re:The in-factor... (Score:4, Insightful)
The one really great thing about Django is that it's consistent. There is usually one way of doing things, instead of a million different ways that apply in different situations.
Consistence is good, but why it "one way of doing things" good in any sense? It's not a good thing in all scientific or artistic disciplines I can think of. There are multiple ways to heal all parts of the body and resolve medical issues, multiple ways to perform the same scientific experiments, multiple ways to build a bridge - why do you want "one way" to do something when it comes to developing software? That sounds like a code style dictatorship..
Re: (Score:2)
(Note: I am not the grandparent poster)
It makes the code easier to read and follow. For an example of why multiple ways of doing things in a can be bad (in a programming context), see PHP or Perl.
Re: (Score:1)
Consistency is one of the primary factors in the maintainability of software. Maybe the biggest factor.
I don't know how creating software has anything to do with healing bodies or building bridges.
Re: (Score:2)
I don't know how creating software has anything to do with healing bodies or building bridges.
It's a science. Most sciences share a lot of principles - even if applied to different media. Problem solving is a common trait to all sciences.
Re: (Score:2)
I don't think that's the popular view. Software development is a form of engineering, which is the process of using technical and scientific principles to produce systems. Engineering is not a craft in the artistic sense.
Re: (Score:3, Informative)
I jumped on the Rails bandwagon for a bit, but I jumped back off after finding Django.
I think Django has several advantages over Rails. It runs faster, is better organized, and is easier. I also like how Django limits the functionality of templates in order to force your logic into the controller, which is where it belongs.
The only thing that bugs me about Django really is that they call the controller the view, and the view the template; which is mildly confusing at first.
Market. People. they decide. and they did. (Score:5, Interesting)
a LOT of 'great' and truly great technologies were devised and pushed to the net, and what happened ?
people chose what they would.
php grown way over itself as of now. the demand for it, and the applications on it, regardless of how much you despise or belittle them, are growing boundless. phpbb, oscommerce, name your pick. especially oscommerce has grown over a cart, and kind of became an industry standard. every major provider of anything from ups, fedex to any payment provider SUPPORTS it. but call them and say 'hey i have a great cart on this and this great framework, i cant make it work with your service', and you'll learn that youre on your own.
a lot of you, i know, are career i.t. staff. working on positions in corporations, having little touch with the 'ordinary people' out there on the net.
this creates a sphere of isolation, and makes one mistake the trends. there is only one trend that decides everything - choice of the people. look at what php was 5 years ago, where it was, and where it is now, almost a default for shared web hosting, or small business apps for every kind of sector. its so default that, some people who are less technologically literate tend to take php as 'hosting'.
my a few cents. early in the morning. sleepless. coherency shouldnt be expected. random thoughts.
Re: (Score:2)
no (Score:2)
its impossible for any new cart producer to provide modules for everything out there. one of the most common reasons that people switch to oscommerce for is the availability of modules.
Re: (Score:2)
there is a critical mass. if all those cool, new hip stuff had come out 3 years ago, yea, things would change.
now, 'oscommerce programming' has become an expertise field of its own. if a good l.a.m.p. developer gets $20/hour rate when globally freelancing (indian, american, european, russian markets combined), a good osc programmer can get easily $30. AND that is if you can catch one. this should tell how broad, far reaching has php become - scripts working on it are now
Re: (Score:2)
there is no reason for php experts to be left on a dwindling platform, for, the platform just works.
market HAD flattened it. it landed on php.
Re:Market. People. they decide. and they did. (Score:5, Insightful)
excuse me, i hate to break it to you people but we programmers dont decide what goes on to being popular.
I don't think so. Things are not popular for no reason. Usually, things that become popular have some obvious advantage to existing technology, and that's why people chose it. Only later it is discovered there are also disadvantages to the new technology (usually because it's not so mature in other areas), and even later, the new technology is integrated with the technologies that existed before. It's a natural cycle of progress.
PHP is nice example. It had advantage in allowing having business logic directly in HTML pages (i.e. easy creation of dynamic pages compared to CGI), and was free. But there was a disadvantage to this approach, so the MVC model and frameworks using templates were invented. So the modern frameworks combine advantages of both technologies.
The same could be said about Rails. They use obscure language (sorry), but the basic ideas are sound. That's why they are copied by other frameworks, which combine advantage of more well-known language with the advantages of Rails.
Re: (Score:2)
the market, the people using oscommerce, phpbb et al doesnt care about frameworks, mvc, but they care about ease, price, accessibility AND widespread support.
its like a microsoft thing. everyone buys xp, windows. why ? because it enjoys the greatest reach, AND most importantly, it has the greatest software selection available to run on it. same goes with php now - there is EVERYthing available, for EVERY version of that field, with every option. AND with very cheap, abundantly available experts t
Re: (Score:2)
Wait until all that easy, cheap and widespread software moves into its maintenance phase. Then I think you'll find those people care more about good design and frameworks. They'll remember for the next project.
those cheap, easy and widespread software ARE already in maintenance phase. one of the main work areas of oscommerce is osc support and maintenance. and people are happy with it. uncle joe in idaho with his age of 70 can get an osc store, use it, and keep it with his budget.
Re: (Score:2)
Interestingly, Django was developed roughly parallel to Rails (but didn't go open source until a couple years ago) and came up with many of the same conclusions about web framework design.
It's not exactly rocket science. "Hey look, this is all boiler-plate. Can the computer automate it?" Unfortunately, crap like this is what passes for software patents these days, but I digress...
Re: (Score:2)
Re: (Score:3, Informative)
Yes, the Model-View-Controller model was invented to deal with problems identified in PHP-based webapps. The amazing part of this is that MVC was first described in 1979, and PHP wasn't invented until 1995, so clearly there was considerabl
Django Sites (Score:3, Informative)
www.djangosites.org [djangosites.org]
try Zope/Plone instead (Score:2)
Zope is an open source application server specializing in content management, intranets, and custom web applications. Zope is written in Python and has a large, global community of developers and companies. http://zope.org/ [zope.org]
It is a ready to use server that even without any programming you can start-up your web project just by uploading your documents to it. And with programming you can can achieve same power as with Django - or even more if you check how many products (ready to use components and frameworks) you can find at http://www.zope.org/Products [zope.org].
Plone is a ready-to-run content management system that is built on Python and the Zope application server. Plone is easy, flexible, and gives you a system for web content that is ideal for projects, communities, websites and intranets. http://plone.org/ [plone.org]
Plone opens even more ways and