有哪些脚本语言,现在主流的脚本语言是什么,如果要学一种,该选择哪个学习性价比好呢? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
anypwx
V2EX    程序员

有哪些脚本语言,现在主流的脚本语言是什么,如果要学一种,该选择哪个学习性价比好呢?

  •  
  •   anypwx 2019-03-09 11:35:33 +08:00 9215 次点击
    这是一个创建于 2422 天前的主题,其中的信息可能已经有所发展或是发生改变。

    V 友们, 工作上的原因,经常需要处理一些比较重复单调的事情。想到了可以使用脚本来完成一些劳力的替代,这是一方面。 另一方面,自己也想学习一门脚本语言,在工作上能协助自己做一些事情。有句话说:一位合格的程序员,不仅要掌握一门主流的开发语言,同时也要掌握一门动态语言(脚本语言)。这句话记得不是很清楚了

    83 条回复    2021-12-19 20:45:48 +08:00
    lniwn
        1
    lniwn  
       2019-03-09 11:38:07 +08:00
    Python
    seeusoon
        2
    seeusoon  
       2019-03-09 11:39:34 +08:00
    py
    lidongyx
        3
    lidongyx  
       2019-03-09 11:41:55 +08:00 via iPhone   2
    Python,你可以把 Python 看成一个万能的工具,而不是可以挑战其他编程语言饭碗的,那 Python 确实是所有编程方向、所有非程序员最应该掌握的技能。
    pkokp8
        4
    pkokp8  
       2019-03-09 11:48:01 +08:00 via Android
    跨平台,环境搭建方便,库多,社区强大问题解决方便,可以作为后端也可以处理平时重复性操作,无需编译,可以在命令行实时调试,开源
    不错,我说的其实是
    js
    ThirdFlame
        5
    ThirdFlame  
       2019-03-09 11:48:09 +08:00
    python 吧,虽然执行效率上不行,但是万能胶水语言的称号 绝对不虚
    anypwx
        6
    anypwx  
    OP
       2019-03-09 11:48:56 +08:00
    @lniwn py 已经这么火了吗
    anypwx
        7
    anypwx  
    OP
       2019-03-09 11:50:57 +08:00
    @seeusoon 感觉此楼 都会推荐 py
    anypwx
        8
    anypwx  
    OP
       2019-03-09 11:52:06 +08:00
    @lidongyx 你说的是非程序员最该掌握的技能,程序员呢,还有比 py 更方便的脚本语言吗
    anypwx
        9
    anypwx  
    OP
       2019-03-09 11:53:02 +08:00
    @pkokp8 万能 js,前端,后台,移动端,样样行
    anypwx
        10
    anypwx  
    OP
       2019-03-09 11:53:20 +08:00
    @ThirdFlame 嗯,言之有理
    MrUser
        11
    MrUser  
       2019-03-09 11:57:10 +08:00 via iPhone
    shell nodejs python lua
    guanhui07
        12
    guanhui07  
       2019-03-09 11:58:12 +08:00
    python php shell lua perl
    hugee
        13
    hugee  
       2019-03-09 11:59:24 +08:00
    看到标题,我首先想到的就是 PowerShell
    keepeye
        14
    keepeye  
       2019-03-09 12:02:39 +08:00
    我就推荐 js
    kernel
        15
    kernel  
       2019-03-09 12:04:30 +08:00
    别问,问就 js
    fox0001
        16
    fox0001  
       2019-03-09 12:07:11 +08:00 via Android
    你说的是万能胶水语言 Python3 ?
    lihongjie0209
        17
    lihongjie0209  
       2019-03-09 12:14:53 +08:00
    跨平台就 py

    jvm 平台就 groovy
    GeekCourse
        18
    GeekCourse  
       2019-03-09 12:18:56 +08:00
    shell
    xxx749
        19
    xxx749  
       2019-03-09 12:22:26 +08:00 via Android
    js 天下第一
    largecat
        20
    largecat  
       2019-03-09 12:26:40 +08:00 via Android
    py
    lniwn
        21
    lniwn  
       2019-03-09 12:27:12 +08:00
    @anypwx #6 主要是性价比高,上手容易,功能强大。
    Chingim
        22
    Chingim  
       2019-03-09 12:30:37 +08:00 via Android
    js,除了 py 有的,还能在浏览器用
    shintendo
        23
    shintendo  
       2019-03-09 12:38:24 +08:00   10
    你是喜欢游标卡尺,还是喜欢 2GB 的 node_modules
    xiaomimei
        24
    xiaomimei  
       2019-03-09 12:39:08 +08:00 via Android   1
    py,万能胶水语言
    kY8mbXW833Lu28xn
        25
    kY8mbXW833Lu28xn  
       2019-03-09 12:56:25 +08:00 via Android   1
    来个不合群的,ruby
    limbo0
        26
    limbo0  
       2019-03-09 13:00:54 +08:00 via Android
    没有学过其他语言建议 python 吧,python 当初设计之初就是在 shell 和 c 之间使用的语言,js 和传统对象过程语言还是有区别的,作为入门不太合适,实在不建议
    agdhole
        27
    agdhole  
       2019-03-09 13:02:52 +08:00
    shell powershell (
    imicksoft
        28
    imicksoft  
       2019-03-09 13:04:55 +08:00
    windows 下用 aardio,能开发控制台程序、GUI 窗口程序、web 网站程序等
    Tink
        29
    Tink  
    PRO
       2019-03-09 13:10:23 +08:00 via iPhone
    python
    abcbuzhiming
      &nbp; 30
    abcbuzhiming  
       2019-03-09 13:26:45 +08:00   1
    谈性价比,那就是要谈回报了,python,没别的,一个语言的回报取决于它的生态圈,不取决于它的语法和性能,比生态圈,python 的生态圈,我觉得可以在脚本语言称霸了
    gimp
        31
    gimp  
       2019-03-09 13:26:54 +08:00
    Python JS 随便选一个
    agagega
        32
    agagega  
       2019-03-09 13:33:15 +08:00 via iPhone
    ruby 很有趣
    MeteorCat
        33
    MeteorCat  
       2019-03-09 13:47:38 +08:00 via Android
    Python 吧
    ArianX
        34
    ArianX  
       2019-03-09 13:50:20 +08:00 via Android
    当然是 Python
    ifxo
        35
    ifxo  
       2019-03-09 13:54:31 +08:00
    如果说主流的话肯定是 js,简单实用
    bakabie
        36
    bakabie  
       2019-03-09 13:57:25 +08:00
    Python/js 二选一吧,或者全都要
    wysnylc
        37
    wysnylc  
       2019-03-09 14:51:06 +08:00
    如果是重复像 Ctrl+C +V 这种 autohotkey 适合你
    janxin
        38
    janxin  
       2019-03-09 14:59:38 +08:00
    js
    azh7138m
        39
    azh7138m  
       2019-03-09 15:13:42 +08:00
    @shintendo 不要乱黑,正常项目的依赖一般也就 500M 这么多了,达到 1G 的很少 :(
    skmO
        40
    skmO  
       2019-03-09 15:16:52 +08:00
    Javascript,浏览器做事情的话
    feiffy
        41
    feiffy  
       2019-03-09 15:21:42 +08:00 via Android
    py 啊
    jaky666
        42
    jaky666  
       2019-03-09 15:25:30 +08:00
    go 啊
    911speedstar
        43
    911speedstar  
       2019-03-09 15:33:06 +08:00
    主流语言 python 脚本语言 shell
    anypwx
        44
    anypwx  
    OP
       2019-03-09 15:35:36 +08:00
    首先谢谢大家的推荐,大部分是 py 为主,js 其次,还有一些其他的。我学 py 吧。层主 @abcbuzhiming 说的实在,生态圈比较重要。
    再此谢谢大家
    mywaiting
        45
    mywaiting  
       2019-03-09 16:17:21 +08:00
    会 python 可以搞好多好多的事情了,几乎可以包办一个后端程序员的常见需求,上到爬虫下到 web,左边运维右边 dba,py 都能搞得飞起

    偏前端的话就是 js 吧

    感觉语言写多了,就是熟悉度的问题,太熟悉的了,trouble shooting 的速度会快点,其余没啥了,都是干活而已,常见的 php/java/py/js/lua/go 拿起来就搞,从来没有觉得有啥障碍

    感觉用啥语言这个是伪需求

    顺便说,那性能啥的也是伪需求,就拿常见 web 编程来说,一片的性能吹喜欢吹 golang,拿熟悉的 python 来说,pypy/asyncio/uvloop 的加持下,不是我针对谁,golang 也不过如此而已
    karllynn
        46
    karllynn  
       2019-03-09 16:52:45 +08:00
    @mywaiting asyncio 那个垃圾玩意儿,求别提了
    xlinux
        47
    xlinux  
       2019-03-09 16:54:41 +08:00 via Android
    zkwang
        48
    zkwang  
       2019-03-09 16:58:48 +08:00
    perl 是脚本之王
    alakey1989
        49
    alakey1989  
       2019-03-09 17:04:36 +08:00
    PHP 是最好的语言
    quinoa42
        50
    quinoa42  
       2019-03-09 17:08:23 +08:00
    开发项目另说,作为 bashscript 的替代品基本上就是 python 了
    blessyou
        51
    blessyou  
       2019-03-09 17:08:50 +08:00 via Android
    py 吧
    y7E6IG8spV7TU8n7
        52
    y7E6IG8spV7TU8n7  
       2019-03-09 18:35:46 +08:00
    PHP 是世界上最好的语言,不接受任何反驳 [手动狗头]
    sampeng
        53
    sampeng  
       2019-03-09 18:36:03 +08:00 via iPhone
    现在不流行说什么语言最好了?你们不按套路出牌啊…
    lneoi
        54
    lneoi  
       2019-03-09 18:53:39 +08:00
    这样需求的肯定就是 py 了吧
    PPing520
        55
    PPing520  
       2019-03-09 19:15:32 +08:00
    选择一门工具语言,我一开始也用 python,但是现在开始用 swift 了,像这些支持即时编译的语言,平时用来写小工具,完全不比脚本语言差
    FreshOldMan
        56
    FreshOldMan  
       2019-03-09 19:17:08 +08:00
    PHP 是世界上最好的语言,不接受任何反驳 [手动狗头]
    version
        57
    version  
       2019-03-09 19:24:00 +08:00
    推荐 nodejs 做成无状态
    多机部署..
    你处理数据几百万的快很多.

    nodejs 可以导出 excel
    清洗 mysql mongodb redis 等
    可以统计数据.发邮件啥的

    上手容易.基本编程人都能写 js.就能写 nodejs

    py 上手麻烦.而且你调试不方便.
    anypwx
        58
    anypwx  
    OP
       2019-03-09 19:26:34 +08:00
    @PPing520 你用 swift 来写小工具?这个跨平台吗
    gzhima
        59
    gzhima  
       2019-03-09 19:27:08 +08:00
    我喜欢 js
    PPing520
        60
    PPing520  
       2019-03-09 19:49:23 +08:00
    @anypwx 只支持 mac 和 linux
    EscYezi
        61
    EscYezi  
       2019-03-09 20:34:23 +08:00 via iPhone
    主流的就是 python 了,不过作为工具语言 PHP 其实也可以
    chengxiao
        62
    chengxiao  
       2019-03-09 21:02:48 +08:00
    感觉 python 出了高并发不行之外 ,其他什么都不虚啊,写小工具之类的爽的飞起
    YUyu101
        63
    YUyu101  
       2019-03-09 21:13:44 +08:00
    为了写些自动化工具的话 py,要自己搞网站 h5 应用的话 js 吧
    MonoLogueChi
        64
    MonoLogueChi  
       2019-03-09 21:15:19 +08:00 via Android
    lua,写起来爽,用起来方便,生态也比较好
    luozic
        65
    luozic  
       2019-03-09 21:25:37 +08:00 via iPhone
    python typescript
    blless
        66
    blless  
       2019-03-09 21:39:40 +08:00 via Android
    js 真正项目你就会发现这里缺那里缺点啥…主流 linux 都自带 python
    goodspb
        67
    goodspb  
       2019-03-09 22:10:10 +08:00
    py lua js php !
    charlie21
        68
    charlie21  
       2019-03-09 22:31:53 +08:00
    啥都能做,啥都做不精,嗯 说的就是 python
    ps1aniuge
        69
    ps1aniuge  
       2019-03-09 22:50:18 +08:00
    py 哪里行?你倒是说出来呀? py 哪里行?你倒是说出来呀? py 哪里行?你倒是说出来呀?
    多线程用不了多核,这行么?

    问:为什么不学 python ?
    答:
    py 很强大,我承认。但在运维方面,py 不但不强大,还有硬伤。正因为有下述硬伤,所以我们运维,还是用 shell 多,用 py 极少。

    1py 中,没有 shell 命令行。或者说从.py 中运行 shell 命令,接收返回值麻烦。而 ps 命令行,不光可以运行 ps 命令,还能执行 shell 外部命令。如 find,grep 等。

    2py 脚本,不支持管道。或者说 [两个.py] 通过 [shell 管道] 传值,需要写很多额外的 py 命令。并且只能传字符串。而 ps 天生支持 [管道] 传 [对象] 。
    比如管道 py 脚本,需要 import,open,read,close。而 powershell,bash,使用管道数据,不需要这些步骤。

    3ps 中有,基于 sshd 的,远程命令行。支持客户端,服务器之间,直接传输对象。py 不行。

    4ps 中,用中文脚本名,变量名,注释,容易。

    5python 人太贵,运维的工资只能招到 py 低手。py 高手有更挣钱的方向, [高富帅不愿入穷坑] 写运维脚本。
    即便写出来。也很繁琐。

    6 阿里云命令行工具 CLI,为 Go 语言重构版本,如果您想使用原有的 Python 版本(不推荐,已不提供支持)

    7 围观
    py 的远程 ssh 远程一堆坑 : https://zhangge.net/5122.html
    py 的 sftp 一堆坑,不如 ps+winscp 模块和命令 : https://zhangge.net/5121.html

    8 和系统,运维相关的,py 不行。尤其是 win 环境下。
    sampeng
        70
    sampeng  
       2019-03-09 22:56:52 +08:00 via iPhone
    @ps1aniuge 我也比较同意。py 做运维工具确实要做很多额外工作。很少用 py 写……但不妨碍用别人用 py 写好的…从时间上来看,golang 更适合。尤其是可以用一些手段干脆把运维要用的密码和密钥干脆加密编译。py 放 git 库里就是裸奔没什么区别
    nanaw
        71
    nanaw  
       2019-03-09 23:10:39 +08:00 via Android
    为什么我想退 PowerShell
    davin
        72
    davin  
       2019-03-09 23:29:21 +08:00 via iPhone
    PostScript 写软件插件什么的
    SuperMild
        73
    SuperMild  
       2019-03-09 23:31:53 +08:00
    楼主貌似已经是程序员,那么体验一门新语言应该不会花太多时间,建议结合自己实际需要解决的问题,看看 py 或 shell 之类的可以怎么做,与自己的主语言相比有哪些好处(有时未必更好)。
    charlie21
        74
    charlie21  
       2019-03-10 00:22:37 +08:00
    @ps1aniuge 你推荐什么语言,最好是 linux + win 都能用的
    charlie21
        75
    charlie21  
       2019-03-10 00:30:49 +08:00
    尤其是 支持 pipeline pattern 的感觉的语言。残废级的支持就算了,最好是原生支持
    Windelight
        76
    Windelight  
       2019-03-10 00:39:12 +08:00 via Android
    当今社会,你不可能离开 PHP 和 Javascript 或者是 Python,当然学习东西没有性价比这一说,不过如果你是为了就业,Python 和 Google Go 当然是不二之选,但是脚本语言是一个工具,用的好都是一剂良药。如果你不嫌烦的话还可以学习 ActiveX、JScript、AspX.NET 甚至是 Sliverlight,当然也可以把科技美学添加到桌面,享受老男人每天 60 秒 xing 骚扰
    ganhuoer
        77
    ganhuoer  
       2019-03-10 01:17:22 +08:00
    1211
    codesaler
        78
    codesaler  
       2019-03-10 08:12:55 +08:00
    py 吧,用的多,三方包多
    UnknownR
        79
    UnknownR  
       2019-03-10 10:14:21 +08:00
    python 吧,包非常多,作为脚本语言拿来就用,基本满足所有需求。不管是 windows 下的 powershell 还是 linux 下的 shell,都有一定局限性,而 python 则很好的解决了这个问题,就是方便直白,作为脚本再好不过了
    aaa5838769
        80
    aaa5838769  
       2019-03-10 10:20:27 +08:00
    这都不用想= =
    mattx
        81
    mattx  
       2019-03-10 16:53:33 +08:00
    想了解前端就 js , 不想就 py , 语言的生态是最重要的, 决定了花的精力投资性价比, lua 这样的语言就不要浪费精力了.
    MarkLeeyun
        82
    MarkLeeyun  
       2021-01-02 23:52:45 +08:00
    shell
    Hask
        83
    Hask  
       2021-12-19 20:45:48 +08:00
    perl+shell
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1312 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 16:55 PVG 00:55 LAX 09:55 JFK 12:55
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86