Why is java backend not popular in start-ups- reddit

Jiedao jdon 2021-05-04 16:51:03
java backend popular start-ups- start

I've tried before django,flask and rails, They're good . But trying spring after , I fell in love . Well structured . Easy to test . There are so many frameworks that can help you move forward . There are also many tutorials on the Internet .

I like python, But I also like java and kotlin. I just don't understand that in most startups java What's wrong with using it as a backend . It's because it's very popular in big companies and banks , And they just hate “ Enterprises ” Things like that .

Opinions vary :

Most startups choose open source projects to start . Most of these Web Applications use php Built .

I've been using Java / Spring Boot As two start-ups at the back end .

All the startups I know use some ME * N Stack .

Most startups don't really need microservices . If you are Netflix,Amazon,Facebook, You may need it . But smaller startups don't .

Most startups are founded by young people . In their view ,Java It seems to be in the past .

In my submission Golang It's very popular in startups

Golang It's crazy now . I have some friends who work for start-ups , stay Golang After working for a while , They really miss Java. I miss using it before Java And unified framework ( Such as Spring) The efficiency of the work .

from Java go to Go Everyone will miss it after a while Java.Go It's rubbish language . If not Google product , That would never be so popular .

Almost every startup I know or have worked for is Java / Python. It seems that everyone here is right about Java There are complaints , Because they haven't used Java, Because most people talk nonsense .

This is not the case , In Berlin , near 60-70% The start-ups are using Java / Kotlin Develop microservices

I think it will be Kotlin or Scala One of the biggest drawbacks of using for back-end systems is , They still lack recruitment potential in many markets .

In my last job , I specialize almost exclusively with different early start-ups . Even though Java Not the most popular technology stack , But not unheard of . Most of us are Ruby on Rails and Express, But some are Java, Some are .NET, Some are Python.

Many stack choices depend entirely on who built MVP or v2 platform .

I've worked for several different startups , According to my experience , That's because the top talent you need in a small lean start-up doesn't want to use Java. I am engaged in Scala The project has been going on for several years , Although this is a pleasant development experience , But for a variety of reasons , I will never choose Scala Any future projects .Groovy It's my personal favorite language , But I'll never choose to use it for production code . But everyone I met Groovy Developers are great developers .

There are several reasons , Most of it has to do with costs . Start ups have to be frugal : Believe in JS Top down will cost you the most ( Developer ) Cheaper . New developers won't be right OOP Feel at home , Compared with other languages , with spring Of Java It takes up a lot of resources . This increases the cost of hosting , The longer start-up time makes such as AWS lambda Such options cannot be started . The universal appeal of short code .Java It's not performing well because it's too long . Think that the number of lines will affect the development time . by comparison ,Java Not a great functional language . Functional programming is still at its climax .

This is the case in the Japanese industry ,JD Is a full JS Stack or Ruby on Rails. I have a 5 year Java Experience , That's it ...

Start ups are dominated by staff costs , It needs to go public as soon as possible Java Developers are not cheap , Time to market is not particularly fast . So there is no comparative advantage .

Because startups are run by the first mover advantage , And some ideas can just attract venture capital faster . in other words , No matter who the pioneers are , Founder engineers are the people who define the destiny of the organization code base , If it happens to be Java The engineer , They will use Java. Now remember , Most engineers who start on undeveloped projects take advantage of this opportunity to try another technology . That's why you might think Java Lost the edge , But in the end , When everyone encounters a performance bottleneck , They all choose Java,Go,Rust and C ++.

