6 ms·
> you are writing javascript, which is a pretty shitty language in which to develop apps these days. Woah. I do both Python and JS, and guess what - there are
by karterk 15y ago
> you are writing javascript, which is a pretty shitty language in which to develop apps these days.
Woah. I do both Python and JS, and guess what - there are a fair number of people who hate Python's significant whitespace. And to them, it's also a "hacky" language (with all kinds of __foo__ stuff). So, shitty-ness is in the eyes of the beholder.
> It's for fad chasers who have no idea how real servers manage to serve volume.
There are real world apps like Trello, which is on Node, and are scaling well. Get your facts right, or stop trolling.
- hello_moto 15y agoI'm not going to argue too much between JS and Python. But whitespace as debate topic over corner cases in JS language? really? And also Trello is just launched and suddenly it scales off miles away? really?
- jQueryIsAwesome 15y agoThe have pagerank 6 and they "just launch"? ... that is weird.
- hello_moto 15y agoThey launched mid September 2011. 3 months and they are what people considered web-scale? Pagerank 6 == webscale? Those facts are weird...
- malandrew 15y agoYup, shitty-ness is in the eye of the beholder. I wish that every time a discussion of syntax came up, we'd be as quick to make reference to Wadler's law as we are to make reference to Godwin, when Nazi's are brought into the picture. http://www.haskell.org/haskellwiki/Wadlers_Law http://www.haskell.org/haskellwiki/Wadlers_Law Arguing syntax is more often then not pretty absurd, unless you are arguing how the syntax actually changes semantics (like with S-expressions and overloaded parens).
- StavrosK 15y agoWhat __foo__ stuff?
- bmelton 15y agoI'm not the author, but I believe the classic example is: if __name__ == "__main__":
- epidemian 15y agoOr methods like __init__, __str__, __cmp__, etc. I know they are part of Python's protocols, which are basically a form of the template method pattern, and that they do make sense. But to some people they feel hackish; they woud prefer to have "normal" name methods for these protocols instead.
- mixmastamyk 15y agoIf they were normal they'd eat up your namespace.
- epidemian 15y agoYes. But, it that a bad thing? For example, I think if you'd have to explain how to change the string representation of some kind of object, saying "just define the 'str' method and then call it, like 'something.str()'" is simpler than "define a '__str__' method -- don't worry about all the underscores -- but then don't call it directly; instead of that, use the global 'str' function". I don't know if that extra indirection (i.e. calling 'str', which, in turn, calls '__str__'; or 'next', that calls '__next__' in Python 3) adds more value than the simplicity of not having that extra indirection in the first place.
- Tobu 15y agoIf it used normal names, Python couldn't evolve new methods for its protocols with language support. It would need some kind of annotation saying “yes I really mean to get this method called by the language and didn't just happen to use the same name by coincidence”.
- sneak 15y agoI think it's amusing that when I claim that javascript is a shitty language, instead of trying to claim that javascript isn't shitty, you point out the shittier attributes of the language I was comparing it to. Regardless of whether you like python or not, javascript pretty much sucks. Coffeescript helps a bit, but if you aren't running in browser, why hobble yourself like that?
- MatthewPhillips 15y agoYou expected a nuanced refutation when you yourself offered nothing of substance?
- cm127 15y agoThe "Javascript is a shitty language" argument is getting old. I feel like you're only admitting that you're too lazy to learn how to program with a prototype-based language. You even suggest Coffeescript which is big on making Javascript like an OOP language when it's really not. As far as a reason why you might "hobble" yourself is because Javascript is great at asynchronous design. You should try checking it out for real instead of jumping on the opinion bandwagon.
- rdtsc 15y ago> argument is getting old. How does the age of the argument impact its validity. > you're only admitting that you're too lazy to learn how to program with a prototype-based language. If you don't like Erlang you are just admitting you are too lazy to learn the actor model. See I'll just call you "lazy" it will validate my argument. > because Javascript is great at asynchronous design. Not disagreeing with you here, but it would help if you'd actually mention why. You said something about it being a prototype based language. Is that why you think it is great at asynchronous design?
- jashkenas 15y agoOh man oh man. > You even suggest Coffeescript which is big on making > Javascript like an OOP language when it's really not. JavaScript is deeply object-oriented.
- rdtsc 15y ago> fair number of people who hate Python's significant whitespace if that is their only reason to claim JS is a better language, i wouldn't bother listening to their opinion too much.