Dojo
最新
最佳
搜索
订阅
解道Jdon
架构设计
领域驱动
DDD介绍
DDD专辑
战略建模
领域语言UL
领域事件
商业分析
工作流BPM
规则引擎
架构师观点
数据工程
产品经理
认知谬论
系统思维
微服务
微服务介绍
微服务专辑
模块化设计
SOA
API设计
clean架构
SpringBoot
分布式事务
事件溯源
Kafka消息
Kubernetes
DevOps
编程设计
GoF设计模式
模式专辑
面向对象
函数式编程
编程语言比较
编程工具比较
形式逻辑
前端编程
Reactive编程
Jdon框架
Rust语言
人工智能
Web3
模因梗
幽默梗
程序员职场
职业规划
面试技巧
道德经
认知偏差
Java入门
更多话题
为什么Java后端在创业企业中并不流行? -reddit
20-07-01
banq
我之前尝试过django,flask和rails,它们很好。但是在尝试spring之后,我坠入爱河。结构良好。易于测试。有这么多框架可以帮助您前进。网络上也有很多教程。
我喜欢python,但我也喜欢java和kotlin。我只是不明白在大多数创业公司中将java用作后端有什么问题。是因为它在大公司和银行中很受欢迎,而他们只是讨厌“企业”之类事情。
众说纷纭:
大多数初创公司选择开源项目来启动。大多数此类Web应用程序都是使用php构建的。
我去过使用Java / Spring Boot作为后端的两家创业公司。
我知道的所有初创公司都使用一些ME * N堆栈。
大多数初创公司并不是真的需要
微服务
。如果您是Netflix,Amazon,Facebook,则可能需要它。但是规模较小的创业公司却没有。
大多数创业公司都是由年轻人创办的。在他们看来,Java似乎是过去的。
我认为Golang在创业公司中非常受欢迎
Golang现在疯狂流行。我有一些在初创公司工作的朋友,在Golang工作了一段时间后,他们真的很想念Java。特别想念以前使用Java和统一框架(如Spring)时的工作效率。
从Java转到Go的每个人都会在一段时间后错过Java。Go是垃圾语言。如果不是Google产品,那就永远不会如此流行。
我知道或曾经工作过的几乎每个初创公司都是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是一个不错的Java框架,并且提供了许多样板内容。
大多数初创公司都是非常小的团队,这并不是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(或更多您想要的)。
编程语言平台比较
Go语言
NodeJS系统