In short , use python or PHP Framework establishment MVP The speed of ( I'm biased ) Compared to using Java It's much faster . That's true. Spring It's a good one Java frame , And provides a lot of sample content .

Most startups are very small teams , This is not Java The real bright spot .Java It's a long language , There are many models , And it lacks many functions of modern language , So other languages are usually more efficient in building rapid prototyping .Java These shortcomings can be made up by the advantages of , When you have a large code base and a large team , They will work .

Java It's Toyota Camry language . When their mother , When my aunt and uncle had already driven this kind of car , Young people ( Also known as start-ups ) When do you want Camry ?

An informal survey was conducted in a team of Swedish developers , and Kotlin The performance on the back end seems to be strong ! because Kotlin yes Android The most popular language in the world , And many JDK Stay at Java8 On , therefore Kotlin May be JVM The future of .

When any product can't scale , The company began to turn to Java / JVM.

Java The problem is that it's hard to master all aspects of it .

How do real startups choose not to use Java. Because hardware is expensive . By using golang,512MB vps Can run 8 One or more applications , Each occupies only 8MB Memory , Each application handles 5W qps.Java Need to exceed 128MB + 48MB( Or more you want ).


本文为[Jiedao jdon]所创,转载请带上原文链接,感谢

  1. Realization of reactor Kafka through spring boot Webflux
  2. RPC框架设计----Socket与I/0模型
  3. Problems in upgrading from Java 8 to Java 11
  4. RPC framework design -- socket and I / 0 model
  5. RPC框架设计----I/0模型
  6. RPC framework design: I / 0 model
  7. RPC框架设计----NIO编程缓冲区Buffer
  8. RPC框架设计----NIO编程缓冲区Buffer
  9. RPC framework design -- NiO programming buffer
  10. RPC framework design -- NiO programming buffer
  11. Java多线程基础
  12. Java multithreading Foundation
  13. 码农飞升记-00-Java发展历程
  14. Development history of coder-00-java
  15. 码农飞升记-00-Java发展历程
  16. Development history of coder-00-java
  17. Spring and Autumn Moon
  18. Node.js与Spring Boot比较? - Ryan Gleason
  19. Spring WebFlux的明显陷阱 - ŁukaszKyć
  20. Spring创始人Rod大叔对YAML的真实想法
  21. Compare node.js with spring boot- Ryan Gleason
  22. Obvious pitfalls of spring Webflux- Ł ukaszKy ć
  23. Spring founder uncle rod's real thoughts on yaml
  24. 码农飞升记-02-OracleJDK是什么?OracleJDK的版本怎么选择?
  25. What is manong feisheng-02-oracle JDK? How to choose the version of Oracle JDK?
  26. Spring tide surging Xinanjiang
  27. Linux内核软中断
  28. Linux kernel soft interrupt
  29. Linux内核软中断
  30. Linux kernel soft interrupt
  31. Java multithreading Foundation
  32. The construction of Maven private library nexus
  33. I / O stream in Java
  34. JDK 16:Java 16的新功能 - InfoWorld
  35. 在Java中本地进行线程间数据传输的三种方式和源码展示
  36. jdon导致cpu 99%最后tomcat死掉---banq给予回复
  37. 用领域事件模拟AOP注入
  38. JDK 16: new function of Java 16 - InfoWorld
  39. Cartoon: from JVM lock to redis distributed lock
  40. Spring 3.1 终于加入了Cache支持
  41. Prototype与JQuery对比
  42. Three ways of data transmission between threads in Java and source code display
  43. Jdon causes 99% of CPU and Tomcat dies -- banq replies
  44. docker 原理之 user namespace(下)
  45. Simulating AOP injection with domain events
  46. Spring 3.1 finally adds cache support
  47. Comparison between prototype and jquery
  48. User namespace of docker principle (2)
  49. The way to learn java IO stream and XML
  50. Why does a seemingly correct code cause the Dubbo thread pool to be full
  51. 0 基础 Java 自学之路(2021年最新版)
  52. 0 basic Java self study road (latest version in 2021)
  53. c#—基础拾遗(1) 面向对象
  54. C - basic information (1) object oriented
  55. 技术分享|SQL和 NoSQL数据库之间的差异:MySQL(VS)MongoDB
  56. Technology sharing differences between SQL and NoSQL databases: MySQL (VS) mongodb
  57. PHP教程/面向对象-3~构造函数和析构函数
  58. Spring Cloud的Feign客户端入门
  59. 优化Spring Boot应用的Docker打包速度
  60. PHP tutorial / object oriented - 3 ~ constructor and destructor