heheda11
V2EX  ›  问与答

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

  •  1
     
  •   heheda11 · Jul 6, 2021 · 5996 views
    This topic created in 1957 days ago, the information mentioned may be changed or developed.

    。。。。就问问 🤗🤗🤗

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

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

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

    不行的话,替换下关键字,把 if 变成别的啥。
    L5tEU4WX072p5P42
    L5tEU4WX072p5P42
    Jul 6, 2021 via iPhone
    17
    @TimePPT 此话怎讲?
    wellsc
    wellsc
    Jul 6, 2021
    18
    @chiu if fi?
    chiu
    chiu
    Jul 6, 2021 via Android
    19
    @wellsc #18
    开玩笑的🐶
    MakeItGreat
    MakeItGreat
    Jul 6, 2021 via Android
    20
    Css 判断屏幕尺寸不就是个 if else?
    eason1874
    eason1874
    Jul 6, 2021
    21
    除非把 markup language 也算作 programming language,否则不可能没有条件判断,这是编程最基础的东西了。
    iceheart
    iceheart
    Jul 6, 2021 via Android
    22
    XML,HTML
    amimo
    amimo
    Jul 6, 2021
    23
    用楼上老哥们说的 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
    CosimoZi
    Jul 6, 2021
    24
    理解一下图灵机
    explore365
    explore365
    Jul 6, 2021
    25
    什么,计算机不是二进制的?
    mxT52CRuqR6o5
    mxT52CRuqR6o5
    Jul 6, 2021
    26
    没有分支判断的话实现不了图灵完备吧,brainfuck 也是有分支判断的
    Tink
    Tink
    Jul 6, 2021 via Android
    27
    how to make love 没有判断
    inhzus
    inhzus
    Jul 6, 2021 via iPhone
    28
    广义的来说应该都有,如果只是狭义的 if else,指没有类似代码块形式的,C++ 模板语言偏特化可以算一个
    kaneg
    kaneg
    Jul 6, 2021
    29
    计算机基础里提到过一门完整的语言必须具备以下三个条件:
    顺序
    条件
    循环
    icyalala
    icyalala
    Jul 6, 2021
    30
    如果你说的是 "没有分支判断" 的 "图灵完备" 语言,那没有。
    pkookp8
    pkookp8
    Jul 6, 2021 via Android
    31
    #define if while
    狗头保命
    msg7086
    msg7086
    Jul 7, 2021 via Android
    32
    从定义上就不满足了。没有判断的不能叫编程语言。
    icyalala
    icyalala
    Jul 7, 2021
    35
    @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
    hu8245
    Jul 8, 2021
    36
    换个行业吧
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2091 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 90ms · UTC 08:41 · PVG 16:41 · LAX 00:41 · JFK 03:41
    ♥ Do have faith in what you're doing.