(最方便指各方面,包括但不限于部署、重构等......)
其实我觉得最方便的是以二进制方式运行,像 Java ,.Net ,奈何 Java 感觉个人开发者无力玩耍,.net 现在在 Linux 下还不是很方便;
Python ? 3 还是 2 ?以我的角度来说还是 3 用的多, Linux 上又是自带 2.6 或 2.7 ,部署时又得编译 Python3 环境,又得安装 virtualenv ,就这个得折腾不少时间;
golang 不太清楚,还请老司机带路;
OK ,我知道 php 是最好的语言了;
还有其他的吗?
提示我回复频繁,需要等1800s......
在写这帖子之前,我比较喜欢的是Python和golang,前面也说了,Python部署实在是略繁琐,但是不得不说,开发效率真的是高的吓人;
golang略微看过一些语法,是丑,但是静态类型又是我比较喜欢的,所以想入golang;
今天看了新闻说.net core的稳定版要发布了,目前只是观望下,不想吃螃蟹;
看回复的童鞋很多推荐golang的,希望能说明下到底“浪”在哪里,另外,大家都知道它支持并发比较好,谢谢!
1
murmur 2016-05-17 16:34:07 +08:00
这把 java 黑的没边了 java 至少不会让你每次部署的时候还要 jpm install 几百兆的 java_modules 也不会说要你安装 cjpm 因为 jpm 国内太卡了 你把项目给谁用直接丢一个 war 包给他就好了。。还有比这更简单的部署么
php 是最好的语言+1 |
2
GhostEX 2016-05-17 16:34:13 +08:00
还用说么 php 是最好的后端语言
|
4
murmur 2016-05-17 16:38:01 +08:00
@only0jac java 那一套框架可以让一群弱智级的程序员再一起都能搞出点东西来 因为大框架被限制的死死的 所以随便找一个人来都能接手
个人的话直接网上抄配置文件用就完了 唯一的黑点是热部署 没事重启 tomcat 玩受不了 |
5
only0jac OP @GhostEX 知道知道,但是还想知道有没有这么一种解决方案:写完代码后生成二进制文件,往服务器一扔, nginx 做个代理后直接跑
|
6
lightening 2016-05-17 16:41:06 +08:00 2
@only0jac 本来想说 Ruby 的,但是你说要生成二进制文件,那,要么试试 Elixir ?
|
7
wangxkww 2016-05-17 16:44:12 +08:00 1
node.js ?最近一直在撸 React 不知道用作后端怎么样...
|
8
falood 2016-05-17 16:45:54 +08:00 1
@lightening 没想到在第一页就能看到 elixir ,顶一下 :D
|
9
bobuick 2016-05-17 16:46:01 +08:00
golang 虽然丑是丑了点, 槽点也很多。不过用来做工程, 还是不错的
|
10
odirus 2016-05-17 16:46:46 +08:00
用了很久的 PHP , Python ,现在终于用上了 Java ,突然发现一身轻松。和大多数人的观点相反。
|
11
only0jac OP @lightening 挺小众的,可以看看,谢谢!
|
12
only0jac OP @wangxkww 之前在 V 站看过这么句话,大体意思是“ nodejs 是老板想让前端多干点活的产物”,没有黑的意思, js 感觉做前端就很棒了,后端有点。。。悬
|
13
7jmS8834H50s975y 2016-05-17 16:51:06 +08:00
java + jsp 这个搭配 没人用了吗?难道 jsp 现在这么不受欢迎?
|
14
jimzhong 2016-05-17 16:54:27 +08:00
python3+venv 挺好
|
15
murmur 2016-05-17 16:55:20 +08:00 1
@wsdjeg 可能大家都习惯说 springmvc 了吧 不过 springmvc 的 v 层还是 jsp 啊 只不过标签库更体贴了
|
16
sun522198558 2016-05-17 16:55:22 +08:00
php 是最好的后端语言
|
17
lbp0200 2016-05-17 16:58:39 +08:00
那就是 Go 语言了,打包完,就一个可执行文件。
|
18
subpo 2016-05-17 17:03:54 +08:00
最方便 ruby 咯
|
19
zwh8800 2016-05-17 17:04:06 +08:00
真心推荐 golang
|
20
caoyue 2016-05-17 17:05:07 +08:00 1
有
Erlang 打包完了扔上去就能运行 |
22
Cifery 2016-05-17 17:13:07 +08:00 1
@lightening 顶 elixir
|
23
cheneydog 2016-05-17 17:13:50 +08:00
稳定需求-java
频繁修改-python 前端-js 足以 |
25
m8syYID5eaas8hF7 2016-05-17 17:22:17 +08:00
@murmur 可以换成其他模板引擎的,我们用 beetl 比较多,国人开发的,语法简单,效率比 jsp 高 2-3 倍。
或者换成其他模板引擎也可以,不过我没用过 |
26
roricon 2016-05-17 17:23:54 +08:00
Python 部署是挺烦, 但有 Docker 呀.
|
27
hooluupog 2016-05-17 17:25:51 +08:00
node.js 或者 Go 。
|
28
likezun 2016-05-17 17:25:53 +08:00
简单,高效,好用 ,即是真理 ( 当然也能玩得复杂)—— php 就是这样的后端语言
|
29
haozhang 2016-05-17 17:30:57 +08:00 via iPhone
java 的话试试 play framework
|
30
wubotao 2016-05-17 17:36:04 +08:00
PHP/Node
|
31
wobuhuicode 2016-05-17 17:38:41 +08:00
Node + PHP 的路过……
|
32
Kabie 2016-05-17 17:41:34 +08:00
不吹不黑……要比方便…… elixir 还是很不错的。。。
|
33
imcxy 2016-05-17 18:01:39 +08:00 1
你既然说的是个人开发者,关键点就是你说的:环境。
如果你对 Linux ,环境部署不熟悉, linux 搭建 10 分钟,但是要维护可不是 10 分钟可以解决的。。你难道搞到最后要去研究 Linux 搞运维? 至于大家最喜欢谈的“简单”的 PHP 现在的 PHP 真的简单?以前的简单,是因为大量应用是直接嵌入 HTML,直接 echo echo 简直所见即所得啊,确实很简单! 但是现在 PHP 都跟 JAVA 一样了,都是“应用程序”,那么 PHP 的优点已经用不到了,为啥还要用 PHP 呢。 所以根据你的情况,你部署环境都觉得麻烦的话,我建议你搞.NET 。 |
34
stone1342006 2016-05-17 18:06:36 +08:00 1
py 部署麻烦, golang 运行效率高, 支持高并发, 多路复用不要太简单, 同时可以以正常的同步逻辑写异步的操作,再也不用写 callback 了^_^, 不过 gc 偏弱,大内存应用有很多需要优化的工作
|
35
NullMan 2016-05-17 18:08:27 +08:00 4
真心看不惯带人身攻击的评论(如 @murmur). 什么叫弱智级程序员随随便便都能玩 Java 了? 既然 Java 是弱智级别的人都能玩, 这说明什么? 说明 Java 是一门优秀的编程语言, 那些要绕着坑进行编程的语言, 简直就是垃圾语言!
|
36
luulsj 2016-05-17 18:24:25 +08:00
A goods programming language is one that helps programmers write goods programs.
No programming language will prevent its users from writing bad programs. 摘自《 Thinking in Java 》 |
38
JamesRuan 2016-05-17 18:33:42 +08:00
用 Go 也得有够经验。
|
39
ouafukqk 2016-05-17 18:38:27 +08:00
什么 “扔一个二进制到服务器上就能跑” ,都是骗小孩的
希望你可以尝试用一个二进制文件来做服务器调优,我将佩服你的勇气 |
40
MushishXian 2016-05-17 18:58:41 +08:00
golang 的确扔上去就可以跑.....
|
41
answeryou 2016-05-17 19:16:26 +08:00
Ruby 吧
|
42
ooTwToo 2016-05-17 19:16:44 +08:00 via iPhone
@murmur v 可以是 thymeleaf 、 jade 、 freemarker 、 velocity 等等。。不止 JSP 一种。闲配置麻烦直接上 play ?或者 springboot 。闲语法啰嗦直接换 Python ? PHP ?
|
43
timothyye 2016-05-17 19:21:02 +08:00 via Android
是时候祭出我大 Golang 了
|
44
leitwolf 2016-05-17 19:29:42 +08:00
golang 好,就一个文件,生成多平台执行文件简单,多线程也很好。
|
45
jhdxr 2016-05-17 19:29:53 +08:00
@imcxy 如果 php 的优点只是因为能直接 echo 网页内容的话那你也太小看 php 了,或者反过来说大部分语言都可以直接输出内容啊。现在之所以不再提倡这么混着写不正是因为分工逐步细化,前后端分离么
另外 php 最大的优点不应该是修改了直接就能跑不需要重新编译 /部署么。。。还有 php 的数组真的很好用。。。居然完全不提这两点只说一个 echo (而且我觉得这从来不算优点, jsp 也可以很方便的实现类似特性),你真的用 php 写过除了 hello world 以外的东西么 |
47
ChiangDi 2016-05-17 19:33:13 +08:00 via Android
部署是运维做的事,跟语言有什么关系,不管你用啥语言都是公司运维去部署的啊
|
48
sox 2016-05-17 19:34:59 +08:00 via Android
golang / node.js
|
50
Soar360 2016-05-17 19:51:12 +08:00
当然是 PHP 啊。
|
51
imcxy 2016-05-17 20:04:38 +08:00
@jhdxr 我说的 echo 后面有 所见所得 4 个字。已经包含了你说的一堆了。
几句话,没法强调方方面面。没法强调数组这个好用的部分,也没必要,又不是写论文,举了个典型的例子而已。我只是强调了其实有更多更好的。。 另外,真的没用过 PHP 写过除了 hello world 以外的东西,以外的东西话有太多更好的。这就是我要说的那个意思。 |
52
willchen 2016-05-17 20:12:57 +08:00 via iPhone
那就是 golang 了
|
54
only0jac OP @odirus 这是什么意思? java 反而轻松?用 java 做 android 的话我到认可,说他的语法什么的我也认可,但是要说到个人开发的话。。。不咋地。
|
56
kikyous 2016-05-17 20:23:52 +08:00
ruby
|
57
only0jac OP @MushishXian python 需要安装 uwsig 或 gunicorn 之类的服务器, golang 不需要?打包好直接运行???
|
58
SPACELAN 2016-05-17 20:25:55 +08:00
node, 写完用 nexe 编译成二进制(其实就是编译一个嵌入了自己代码的 node ),然后直接跑
不过 node 编译和运行对 GCC 版本和一些运行库版本要求比较高 |
60
murmur 2016-05-17 20:29:24 +08:00
@only0jac 你去看看 java 的生态链 不仅是轮子给你造好了 还有上好的跑车拿来就开 比如 elasticsearch (喜欢折腾的可以降到 lucene )
而且 springmvc+mybatis 也可以能省就省, mapper 直接进 controller ,拿掉 service 层(我没试过但是自动注入应该不区分是 controller 还是 service 吧~),然后 mapper 的 xml 也省掉直接 sql 写到注解上,路径直接对项目进行扫描,然后就是全注解开发了 最重要的是这一堆都可以网上找到例子,抄一次下次再抄不会超过 30 分钟 小项目大框架,大项目小框架,但是 java 除外,一个 springmvc+mybatis 基本可以配任何东西 |
61
Comdex 2016-05-17 20:30:57 +08:00
golang 咯,语法丑这个理由见仁见智,不习惯的都觉得丑
|
62
6IbA2bj5ip3tK49j 2016-05-17 20:37:07 +08:00 via Android
java 其实部署也简单,用 spring boot 一类的生成 fat jar ,直接 java -jar 运行。
|
63
JamesRuan 2016-05-17 20:42:28 +08:00
第一次听说 Java 部署简单的……
装个环境一天就没有了,相对的, Erlang , Golang 之类的 10 分钟。 |
64
msg7086 2016-05-17 20:52:12 +08:00
我只知道各大动态语言都自带不熟工具。
你自己做不了运维的话就招人做咯,运维又逃不掉的。 看似最简单的 Windows 下双击运行,其实运维工作量都比 Linux 要大的。 |
65
wangxiyu191 2016-05-17 20:59:06 +08:00
@only0jac golang 标准库里有 http 包,可以直接作为 http 服务器。编译好之后扔上去运行就 OK 了。不需要 uwsig 之类的。
|
66
wdhwg001 2016-05-17 21:06:01 +08:00 via iPhone
咦居然没有 meteor 么?
|
67
murmur 2016-05-17 21:09:30 +08:00
@JamesRuan 我的感觉是入坑越简单后期越要加倍偿还, java 部署也不难啊,装 jdk ,绿色安装 tomcat , war 包扔进去最多把 perm 和 heap 改大点就跑起来了
出了性能问题还有优可以调 调优都没法调的。。后期就只能哭了 |
68
Reficul 2016-05-17 21:19:50 +08:00
写 Go 的路过,最近在看 Groovy , JAVA ,感觉到了蛋疼
|
69
junweiyang 2016-05-17 21:23:01 +08:00
golang 推荐
|
70
niuroumian 2016-05-17 21:34:56 +08:00
golang or kotlin+spring boot
|
71
only0jac OP @wangxiyu191 python 也自带 http 服务器呀,不是说自带的没法用在生产环境中么
|
72
Lelouchcr 2016-05-17 21:38:31 +08:00
python 部署可以配置一个 ansible
|
73
only0jac OP @roricon docker 确实好,肯定得学学,但是,多个 python web 项目部署到一个 docker 还是多个 docker ?
|
75
free9fw 2016-05-17 21:43:00 +08:00
没人说 swift 吗
|
77
mengzhuo 2016-05-17 21:44:41 +08:00
Golang
深入了解后才能理解“重剑无锋” |
82
kanezeng 2016-05-17 21:49:39 +08:00
@JamesRuan 说简单指的是 spring boot 吧,确实简单啊,一个空系统,有 JRE ,直接 java -jar 把包跑起来就可以开始提供服务了,其他什么都不需要配了。
|
83
QuantumCore 2016-05-17 21:49:53 +08:00 via Android
编程语言一般是没有好坏之分的,只有用得好不好,是不是在恰当的环境中使用了合适的编程语言。像 PHP 和 Node.js 区别就很大。比如部署方式不同,编程思想有差异,但也能互相弥补,(像 MediaWiki ,新浪、腾讯、百度的一些应用,都是各种语言混搭的。
|
84
yangxin0 2016-05-17 21:50:54 +08:00 via iPhone
居然没有人说 jruby , java 和 Scala 库随意调,还有 rails 这种快速开发框架
|
85
flikecn 2016-05-17 22:13:30 +08:00 via iPhone
首推 Go
|
86
quietin 2016-05-17 22:23:44 +08:00
流量小 php, 流量超大 java
|
87
redvoilin 2016-05-17 22:34:02 +08:00
ruby
|
88
wangxiyu191 2016-05-17 22:48:00 +08:00 1
@only0jac 但是 go 的 http 服务器的性能足够在生产环境用。可以去搜下各种 benchmark
|
89
limbo0 2016-05-17 22:48:30 +08:00
始祖 ruby on rails
|
90
aias 2016-05-17 23:09:44 +08:00
感觉 Go 不错(没用过)。
生命苦短,我用 python 。 |
91
hanxiV2EX 2016-05-17 23:18:20 +08:00 via iPhone 1
Lua
|
92
GPU 2016-05-17 23:43:25 +08:00
其实 C# 能不能运行在 unix-like 的环境 , 我看见很多手机服务单用 C# 写的.
|
93
himulawang 2016-05-18 00:00:50 +08:00 1
go, 性能好。 部署方便。推荐。
|
94
winnie2012 2016-05-18 00:08:38 +08:00
Ruby on Rails
|
95
jsq2627 2016-05-18 02:32:13 +08:00
.net core 还值得再观望半年再入手。
一直在关注, rc1 和 rc2 其实已经相当于 1.0 到 2.0 这样级别的区别,很多核心系统都发生了变化。虽说 6 月底出 RTM ,但是目前个人觉得 RTM 之后不排除发生重大特性变化的情形。 |
96
frogcjn 2016-05-18 02:59:31 +08:00
TypeScript 编译成 Javascript ,所以可以用 Node
毕竟现在开始流行 Javascript 移动端方案 |
97
frogcjn 2016-05-18 03:09:06 +08:00 1
其实还是看你情况,每个方案都不是最好的,只能说某些维度好。
当初觉得 JS 没有类型写不惯差点放弃 Node.js ,后来知道有 TypeScript 。所以现在打算 TypeScript+Node.js+Express Ruby 那个语法一看就不太想用...让我想起了 VB...Ruby 的话就是 RoR 还有 Sinatra Python 其实已经不错了, Python 3 和 2 区别不大。 Python3 的支持, Py2/3 中可以选择 Python3 。 Python 推荐 Flask , Django 我是看不进去,要学的东西太多。 结合自己的需求选择。 Swift 的话,现在 Swift 十分不稳定, Swift3 之后还有 Swift4 ,说 Swift 要自重,感觉这门语言要被苹果玩坏。 Swift 写后端纯属写着玩, Swift3 目前的最新版本, Linux 代码和 OS X 上代码有些地方写法需要改变,坑不是一般的多哦(框架有 Zewo , IBM 的 Hikura , Perfect ,都还年轻,都会有坑的)。 |
98
frogcjn 2016-05-18 03:38:21 +08:00
但论语言的话, TIOBE Index May 2016 : http://www.tiobe.com/tiobe_index
Go 排名 42 , Swift 排名 15 , Ruby 排名 8 , Javascript 排名 7 , PHP 排名 6 , Python 排名 5 , C#排名 4 , Java 排名 1 Go 排名*非常非常*靠后,原因也很简单,除了后端, Go 基本没应用在其他领域。实际上 Go 的真实位置应该是相当于后端的 C , C++这种感觉,看了一下语法感觉就是这样,毕竟没法直接用 C/C++写后端... 选一门语言能够跨移动端、 Web 前端,后端跨界,唯有 JS 了吧。(之前勉强做到这点 ActionScript 已卒,排名 50 靠后) |
99
YUX 2016-05-18 04:33:27 +08:00 via iPhone
我用 Python, 2 或 3 都行主要看你用的包的支持 一律用 Docker 部署
|
100
julor 2016-05-18 07:34:54 +08:00 via Android
如果把重构考虑进去,动态需要可能会有坑。剩下 java 和 golang ,看看你的需求。推荐 golang ,部署简单:编译后就是执行文件,可以非常轻松高并发。考虑到第三方包不支持的情况下采用 java 。
楼主真的不要信全栈,你敢用前端来写 nodejs 准备好插屁股!接触过几个 javaweb 完全限制在几个框架,笑称 java 是面向框架编程。 |