写点什么

编程太难学?你可能还没试过这个神器

  • 2023-11-27
    四川
  • 本文字数:2547 字

    阅读完需:约 8 分钟

在这个数字化的时代,很难不让人对编程有一些想法,我们生活在一个抽象化程度越来越高的时代,除了日常使用的手机跟电脑,各种智能家居,都离不开跟程序交互的场景。

既然每天都在跟程序打交道,你有没有一种想法,那就是自己学编程做一个程序出来?或者说,作为一种副业为自己挣到一些外快?

这听起来好像很难,但现在有了更前沿的技术,其实编程门槛早就下降了一大截。

许多名人都曾公开倡导,认为每个人都应该学习编程。比如乔布斯早年的时候就曾说过所有人都该学习编程,因为它让你学会思考。

当今的亿万首富马斯克在 12 岁时就因编程赚取了自己人生的第一桶金,比尔·盖茨也是从小修习计算机,走上了一条致富的道路。

《纳瓦尔宝典》的作者埃里克·乔根森说,致富的最好方式就是学习那些复制成本近乎为零的工作,比如写书、做播客、写代码,做媒体,因为你可以通过低成本的复制方式让它们影响到尽可能多的人,从而为自己实现快速致富。

现在世界上的大多数硬件软件企业都在为这个目标而努力,因为代码的可复制性,它的边际成本近乎为零,这意味着只要你能写出优秀的代码,凭借其复制传播的特点,往往可以流通到全世界大赚一笔。究其根本,低成本的可复制性是财富迅速增值的显著标志。

然而,说起来容易做起来难,编程作为一项古老的创造性活动,至今也有七八十年的历史了,古老的文本编程方式一直占据着主流形态。

一门传统的编程语言从学习到掌握,起码要经历半年多的时间,才能看到成果,这种反馈来得太慢,再加上现代人碎片化的生活习惯,很难空出大段的时间来进行学习。

最难的点在于,从理解概念到实践、试错,往往都有一段很长的路要走,这导致不是专职的人学习编程往往要付出很大的时间精力跟成本。

但是这其中难道就没有优化的空间吗?仔细想想,是什么导致了编程学习如此困难,门槛这么高,是因为编程本身真的需要这么高的复杂度吗?

最近 ChatGPT 再一次大火,推出的 GPTs 大家有目共睹,不仅可以定做自己的 AI,还能上架到商城赚取费用,我认为所有人都可以遇见这一点:如果我们只是想做个应用出来,甚至光是靠自然语言输入指令就足够了,并不是每个程序都需要从头开始学习语言,低门槛的方式也有可能做出有价值的应用。

当然,自然语言也有自身的局限性,比如说不能实现精准的要求,而且目前为止只能在 Open AI 的官网上才能做,一旦离开就做不了,再加上国情网络等等可预见的阻力,我们国内使用 GPT 也不是那么方便。

如果我们只是自己有这样的兴趣爱好,想要自己快速做出一个应用,或者说可以快速实现想法、迭代出原型,这样的方式有吗?如果我只是想做为一种工作之外的副业,不要花太多的时间在上面,这种目的性更强的编程方式有吗?

说白了,就是一种更适合新人入门,更适合小白学习的编程学习方式。

国外有一种被称为 Scratch 的儿童编程方式,通过图形化的编程方式,可以实现非常多的小游戏设计,比如愤怒的小鸟,植物大战僵尸等等,独立画出思维导图的梳理逻辑、制定规则、设计形象、解决 bug 和报错,直到游戏可以完整地运行。


Scratch 这种编程方式就是图形化编程的雏形,相较于传统的文本编程方式,你可以看到它更易于理解,也更容易进行学习和模仿。

不过 Scratch 只是对图形化进行了一个表达,没有将更多的功能封装抽象到组件中,因此它只能做一些很简单的程序,也注定只是一款适合培养孩子编程兴趣的工具,更广泛应用的图形化编程工具在后文会提到。

对比文本编程的形式,图形化编程不需要你对语法进行太多的学习,也不用担心某些拼写错误或者低级的逻辑错误,只需要将重点放在核心逻辑的构建上,也就是我们更想做到的,直接修改逻辑程序的部分,快速迭代出原型,让我们看到自己做出来的东西是什么样子。

比如说我们要做一个角色躲避掉落物体的游戏,那么在 iVX 中,只要通过拖拽编程块来构建游戏逻辑,而无需编写任何传统意义上的代码。

严格意义上,只需要设置角色和环境、移动逻辑、碰撞检测和游戏控制,不需要写一行代码。大概一两天的时间就能完成,你可以迅速进行测试和迭代,构建程序,及时解决问题。

而在一个传统编程的环境中, 你需要编写一系列的代码。这包括设置游戏环境、创建角色和掉落物体、定义角色的移动逻辑、检测碰撞,以及编写游戏的控制逻辑(如开始和结束条件)。

这些步骤涉及多种编程概念,如变量、循环、条件判断和事件处理等,对于编程新手来说相当复杂,光是学习概念和操作、测试和 bug 等就需要一个月左右的时间。

这也体现出图形化编程的一个好处,就是“只帮用户生成程序本身,和后台运行时需要资源解耦”,把“逻辑表达”单独抽出来,进行解耦,去掉了所有“语法”特征。

这样保证我们在调用逻辑的过程中不用被那些细枝末节的事情影响,只需要关注逻辑,而无需编写任何传统意义上的代码。

其实这种开发方式在国外有一种专门的称呼,叫做“低代码”(lowcode),最早由 2014 年 Forrester 提出来,用以加快交付程序、减少开发复杂度的。

从名字上就能听出来,“低代码”就是为了不写代码而生的,相比于传统写代码的方式,这种方式设计之初,就是为了减少写代码的数量,甚至是完全不写代码,它的低门槛也让很多初学者有了学习的机会跟空间。

不过因为国内的低代码概念大多是针对企业程序开发,因此在下文我们还是用图形化编程或者说可视化编程来代指这种编程方式。

在我自己学习的过程中,感受到最直观的就是反馈很快,上手的门槛不高,基本上只要看一些教材就能把一些简单的程序做出来,比如说做一个计算器、做一个记事本,做一个日志备忘录等等。

无论说是你自己当兴趣爱好也好,探索也好,学会了接单赚钱也好,这种实用的价值都是实实在在的。我还记得上大学那会,苦思冥想一个礼拜,用 VB 把计算器程序跑起来的感觉,那种兴奋让我彻夜未眠。

国外的黑客有一种传统观点认为:5 分钟内快速写出一段有用的程序是基本技能。一般来说你必须掌握 Lisp、Perl、Python 其中之一,现在有了一个新的选择,就是 iVX。

很希望大家能在摸索效率跟工具的路上更进一步,之前我一直都想要一个快速学习编程的平台,但是学了一部分 python 以后发现上手的时间至少也得要半年多,再加上时间过于碎片化,没能坚持下来。

但这次用 iVX 发现学习曲线要比传统语言更好理解,也更容易做,大概 3、4 天的时间就做出了一个纪念日应用,还是很有成就感的,推荐大家都可以去试一下。

用户头像

一个程序员跟他的猫 2023-10-30 加入

做过 2 年建筑业,现在 3 年程序员

评论

发布
暂无评论
编程太难学?你可能还没试过这个神器_编程_代码生成器研究_InfoQ写作社区