V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
anypwx
V2EX  ›  程序员

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

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

    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,万能胶水语言
    1024MB
        25
    1024MB  
       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  
       2019-03-09 13:10:23 +08:00 via iPhone
    python
    abcbuzhiming
        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   ·   实用小工具   ·   1215 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 23:22 · PVG 07:22 · LAX 15:22 · JFK 18:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.