4 ms·
> In fact, I think Python is becoming the secret weapon behind every good Javascript application ;) My recent experience says this is not true. Python is so wi
by ghc 14y ago
> In fact, I think Python is becoming the secret weapon behind every good Javascript application ;)
My recent experience says this is not true. Python is so widely used as a backend that it is in no kind of secret weapon - at least not in the way Lisp was a secret weapon for Paul Graham with Viaweb. Every startup I've dealt with recently is building their backend in Python, Ruby or Node. I think the real story here is that compiled languages are on a major downswing in use for startups that build web apps. I haven't run across a startup building their backend with .NET or Java in a couple of years, except for one payment application that built the business logic with C# and MS SQL Server (they still built their web API with RoR).
Recently I tried to go back to compiled languages for a new web project. I really wanted to try something fun in Haskell that wasn't just data processing (what I normally use it for). I picked up Snap, Yesod and a few other libraries only to find that it was just too much of a pain.
Dynamic languages remove so many little annoyances with web development that it's hard to justify going back to a compiled one when you could just cheaply spin up an extra VM or two to deal with the performance differential between dynamic and compiled languages.
Maybe I'll try Go next...
- boothead 14y agoInteresting. I was the someone who wrote the snippet about my app becoming a zeromq => Websockets routing layer and I've been thinking that the correctness, speed and fluency doing anything stream related of haskell for this layer would be perfect. When you add in being able to share datatypes between the server and client via Fay it seems ideal!
- Xurinos 14y agoCan you go into more detail about your architecture (a quick diagram of the connections between these components)? I am very interested -- my own dabblings have been leading me in this direction and firm belief, but I would love to learn from someone else's experience with it. Please feel free to email me if you prefer.
- dysoco 14y agoWell you have Go, D and Haskell: And Scala, Clojure, Erlang if you count VM languages.
- snambi 14y agothere are a lot small sites powered by python. But, php may be still bigger than python.
- rcirka 14y ago.net and java aren't unpopular because of their compiled nature. They are certainly much more performant and development lifecycle is quicker. The problem is their licensing fees. Python, Ruby, Node, and PHP have no licensing free and deployment costs are negligible. Most developers would agree that PHP is horrible; despite that it is very popular, because it is free. Once performance becomes an issue, compiled languages become more advantageous. This is why twitter is now on java/scala, and stackoverflow is on .net. Dynamic languages are certainly less restricting and may be faster to development at the start, but have a major maintenance and debugging cost. I shutter when I think about trying to modify and huge javascript or php codebase. With .net, no big deal. As a personal preference, I like objective-c, it has the benefits of dynamic and static languages and it very performant. Too bad it is mostly limited to the apple platform.
- jiggy2011 14y agoFWIW Java doesn't have any licensing fees to use for web apps, there are plenty of OSS frameworks available also. Compiled languages have never been super popular for web development. Before Python/Ruby it was PHP/Perl that were the driving force outside of "enterprise". I guess enterprise adopts Java and .Net mainly because it is what most college grads come out of school knowing well, also the type safety may be advantageous when building big systems across hundreds of developers with ranging skill levels. I think the main reason for dynamic languages being popular on the web is that the "Save Text file -> Press F5 in browser" and deployment by copying text files to an FTP server feels intuitive , has a quick feedback loop and a lower learning curve. Adding a compile & linking step just feels like it adds friction. I worked with developer with a design & some PHP background on a small project that involved Java and he really struggled to understand why I was messing around with tomcat and .jar files rather than just copying .java files to the webroot.
- mark_l_watson 14y agoI have been going most of my web app development in Clojure. For many years, I did most in Sinatra or Rails. I would argue based on my own experience that Clojure + Noir are every bit as quick and Agile as Ruby + Sinatra because of auto-reloading of Clojure, CSS, HTML, etc. in dev mode. (Yeah, BTW, Noir is deprecated but I still use it on 4 projects.)
- mark_l_watson 14y agoI have been going most of web app development in Clojure. For many years, I did most in Sinatra or Rails. I would argue based on my own experience that Clojure + Noir are every bit as quick and Agile as Ruby + Sinatra because of auto-reloading of Clojure, CSS, HTML, etc. in dev mode. (Yeah, BTW, Noir is deprecated but I still use it on 4 projects.)