当前位置:首页 > 每日看点 > 正文内容

大一被调剂到计算机,但对电脑根本不了解,就只会上上网聊聊天,连入门都算不上,现在应该怎样入门?

卡卷网1年前 (2024-12-04)每日看点267

先玩一个MMORPG游戏。不开玩笑。

Enjoy programming

这个游戏长这样,开源免费,用GitHub账号登录(不登录也行,对匿名用户完全友好),不用绑定手机号,不用扫二维码关注公众号回复XXX。还在开发中,有空会直播开发过程——开发测试完,直播上生产

大一被调剂到计算机,但对电脑根本不了解,就只会上上网聊聊天,连入门都算不上,现在应该怎样入门?  第1张

大一被调剂到计算机,但对电脑根本不了解,就只会上上网聊聊天,连入门都算不上,现在应该怎样入门?  第2张

大一被调剂到计算机,但对电脑根本不了解,就只会上上网聊聊天,连入门都算不上,现在应该怎样入门?  第3张

做一个用来学习编程的游戏是我构思了很多年的一个想法:学习编程的过程和闯关打怪很像,费尽九牛二虎之力,只为了了最后通关那一刻的愉悦感;那么,我们能不能做一个游戏,打游戏的过程就是学习的过程呢?能不能只要打通关游戏,就能成为一个合格的、可以立即上岗的软件工程师呢?

这样的话,现在的这个“怎样入门”的问题就变成了“这个游戏怎么入门?”——然后这就不是一个问题了,毕竟游戏的魔力就在于能让完全不识字的学前班儿童都欲罢不能。但是问题是,如何设计一个游戏,能让人具有持续玩下去的动力的同时(正反馈),还能循序渐进的给人以提升(压平学习曲线)。

学习编程的核心在于练习,写码过万行下笔如有神。我先来说重要的事情:

只看视频是学不会任何东西的!

只看视频是学不会任何东西的!

只看视频是学不会任何东西的!

学习编程只有一条秘诀:

设法给自己找到坚持写代码练习的动力。

这个动力可以是兴趣,可以是生活所迫,可以是你妈的鄙视,可以是赚钱娶媳妇的渴望,可以是花一两万报名培训班不甘心浪费的那种不甘。无论如何,在出师之前,都要写上成千上万行的代码。能坚持写很多的代码,就能成功,反之,就不行,就这么简单。

我花了很久的时间研究这个问题:如何能坚持下去写枯燥无味的代码?过去的两年间,我在一个在线培训机构担任了两年的兼职讲师,做了很多尝试,比如说,要掌握“Git切换分支”这个技能,我设计了一个特殊的GitHub仓库,你必须自己操作一遍,clone并切换到某分支,该分支的代码运行会打印出来一个密码(实际上是Base64加密的字符串),然后把密码粘贴到课后题的答案框中才能过关。

然后我在想,能不能让这个过程更有意思一点?比如你需要用这个密码去打开一个宝箱,获取bling bling的大砍刀?

大一被调剂到计算机,但对电脑根本不了解,就只会上上网聊聊天,连入门都算不上,现在应该怎样入门?  第4张

图文无关

在我设计的游戏里,在新手村,一个NPC会向你要咖啡:

大一被调剂到计算机,但对电脑根本不了解,就只会上上网聊聊天,连入门都算不上,现在应该怎样入门?  第5张

你需要去酒吧里(酒吧的名字叫Foo Bar,中文名福报酒吧,慢慢你就会知道它为什么叫这两个名字)获取咖啡 。获取咖啡的密码是java -version的输出,因此为了获得这个物品继续游戏,你就需要学习怎么安装Java。

大一被调剂到计算机,但对电脑根本不了解,就只会上上网聊聊天,连入门都算不上,现在应该怎样入门?  第6张

大一被调剂到计算机,但对电脑根本不了解,就只会上上网聊聊天,连入门都算不上,现在应该怎样入门?  第7张

通过这样持续的游戏互动, 慢慢在游戏里锻炼编程的能力。当一切变成游戏的时候,我们的思路就豁然开朗了:我们可以有彩蛋,吸引玩家去探索;碰到不会做的题目,加入公会,让前辈带你……

当然代码还要你自己写。那么如何激励自己持续的写代码呢?

游戏里的方法是Pull Request。在解释Pull Request是什么之前,我先问你一个问题:假如你明天要应聘司机这个职位,今天你要做些什么准备?

你肯定会说,今天晚上我会借隔壁二狗子的车(或者三蹦子)来练练手。

Pull Request就是编程世界的三蹦子。大多数正常的公司都用Pull Request (或者叫Merge Request)来组织日常的开发工作,所以需要你从今天开始,就开始练习开三蹦子。

大一被调剂到计算机,但对电脑根本不了解,就只会上上网聊聊天,连入门都算不上,现在应该怎样入门?  第8张

我工作四年,向所在组织提交了500多个PR

