之前试过django,flask,rails,都很不错。但是尝试了春天之后,我爱上了。结构好。容易测试。有很多框架可以帮助你前进。网上也有很多教程。
我喜欢python,但也喜欢java和kotlin。只是不明白大部分创业公司用java做后端有什么问题。因为在大公司和银行里很流行,而他们就是讨厌“企业”这种东西。
众说纷纭:
大多数初创企业选择开源项目来启动。大多数Web应用程序都是使用php构建的。
我去过两个用Java/Spring Boot做后端的创业公司。
我知道的所有创业公司都使用一些ME * N stacks。
大多数创业公司并不是真的需要微服务。如果你是网飞、亚马逊、脸书,你可能需要它。但较小的创业公司不会。
大多数创业公司都是由年轻人创立的。在他们看来,Java似乎已经成为过去。
我觉得Golang在创业公司很受欢迎。
Golang现在很疯狂很受欢迎。我有一些朋友在创业公司工作。在Golang工作一段时间后,他们真的很想念Java。特别怀念以前用Java和统一框架(比如Spring)时的效率。
每个从Java到Go的人,过一段时间都会怀念Java。围棋是垃圾语言。如果不是谷歌产品,绝对不会这么受欢迎。
我认识的或者工作过的创业公司几乎都是Java/Python。这里的人好像都在抱怨Java,因为没用过Java,因为大部分人都在胡说八道。
事实并非如此。在柏林,近60-70%的初创企业都在使用Java/Kotlin进行微服务开发。
我认为在后端系统中使用Kotlin或Scala的一个最大缺点是,它们在许多市场上仍然缺乏招聘潜力。
在我的上一份工作中,我几乎只与不同的早期创业公司合作。虽然Java不是最流行的技术栈,但也不是闻所未闻。我们大多数人都是Ruby on Rails和Express,但有些是Java,有些是。NET还有一些是Python。
许多堆栈的选择完全取决于谁构建了MVP或v2平台。
我在几家不同的创业公司工作过。根据我的经验,这是因为你在小型精益创业公司需要的顶尖人才不想用Java。我从事Scala项目已经好几年了。虽然这是一次愉快的开发体验,但出于很多原因,我永远不会选择Scala来做任何未来的项目。Groovy是我个人最喜欢的语言,但我绝不会选择用它来做生产代码。但是我遇到的每个Groovy开发者都是伟大的开发者。
原因有几个,大部分和成本有关。公司一定要节俭:我相信JS会把你最贵的成本(开发者)从上到下变得更便宜。新开发人员将不会对OOP如鱼得水。与其他语言相比,带spring的Java占用了大量资源。这增加了托管成本,启动时间长使得AWS lambda等选项无法启动。短代码的普遍吸引力。Java的冗长使得它的性能很差。认为行数会影响展开时间。相比之下,Java并不是一门伟大的函数式语言。函数编程仍处于高潮。
日本业界就是这样,JD是完整的JS栈或者Ruby on Rails。我有5年的Java经验,仅此而已。
初创企业以员工成本为主,需要尽快上市。Java开发者不便宜,上市时间也不是特别快。所以没有比较优势。
因为初创企业是靠先发优势运作的,而有些想法恰恰可以更快地吸引风险投资。也就是说,不管开创者是谁,创始人工程师都是定义组织代码库命运的人。如果他们恰好是Java工程师,就会用Java。现在,记住,大多数从事未开发项目的工程师利用这个机会尝试另一种技术。这就是为什么你可能会觉得Java已经失去优势了,但是最后大家遇到性能瓶颈的时候,都会选择Java,Go,Rust,c。
简而言之,用python或者PHP框架(我偏向)构建MVP的速度要比用Java快很多。我知道Spring是一个很好的spring mvc,提供了很多样本内容。
大多数创业公司都是非常小的团队,这不是Java真正的亮点。Java是一种冗长的语言,有许多模板,缺乏现代语言的许多功能,所以用其他语言构建快速原型通常更有效。Java的优点可以弥补这些缺点,当你有一个很大的代码库,一个很大的团队的时候,这些优点就会发挥出来。
Java是丰田凯美瑞的语言。当妈妈、阿姨、叔叔一直开这种车的时候,年轻人(也叫初创企业)什么时候想要凯美瑞?
在瑞典开发者团队做了一个非正式的调查,Kotlin在后端的表现好像很强!Kotlin是Android上最流行的语言,许多JDK停留在Java8上,所以Kotlin可能是JVM的未来。
当没有产品可以扩展时,公司转向Java/JVM。
Java的问题在于很难掌握它的方方面面。
真正的初创企业如何选择不用Java?因为硬件很贵。使用golang,512MB vps可以运行8个或更多应用,每个应用只占用8MB内存,每个应用处理5W qps。Java需要128MB 48MB以上(或者你想要更多)。
这是我一路走来了解到的信息。我已经整理好了。如有需要,可以先关注我,再私信回复(信息)。