7
MrErvin
7y

for startup ... php or javascript(node.js)? and reason

Comments
  • 7
    Node.js!!
    Cause... Have u ever used php? 😨
  • 7
    For fast prototyping I think Rails is better.
  • 5
    Node.JS - because it would be a major pain in the ass to rewrite your PHP app in Node.JS 5 years down the line
  • 1
    @aswinramakrish Yes... Node in 5 years and not an actually scalable language.
  • 2
    @psudo What is a scalable language?
  • 9
    The one your development team knows best?
  • 2
    @aswinramakrish Java or another JVM language, C++/#, Elixir/Erlang. Pretty much any language that was meant for large scale backend projects.
  • 3
    @psudo I'm not sure what you mean by "meant for large scale back end projects". I'm sure we can find examples of large scale projects that use languages from COBOL to Elixir, but that doesn't mean the language itself is scalable. Benchmarks can be a good way to look at this, but still scalability in the sense you're saying has has nothing to do with it. You should look at adoptability. See the npm packages coming out. Ease of finding a resource, learning curve etc.. I'd say these are more important factors for a startup that wants to bring the product to market asap. Would you build a V8 engine using C++ or just use Node.JS? 😜
  • -1
    @aswinramakrish Sure, if you're only looking for early stage and want to tap into the frontend talent pool then feel free to go with Node. But once you're out of first round and are now having to scale you're probably going to run into headaches. I admit that Node is new enough we haven't really seen that stage yet, but 5-10 years ago everyone was making your arguments, but for rails. And any of the companies that were using it, but existed past 5 years and a very small userbase switched to a different language.

    And to address your question, I wouldn't rebuild V8 because I would never run Javascript on the backend. πŸ˜‰
  • 6
    @psudo I'm sorry. Netflix, NYTimes, Uber, PayPal etc.. Not big enough? I still don't see your argument.
  • 13
    A true start up would build their own language
  • 2
    @ggromx πŸ˜‚πŸ˜‚πŸ˜‚
  • 2
    Though it's not on your option but if your team knows Rails then you should definitely use it, it is scalable and has fast prototyping and very good used by most startups. If you want to build something which needs to handle alot of requests and will be most busy then pheonix framework of elixir is the best. It is hell faster. And yeah node can be kept as an option too. It has it's perks but I am not a fan. Php is horrible. 😁😁
  • 3
    Depends on your team's expertise. If your team has more experience in PHP, go with that. If they have more with Node, go with that. Iteration speed = Developer expertise. In prototyping stage, don't worry about the tech stack too much unless your CTO has a clear vision of the technology used. It will probably fail on first try, so all you should do is try to validate your ideas first.
  • 2
    @psudo This means you don't understand startups at all. Startup is all about valuation, not the product. You need to move fast, let your dev team develop new iterations of the product and maintain high growth; not crunching the fuck out of every last bit of performance when all you need to do is buy more fucking AWS clusters because it's more cost effective in the long run. Remember: devs cost much more than servers. You're going to exit and merge in the end so don't count too much on it. Node IS scalable enough to not fail in production. Trying to dev something fast in elixir? Good luck!
  • 0
    @ahmednr123 come on bro is that even an argument
  • 1
    There are very good comments, it depends on several things, the kind of app, the DBMS, your team, your servers, among other stuff, but that mainly.
  • 0
    node.js
  • 1
    @psudo I'm actually a c#/java guy. That's what I did when I was working for a global company. I quit to start my own startup and I'm using node.js with TypeScript. It's (non existent) threading model is much easier to scale, the (almost non existent) boilerplate code for handling JSON and requests makes actual logic more in-focus instead of a soup of converters and auto-generated code, and the "compile while typing" is very convenient.
    All you really need for scale is to minimize server state and save the remaining state in a DB (or redis) + design the database according to your needs. This is "language agnostic" so every language/framework can scale.
  • 2
    Node.js would be my vote if was about a regular project and despite the fact that I didn't read all the comments I will drop my two cents here. As the fact that you are asking about a startup makes me think, that you need to bootstrap something fast and stable, not scalable right away. You should probably turn to php for that, you can still scale it down the road and the biggest plus are all the great frameworks and packages that save you shitload of time. Not like node doesn't have all them packages and frameworks but due to the diversity there you will find yourself loosing more time researching and looking over in wikis and stackoverflow than prototyping.
  • 1
    No one recommending Java spring? It's incredibly easy with a decent knowledge of Java. http://spring.io/projects
  • 1
    @JavaRules well, he didn't ask about spring
  • 0
    You shouldn't exclude Python, I think its popularity will increase in few years. I love the JavaScript (front) / Python (back) stack.
  • 0
    I just switched from PHP to Node.js and if I were you, go the Node.js route, works much better and that is just the future..
  • 0
    @letmecode Sad and funny indeed! Can it be sunny then?
  • 1
    It really depends on the project if you ask me
  • 0
    @psudo Facebook runs PHP? So i don't really see what you mean "scalable"
  • 0
    Nodejs, easier and you just want a little time to market, if you don't have a heavy server logic
  • 0
    @aswinramakrish Can you link me to some recent blog posts about it? A quick Google search wasn't leading me to believe it (posts about Java easy answer posts about Node), but maybe I just missed it. I am actually willing to have my opinion changed ☺️
  • 0
    @phoomparin You must have missed the post I responded to. They were arguing not to go with php because in 5 years op will want to switch to Node. In the Silicon Valley style of get acquired early and often you would have ran out of valuation money after 5 years if you weren't a unicorn. I never said anything about when you're prototyping/trying to make a quick exit.
  • 0
    @solocoder That isn't going to work if you need low latency. I know the current trend is to not think of vertical scaling because horizontal is so cheap, but I can't help but feel that's sort sighted.

    That said I again wasn't suggesting that an early stage startup not go with Node. I was saying that if after 5 years you want to switch from php you'll probably be switching because you can't scale your app any more and I don't think Node is going to give as much benefit in that case as a more traditional serverside language will. I admit I could be wrong, but I doubt it.
  • 0
    @psudo node has pretty low latency when all you do is send complex queries to the database and spit the results to the user. This is actually all you need in the server side. Complex calculations, statistics and other aggregation logic should be done in a background process and the results should be pushed back to the database. JVM languages are perfect for that. If you need to do complex calculations per user request you should probably try to delegate it to the client and a browser might not be enough.
  • 0
    @psudo Regarding how Netflix, Uber etc. are using Node.JS?
  • 0
    @Letmecode it's funny but node.js isn't a language programming ! people can take easy :D they dont know a good startup made by two ,three or more languages
  • 0
    @Letmecode take easy :D maybe in high processing node.js is better .... but in little things php ... better!!! i can show you!
    i like node.js i use node.js and hate php but it's true php in little things is better
  • 0
    @Letmecode Well, there are clearly some pros and cons in this case if you've programmed in both the languages. You don't need to have a requirements document to give your 2 cents on which of these programming language is better.
Add Comment