• 请不要在回答技术问题时复制粘贴 AI 生成的内容
only0jac
V2EX  ›  程序员

最方便的后端语言?

  •  
  •   only0jac · May 17, 2016 · 29160 views
    This topic created in 3688 days ago, the information mentioned may be changed or developed.

    (最方便指各方面,包括但不限于部署、重构等......)

    其实我觉得最方便的是以二进制方式运行,像 Java ,.Net ,奈何 Java 感觉个人开发者无力玩耍,.net 现在在 Linux 下还不是很方便;

    Python ? 3 还是 2 ?以我的角度来说还是 3 用的多, Linux 上又是自带 2.6 或 2.7 ,部署时又得编译 Python3 环境,又得安装 virtualenv ,就这个得折腾不少时间;

    golang 不太清楚,还请老司机带路;

    OK ,我知道 php 是最好的语言了;

    还有其他的吗?

    Supplement 1  ·  May 17, 2016

    提示我回复频繁,需要等1800s......

    在写这帖子之前,我比较喜欢的是Python和golang,前面也说了,Python部署实在是略繁琐,但是不得不说,开发效率真的是高的吓人;

    golang略微看过一些语法,是丑,但是静态类型又是我比较喜欢的,所以想入golang;

    今天看了新闻说.net core的稳定版要发布了,目前只是观望下,不想吃螃蟹;

    看回复的童鞋很多推荐golang的,希望能说明下到底“浪”在哪里,另外,大家都知道它支持并发比较好,谢谢!

    145 replies    2016-05-25 10:18:04 +08:00
    1  2  
    h4x3rotab
        101
    h4x3rotab  
       May 18, 2016 via iPhone   ❤️ 1
    都试一遍不就知道了,不同情况下显然不同的语言和框架适用程度不一样。
    julor
        102
    julor  
       May 18, 2016 via Android   ❤️ 1
    golang 约等于 nodejs(io 类高并发)+python(高效的编码)+c(高性能)
    ayaseangle
        103
    ayaseangle  
       May 18, 2016
    楼主缺铜币了吧。。
    only0jac
        104
    only0jac  
    OP
       May 18, 2016
    @ayaseangle 每次回复多的帖子总有几个说铜币的,我就想问铜币多了能兑换 RMB 还是咋着?你真无聊,“请尽量让自己的回复能够对别人有帮助”
    only0jac
        105
    only0jac  
    OP
       May 18, 2016
    @h4x3rotab 确实是这样,但是但是但是,都试一遍的话先不说花费多少时间,都试一遍,我觉得深入了解的可能性不大(对我来说,不排除有大牛真能精通),熟悉一种框架的优劣我觉得最好的办法就是多一些项目,在项目中解决碰到的问题,再加上我也不小了,不跟上学时一样,想到什么折腾什么,没那么多时间呀,不过还是谢了!
    only0jac
        106
    only0jac  
    OP
       May 18, 2016
    @quietin 个人的小项目而已,不超大, php 的语法我真是觉得超无语,定义变量不懂为什么用$,语法让我觉得很别扭(勿喷,一点点看法而已,不引战)
    only0jac
        107
    only0jac  
    OP
       May 18, 2016
    @wangxiyu191 搜了下 benchmark ,原先还是为是个 http 服务器,原来是性能测试的?感谢!
    only0jac
        108
    only0jac  
    OP
       May 18, 2016
    @frogcjn 我是 c 开始入的坑, Java 和 c#这种类 c 的语法看起来很舒服,像 go 和 ruby 我是真心觉得不习惯,现在一直在用 Python3 ,部署略繁琐,像 @YUX 说的一样,一律 docker 可能会好很多,真心喜欢 Python ,除了它的变量不声明类型:)
    jinsongzhao
        109
    jinsongzhao  
       May 18, 2016 via Android
    看了这么多回复,突然发现我想说 C++!就无人知晓它也是强力后端语言吗?排名里它可从未出过前 5 ,何况已经醒悟, boost 要被认可了,回血是必然的。
    ayaseangle
        110
    ayaseangle  
       May 18, 2016
    @only0jac 你先看看你自己的帖子是不是很像月经贴。。。。
    siteshen
        111
    siteshen  
       May 18, 2016   ❤️ 1
    常年 *ix 环境开发,无视 .net ,对 java 这种大部头的语言无感。
    我选择 python3 , python 库丰富,绝大部分库已支持 python3 。主流操作系统都能方便的安装,搭上 jinja2 做个网页也比较轻松。
    用 go1.2 写过 API ,调用通用接口时,需要类型转换比较麻烦,和 python 相比有被束缚的感觉。
    jindian
        112
    jindian  
       May 18, 2016
    C++呗
    only0jac
        113
    only0jac  
    OP
       May 18, 2016
    @jinsongzhao
    @jindian
    C++岂是一时半会能玩熟的呀
    only0jac
        114
    only0jac  
    OP
       May 18, 2016
    @siteshen 别无视.net 呀。.net 已跨平台了,我现在也在用 py3 ,是很舒服
    archer2ee
        115
    archer2ee  
       May 18, 2016
    java 狗已经 go 在路上~
    jindian
        116
    jindian  
       May 18, 2016
    @only0jac 玩熟了就不用纠结什么语言类型了,自由自在,专注解决内存 break 和并发问题就行了。当然,现在还不熟的再去学花的时间略多,在上手速度上不能和 python 、 go 比
    chenxytw
        117
    chenxytw  
       May 18, 2016
    玩 Python 当然用 arch 呀,当前版本自带 3.5 ,爽爽的,逃,,,,
    Azone
        118
    Azone  
       May 18, 2016
    Swift
    jhdxr
        119
    jhdxr  
       May 18, 2016
    @only0jac php 变量的$命名其实用多了绝对是个好处,因为任何名字都可以拿来命名变量了,不用担心和保留字冲突了。另外还有一种神奇(但是并不推荐,用了导致代码可读性降低)的用法
    ```
    $a = 1;
    $b = 'a';
    echo $$b; //a

    $a = 'foo';
    function foo(){ echo 123; }
    $a(); //123
    ```
    roricon
        120
    roricon  
       May 18, 2016
    @common07 我个人觉得多个 web 项目是要 build 成多个 image, 然后通过 link (compose) 的方式来一起运行. 如果项目过于复杂, 可能还要借助于 Swarm, Kubernetes, Rancher 这样的解决方案.
    wqchen
        121
    wqchen  
       May 18, 2016
    Go 真心觉得挺丑,但习惯了就好
    Python->flask
    Web Server->Nginx+gunicorn
    Envirement config->virtualenv
    Devops->fabric or ansinble
    only0jac
        122
    only0jac  
    OP
       May 18, 2016
    @wqchen 没看懂 ansinble 这东西怎么玩。。。求教!
    baozijun
        123
    baozijun  
       May 18, 2016
    扔一个二进制到服务器上就能跑...23333,楼主肯定是没做过稍微大点的 web 项目
    lygmqkl
        124
    lygmqkl  
       May 18, 2016
    6 年+ phper ,今年下半年预留了时间初步学习下 golang
    6rzgeek
        125
    6rzgeek  
       May 18, 2016
    没看到有人说 Rust ,可以观望一下
    优点是静态类型,特有的 lifetime 能够在编译阶段发现大部分错误,语言的运行速度还可以,自带模块系统
    缺点是发展不久,各种轮子不多,写一些底层的轮子还是得用 unsafe
    dworld
        126
    dworld  
       May 18, 2016
    推荐 Go, 简单、并发,开发、编译、运行都快
    chocotan
        127
    chocotan  
       May 18, 2016
    spring 很早就支持用注解配置了, xml 都不需要的,最近的 spring-boot 更是简化了配置
    servlet3.0 开始就支持 servlet 和 filter 等的注解配置,不需要 web.xml 的

    说配置环境要一天的,你是初学者么
    stormpeach
        128
    stormpeach  
       May 18, 2016
    c++和 rust 开发 web 后端还是略吃力的
    LICOEVE
        129
    LICOEVE  
       May 18, 2016
    @murmur v 层可以用 thymeleaf 转 html
    wujunze
        130
    wujunze  
       May 18, 2016
    PHP 最方便
    zzlettle
        131
    zzlettle  
       May 18, 2016
    HTNecro
        132
    HTNecro  
       May 18, 2016
    Java 狗准备玩 Kotlin
    jinsongzhao
        133
    jinsongzhao  
       May 18, 2016 via Android
    @archer2ee 你这风险大大的, go 出生好,基础好,可是生不逢时。前后夹击的语言一窝蜂出来了。
    archer2ee
        134
    archer2ee  
       May 18, 2016 via iPhone   ❤️ 1
    @jinsongzhao 确实 go 目前在国内应用不是特别广泛,印象中就七牛用它作为主要语言。不过我学习 go 主要是理解下它在并发和性能上的优点。主力开发还是 java 哈。
    lilydjwg
        135
    lilydjwg  
       May 18, 2016   ❤️ 1
    Go 是静态类型。不过你竟然喜欢 Go 的静态类型?那你喜不喜欢 C 的静态类型呢?

    喜欢静态类型和编译期检查的话,建议你去找门使用 ADT 类型系统的语言品尝一下。我品尝过的: Haskell 、 OCaml 、 Rust 。不过各有些明显的缺点: Haskell 是 FP 并且涉及一些晦涩的数学; OCaml 库和文档太少; Rust 生命期是个好东西,但是为 ADT 而去的话却又不得不花精力去对付它。
    lilydjwg
        136
    lilydjwg  
       May 18, 2016
    @julor Go 的性能比 C 比差不少吧。当然比 Python 好多了。我再也不想用 Python 写对性能敏感的程序了 :-(
    tSQghkfhTtQt9mtd
        137
    tSQghkfhTtQt9mtd  
       May 18, 2016 via Android   ❤️ 1
    @only0jac 建议你回复的时候在一条回复里集中回复几个人,例如
    @only1jac xxxx
    @only2jac yyyyyyy
    @only3jac zzzzzzz
    节省铜币同时防止被限制回复。
    gowk
        138
    gowk  
       May 18, 2016 via Android   ❤️ 1
    C#, Java , Go 都用过,如果是 windows 平台,请选择.NET ,大型的分布式应用选择 Java , API 自己后端的各种小工具可以选择 Go ,同时看好.NET Core ,希望出现更多的跨平台.NET 应用。
    h4x3rotab
        139
    h4x3rotab  
       May 19, 2016 via iPhone   ❤️ 1
    @only0jac 我觉得你可以把具体的需求稍微说一下,大家给你推荐几个候选,然后你按喜好选择一个就是了。都是正经的语言,使用得当好坏差别并不是特别大。比如我就不喜欢$,所以大家推荐 php 和 py ,我选择了 py ,这就没问题。当你经历几次这种项目就能体会到具体的区别了。其实很多情况还是看喜好。
    only0jac
        140
    only0jac  
    OP
       May 19, 2016
    @liwanglin12 感谢建议!


    @lilydjwg 确实喜欢类 C 语言, go 是静态类型,但他定义变量的方式好奇怪......


    @gowk
    @h4x3rotab
    需求前面也说了,不是公司用,都是自己的小项目,做 app 的后端和 web 程序,公司的当然无所谓,写完代码 commit 就行了,不需要我折腾部署什么的,一直在关注.Net Core ,并且十分看好!
    Neveroldmilk
        141
    Neveroldmilk  
       May 19, 2016
    python 开发时间 80%都花在部署环境上了。
    inyfee
        142
    inyfee  
       May 19, 2016 via Android
    python 部署比较蛋疼。至今仍然很不舒爽。还是喜欢 go 编译后直接扔到服务器就完事。
    only0jac
        143
    only0jac  
    OP
       May 19, 2016
    @Neveroldmilk
    @yeelone
    同意!不过之前有个项目已经用 Python 了,要换后端的话一时半会也搞不完,先用着 py ,以后用用 golang
    rust
        144
    rust  
       May 20, 2016
    @6rzgeek 我正打算提 Rust 呢~
    SpicyCat
        145
    SpicyCat  
       May 25, 2016
    golang 够浪
    1  2  
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   900 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 91ms · UTC 21:03 · PVG 05:03 · LAX 14:03 · JFK 17:03
    ♥ Do have faith in what you're doing.