V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
heheda11
V2EX  ›  问与答

有没有,没有 if else 的编程语言?

  •  1
     
  •   heheda11 · 154 天前 · 3547 次点击
    这是一个创建于 154 天前的主题,其中的信息可能已经有所发展或是发生改变。

    。。。。就问问 🤗🤗🤗

    第 1 条附言  ·  153 天前
    补充一下
    没有任何类似于 IF else 的分支判断功能
    36 条回复    2021-07-08 17:10:32 +08:00
    AoEiuV020
        1
    AoEiuV020  
       154 天前
    汇编,
    JamesMackerel
        2
    JamesMackerel  
       154 天前
    @AoEiuV020
    汇编有无条件跳转和有条件跳转的指令,四舍五入就是 if else 。我猜想一个语言可以没有循环功能,但是条件分支应该是必须的。
    banmuyutian
        3
    banmuyutian  
       154 天前
    机器码
    phobal
        4
    phobal  
       154 天前
    如果 css 算编程语言的话它算是没 if else 吧
    chiu
        5
    chiu  
       154 天前
    Bash?

    [ -e ~/file.txt ] && cat ~/file.txt || echo "Hello" > ~/file.txt
    NoDocCat
        6
    NoDocCat  
       153 天前
    @JamesMackerel 没有循环还可以用跳转和递归来处理重复任务, 但是没有条件分支这语言就啥都不能干了.
    stx0821
        7
    stx0821  
       153 天前
    某些 esoteric language
    ///是一门由坦纳斯·韦特( Tanner Swett )在 2008 年发明的编程语言。该编程语言只含有一个操作符——“/”,功能是替换字符串。
    EscYezi
        8
    EscYezi  
       153 天前 via iPhone
    brainfuck
    TimePPT
        9
    TimePPT  
       153 天前   ❤️ 1
    理论上实现了全套逻辑门后,if else 就可以替换了
    jy02201949
        10
    jy02201949  
       153 天前
    为什么要折磨自己
    Leonard
        11
    Leonard  
       153 天前
    换成 switch case 呗
    littleylv
        12
    littleylv  
       153 天前
    @phobal #4
    css 的 media 写法也可以算的上是某种 if
    aguesuka
        13
    aguesuka  
       153 天前   ❤️ 1
    https://en.wikipedia.org/wiki/Conditional_(computer_programming)

    有些低级语言没有 if
    有些上古语言只有 if 没有 else (some dialects of BASIC in the 1980s)
    有些函数式语言没有 if 关键字, 但可以自己实现(lisp).
    有些语言没有 if-else 关键字但可以通过模式匹配来实现.
    aitaii
        14
    aitaii  
       153 天前
    记得有个语言是这样写的 +-+---+++++---++---
    cmdOptionKana
        15
    cmdOptionKana  
       153 天前
    说清楚,是没有这个关键词,还是彻底没有任何形式的分支判断功能。
    wangkun025
        16
    wangkun025  
       153 天前
    顺序、分支、循环三种结构
    缺了分支,循环也只能是死循环。
    应该实现不了。

    不行的话,替换下关键字,把 if 变成别的啥。
    Mogamigawa
        17
    Mogamigawa  
       153 天前 via iPhone
    @TimePPT 此话怎讲?
    wellsc
        18
    wellsc  
       153 天前
    @chiu if fi?
    chiu
        19
    chiu  
       153 天前 via Android
    @wellsc #18
    开玩笑的🐶
    MakeItGreat
        20
    MakeItGreat  
       153 天前 via Android
    Css 判断屏幕尺寸不就是个 if else?
    eason1874
        21
    eason1874  
       153 天前
    除非把 markup language 也算作 programming language,否则不可能没有条件判断,这是编程最基础的东西了。
    iceheart
        22
    iceheart  
       153 天前 via Android
    XML,HTML
    amimo
        23
    amimo  
       153 天前
    用楼上老哥们说的 switch-case 貌似就可以。比如比较两数,可以将他们减,使用得数的符号位(正负)判断他们的大小。

    int32_t min(int32_t a, int32_t b)
    {
    int c = ((a - b) >> 31) & 1; // 取(a - b) 符号位 0, 1
    switch (c) {
    case 0:
    return b;
    case 1:
    // c == 1 => a - b < 0 -> a < b
    return a;
    }
    }
    CosimoZi
        24
    CosimoZi  
       153 天前
    理解一下图灵机
    explore365
        25
    explore365  
       153 天前
    什么,计算机不是二进制的?
    mxT52CRuqR6o5
        26
    mxT52CRuqR6o5  
       153 天前
    没有分支判断的话实现不了图灵完备吧,brainfuck 也是有分支判断的
    Tink
        27
    Tink  
       153 天前 via Android
    how to make love 没有判断
    inhzus
        28
    inhzus  
       153 天前 via iPhone
    广义的来说应该都有,如果只是狭义的 if else,指没有类似代码块形式的,C++ 模板语言偏特化可以算一个
    kaneg
        29
    kaneg  
       153 天前
    计算机基础里提到过一门完整的语言必须具备以下三个条件:
    顺序
    条件
    循环
    icyalala
        30
    icyalala  
       153 天前
    如果你说的是 "没有分支判断" 的 "图灵完备" 语言,那没有。
    pkookp8
        31
    pkookp8  
       153 天前 via Android
    #define if while
    狗头保命
    msg7086
        32
    msg7086  
       153 天前 via Android
    从定义上就不满足了。没有判断的不能叫编程语言。
    hzjseasea
        34
    hzjseasea  
       152 天前
    icyalala
        35
    icyalala  
       152 天前
    @zk8802 看来是我想当然了。。去搜了一下资料:
    mov 是图灵完备的:
    https://web.archive.org/web/20190331191157/https://www.cl.cam.ac.uk/~sd601/papers/mov.pdf
    其他各种奇葩实现:
    https://en.wikipedia.org/wiki/One-instruction_set_computer
    甚至还有更奇葩的:
    https://github.com/jbangert/trapcc
    hu8245
        36
    hu8245  
       151 天前
    换个行业吧
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3263 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 05:27 · PVG 13:27 · LAX 21:27 · JFK 00:27
    ♥ Do have faith in what you're doing.