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 ）.