早期创业团队的 web 技术栈选择 Java vs Elixir

2020-05-24 15:16:30 +08:00
 gilgameshcc

基础介绍

至最开始在 v 站提出那个学术开源社区的创意已经快半年了,中间虽然经历了疫情有一些影响。但是多数事务的推进都问题不大,我们已经确定了未来的版本线,当前版本的设计(产品形态类似于 github ),以及百分之九十的前端开发( vue nuxt )加上后端主要 git 模块的开发( go 实际上主要魔改自 gitea ),同时运营侧,融资侧等也都有适当的进展。

主要问题

现在遇到了一个有点纠结的问题,就是 web 层(主要是 api 那部分)用什么技术栈来做(目前后端团队人数较少只有四人,且且远程工作)。候选有 Java 和 Elixir:

不知道大家怎么考虑这个问题,求建议建议~~~
(顺便我们收 web 后端方向 java 和 elixir 的简历,如果有可能考虑很小的创业公司的话,需要熟悉 git 及 github 同时对学术信息开源及开源社区感兴趣。可以发简历给我们 邮箱: gilgameshcc@outlook.com )

展望

我们的初版应该不久就能上线了,希望对学术开源感兴趣的话能够持续关注我们,未来我们会寻求更多的小伙伴,包括开发,产品,运营,等方向。

12282 次点击
所在节点    程序员
116 条回复
charlie21
2020-05-24 20:42:11 +08:00
用 Elixir 能拉来天使投资吗?
fixend
2020-05-24 20:48:20 +08:00
@lhxsimon 我也推荐 go,比较适合创业公司。
HangoX
2020-05-24 20:53:34 +08:00
用 kotlin 就好了,kotlin 足够成熟,也足够灵活,能直接使用 javaweb 的全部生态
janxin
2020-05-24 21:19:24 +08:00
@namelosw 其他没留意,按照 GitHub 最新博客的说法是迁移了的
gejun123456
2020-05-24 21:33:50 +08:00
@fixend #42 java 要比 go 更适合创业团队,库比 go 多多了,各种库也比 go 的成熟。招聘的程序员也更多。go 除了省点资源做业务相比 java 没看到任何好处。
coetzee
2020-05-24 21:39:04 +08:00
作为一个会多门语言的人说一下:
1:单轮 Web 开发效率的话,Java 的确开发速度一般,没法跟 ROR 和 PHP 这种比,不过比 Golang 高不到知道哪儿里去了。
2:如果轮上运行效率大于你说的 Ruby 和 PHP,Java 算是主流开发语言的 NO1
3:论中间件成熟度和扩展方案,Java 还是 NO1
4. 如果纠结于 Java 语法啰嗦问题。上 Java14 。或者上 Kotlin,OK,如果都嫌弃说不如 Ruby 魔法多,那么 Scala 等着你,简洁,你想要的特性,你要的开发效率。都存在。还有个 groovy 这种动态语言存在,其实 JVM 可选择很多。
5:语言之争无意义,Java 背后那套开发的东西,你用别的也绕不过,web 开发和分布式开发就那套东西,换了语言照样需要学,不存在说 Java 需要学一大堆生态的问题,你简单应用,一个 grails 或者 springboot 也能搞定。
6:贬低 Java 并不能说明你别的语言有多牛逼,想要玩特性,不然玩玩 Scala ???
lfcyme
2020-05-24 21:40:00 +08:00
插眼 我们用 elixir 的 狗头.jpg
miao666
2020-05-24 21:43:14 +08:00
面相信仰编程🤔
coetzee
2020-05-24 21:43:38 +08:00
@gejun123456 同意你说的。前期 Golang 的资源利用率的确高,但是大型应用和分布式应用,golang 的资源未必节省,而且 golang 的很多方案很多坑,比如 ORM 类 Golang 至今没有合格的库,很多坑都需要亲自踩一遍。Java 的新出的一些 cloud native 框架,资源占用和启动速度也不差,而且完美利用 Java 成熟生态。创业公司就要尽量少在技术上踩坑,专注于自身业务。别听别人鼓吹,每个公司都有自己的情况,保持点独立思考。再说一遍,黑 Java 并不能给你们带来什么优越感,黑 Java 的同学建议体验下 Scala 去
murmur
2020-05-24 21:44:20 +08:00
看创啥业,企业开发无脑 java
fixend
2020-05-24 21:46:31 +08:00
@gejun123456 go 招个大专毕业生,成绩中等,带一周,我敢让他写核心模块代码,你招 java 的,敢吗?面相对象的能力,工作 3 年,还设计成一坨 shi 的人不少。java 的人是多,高级别的人也多,但普遍也贵。
pythonee
2020-05-24 21:47:27 +08:00
使用 java
coetzee
2020-05-24 21:48:59 +08:00
@fixend 你是想表达 golang 学习简单,还是 golang 开发业务核心不需要面向对象?你觉得 Java 那种面向对象和 golang 那种面向对象哪种好理解? Java 的面向对象有啥理解难度么?
coetzee
2020-05-24 21:51:42 +08:00
我再说一遍。你要开发,核心技能离不开,而且技术债早晚还回去。你 Golang 开发业务不用 DI ?你 golang 开发业务不用写 SQL,你 golang 开发业务不用面向对象?新手 Golang interface 理解的透彻的都不多。golang 好处的确不少,开发中间件现在是利器,而且 cloud native 自有一套开发理念,值得 Java 学习,Go 作为新时代 PHP 的确牛,但是无脑吹就过分了
jimrok
2020-05-24 21:54:23 +08:00
@namelosw 怎么知道没有用过几个月就来说不好,我 Ruby 用过 2 年多,Ruby 团队规模超过 6 个人。Elixir 出来之后也研究这个语言是否能解决 Ruby 的一些问题。我的结论还是 Java 的效率更高,团队能走的更远,只要项目的规模超过中等以上,java 都是不错的选择。
EPr2hh6LADQWqRVH
2020-05-24 22:07:35 +08:00
选 Java 不一定对,但一定不算错。

Java 不会给你任何竞争优势,但也不会让你在什么地方落得太远。

看你是想赢还是想不输。
jeffh
2020-05-24 22:09:47 +08:00
用 java 吧,Java 已经不是以前的 java 了,springboot 和 stream 流式编程效率很高
sagaxu
2020-05-24 22:14:27 +08:00
@namelosw heroku 支持 8 种语言,Java 一样用。你觉得 Java 容易搞一大堆微服务,一是因为 Java 微服务设施齐全门槛低,二是大公司 Java 用的多,微服务是大业务刚需。

airbnb 和 hulu 后端主力早不是 ruby 了
levelworm
2020-05-24 22:16:16 +08:00
Use old and boring technologies
fixend
2020-05-24 22:20:51 +08:00
@coetzee 我只是想说成本低。如果你创业有大把资金大把牛人,那你当我没说。至于走得远不远,近几年发展起来的公司,用 go 的也不是没有先例。

先要看团队擅长什么,如果 java 和 go 都不擅长,学 go 肯定更快的。如果已经有架构师级别的 java 程序,转 go 就没必要。

@coetzee 然后 go 可以用面向过程来写,当带 gc 的 c 语言来用。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/674907

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX