V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
zhimo08
V2EX  ›  奇思妙想

示意编程,我想到的一个词,意思是说,表达出完整的产品的需求,可以直接编译出最后的安装文件。

  •  
  •   zhimo08 · 2020-03-03 16:07:55 +08:00 · 3382 次点击
    这是一个创建于 1508 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这个过程有三部分,一是表达方式,二是表达完整需求的必要的最小要求,三是网络架构问题

    一、表达方式。基于不同的需求反向,有不同的表达方式,网页手机 app, 小程序这样的,展示以图片,和线条为主,图片表达展示效果,线条示意数据信息传递。硬件程序员以线条为主,表达逻辑关系和处理方式。其他的略过。

    二、表达需求的必要的最小要求。也就是需求,这里有三个关键词,完整,必要、最小要求。完整:我要做一个购物软件,可就是最不完整的,这和没说没区别,例如需要有购物车、购物车,这也可以说是没说。必要的:从开始要做的是购物软件,含有购物车、商品展示,商品展示要有优惠卷,优惠卷的使用和展示样式等等,准确清晰。最小要求:这里就说一下我的定义,不同要求下,最终使用效果相同情况时,这一要求的上一个级别就是最小要求。反之再细致的要求下去,也不会改变使用效果,这一程度的要求就是最小要求。

    三、网路架构,数据是无价的,也是必须要保护的,所以这一类要求是必须的。包括保护级别等。 希望大家没看懂的可以提问,有不同观点的也可以回复,我会定期回复大家的,大家也可以加我的通讯方式 vx:zhimo_zhou

    17 条回复    2020-03-05 18:04:21 +08:00
    learnshare
        1
    learnshare  
       2020-03-03 16:19:05 +08:00
    - 嗯,那就先 5000 块做个淘宝吧

    这是常见的用户目标,但准确完整地表达需求是很难的,从需求转化为可执行代码就更难了
    favourstreet
        2
    favourstreet  
       2020-03-03 16:56:41 +08:00 via Android
    楼主这个想法已经……建议楼主去看看“可微分编程”符不符合要求
    zhimo08
        3
    zhimo08  
    OP
       2020-03-03 16:58:35 +08:00
    @learnshare 谢谢你的回复。
    你的需求描述需要满足第二点的三个要求。
    你可能是第二点没看明白。摘录第二点部分:“完整:我要做一个购物软件,可就是最不完整,这和没说没区别 ”。
    zhimo08
        4
    zhimo08  
    OP
       2020-03-03 17:04:37 +08:00
    @favourstreet 感谢指点。
    可微分编程可以认为是智能算法吧,不知道这么说错没错。
    如果是深度学习智能算法,我觉得他们更多的是学习旧的东西以及已经形成很大的数据库的知识或者信息。不适用于刚兴起,还处于出阶段的编程行业。我的更多是为了最新创造和创新,极大的满足创造和创新。
    cmdOptionKana
        5
    cmdOptionKana  
       2020-03-03 17:08:04 +08:00
    其实现在编写应用程序,与示意编程差别不大了。

    我举一个具体的例子:现在这个页面底部有人回复框,它被选中就会停靠,点击“取消”就会取消停靠。

    就这么一个功能,表面上看很容易说清楚,但事实上:

    1. 一个项目很很多个页面,页面内可能有很多个框,为了沟通(不管是与人沟通还是与电脑沟通),最好的办法就是给每个框取名

    在普通编程方法里,取名就这么一句 id="xxx"。所谓的示意编程又能简化到哪里去?

    包括增加按钮也是,加在哪里,字体什么颜色,增加一个点击事件,触发事件要变成怎样,不管用人类日常生活语言去示意,还是用编程语言去示意,复杂程度都差不多。

    2. 老板对员工示意,让员工去编程。这种情况下,示意可以不做那么细,这个效果是很多所谓示意编程希望达到的效果。

    但是,对人可以有效地简单示意,对电脑却不行。因为人的智商高。

    以后人工智能真的高度发展,电脑也能达到类似的效果:你对它简单示意,它能像人类员工一样给你做个大概。

    但这是以后,是科幻,不是现在的现实。
    zhimo08
        6
    zhimo08  
    OP
       2020-03-03 20:38:26 +08:00
    @cmdOptionKana 感谢回复,如果可能,我邀请你加我 vx:zhimo_zhou
    你说的很重点。如果示意靠文字,非常不高效,文字会很忙空虚,但是带有画面的电影,却可以非常详细的记录。所以不同的需求,要有好的示意方式,这就是我第一点表达方式所强调的。用图片可以更好地去描述界面的示意,线条可以更好地去表达数据的传递和处理。
    kanezeng
        7
    kanezeng  
       2020-03-03 20:48:56 +08:00
    产品经理的完整的带交互的原型就是一个项目初期最完整的功能示意了吧。所以这个需要代替产品经理之外的所有角色。
    zhimo08
        8
    zhimo08  
    OP
       2020-03-03 21:02:43 +08:00
    @kanezeng 准确,命中我心。我邀请你加我 vx:zhimo_zhou
    我在衍生补充三点,第一点:产品经理,我觉得面有点窄,我定义的是产品人,都是我的用户,产品人,包括产品经理,UI 设计,以及老板创业者。简单说就是,能够影响产品最终体验功能和效果的所有人。
    第二点,产品经理的原型只是,软件程序的示意方式,现在我所见过的产品原型,背后的数据传输,示意的还不够准确明。硬件和单片机类的编程要换一种示意方式。
    第三点,中间的编译程序,还是需要大牛来人工写的。以及新的更好的底层框架也需要人来,升级和优化。
    bshu
        9
    bshu  
       2020-03-03 21:49:25 +08:00 via Android
    这么喜欢造词?编程就是把人类想法翻译成机器可以理解的语言,无论是哪种表达方式,文字、图片、语音、原型、高级语言,都是尽量更规范、准确、高效,但永远达不到所谓的完整,否则就不会这么多 bug 了。假设一下,你找一个从来没有见过手机的土著,语言不一样,潜在思维方式不一样,你告诉他什么是手机,然后让他把手机样机做出来。然后再来考虑你所谓的产品需求完整表达
    siyushin
        10
    siyushin  
       2020-03-03 22:39:17 +08:00
    我再帮你把术语升级一下:示意化反,hum...
    ruxuan1306
        11
    ruxuan1306  
       2020-03-04 00:18:38 +08:00 via iPhone
    在实际工程中,最难写大多不是代码,而是需求规格说明书。

    因为那些拥有其它行业背景的客户,往往并不能用无歧义的自然语言表达出自己的需求。他们的需求时常既要这又要那,不仅自相矛盾,还在时刻发生变化。

    很多人没有意识到,准确清晰无歧义地表达自己想法的能力,不是每个人都有的。
    ruxuan1306
        12
    ruxuan1306  
       2020-03-04 00:30:02 +08:00 via iPhone   ❤️ 2
    生活中,人与人的沟通,不仅需要一个人来表达,更需要另一个人去理解。

    但令人遗憾的是,目前,计算机没有理解能力。

    所以为了计算机能“理解”,用户的意图必须以规范的形式给出,这其实就是在编程,只是抽象层级更高了而已。
    GeruzoniAnsasu
        13
    GeruzoniAnsasu  
       2020-03-04 04:26:48 +08:00
    计算机不能生成未知。 永远不能
    zhimo08
        14
    zhimo08  
    OP
       2020-03-04 09:33:16 +08:00
    感谢大家的回复,我本不想说这些问题的,感觉没啥意思
    5 个方面问题,
    1、当编译一个新的程序,只要写好或者画好,示意文件,3、5 分钟就可以获得稳定的代码,那么每一个产品的质量还有那么重要吗?例如,你画一个 word 的时候,打印出文件后发现出错了怎么办?重新改一下打印一下,又不会多花多少时间。我相信没有人会先去给别人看看检查一下。如果需求在不断变化,那就不断改,反正浪费不了多少时间。修改一个页面十几分钟,编译一下 5 分钟甚至更短时间,共计不超过 20 分钟。
    2、示意最大的区别不是增加,而是减少。人再也不用注意代码本身,不用管程序代码的逻辑中的结构和继承性等等问题。示意方式还有一个特点局部性和独立性。这一部分的示意内容可以直接复制过去,最终效果和复制前一样。代码相互之间的影响很大,一般复制的代码还需要人去修改和调整。有以上特点,当人去开发软件时,看似需要描述的很多,但是具体到你可能要做的并不多。除非你是完全从零开始做,没有任何资料,但是不可能,没资料直接去商城买点不就有了吗。
    3、计算机不能生成未知,但是也没有未知需要生成。上面说的商城资料。比如各种按钮,好看的有趣的按钮一般都是 ui 设计师设计的,然后分享出来的片段式的示意文件。至于编译代码也是需要人去开发。
    4、完整性。“完整需求的必要的最小要求”。完整性是有限制的,是从一个软件到需求的必要的最小要求这个区间内容完整性。换而言之在细节的描述就不要了。至于“需求的必要的最小要求”具体到达什么程度,我就保密,这个只会和自己团队的人说。
    5、示意方式。我也要保密,只透露给团队的人。有兴趣的可以猜猜看。
    horizonl
        15
    horizonl  
       2020-03-04 15:46:46 +08:00
    看到标题直接想到那个叫猴爪的恐怖故事。感觉核心其实是怎么明确的提出机器(猴爪)理解的需求。
    yuanfnadi
        16
    yuanfnadi  
       2020-03-04 23:55:34 +08:00
    可以雇佣一堆外包程序员,伪装成 AI 编程。
    hmzt
        17
    hmzt  
       2020-03-05 18:04:21 +08:00
    @yuanfnadi hh, 这个事阿三干过, 还骗了不少投资
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4749 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 09:51 · PVG 17:51 · LAX 02:51 · JFK 05:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.