Hacker Newsnew | comments | show | ask | jobs | submit | clojurerocks's comments login

This is why theres people who say you shouldnt use an orm at all. I have to admit intially i liked the django orm however after a while i found that i prefered or wanted to make the called directly myself. There was just oo much mystery going on behind the scenes that i couldnt find out about.

You can probably use both node and ruby. From what ive seen sites that are using node use it more for the backend to serve ajax then for serving the web pages. Although i have seen few site with very ajax based interfaces that apparently use just node. It really depends on your ui i guess. Good luck with whatever you choose though!

-----


Id have to disagree with that myself. While node and mongodb are both "shiny" they are because they solve a problem that people have and offer solutions to problems that are very appealing. Including as i mentioned i blieve in another comment here that using node allows you to only have ot work with one language. Which is great. So its true that python has similiar technologies such as tornado and twisted. But if node works then why not just stick to one technology to have to maintain rather then multiple ones. Also node has a great community that is increasing. Many python libraries dont have this. Meaning really documentation. For example tornado has very little documentation.

-----


"Id have to disagree with that myself. While node and mongodb are both "shiny" they are because they solve a problem that people have and offer solutions to problems that are very appealing. "

A lot of people use them for solving problems they DON'T have.

Lots of people use both Mongo and Node.js at ill-fated attempts at premature scaling (similar to premature optimization).

-----


Again i will disagree with you on that. One of the benefits of node and why its becomingly increasingly popular is that it allows ease of development with the benefits of scale built in. So you dont have to worry about a steep learning curve for a simple application that only a few people will ever use. Or that youre framework is easy to develop with but what happens if it becomes popular. What then. This is even more the case with todays applicaitons which incrasingly are "api" based with the web framework portion being used just to serve the ajax code and for urls and whatnot. With node you get all of it together.

Also if node used some other language that wasnt a standard this might also be true. But again it uses javascript or coffeescript which is becoming more and more used all f the time. Even in mobile applications and gaming now with canvas. Obviously if you know python or ruby or php extremely well and can build whatever you need quickly with that then theres no reason not to. I was new to python so it wasnt a major switch for me.

-----


Node is popular because the initial learning curve is so easy, but I think it's a bit deceiving. There's a considerable step up from writing a basic node app and building a full "real world" app.

When you first start out, you don't realize that flow control is going to be an issue, you don't realize that you're likely going to need to figure out how to do stream processing. Those aren't especially difficult to learn, but it's a delayed learning curve. You don't know that you'll need them until you run into a dead end. There are libraries/modules that help with that now, but it's not trivial to figure out which is needed (at least not for someone just getting started).

Node is an interesting tool, and I think it solves some issues elegantly. I think some people use it for projects it's not suited for, but that happens with every language/framework/tool.

-----


> benefits of scale built in

You don't get scale from a tool. You get it from experience in knowing how to run scaleable systems, and architect scaleable algorithms / systems.

-----


> it allows ease of development with the benefits of scale built in

How is scale "built in" to Node any more than any other modern language/runtime?

-----


It's not - it's built out, actually.

"I want to scale my app on modern, multi-core computers. I know, I'll write everything so that it all runs in a single thread!"

-----


I want to scale my app on modern, multi-core computers. I know, I'll write everything so that it all runs in a single thread!

This is the same fallacy that gets repeated every time node is mentioned. If you're scaling up past a single machine you have to figure out how to share state between multiple machines anyway, so you may as well run a process per core. Then you have a single way to share state, rather than one way between cores and another between machines.

So unless you're writing a desktop app that needs to scale up but only to all of the cores of a single machine, you're sometimes better off simplifying the state-sharing logic.

-----


You can get that all basically for free using something like ZeroMQ, without all the cancer, and with bindings for a Real Language.

-----


Uh, that just proves my point that you don't need a multithreaded app to do so.

And your 'cancer' language is unhelpful. What are you afraid of? That somebody somewhere is using a bad language when a better one is available? That the NodeConf organizers reserved all of the good hotel rooms?

Why are you so angry at a programming community?

