早期创业团队的 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 条回复
namelosw
2020-05-24 17:31:56 +08:00
@fihserman123
@jimrok
@abcbuzhiming

拜托你们用几个月再来说好不好?你们只说 Java 不低,根本不知道对比的对象有多快有什么意义?

感觉像除了 PHP 之外啥也没用过,还在一个劲辩护 PHP 的人一样。

且不提 Paul Graham 以前总说的 3 打 100 的 Lisp 程序员,因为我没见过。但是以前 1 打 10 Java 的 Ruby 程序员大有人在。
zhuangzhuang1988
2020-05-24 17:44:47 +08:00
睡吧, 反正最后还是 java
slyang5
2020-05-24 17:50:34 +08:00
团队协作 还是 JAVA 好吧 ☺️
xcstream
2020-05-24 18:04:40 +08:00
node/python 简单粗暴
jin7
2020-05-24 18:05:59 +08:00
java 是最好的语言
huntcool001
2020-05-24 18:14:32 +08:00
等到时候招不到人的时候就哭呗.
chendy
2020-05-24 18:19:40 +08:00
做黄了用啥都无所谓
做好了用啥也不所谓
开心就好
sagaxu
2020-05-24 18:20:48 +08:00
@namelosw 10 个普通 Java 开发年成本按 300 万算,能 1 打 10 Java 的高级 Ruby,用一半成本 150 万年薪能不能招得到?
crella
2020-05-24 18:25:18 +08:00
求介绍一下 1 打 10Java 的 Ruby 程序员
namelosw
2020-05-24 18:54:58 +08:00
@sagaxu 可以吧,但是 Ruby 被连续抹黑,现在已经没多少 Ruby 程序员了。Elixir 算半个精神继承人吧。

其实打 10 个并没有那么难,因为 Java 项目一般搞一套 Kubernetes,Jenkins,Zookeeper,Kafka……各种东西搞全几个 team 就出去了。很多人没干实事,但是白白增加了团队规模,提高管理复杂度。

用 Ruby 一般都是用现成的东西一路闷头只写功能。所以大家才能看到某一段时间大量的独角兽都是 Ruby 支撑起来的。
mikulch
2020-05-24 18:58:05 +08:00
java 开发效率低?
ConradG
2020-05-24 18:59:49 +08:00
就用 Ruby 呗,四个人不多不少,github 最早也是 ruby 做的。
sagaxu
2020-05-24 19:21:30 +08:00
@namelosw k8s 解决的是大规模容器的部署问题,跟 Java 无关,规模上去了,ruby 也需要 Jenkins 是做 CI/CD 的,跟语言无关,不用 CI/CD 就不需要。zk 和 kafka 也一样,都不是 Java 必备,甚至连常用都不算。

普通 Java web 项目标准起步,是 starter 上点几下鼠标,下载个 maven/gradle 模板项目,然后就开始写接口了。你说的那些费人力的设施,那是规模上去之后才需要考虑的,到那个阶段,核心服务基本都会重构成静态类型语言。

最近五年都有哪些 ruby 起来的独角兽?
daya
2020-05-24 19:36:25 +08:00
elixir 还是算了吧,再招人的时候你就知道了,调各家的 SDK 也都没有,都要自己写
xieren58
2020-05-24 19:59:53 +08:00
js 吧. 前后通杀. 轮子又多.创业首选.
namelosw
2020-05-24 20:21:13 +08:00
@sagaxu > 规模上去了,ruby 也需要 Jenkins 是做 CI/CD 的
Heroku 一把梭,而且人少引入 CICD 就慢。

> k8s 解决的是大规模容器的部署问题,跟 Java 无关
Java 是比较容易搞一堆 Servcie 的,不知道是不是和 Java 9 之前没 module 有关系。Ruby 一般就一把梭就好了。有个问题是代码多了很坑,我觉得静态类型不是主要的(因为 Java 大了都搞 Microservice,实际代码没多少也不用静态类型一样,HTTP 也算动态类型),主要是没分 context 。Elixir / Phoenix 默认是分 context 的。

> 核心服务基本都会重构成静态类型语言。
我只知道 Twitter 这种的重构,Github,Airbnb,Hulu 这些都还在用 Ruby,也没啥问题。

> 最近五年都有哪些 ruby 起来的独角兽?
所以你没发现只有 Ruby 火的时候独角兽才大批出现,之前和之后独角兽相比都很少吗?
CoderGeek
2020-05-24 20:21:49 +08:00
只是创业 看团队人怎么都能招到 看你现在团队的技术方向
Hanggi
2020-05-24 20:29:48 +08:00
这个问题问得很有水平,请务必使用 Elixir,
lhxsimon
2020-05-24 20:34:57 +08:00
初创团队讲求糙快猛,成员会啥用啥。反正后面都是重构。

不过如果这两个非要选一个,我建议是 Java, Elixir 生态不行,你各种跨语言通信,第三方 SDK 等等都不太好弄。

除非你们能完全自己造轮子,否则 Java 更符合糙快猛的特征。

最后我还是推荐下 Go,既然你们已经用 Go 魔改了 Gitea,为啥不用 Go 继续做 API 呢?
pigspy
2020-05-24 20:35:37 +08:00
除非在广州这些地方,erlang 很难招人吧

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

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

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

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

© 2021 V2EX