得益于我在GitHub和自动化构建领域的多年的经验,我设计了一套CI系统,你就某个知识点的题目提交的代码,会触发CI和GitHub webhook,然后游戏中的系统就会做出相应的反应,比如让你通关或者达成某个成就。

这套系统在我做兼职讲师的时候工作良好,一共收到了两万多个PR,因为全是机器判题,几乎不消耗任何人力。同时,你可以尽情发挥想象力,比如顺便checkstyle一下以养成良好习惯(下面是我随便截的一个图,这样的PR还有两万多个):

大一被调剂到计算机,但对电脑根本不了解,就只会上上网聊聊天,连入门都算不上,现在应该怎样入门?  第9张

同时,游戏支持一种特殊的、交互式的路线图,你可以把整个学习过程中的进度可视化:

大一被调剂到计算机,但对电脑根本不了解,就只会上上网聊聊天,连入门都算不上,现在应该怎样入门?  第10张

交互式学习路线图,可下载打印

顺便说一句,游戏支持十几种语言(当然大部分是机器翻译的,因为开源,所以也支持社区贡献)。来看一下鬼畜的韩语版:

大一被调剂到计算机,但对电脑根本不了解,就只会上上网聊聊天,连入门都算不上,现在应该怎样入门?  第11张

阿拉伯语来一发:

大一被调剂到计算机,但对电脑根本不了解,就只会上上网聊聊天,连入门都算不上,现在应该怎样入门?  第12张

做i18n是因为按照以前的经验,有很多同学有留学或者海外求职的需求,所以希望尽可能地营造外语的学习环境。

因为我有正经工作,这个项目只能在业余时间做(感谢我厂不996,能让我陪娃之余还有时间写自己喜欢的代码)。项目持续开发中,未来的晚上黄金时间会考虑在b站(中文)或者YTB(英文)直播开发。

开源地址:

github.com/ByteLegend/B

有人质疑这个游戏是否真的能让“连软件都不会安的小白“入门,我必须承认,你说的很有道理,不过,这个问题我已经思考了几年了,并且自认为有一个完善的解决方案——这是未来要开发的经济系统和社交系统要解决的问题,让子弹飞一会吧。

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2024/12/2977.html

分享给朋友:

相关文章

在 Istio、Linkerd 和 Cilium 之间,哪种服务网格在性能上表现最佳?

在 Istio、Linkerd 和 Cilium 之间,哪种服务网格在性能上表现最佳?

在讨论服务网格之前,先理解一下为什么我们需要它。现代微服务架构意味着将应用拆分为多个小型、独立的服务,这些服务可以独立开发、部署和扩展。然而,服务之间的通信和管理成了巨大的挑战,例如如何保证安全的通信、负载均衡、监控与可观测性等。服务网格...

为什么扫码支付在中国流行,在发达国家被排斥?

因为这是一种落后的技术。卖菜的大爷花5毛钱就可以打印出一张二维码来接受付款。你觉着这种先进么?跟先进完全不沾边的。正是因为不先进,所以才能流行。卖菜大爷用不起一台先进的、具有NFC感应功能的、还能刷各种银行卡的收款机。这就是现实。发达国家,...

我觉得华为Mate60Pro明明配置不高,为什么还是有那么多人买呢?

我也好奇啊,所以闲聊时,我问了我们公司的副总,我说Mate60pro配置这么拉胯你怎么还买啊?他一脸疑惑的看着我,配置?什么配置?我这手机信号挺好的啊?我们总经理用的是去年华为出的折叠手机,花了一万多,我也想问问他同样的问题,但奈何一直没有...

抖音上有一些账号搬运别人的视频,几乎一模一样,也没判搬运,他们是怎么做到的??

对于任何短视频平台来说,如何用最低的成本快速实现伪原创搬运都是需要解决的问题。所有的短视频平台,包括抖音、快手、tiktok、视频号、小红书、B站,甚至是FB、推特、INS、YouTube,它们的查重技术都是类似的,只要你在网络环境设置得当...

自己拥有一台服务器可以做哪些很酷的事情?

自己拥有一台服务器可以做哪些很酷的事情?

我就有一台,跑了两年了,ipv6 ddns 网络,加虚拟化平台.跑了个 winserver 和 ubuntu 服务器。稳的雅皮!拆掉后盖,散热更好。烟盒固定硬盘。键盘防止灰尘掉落。电池拆掉,屏幕拆掉,也是散热考虑。屏幕拿去做便携副屏了。换...

什么样的网站能快速捕获你的心?

什么样的网站能快速捕获你的心?

大家好,我是程序员鱼皮。大家如果平时使用网站或产品时出现了问题,一般都会去寻找 “联系客服” 的位置,从而获得人工的帮助。我们团队的面试刷题产品 - 面试鸭最近就遇到了这样一个难题:明明我们网站右下角就有联系客服按钮、而且我们每道面试题目下...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。