-----


Here's what I'm afraid of: that the general cs understanding and quality of the programming community is sinking down the drain.

It's not like "somebody somewhere is using a bad language when a better one is available" is not hurting CS in general.

-----


I don't think that node.js is doing either of those things. How does one quantify "sinking down the drain"? It's not zero-sum. How is Cloudkick writing services in javascript any worse or better than Cloudkick writing those services in python or java?

I think the real danger is people thinking they've learned everything there is to learn and closing their minds. Which includes telling people that "node.js is cancer". Node is letting people do all kinds of interesting things, and it isn't killing off anybody's favorite language.

-----


"""How does one quantify "sinking down the drain"? """

I'm thinking along these lines: http://www.dbdebunk.com/content2006.html

-----


"""One of the benefits of node and why its becomingly increasingly popular is that it allows ease of development with the benefits of scale built in."""

And that's --the second part-- is where they and you are wrong, as tons of teams have found out. Scale is never built in, you have to work for it.

"Scale built in" is another way of saying "Mongo is webscale".

-----


Part of this though is because web apps are for better or worse increasingly being almost nothing but javascript. And it becomes tedious moving back and forth between javascript and another language. Even if that language is really good. So i think people are just going with javascript for "everything" and rewriting their libraries in it.

-----


This is another reason why i moved off of django. This arrogant attitude of belittling other people when they have problems. I expect this from the rails community not from python. However django is increasingly becoming a "its the django way or the highway buddy". Which is dissapointing frankly.

-----


Nice how i get voted down. Thus proving my point about the python and django communities. So glad i moved to node. I will still consider using python for backend stuff though.

-----


Your point has not been proven. You should forget the meta stuff (python people are like this, django people are like that) and counter with arguments when someone attacks your point of view on the topic at hand. No one knows who you are, just say what you have to say (about the topic) based on your experience. If you draw conclusions, strengthen them with data if possible, or argue why you believe that they're valid. People will call you on them if they feel you're in the wrong. It doesn't mean they hate you. You should do the same.

Also, the tone on a keyboard is often easily abrasive. The pen is mightier than the sword. The keyboard is harsher than the mouth. Don't fall for the bait focus on the arguments.

-----


The problem in part is with hackernews actually. I dont find it very conducive to good discussions. I rarely comment myself actually. Most comments seem to be he said/she said and argumentative. Im actually surpised people dont ask for this site to be improved. And i guess it never will. But it would be nice to have constructive conversations about these things rather then arguments.

-----


On any site where there is a voting mechanism, you're going to have a certain amount of groupthink. And likewise, on nearly every such site (especially HN), complaining about being down voted is often like throwing gasoline on a fire.

There has been discussion about how to improve the site, sometimes from PG himself, sometimes from others. It isn't perfect, but in comparing the signal-to-noise ratio of HN to some of those other sites, I find that HN shines. Do you have any specific ideas on how to improve things here?

-----


I've been following this comment thread and I have to say that I find most of the argumentative and/or confrontational attitudes to be a direct result of your complaining. If you don't like Django that is fine. But don't expect others, who not only use but may also contribute and have a strong vested interest in it, to sit by idly while you trash their work and belittle the character of their community.

-----


Yawn.

-----


Theres a couple of issues i had with it personally. It doesnt work that well with nosql. Also i found it difficult to customize or do certain things that i wanted to do. Some of them very basic. For example i wanted to only return individual columns rather then all of them. I spent hours looking for how to do this. I finally found out you do .values or .select or something to that effect at the end of your call. Unfortunately i tried this and got errors. So i gave up in frustration.

-----


.defer() and .only(), they're right in the list of methods on Querysets: https://docs.djangoproject.com/en/1.3/ref/models/querysets/#.... Sorry, but it's a bit hard to take this critique seriously, given how trivial it is. I have a list of complaints about Django's ORM that is about a mile long, so don't think I'll defend it blindly, but let's try to stay grounded in reality when we criticize something.

-----


That mile-long list of complaints is what I'm after. Not to compel you to write a book about it (but if you did, I'd read it :-P), but what are some of those things?

