编程那么难,为什么不弄一个大众一学就会的计算机语言呢?

编程那么难,为什么不弄一个大众一学就会的计算机语言呢?

· json · rss
Subscribe:

About

只能说正在开发,时间还没有到

其实整个计算机的开发的过程就是不断抽象封装的过程,从汇编再到c再到python,终于足够简单了,简单到只需要10s就可以成功输出hello world。

如下:

print("hello wolrd")

但是即使这样,我们在处理一些问题的时候依然有手动处理一些很复杂的情况。

python写的代码也不代表每个初学者就可以轻易看懂。

就比如我常说的密码学API部分,我最近的课题就和这方面有关。

密码学的API经常有人使用错误,比如使用了MD5,又或者使用了ECB模式等等或者iv是空的。这些都是很常见的密码学错误,还有一些很困难才能检测的到错误。

比如iv是使用密钥派生的,这其实也是一种错误。iv就应该是随机数,使用密钥派生和使用固定iv的安全性是一样的。但是我在好几个底层的python库看见了这种用法。

所以谷歌2019年就在世界密码学大会上宣布,老子做了一个tink。一次性解决所有的密码学API问题,别说用不用的对的问题了,你就不能用错。

就提出了一个解决办法,它认为大家其实压根用不上那么多参数。

程序员:我就想输入一个密钥,你就给我返回一个加密文件就可以了。你竟然跟我说我的加密方法有问题?而且还是5个问题,行,我不写了。(大误)。

tink就对密码学库进一步封装和屏蔽,只留下了AES的GMS和CTR的接口,而iv接口不对外开放,还进行默认检测等等一系列操作。

本质就是对软件做减法,知乎有一个问题就是openssl为什么没有GUI界面,就是因为openssl的接口太多了,如果制作出GUI界面,那软件也没法使用。

那么多接口有意义吗?当然有,如果没有那么多接口,很多时候你想自己去做的话,那会很麻烦。比如你找到了你爷爷留下的硬盘,想看看他的数字宝藏。但是数字宝藏是用DES加密,这个时候用openssl+GPU就可以很轻松解开你爷爷的数字宝藏。

但是大多数人都用不上,就如同大多数人都用不上博客99%的功能一样。我只是需要一个可以记录文字,最好可以插入图片,视频,支持一定程度排版的互联网发布平台,如果还可以评论就更好了。

OK,这不就是知乎吗?

所以大众一学就会计算机语言未来肯定会有的,但是不是现在,还需要等待生态发展。等低代码和AI技术的进一步完善,对用户需要操作的边界和封装的层次找到一个好的平衡,我相信未来敲代码的门槛肯定会越来越低的。