淘客熙熙

主题:人人皆可编程 -- 阅读者

共:💬17 🌺18 新:
分页树展主题 · 全看首页 上页
/ 2
下页 末页
  • 家园 人人皆可编程

    最近把邓侃等老大们的文章,看了一些,才发现:软件以及发生了变化,最早,软件是计算,后来,软件是控制,再后来,软件是工程,到现在,软件要变成哲学啦!

    现如今,程序员还是一个被仰视的行当,自己的“我的电脑”啦,“声音”啦,“图像”啦,不仅是由许许多多程序员给搭建的,出了问题,还得找离程序员们比较近的准专业人士来解决。你每天一开机,就在跟一大堆的程序员在对话,有的比较耐心,有求必应,有的比较烦燥,怎么都不搭理你,反正,一般来说,你必须按照程序员划好的道道来...

    听说,最近WEB要变成OS啦,基本上,我只需要知道我需要什么内容,用HTML告诉他们,我还有点自己的美学偏好,用CSS告诉他们,如果我还挺有进取心,想把我的逻辑和想法放在上面,假装我是一台机器,我就用Javascript告诉他们,“他们程序员”就按照我的命令翻译给机器,至于他们跟机器之间旷日持久不得不说不可多说的故事,我们就不需要知道啦...

    这个软件哲学是:人人皆可编程!

    • 家园 代码要开源,人民要编程是不可抗拒的历史潮流

      Communix操作系统简史

      Communix操作系统最早是两个德国人Marx和Engles开发的(称为Communix基础版,或Communix 1.0和2.0),遵守GPL,它的早期支持者曾经先后组织过两个国际讨论区。

        当时少数先进的国家都使用微软的Windows,其他的绝大多数国家要么用DOS,要么作为受Windows主机控制的远程终端,相比之下, Communix支持的机子很少,但移植Communix的努力一直就没停止过。最早是以法国为主的一些人在巴黎、里昂等地移植过,但失败了。此后 Communix分成两条路发展,一条是删除一些不兼容的代码,把Communix移植到Windows运行;反对微软的另一批人在俄国著名程序员 Lenin的领导下,在俄国移植Communix获得成功(第一次发行时称为俄版Communix beta或Communix 3.0beta),一度做到15个主节点、20多个子节点的大规模并行Cluster,并影响到亚洲、东欧、拉美等一些地方。

        

        一个小插曲:在Lenin之后,俄版Communix项目的两个CEO对Communix 3.0正式版出现了意见分歧。占多数的Stalin重视系统安全和运行效率,认为需要在已有的基础上继续优化俄版Communix代码;占少数的 Trotsky认为要把微软干掉,因此必须支持更多的硬件,提供更多的功能。这次分歧以Trotsky失败告终。Trotsky和他的团队后来开发了自己的Communix(称为托版Communix或Communix 4.0),但除了在斯里兰卡短暂地装过一段时间以外,都是小用户。这些用户又加入了很多自己的东西,且互不统一,Trotsky死后没人整理,因此托版 Communix非常乱。而由Stalin的团队打造的Communix 3.0正式版因为过于注重系统安全和效率,导致界面不够友好,娱乐功能少,不能及时更新一些新功能。Stalin的继任者由一个极端走向另一个极端,他们片面追求漂亮界面和娱乐功能,甚至干脆向微软购买这些功能,放弃了系统安全和效率,更不对代码作任何优化,导致系统经常当机和被黑客入侵,最后不得不改装 Windows(据说负责洽谈这次改装项目的经理Yeltsin还拿了不少回扣)。

        

        在俄国成功移植Communix的消息也鼓舞着中国的Communix爱好者们,但早期的努力都不成功。一个姓毛的人说,俄版Communix光是汉化还不行,因为我们的硬件太旧了,短期内也不可能更新,所以必须为我们自己的硬件改写一部分底层代码。这种办法最后成功了,成为低配置计算机移植 Communix的精典范例而载入史册。毛还反对俄版Communix晚期的一些修改,认为这是向微软投降。为了及时清理Communix队伍内部的微软代理人,他发动广大用户学Communix和写Communix,打造一个“六亿神州皆Hacker”的毛版Communix。他的主张遭到开发团队的反对,最后无果而终,但影响持续至今。如今,一个精通毛版Communix的程序员往往被看作是危险的黑客,而那些拿了很多认证的Communix程序员都在跟微软学接轨。但是,代码要开源,人民要编程是无法扭转的世界潮流。

        

        今天,国内外仍有不少毛版Communix支持者。曾有人说尼泊尔的毛版Communix是“盗版”,这就连GPL的基本常识都不顾,堕落到微软版权的泥坑里去了。

    • 家园 需要人人都编程么?

      现代社会专业化分工, 一小撮人的生产效率足以满足所有人的需求。何必要人人都在自己家里搞生产, 那是时代的退步, 呵呵。

      楼下回复里有人提到End user programming。 这个方向搞了十几年了, 基本上是几个大忽悠在嚷嚷。 归根结底“人人皆可编程”是个伪需求。 所以搞来搞去, 无非是弄几个图形化的幼教软件,或是简单的脚本做点重复性的工作,成不了什么气候。

      • 家园 确实需要人人都可编程

        首先,现在编程也不是什么太难的事,另外,众多成熟的框架,可重用部件,搭搭配配就成了。

        其次,很多需求,是需要非写代码的人才有可能搞定的。比如众多数学家的需求,比如家庭里的一些个性化需求——这些需求是普遍存在,但千奇百怪,基本不适合大规模软件工程来实施。

        最后,经验告诉我,有必要人人都可编程。国内现有很多创业的,都招不到程序员,和这个是有关系的,因为他们采用的东西太新,以至于现有的程序员基本不胜任,或者是培训成本太高,此时还不如自己直接写来得经济——因为都在同一起跑线,而你的需求强烈,学习动机强烈,会更高效学会。同理,现在可能不知道自己需求,但一遭有需求,与其去求无法实现该方案的程序员,还不如以自己的技能,至少搞出个demo来,才更有说服力吧??

        至于是不是伪需求,我只能用一句话来回答:站着说话不腰疼,等你有需要的时候,就知道什么叫“书“到用时方恨少。

        就像我说没必要人人都学销售,因为销售是个专业化的技能,不是一般人能够学好的,但那一天你独立了,还不照样乖乖学销售。——这不是伪不伪命题的问题,而是生命力的问题。

        • 家园 这个范围划的离人人差的太远

          我帮你总结一下你的回复,有需求的: 众多数学家的要求, 家庭里的一些个性化需求, 国内很多创业的。

          众多数学家是因为门槛太高, 一般程序员写不了。 国内创业的, 看来不是不想雇程序员,一是没有钱,二怕效率低。 家里的个性化需求,要编程?

          请自问一下,这些情况, 在大众中占了多少比例?是不是就能代表人人了? 说来说去, 大家是思维模式的差别, 我相信社会分工, 相信市场环境下大部分人只是消费者。如果让我开公司,我宁可找个销售专家来当创业伙伴, 也不会自己去学销售。 同样我也不会去开发一个“人人”能编程的软件, 因为难度太高, 收益太少,这样肯定赔的底掉。

          • 家园 还是站着说话不腰疼

            身边一堆创业的,有擅长销售的,有擅长技术的,可他们都大部分单干了。你认为他们不是和你想法一样,找个能互补的??

            但找到了么?找人的难度,你自己没经历过,认为很容易,而我是有切身体会的,找人浪费的时间,足够我自己把自己不懂的那个初步学会了,更何况中间消耗的感情和精力的耗费才是主要的。

            另外,不知道有没接触过python,这个已经快接近人人都可编程了。为什么人人能编程的软件会难度高,收益少?想当然了吧,国内大批的it民工,你认为他们真的掌握了技术的层次很高么?要真收益少,微软们就不会开发出大量更加语义化的语言,更加图形化的ide了。

            • 家园 最后在说两句

              我刚毕业时候跟你的想法差不多, 做事情找个人是不容易, 还要适应, 还要沟通。 效率,成本远低于亲自动手。可这么多年经历教育了我, 光靠个人做不了多少事情。为了长远打算,这些提前付出成本是必须的,一开始可能很费劲, 等配合好了,一个队伍做的事,远远超过个人能力, 想做点大事, 这是必由之路。你说你周围的人都愿意自己单干, 我可以下个断言, 这样做事情一定做不大。

              这些都是题外话了。主题帖是把人人都可编程当一个哲学思想来提。 在这个高度,自然说的是一般性的东西。就我熟悉的, 我再说两句相关的学术研究和我自己的看法。

              楼下也提过这个概念引申到一个研究方向叫EUP(end user programming)。 EUP里面包含两类基础方法, 一类叫(visual programming)即所谓可视化编程, 看到这个名字, 很多人会想到VB, VC, 纯粹从概念上讲, VP是以图形化的方式直观的表示编程逻辑, 也许MATLAB里面得simulink 工具包更能体现这种思想。 另外一类就是script, 要简单,直白,最好类似自然语言。在这两个基础方法之上, 还有一大类方法叫programming by demonstration。 可以类比为你教计算机做事情, 先演示一遍, 让计算学会了,再推而广之。 想深究的, 可以去看两本经典文集, 一本叫 Watch what I do, 另外一本叫做 You wish is my command。 里面囊括了这些方向上林林总总的各类想法。

              回头说说我的个人理解,“人人编程” 是句口号。 泛泛的讲这个口号很对! 计算机总要越做越简单, 终极理想是计算机就跟人一样聪明.我们用计算机根本不需要学,想什么,它就做什么。计算机的用户和程序员,再无分别,也自然而然实现了人人编程的理想。 可回到现实, 这个终极理想实在太遥远。 就象“各取所需,各尽其才”的理想社会。谁也不知道怎么实现。 徒让理想的追求者们浪费了大好青春。

              • 家园 demo之前有必要单干

                我说的是,在demo之前,有需要单干,而不是说整个项目开始搞的时候单干。这差别很大。

                另外,一个人真的干不过一群人么?这要看情况了,我周围一堆,都是能单挑掉一群人的角,当然,那群被挑掉的人水平很次是可以肯定的。你说是养群不咋样的合作者拖进度好呢还是自己单打独斗好?反正我知道:不怕虎狼一样的对手,就怕猪一样的助手。

                ————————国内创业的人,其实都求贤若渴的,只是周围确实没有能够解渴的,能解渴的不是单干了就是在大公司里安稳度日或者国外逍遥着——也可以说,能解渴的都不太懂合作或者是眼光不够。而不是创业者太过“独”。

                在现在这个就业紧张的时期,众多小公司还普遍出现招聘广告挂出去半年,颗粒无收的情况,想想就知道自己会一手是多么重要。(如果还没感觉,那你可以问问douban的阿北,问他为什么当年要自己写douban的程序,而不是外包或者雇人或者找人合作。)

                另外,你说的创业可能和我说的不一样。我说的基本是草根类型,不会有所谓风投初期介入、而且很缺起步资金的那种。(虽然人人都知道找风投,但实际中,只有极少数人能得到,所以还是考虑在没有风投的情况下,要怎么办,才更现实吧。)

                另外,我不认为编程是一个社会化专业分工的范畴(没有其他专业知识的编程人员,就像学外语的不学第二专业一样,拼不过特定专业的人的,典型的如it界这几年老在钻研的什么六度理论、社会工程学一样,社会学家眼角一瞄说:你们怎么连这种入门知识都当圣经啊。)

          • 家园 搞一个简单的Script语言

            不需要知道存储,只需要一些简单的循环和判断功能,命令很多,每个命令后面有丰富的库支持,用户可以搭积木一样编程。如果一个普适的语言有难度,可以从某个领域单独突破。

            我感到,普通用户有编程的需要。比如说,人们对用用Outlook定制日程,这就是一个简单的编程,如果给他加一个判断的功能呢?循环?

            Excel就有一个很简单的编程功能,有丰富的函数支持,很方便,如果Excel能有按照时间,顺序执行的能力呢?

            Javascript+HTML还是复杂了些,光是HTML的标记可能就有一定门槛,可是不是所有人都需要功能强大的HTML页面,能不能考虑一个缩小版的HTML+JS+CSS?我们看到很多博客页面支持简单的图形化定制页面的功能,如果能有简单的图形化JS支持呢?

    • 家园 这个好像稍远了些

      就算用户会了html, css, js也得去查那些api,还得组织数据结构,还得debug。。。。

      我也不指望EUP了,我就指望能多有几个UI玩玩,在windows上体验linux,在linux上体验mac os就ok了,呵呵

    • 家园 传说中的EUP?

      “终端用户编程”(End-User Programming)

      比如 Web2.0 + SNS + 忽悠

      • 家园 呵呵,有那么忽悠吗?

        今天看了一个《21世纪经济报道》的关于iphone的文章,主要着力点在那个iphone shop上,这个应该也是SNS模式的吧?

        我是做手机芯片的,明显感觉到iphone和android给手机行业带来了一股新的希望,也让传统巨头NOKIA备显狼狈。

        看了SNS模式,给我的感觉就是,现在软件已经进化到一种模式,就是操作系统已经不再重要,上面的平台已经可以屏蔽掉操作系统,将来单纯的操作系统被边缘化和公益化,我不会觉得奇怪。

        而看邓侃老大关于WEBKIT的介绍,比较让我感兴趣的是,美国的计算机软件行业还是那么能想,比起国内的软件行业来说,确实具有创新精神。可能是国内没有创新的土壤,软件工程师们总是着眼于快速的收费模式。

        我现在每天看到WINDOWS上我的电脑那个枯燥的小图标以及窗口这种模式,说实话,已经很烦躁了。LINUX的各种发行版也大同小异。我期望着,WEBOS能带给我们千变万化的桌面模式。

分页树展主题 · 全看首页 上页
/ 2
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河