-----


No idea what defers and only are. Actually maybe only was what i was looking for. The django documentation for many things such as this is almost non existent. Some of it is from older versions as well. And im sorry but how is a newbie supposed to find this stuff. Youve probably been working with python and django for a while. Which is great. But when youre just starting and playing around having to spend hours looking simplistic stuff like this up when you have a million other things to do really gets frustrating.

-----


None of your points are coherent or truthful. This seems common among people that run to Node and Mongo.

> The django documentation for many things such as this is almost non existent.

He just linked you to documentation with exactly what you needed, so it surely exists.

> Some of it is from older versions as well.

He linked to the current 1.3 docs.

> And im sorry but how is a newbie supposed to find this stuff.

The second section of the docs is about models, the second heading is all about QuerySets. The link he pasted is literally right in front of you.

https://docs.djangoproject.com/en/1.3/

QuerySets: Executing queries | QuerySet method reference

-----


Of course it depends what libraries youre looking or. If youre looking for libraries for build the "basics" of a web app then there are plenty of libraries available. If yore doing other things though and looking for libraries that dont exist maybe its because youre using the wrong technology.

-----


Not necessarily. Sometimes the lack of libraries isn't solely because it is the wrong technology, but because it is the wrong community. Language and community are pretty intertwined.

LISP for example is a great technology for a lot of things, but library-wise it suffers because within that community there is a tendency for people to "roll their own" solutions.

Java has tons of libraries, but I'm not sure most people would say it's the right technology for a lot of things. It's generally the right technology for projects that involve lots of developers with mixed levels of ability (before some Java person down votes me for this, consider that Gosling himself made this point back in the mid-90s when he invented the language)

-----


After developing a v1.0 of a project with django i ended up also moving to node.js as well as mongodb as opposed to postgresql. I found myself increasingly wrestling with django. I really like python and the django community and think django is good for certain types of applications. But at least for what im building it wasnt the right solution. Im also using node.js for another project which is also currently built with django. It has different requirements and i might use python on the backend whereas the other project will most likely just be node.js and mongodb.

-----


I dont know about projects on github, but im involved in a couple of projects that are looking for developers. One is for a non profit. And one is for a for profit. They are using cutting edge technologies such as django and node and mongodb and whatnot.

-----


Ya lower prices. Make it like 99 dollars or something and it will sell like hotcakes. Or hell even cheaper.

-----


It "worked" for HP's TouchPad. They lost $500 on every device, but at least they finally sold those tablets.

So how about giving those PlayBooks away with a box of Cracker Jack's? There must be some kids who want a tablet that can't send email and doesn't have any games.

-----


I used ubuntu for 5 years or so and finally moved off of it almost 2 years ago. I was a huge linux fan until i used ubuntu. Which intially was great but soon became nothing but marketing hype with one buggy broken release after another. Which just became tiresome after a while. Especially since with each release they act as if THAT release will finally fix all the bugs theyve had and linux hs had. Only to find out it hadnt done any of that.

IN my personally opinion ubuntu completely destroyed linux Because rather then there being many great distros to choose from and play with there is now really only one. In fact OpenSuse was my favorite but that became just an also ran distro that people would compare to ubuntu and but say sorry but it doesnt compare and then stick with ubuntu. Which sucks. Of course OpenSuse also had the kde problem but thats a whole other topic of discussion.

-----


> ubuntu completely destroyed linux Because rather then there being many great distros to choose from and play with there is now really only one.

There are lots of excellent distros. The world does not revolve around Ubuntu.

-----


> Because rather then there being many great distros to choose from and play with there is now really only one.

I really don't understand this comment.

There are very many other distributions, covering a wide range of needs.

- Fedora, Mageia, Sabyon, and Mint Debian : nice desktops, easy to use - Arch, Gentoo, LFS : suitable for power users and tinkering - Slitaz, TinyCore, Puppy : minimal, configurable

etc etc.

None of these are based on Ubuntu.

-----

More

Applications are open for YC Winter 2016

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact

Search: