至最开始在 v 站提出那个学术开源社区的创意已经快半年了,中间虽然经历了疫情有一些影响。但是多数事务的推进都问题不大,我们已经确定了未来的版本线,当前版本的设计(产品形态类似于 github ),以及百分之九十的前端开发( vue nuxt )加上后端主要 git 模块的开发( go 实际上主要魔改自 gitea ),同时运营侧,融资侧等也都有适当的进展。
现在遇到了一个有点纠结的问题,就是 web 层(主要是 api 那部分)用什么技术栈来做(目前后端团队人数较少只有四人,且且远程工作)。候选有 Java 和 Elixir:
不知道大家怎么考虑这个问题,求建议建议~~~
(顺便我们收 web 后端方向 java 和 elixir 的简历,如果有可能考虑很小的创业公司的话,需要熟悉 git 及 github 同时对学术信息开源及开源社区感兴趣。可以发简历给我们 邮箱: [email protected] )
我们的初版应该不久就能上线了,希望对学术开源感兴趣的话能够持续关注我们,未来我们会寻求更多的小伙伴,包括开发,产品,运营,等方向。
1
roundgis 2020-05-24 15:22:44 +08:00 via Android
use java
|
2
dodo2012 2020-05-24 15:26:05 +08:00
elixir 虽然不错,但国内,真的,除非你自己就是做这个,否则到时接手的人都找不到,所以,还是 java 吧,
|
3
cmdOptionKana 2020-05-24 15:33:42 +08:00
java 虽然语言本身比较繁琐,但配合现代化工具,这个缺点已经被克服得七七八八了,不算一个明显缺点,再加上库多,不能说它开发效率低。
|
4
fihserman123 2020-05-24 15:38:03 +08:00
Java 的运行效率问题横向拓展就能解决七七八八 开发效率哪里低了。。。
|
5
chinvo 2020-05-24 15:41:37 +08:00 via iPhone 1
当然是 C#
|
6
jimrok 2020-05-24 15:42:38 +08:00
java 开发效率并不低
|
7
Wincer 2020-05-24 15:43:46 +08:00 via Android
学过一段时间的 elixir,当时在某招聘网站搜了一下 elixir 的岗位,发现一个都没😅。祝福楼主找到合适的人
|
8
MoYi123 2020-05-24 15:46:20 +08:00
我们公司由于实在招不到 erlang 开发,已经准备转 go 了,Elixir 估计更难招吧。
|
9
huachuang20 2020-05-24 15:49:01 +08:00 via Android
Elixir,为了纯粹的 Happy !
|
10
hyyou2010 2020-05-24 15:56:02 +08:00
spring 那一套的话,是不是 kotlin 也可以上了?这样效率是否就提高了?
|
11
entertainyou 2020-05-24 16:05:19 +08:00 via Android
支持下 elixir
|
12
xuanbg 2020-05-24 16:19:57 +08:00
elixir 不是灵丹妙药吗,哪里是 Java 这种粗胚驽货可以相提并论的
|
13
realkenshinji 2020-05-24 16:24:59 +08:00 via iPhone
@hyyou2010 是的,我们组里就用 kotlin 搞 springboot 的应用开发
|
14
putaozhenhaochi 2020-05-24 16:26:29 +08:00 via Android
web 当然是 PHP 啦。
|
15
forrestshuang 2020-05-24 16:41:13 +08:00
我的 ruby 比 elixir 都好,python 我觉得最好不过
|
16
gejun123456 2020-05-24 16:57:50 +08:00 via iPhone
java 用 Intellj 开发效率很高的,代码提示 代码自动生成啥的不一定比动态语言开发效率低
|
17
abcbuzhiming 2020-05-24 17:06:12 +08:00 6
Java 开发效率低?这是我听过的最大的笑话,你说 Java 的技术栈太笨重了资源占用高我倒是认同
|
18
oneisall8955 2020-05-24 17:17:44 +08:00 via Android
JAVA 收人吗?最近找工作,有没有工作年限等要求哦🐶
|
19
namelosw 2020-05-24 17:25:24 +08:00
取决于项目有多大和你手上现在有几个能跟着你搞 Elixir 的人,不一定会 Elixir 但是有意愿就行,因为很简单。会 Rails 的能快速上手。宏,OTP 之类的估计你们这个场景基本不用,一个 Phoenix 就够了。
比如你感觉用 10 个 Java 程序员就能搞定的话,那可能最多 3 个 Elixir 程序员就可以搞定了,如果算你自己有两个人,随便在找一个人就行了。 可以估算一下。如果可以 Elixir 的话个人推荐 Elixir,Elixir 的迭代能力和默认架构还是挺不错的。 迭代能力很重要,Java 很多小功能不划算就懒得做了。而且 Java 算上生态学习成本其实很高,招上来比较水的居多,Java 那些中间件不会搞基本上就很麻烦。Elixir 基本只要会 Phoenix 基本用法,能 follow context 写就够了。 |
20
Cbdy 2020-05-24 17:26:42 +08:00 via Android
用 Java 平台,繁琐可以上 jvm 语言,比如 groogy 、kotlin
|
21
namelosw 2020-05-24 17:31:56 +08:00 1
@fihserman123
@jimrok @abcbuzhiming 拜托你们用几个月再来说好不好?你们只说 Java 不低,根本不知道对比的对象有多快有什么意义? 感觉像除了 PHP 之外啥也没用过,还在一个劲辩护 PHP 的人一样。 且不提 Paul Graham 以前总说的 3 打 100 的 Lisp 程序员,因为我没见过。但是以前 1 打 10 Java 的 Ruby 程序员大有人在。 |
22
zhuangzhuang1988 2020-05-24 17:44:47 +08:00
睡吧, 反正最后还是 java
|
23
slyang5 2020-05-24 17:50:34 +08:00
团队协作 还是 JAVA 好吧 ☺️
|
24
xcstream 2020-05-24 18:04:40 +08:00
node/python 简单粗暴
|
25
jin7 2020-05-24 18:05:59 +08:00
java 是最好的语言
|
26
huntcool001 2020-05-24 18:14:32 +08:00
等到时候招不到人的时候就哭呗.
|
27
chendy 2020-05-24 18:19:40 +08:00
做黄了用啥都无所谓
做好了用啥也不所谓 开心就好 |
28
sagaxu 2020-05-24 18:20:48 +08:00 via Android
@namelosw 10 个普通 Java 开发年成本按 300 万算,能 1 打 10 Java 的高级 Ruby,用一半成本 150 万年薪能不能招得到?
|
29
crella 2020-05-24 18:25:18 +08:00 via Android 2
求介绍一下 1 打 10Java 的 Ruby 程序员
|
30
namelosw 2020-05-24 18:54:58 +08:00
@sagaxu 可以吧,但是 Ruby 被连续抹黑,现在已经没多少 Ruby 程序员了。Elixir 算半个精神继承人吧。
其实打 10 个并没有那么难,因为 Java 项目一般搞一套 Kubernetes,Jenkins,Zookeeper,Kafka……各种东西搞全几个 team 就出去了。很多人没干实事,但是白白增加了团队规模,提高管理复杂度。 用 Ruby 一般都是用现成的东西一路闷头只写功能。所以大家才能看到某一段时间大量的独角兽都是 Ruby 支撑起来的。 |
31
mikulch 2020-05-24 18:58:05 +08:00 via iPhone
java 开发效率低?
|
32
ConradG 2020-05-24 18:59:49 +08:00
就用 Ruby 呗,四个人不多不少,github 最早也是 ruby 做的。
|
33
sagaxu 2020-05-24 19:21:30 +08:00 via Android 2
@namelosw k8s 解决的是大规模容器的部署问题,跟 Java 无关,规模上去了,ruby 也需要 Jenkins 是做 CI/CD 的,跟语言无关,不用 CI/CD 就不需要。zk 和 kafka 也一样,都不是 Java 必备,甚至连常用都不算。
普通 Java web 项目标准起步,是 starter 上点几下鼠标,下载个 maven/gradle 模板项目,然后就开始写接口了。你说的那些费人力的设施,那是规模上去之后才需要考虑的,到那个阶段,核心服务基本都会重构成静态类型语言。 最近五年都有哪些 ruby 起来的独角兽? |
34
daya 2020-05-24 19:36:25 +08:00 via iPhone
elixir 还是算了吧,再招人的时候你就知道了,调各家的 SDK 也都没有,都要自己写
|
35
xieren58 2020-05-24 19:59:53 +08:00
js 吧. 前后通杀. 轮子又多.创业首选.
|
36
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 火的时候独角兽才大批出现,之前和之后独角兽相比都很少吗? |
37
CoderGeek 2020-05-24 20:21:49 +08:00
只是创业 看团队人怎么都能招到 看你现在团队的技术方向
|
38
Hanggi 2020-05-24 20:29:48 +08:00
这个问题问得很有水平,请务必使用 Elixir,
|
39
lhxsimon 2020-05-24 20:34:57 +08:00
初创团队讲求糙快猛,成员会啥用啥。反正后面都是重构。
不过如果这两个非要选一个,我建议是 Java, Elixir 生态不行,你各种跨语言通信,第三方 SDK 等等都不太好弄。 除非你们能完全自己造轮子,否则 Java 更符合糙快猛的特征。 最后我还是推荐下 Go,既然你们已经用 Go 魔改了 Gitea,为啥不用 Go 继续做 API 呢? |
40
pigspy 2020-05-24 20:35:37 +08:00
除非在广州这些地方,erlang 很难招人吧
|
41
charlie21 2020-05-24 20:42:11 +08:00
用 Elixir 能拉来天使投资吗?
|
43
HangoX 2020-05-24 20:53:34 +08:00
用 kotlin 就好了,kotlin 足够成熟,也足够灵活,能直接使用 javaweb 的全部生态
|
45
gejun123456 2020-05-24 21:33:50 +08:00
@fixend #42 java 要比 go 更适合创业团队,库比 go 多多了,各种库也比 go 的成熟。招聘的程序员也更多。go 除了省点资源做业务相比 java 没看到任何好处。
|
46
coetzee 2020-05-24 21:39:04 +08:00 5
作为一个会多门语言的人说一下:
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 ??? |
47
lfcyme 2020-05-24 21:40:00 +08:00 via Android
插眼 我们用 elixir 的 狗头.jpg
|
48
miao666 2020-05-24 21:43:14 +08:00 via Android
面相信仰编程🤔
|
49
coetzee 2020-05-24 21:43:38 +08:00 1
@gejun123456 同意你说的。前期 Golang 的资源利用率的确高,但是大型应用和分布式应用,golang 的资源未必节省,而且 golang 的很多方案很多坑,比如 ORM 类 Golang 至今没有合格的库,很多坑都需要亲自踩一遍。Java 的新出的一些 cloud native 框架,资源占用和启动速度也不差,而且完美利用 Java 成熟生态。创业公司就要尽量少在技术上踩坑,专注于自身业务。别听别人鼓吹,每个公司都有自己的情况,保持点独立思考。再说一遍,黑 Java 并不能给你们带来什么优越感,黑 Java 的同学建议体验下 Scala 去
|
50
murmur 2020-05-24 21:44:20 +08:00
看创啥业,企业开发无脑 java
|
51
fixend 2020-05-24 21:46:31 +08:00 via Android
@gejun123456 go 招个大专毕业生,成绩中等,带一周,我敢让他写核心模块代码,你招 java 的,敢吗?面相对象的能力,工作 3 年,还设计成一坨 shi 的人不少。java 的人是多,高级别的人也多,但普遍也贵。
|
52
pythonee 2020-05-24 21:47:27 +08:00
使用 java
|
53
coetzee 2020-05-24 21:48:59 +08:00 1
@fixend 你是想表达 golang 学习简单,还是 golang 开发业务核心不需要面向对象?你觉得 Java 那种面向对象和 golang 那种面向对象哪种好理解? Java 的面向对象有啥理解难度么?
|
54
coetzee 2020-05-24 21:51:42 +08:00 3
我再说一遍。你要开发,核心技能离不开,而且技术债早晚还回去。你 Golang 开发业务不用 DI ?你 golang 开发业务不用写 SQL,你 golang 开发业务不用面向对象?新手 Golang interface 理解的透彻的都不多。golang 好处的确不少,开发中间件现在是利器,而且 cloud native 自有一套开发理念,值得 Java 学习,Go 作为新时代 PHP 的确牛,但是无脑吹就过分了
|
55
jimrok 2020-05-24 21:54:23 +08:00
@namelosw 怎么知道没有用过几个月就来说不好,我 Ruby 用过 2 年多,Ruby 团队规模超过 6 个人。Elixir 出来之后也研究这个语言是否能解决 Ruby 的一些问题。我的结论还是 Java 的效率更高,团队能走的更远,只要项目的规模超过中等以上,java 都是不错的选择。
|
56
EPr2hh6LADQWqRVH 2020-05-24 22:07:35 +08:00
选 Java 不一定对,但一定不算错。
Java 不会给你任何竞争优势,但也不会让你在什么地方落得太远。 看你是想赢还是想不输。 |
57
jeffh 2020-05-24 22:09:47 +08:00 via Android 1
用 java 吧,Java 已经不是以前的 java 了,springboot 和 stream 流式编程效率很高
|
58
sagaxu 2020-05-24 22:14:27 +08:00 via Android
@namelosw heroku 支持 8 种语言,Java 一样用。你觉得 Java 容易搞一大堆微服务,一是因为 Java 微服务设施齐全门槛低,二是大公司 Java 用的多,微服务是大业务刚需。
airbnb 和 hulu 后端主力早不是 ruby 了 |
59
levelworm 2020-05-24 22:16:16 +08:00 via Android
Use old and boring technologies
|
60
fixend 2020-05-24 22:20:51 +08:00 via Android
|
62
zlfera 2020-05-24 22:25:59 +08:00
phoenix 比 rails 用的一目了然
|
63
namelosw 2020-05-24 22:29:57 +08:00
@sagaxu Heroku 上用 Java 的很少,起一堆 Service bill 会炸
我去年看 Airbnb 和 Hulu 的 JD 还是 Ruby 微服务不一定是刚需,只是一种架构风格。比如 Elixir 基本很长一段时间都不需要微服务,至少中型公司是完全不用的。 |
64
gilgameshcc OP 非常感谢大家的回复,我们之前内部也讨论了非常多。最终确定目前还是业务为重,觉得 java 会比较稳妥,因为团队内都具有 c 类语言的经验。不过 elixir 确实很棒,以后有需要的时候在团队更大的情况下我们会考虑抽调部分人去转。欢迎大家以后多关注我们呀,我们在做一个开源的学术信息类社区,希望能够开源更多东西,带来更多价值(挺有情怀的 233 )
|
65
jimrok 2020-05-24 23:16:56 +08:00
@namelosw 中等一下参考的意义不大,小规模的项目任何语言都可以对付一下。一旦应用规模扩大,就需要跟另外的服务进行集成,小众语言在这方面就是个陷阱,我们当时用到了 mqtt,当时的 ruby 的库里面就没有靠谱的 mqtt clinet,我必须自己 hack 进代码里面查找问题,开发效率能高的了吗?反正这是我得出来的结论,谁喜欢跳坑谁去跳。
|
66
ChristopherWu 2020-05-24 23:41:18 +08:00
看人,如果你团队水平都不错,用 elixir,事半功倍。
如果想爽,用 Elixir (工作中使用过两年 elixir 应对高并发的真诚回复 |
67
woncode 2020-05-24 23:42:30 +08:00 via Android
我实在搞不懂,为什么张口就来 1 个 ruby 干 10 个 java,为什么把 k8s 、jenkins 这些都算到 java 的头上?
意思用 ruby 写出业务代码放在那里就完事啦?啥都不用管它就很好的跑起来啦?就能自适应地应对业务变大、流量膨胀这些问题啦? 我看来其实就是拿一个三四人组成、低度自动化的小作坊( ruby ),和一个分工明确、高度工程化的标准大厂( java )来比较吧 然后不看两者的生产效益和产品质量,只简单地对比两者的人头数,最后张口就来 1 个 ruby 干 10 个 java ? |
68
BillowSky 2020-05-24 23:45:37 +08:00 via iPhone
产品先行,哪个开发快,用着顺手就用那个,一开始纠结于用什么已经凉了一半。
|
69
woncode 2020-05-25 00:02:20 +08:00 via Android 1
@fixend 以前只听说过 java 语法严谨的特性,使得不管大牛还是菜鸡,写出来的代码都差不多的言论,还没听过 go 在这方面比 java 还更厉害的说法。
你说专科学 go 一周就能让他核心代码,那能否设想一下,你这所谓的核心代码,如果换成 java,同样让专科学一周,你就不敢让他写吗?具体是这方面 java 相对于 go 有什么缺陷呢? |
70
araaaa 2020-05-25 00:41:42 +08:00 via iPhone
elixir
|
71
ppphp 2020-05-25 00:43:39 +08:00
看描述其实用两个语言差别也没多大,就看乐意用哪个了,精力可以放更多在商业上
|
72
rrfeng 2020-05-25 00:46:56 +08:00
取决于你对未来的规模。如果保持 2-3 人团队 elixir 没问题,如果要 10 人以上,趁早用 java 。
|
73
zealinux 2020-05-25 01:01:51 +08:00
如果还可以选其他,
推荐 Ruby on Rails |
74
bef0rewind 2020-05-25 01:13:23 +08:00
除非都是高手,否则用流行的语言。
|
75
lights 2020-05-25 01:18:30 +08:00
孤陋寡闻,我是第一次听说 elixir 这个语言
|
76
vultr 2020-05-25 01:38:47 +08:00
你现有的团队熟悉 elixir 的话就用 elixir,不要为了好招人之类的原因而选其它的,好招并不代表你能招到好的,与其让外来和尚影响现有团队,不如让他们融入现在团队。
|
77
fixend 2020-05-25 02:32:24 +08:00 via Android 1
@woncode 刚毕业的新人,无项目经验,一般只会点基本语法,甚至语法都没学得多好。
spring boot,netty,dubbo,mybatis 学会要不少时间吧?就算会用,翻里面的代码看懂实现原理又用了多久? 你们可能觉得这些人很菜,5,6 百人的小公司,4-8k 的待遇,也就只能招到这种水平的,毕竟不是大厂,动不动就出十几二十 K 去招毕业生。 一个只会 c 语言的毕业生,学会 go 的语法,翻翻 gin,iris,net,database/sql 的实现代码,会用并了解一些基本的原理,用不了多久。 go 的代码未必有多好写,写起来未必有多方便,但相当容易读懂。 我一直都觉得知其然知其所以然十分必要,否则很容易给你留下无数的坑。 |
78
blless 2020-05-25 02:37:17 +08:00 via Android
我倒是觉得 java setter getter 一套 mvc 业务贫血模型感觉潜移默化了一大部分人,写出来的东西根本不面向对象。而且我写了这么久业务了,越来越觉得面向配置开发 /面向数据库开发不是好模式…反正有好有坏吧
|
79
kevinzhow 2020-05-25 03:18:38 +08:00 via Android
技术本身的问题好解决,招不到人的问题比较难,但即使用 Java 这类技术,招到合适的人也很难
|
80
dodo2012 2020-05-25 03:42:59 +08:00
看到上面一群不懂 ruby 还装懂的人真搞笑,还现在都没用 ruby 搞的了?只是国内用的少而已
|
81
GTim 2020-05-25 07:24:46 +08:00
从公司角度看,选 Java
|
82
ResidualSoils 2020-05-25 07:26:14 +08:00 via Android
.net core
|
83
tt67wq 2020-05-25 08:36:54 +08:00
Elixir 是真招不到人。。。。多少人连 erlang 都没听过
|
84
coetzee 2020-05-25 08:56:55 +08:00 2
我前面说了那么多 Java,仅仅是针对公司而已。
说点别的,如果是个人语言选择,选 Golang,选 Golang,选 Golang 。 优点: 1. Golang 简单直接,代码可读性高,黑魔法少,说的就是你,各种接口和注解的 Java,过度封装导致代码可读性下降很大,Ruby 和 Python 真的一个人一个风格。这点来看,Golang 语法学会之后直接读优秀开源项目最简单。可以很快提升自我 2. CloudNative 势不可挡,Golang 是这个趋势下的龙头语言,其他的语言都是追随者,你甭管再怎么黑 golang 大道至简特性,这点你逃不开,这套生态完全就是 Golang 的天下,就跟大数据就是 JVM 天下一样,一统江湖不可能,千秋万载不可能,只能说这个领域 golang 就是王者,而且趋势会继续加大,薪资待遇也很好和人员也是大量稀缺 3. Go 的群众基础很好,上手简单,就跟 Python 一样,入门简单,这点非常重要,会很快有大量的群众基础,各种库的生态也在完善过程中,对于个人来说,可以建功立业的时候,Java 这种已经非常巩固的城墙,想攻城拔寨很难。 4. Java 体系老人的知识面和 JVM 的知识体系+OS 体系的知识远大于 golang 的知识。对于帖子上面黑 Java 的,我觉得还是有道理的,Java 在企业级开发中的好处和坏处都要客观面对,Java 的套路化,繁琐的套路其实很多都是人为设计出来的,你一般学习 OS 层知识就够了,Java 不仅 OS 要学好,JVM 也不能落下,各种 Java 知识点,真的太多了。其实我认为都是 Java 早期的一些设计导致的。springboot 这种,其实利用约定优于配置封装了这些复杂配置而已( ROR 是祖师爷)。 5. Java 开发者高手众多,培训班众多,内卷严重。大家想一下,如果个人喜好的话,我们可能更喜欢 Python,Ruby 这种,而不是 Java 这种,但是面向发展编程,面向薪资编程,我的个人建议是原理这种内卷非常严重的大量老人的语言,选择新的战场对于新人职业更加友好。你想一下,一个 PHP 转 golang,你一个新手 golang,大家的 Golang 使用经验都是相同的,起跑线没有那么远。你一个 Java 动则 10 年经验,再菜,看到的场景也不少,喜欢拿着老人姿态对待年轻人,极其不友好。Golang 体系野蛮生长中,兼容并包,这点非常好,至少国内 Golang 社区氛围我认为仅次于前几年的 Ruby China 。 6. 企业开发和个人开发的语言选择存在一个博弈关系。现在 Java 在大趋势上,如果单纯论工作,现在的确比别的语言都多,毕竟大而不倒。不过,你如果多看看谷歌趋势和百度趋势,还有一些新的独角兽公司的选择,Golang 基本是第一。 7. Golang+Python+一门函数式语言足矣应付你的职业生涯一切场景。想玩语言特性了,找个函数式语言搞搞玩,真正的实战,还是 Golang,Java 这种。 |
85
sagaxu 2020-05-25 09:01:32 +08:00 via Android
@fixend 工作十年了,spring boot,netty,dubbo,mybatis 只用过两个,都没看过代码,这文档是要写多烂,不翻代码还用不好了。
|
86
magiclz233 2020-05-25 09:04:43 +08:00
Java 吧 库很多 合理使用开发效率并不慢,你说的 Elixir,我感觉估计有一半以上的人都没听过,而且用 Java 一些琐碎的功能基本都有现成的开源包使用或者借鉴,比如验证码,三方登录啥的。Elixir 可能遇到某些问题没有现成的自己开发。
|
87
ArtIsPatrick 2020-05-25 09:11:53 +08:00 via iPhone
看你这个项目是想自己玩玩还是准备认真做大
|
88
coetzee 2020-05-25 09:16:06 +08:00
@sagaxu 你还别说,Golang 的大多数项目的确文档一般,但是我发现 Golang 的源码的确更好阅读,Java 的优秀项目的代码我也读过一些,Spring,Guava,JDK 这种,从代码阅读友好度来说,的确 Golang 完胜 Java,这点没啥好纠结的,Java 比不过的地方也不能强行说好,Golang 优点和缺点都很明显,Java 也是。就跟饮食一样,大家都有自己偏好,不过我不大挑食。只是我觉得代码写起来手感 Java 更好~。Golang 代码读起来更好
|
89
shilyx 2020-05-25 09:25:00 +08:00
可能更重要的是要参考团队成员对语言的熟悉程度
我刚经历的,2 个月从零开始使用 go 语言并发布产品,之所以采用 go,是因为大家对这个都不熟悉,容易从语言上到一个心的起点。前端用的 vue |
90
securityCoding 2020-05-25 09:48:23 +08:00
@gejun123456 用 go 多写写业务代码就知道 java 的好处了,框架代码哪个都能写 哈哈
|
91
yuankui 2020-05-25 10:12:19 +08:00
ruby 、Elixir 不好招人就是了。就算找了个感兴趣自学的,可能并不具有排查解决问题的能力。
慎重 |
92
zjsxwc 2020-05-25 10:23:09 +08:00
楼主这种建议 java,Elixir 太小众了。
还有 golang 里面嵌入 lua 后写业务效率还行,逃 |
93
gejun123456 2020-05-25 10:38:55 +08:00
@coetzee #88 go 的框架发展都没有多少年,并且 go 没有泛型,肯定易读,java 的框架比如 spring 都发展几十年了,各种扩展和兼容,就没那么好读了,写一个简单的支持 ioc 和 aop 要不了多少代码,把代码写死肯定是最易读的。选一个框架重要的是这个框架能不能满足需求和扩展性吧,大部分开发业务肯定是投入时间到业务里面,java 框架都比较成熟出 bug 的概率小,扩展性强,使用 go 碰到框架的 bug 就要自己去修了。
|
94
iv2ex 2020-05-25 10:44:40 +08:00
java ;
产品用什么语言都能做,但是不是什么语言都能轻易找到人进行后期维护。 第一次遇到 Elixir,还是做澳门的项目。当时谈让我们做二期,我们的规划是直接重写。(后面没谈下来) |
95
slert 2020-05-25 11:00:29 +08:00
php 不香吗
|
96
lonelymarried 2020-05-25 11:04:40 +08:00
node.js?
|
97
cloudhuang 2020-05-25 11:05:04 +08:00
实际的回答是 it depends,根据不同的场景,不同的业务阶段,不同的团队,答案都是不同的,最终还是需要楼主自己作出判断。
1. 团队成员目前的情况,4 个伙伴,是精通 Java 多一些,还是 Elixir 多一些 2. 不同的业务阶段,初始阶段,当然是希望尽快的推出产品(可能是 POC),这个时候一些快速开发的工具,确实可以节省很多的时间 3. 业务快速发展阶段: 这个时候,随着业务的快速发展,势必需要招聘更多的开发人员,这个时候,不同的语言,招聘成本会相差好几倍 4. 维护阶段,则需要考虑这个语言是否稳定了 不过实际上 Java 现在在开发接口方面其实不慢的。 |
98
jinzhongyuan 2020-05-25 11:07:09 +08:00
java 如此 标准,规范, 工程化,你还犹豫啥
|
99
cbasil 2020-05-25 11:18:45 +08:00
web 快速开发选 PHP 啊,别说啥 php 性能慢,初创公司的业务量还不到 PHP 无法支撑的地步
|
100
lidashuang 2020-05-25 12:06:59 +08:00
Elixir +1
|