18 ms·
Poll: What Programming Language Do You Use for Server Side Web Development?
- ozgrozer 10y agoI use PHP for a long time. But now I see Python and JavaScript are the most used languages. I just wonder which one of them will be a true choise after PHP?
- irrational 10y agoBoth, neither, does it really matter? In my experience any server-side programming language will be good enough for 99% of the websites out there. Once you get up to the size of a google, twitter, facebook, etc. then you can start worrying about which server-side language you should use. Otherwise just use whichever one you prefer.
- ozgrozer 10y agoBut the PHP looks like it's going to die. So how can you explain popularity of Python and JavaScript? PHP, Python and JavaScript; all of them can make same job? Any differences in performance?
- irrational 10y agoYes, they can all do the same job and for all practical purposes they don't have any difference in performance. Just pick whichever one you prefer. If you become the next google then you can start worrying about the performance of your server-side language.
- tmaly 10y agoGo ?
- alex95 10y agoSeriously? No you don't. There is no way you are using Go in your every day production at it's currently level of maturity. And if you are, god damnit, I hope nobody has hired you.
- tylerFowler 10y agoNo option for Go?
- webmaven 10y agoPython
- garysieling 10y agoScala
- shadeless 10y agoElixir Edit: I wrote this comment before Elixir was added to the poll.
- barrongineer 10y agoGo
- deleted 10y ago[deleted]
- acconrad 10y agoElixir
- fmstephe 10y agoGolang
- Elrac 10y agoSee: Go.
- deleted 10y ago[deleted]
- mschoebel 10y agoPascal
- dejv 10y agoCan you elaborate on this?
- mschoebel 10y agoSee: https://deusu.org https://deusu.org The backend is written in Pascal. With the exception of the blog. That is written in Node.js. I did that as a way to learn Node.js. But as soon as I find some time I'll rewrite that in Pascal too.
- mschoebel 10y agoI probably should also add that I'm using FreePascal - not Delphi - and that the servers are a mix of Windows and Linux.
- aaronarduino 10y agoGo
- Jackneill 10y agoGo
- Omnipresent 10y agoGroovy
- lucianp 10y agoDespite the apparent lack of popularity, Groovy with the Grails framework is certainly better suited for web development than many (I would dare to say, most) of the programming languages listed above. Of course, it also matters what kind of web development we are talking about. Is it web services or web applications? I think the requirements are quite different between the two.
- vorg 10y agoAfter its leadership changed in 2005, Groovy was commandeered to be primarily a scripting language for Grails. A Ruby-like meta-object protocol was added to Groovy so Grails would be Rails-like. Groovy's never really broken free of this shackle, despite its failure around static typing and Android, or use for defining builds before Gradle 3.
- groovy_time 10y agoWhy is Ruby on Rails so popular? I come from a Groovy/Grails background and one day I sat down and was going to do a Ruby on Rails project but I threw up just looking at the code.
- Strangework 10y agoGo
- jswrenn 10y agoRacket
- mikecsh 10y agoSwift
- coldcode 10y agoSomeday in production!
- neurostimulant 10y agoI've been interested in using Swift for webapp too. Anyone has recommendation for a good framework?
- EdJiang 10y agoI wrote this post the other day comparing four of the top Swift web frameworks on GitHub, maybe this will help? https://stormpath.com/blog/swift-on-the-server-today https://stormpath.com/blog/swift-on-the-server-today Be aware that all of the frameworks are targeting Swift 3 right now, so it's a bit unstable until Swift 3 is officially released. But the ecosystem is going really strong =]
- mjmsmith 10y agoI'm using Vapor on a new project and I really like it. The biggest stumbling block at the moment is that the Swift Package Manager can't resolve packages having dependencies on different versions of other packages. I'm using Vapor with Zewo's PostgreSQL ORM, and upgrading either one is an exercise in frustration.
- deleted 10y ago[deleted]
- ChicagoDave 10y agoI tried Node/Restify, but I just can't problem-solve using those tools, so I went back to ASP.NET/Web API using C#.
- luisehk 10y agoPython. Django or Flask depending on the projects' needs
- niroze 10y agoLanguages that are cool/hip/popular here will win. Odd that Golang was left out with it fitting that criteria... but I still stand by the assertion :)
- whatnotests 10y ago"Go" is in the list. Perhaps you just missed it? Edit: I see, based on other comments, that Go wasn't part of the original lineup.
- aws_ls 10y agoI saw it just now, so by now its already added and stands 6th most used (not bad for a relatively new language) for server side web development. I like it a lot, have been using it since 2013. I bet its going to rise in usage. A minor point regarding its name usage. We should always call it Golang on HN & comments etc or in searches, as 'Go' is such a common word. I always try to to a ctrl-f for golang. And I am sure many other gophers do.
- xniccum 10y agoGo
- sotojuan 10y agoNode at work and for quick projects, Elixir for fun.
- AdieuToLogic 10y agoScala
- lux 10y agoFrom the comments, seems like Other=Go ;) I'm in that camp too.
- bokenator 10y agoJust added go
- harijay 10y agoPython
- qaid 10y agoF#
- harijay 10y agoPython
- chipgap98 10y agoJava at work and python for side projects
- deleted 10y ago[deleted]
- Yoric 10y agoRust
- gerardogc2378 10y agoC#
- nimmer 10y agoNim
- stuxnet79 10y agoConsidering the general HN bias towards newer languages, I am impressed (very) by Java's standing. A good language to be pigeonholed in I suppose.
- Bjorkbat 10y agoDogescript. I mean, it compiles into Javascript. It didn't take long before I realized that I could write an entire Node-based web app entirely in DS. Much users. Very rich.
- starikovs 10y agoI use php not because it's better than Java (for example) but because I know it better :)
- codetoeat 10y agoF#
- codetoeat 10y agoF#
- georgefrick 10y agoJava, sometimes node/js on side projects.
- mebassett 10y agoI appreciated the lisp and clojure options; I use racket/typed racket - for no other reason than that it's a lot of fun.
- zelon88 10y agoPHP. It may be old, tricky to debug, and cumbersome to write long projects with but the ability to bounce in and out of logic on a simple, proven, well adopted stack that has plenty of knowledge-base and ready machines everywhere has it's advantages. Plus, I've heard a lot of developers knock PHP but I've yet to see a problem solved with Ruby or Python that couldn't have been solved with PHP.
- VeejayRampay 10y agoThat last sentence is pretty true of any combination of languages and it feels defensive.
- JustSomeNobody 10y agoIt is and it is.
- irrational 10y agoIts pretty much the definition of Turing complete.
- Joeri 10y agoAfter about a decade programming PHP, I'm now mostly using java 8 (play framework), with some node.js thrown in on the side. I've found that PHP's benefits are also its downsides. The simplistic concurrency model where every request starts from a blank slate and has no asynchronicity is easy to understand, but difficult to optimize for performance. The large knowledge base is great for getting a solution, not so great for getting the right solution. The "just keep going" error handling philosophy is excellent for newbie programmers, but terrible for guaranteeing correct operation. The interpreted zero-build dev model is excellent for quick edit-reload cycles, not so great for large-scale refactorings where you want to know you've correctly adapted all uses of a core api. Java has improved a lot from what I remember it used to be. Java 8's elimination of a lot of the boilerplate, coupled with the simplicity of the play framework, and activator's hot reloading of code for quick edit-reload cycles brings it on par with PHP as far as developer comfort is concerned, at least for me. In my experience java is nicer for large-scale web dev, while PHP is nicer for a quick side project. Node with javascript I would put more in the PHP camp than the Java camp. It is great for side projects, but scaling it up necessitates switching languages to something like typescript with a whole-project build, which takes away much of the "ease" that something like PHP or Node provides.
- djstein 10y agoPython (Django)
- ovardcj 10y agoHere we go again with JavaScript. Can't wait for this cycle to go back down like it did back when jQuery and Node first came out and everyone jumped on the bandwagon.
- centrinoblue 10y agoAfter all this time it's still interesting to see how much hate there is out there for JavaScript even though it has proven itself a more that capable language across multiple platforms.
- JustSomeNobody 10y agoIt's not so much the hate for JavaScript. It's the hate for the developers who know nothing about computing history making all the same mistakes as with any other platform while being so darned insistent that the world will run only on JavaScript any day now because JavaScript is the uber language.
- errantspark 10y agoYou meet a young hip developer at the train station, the train is 8 minutes late so you have a moment to talk. They tell you they love JavaScript above all else, after a brief rant about how great lexical scoping and arrow functions are in ES6 you can finally get a word in edgewise. What pieces of advice do you offer so that this poor child may avoid the mistakes of his forebears?
- JustSomeNobody 10y agoMore than anything I would say stay slightly behind the hype wave. Take two steps back and one can see the waves of hype roll through programming blogs, HN and reddit. 10 years ago people were arguing over ORMs. Then it was dependancy injection frameworks, then SQL vs NoSQL. Now there's JavaScript and it's various frameworks and libraries. THere's always so much hype about what to use that it's easy to lost in it and worry that if you aren't riding the trend wave, you'll drown. But most times it's easier just to float a while and watch from a short distance. Get done what you need to get done with what you currently know. Let the hype die down. Learning new things is a ton of fun. But they can be devilish to deploy in production. Don't feel like you have to use them. Edit: I'm not saying DI frameworks, or ORMs or NoSQL (or even SQL) are bad in any way. Just that within each topic there was much arguing about what is "the best" or "proper" or whatever. Wait for that to cool off and die down before betting your next project on it.
- BlackjackCF 10y agoJava and Ruby at work, depending on the project.
- shawndumas 10y agoPSA: Don't forget to up-vote the poll itself.
- mindcrime 10y agoJava and Groovy, mostly. More Groovy (via Grails) for web specific stuff, sometimes plain vanilla Java for backend services. Nothing is off the table though... I'll happily use Scala, C++, Haskell, Python, Rust, Go, or Intercal, if there's a good justification for it in a specific situation.
- zingermc 10y agoI haven't found a web server language to my liking yet. Maybe I'm too picky, but I'd like to satisfy all of these requirements: - Static typing -- I want to eliminate as many runtime bugs as I can - Type inference -- Like in SML and Haskell - No JVM -- Personal preference, but I'd rather not pull in this monster if I don't have to. - Good pre-made web framework -- I've briefly looked at OCaml but the web frameworks seem disappointing. Tell me if I'm wrong!
- supster 10y agoI have very similar requirements, and I think within the next few years, Swift will fill this niche very well.
- AsyncAwait 10y agoAgreed, Vapor[1] is coming along nicely. 1 - https://github.com/qutheory/vapor https://github.com/qutheory/vapor
- orclev 10y agoThere are a couple Haskell frameworks that might fit the bill. Yesod is a big one, although some take issue with its excessive use of Template Haskell. Others to look at would include Servant, and the very confusingly named rest framework.
- rzhikharevich 10y agoDoesn't Go fit these requirements?
- deleted 10y ago[deleted]
- AsyncAwait 10y agoGo has a relatively weak, unsafe type system despite being statically typed. Also, lack of generics, optionals or tagged unions is kind of a bummer.
- 10y ago
- claudiug 10y agoruby and dlang
- supernintendo 10y agoElixir and Ruby at work (previously Go as well). I have also done backend development in JavaScript, PHP, Python and Clojure. Elixir is certainly my favorite to work with, so far.
- karmakaze 10y agoWas Go phased out leaving Elixir/Ruby, or was that at a different company?
- supernintendo 10y agoNeither, still running Go for a standalone service in production just fine. There hasn't been a need to work on it for quite a while.
- mej10 10y agoThe people using Haskell should write more blog posts about using it in production.
- Ryanb58 10y agoPython
- projectramo 10y agoPSA: Just upvote the poll up above, no need to add your comments in the comments below. Comment: As a follow up, it would be interesting to see which framework people use within the language.
- p4wnc6 10y agoPython: cherrypy -- avoid django and flask as much as possible.
- deleted 10y ago[deleted]
- stirkac 10y agoRuby on Rails for one simple reason - it's still the fastest way to build small and mid-size web apps.
- morriswarima 10y agoPython(Django and pydata stack). Most surprising to me, there has been a huge uptake of Python in my country (Kenya) this year. Ruby didn't win. Neither did JavaScript.
- ad1ttya 10y agoF#
- deleted 10y ago[deleted]
- jasdeepsingh 10y agoRuby, Elixir and under certain conditions, Javascript (NodeJS)
- rajangdavis 10y agoI have been working with PHP steadily over the last year, and, coming from a Rails background (learned it at General Assembly), I used to hate the "ugly" syntax, weird method calls, and strictness of PHP (missing a semicolon can be damnable offense in the eyes of the compiler). Ruby to me seemed a lot more flexible, but over time, after hacking at PHP, I have come to appreciate it as a language that gets the job done. My preference is still with Ruby on Rails; however, I have been thinking of using a more lightweight framework like Sinatra. I am still impressed with how flexible and expressive Ruby can be. Alongside bash, it has really become one of my favorite languages to work with particularly for scraping/writing automations. Would love to get into Node, but the idea of javascript on the back-end hurts my head. All I have used Node for is for basic utilities like uglify-js and minifier. Been hacking on Angular and Mithril on the front end, I love javascript as a front end language, but still haven't wrapped my head around Node. Javascript isn't too far off syntax-wise from PHP, but my struggle with Node is how to organize the codebase as well as understanding a clean separation of concerns when it comes to front-end and back-end code. Might be off topic, but I am really excited to see how the GraalVM is going to impact languages like Javascript and Ruby.
- vincentdm 10y agoClojure (recently) and PHP (legacy)
- yamalight 10y agoJava, Go and Node depending on requirements.
- theandrewbailey 10y agoJavascript with proprietary API at work (not NodeJS) Java for not work (I want to move away from Java so I won't get sued by Oracle)
- brandon272 10y agoPHP ... It's like a fine wine that gets better with age, really.
- niftich 10y agoNow that Go has been added, I see a good amount of votes for Go. Since we're talking about server-side web apps, I'm assuming this entails an HTTPS API endpoint, some datasource, and some business logic. What packages/libraries/toolkits to you use to build a (micro-)service such as this?
- 5A704C1N 10y agoCFML