查看原文
其他

我只用了 30 天的时间就学会了编程

CSDN 2021-11-10

作者 | Linda Zhang
译者 | 弯月   责编 | 王晓曼
出品 | CSDN(ID:CSDNnews)
从编程小白到完成第一款 Web 应用,我只用了 90 天,而且大多数时间都是在苦恼自己是否能成为开发人员,真正写代码的时候只有 30 天。
通过这场充满自我怀疑的旅程,我总结出了一些令人难忘的教训:
  • 学习编程之路充满坎坷,直到有一天我做出了一项改变。
  • 为什么使用无代码工具就是浪费时间?
  • 为什么充满灵活性的产品往往最没有用?
  • 何时学习编程最合理,以及如何在没有正式培训的情况下学习编程?

一连串的失败

 
当计算机科学流行的时候,当我认为学习编程可以帮助我成为一名项目经理的时候,当我想证明自己可以“成为技术人员”时,我曾尝试过编程,但都失败了。
每一次,我都在不知不觉中犯了同样的错误:我更喜欢编程的想法,而不是动手实践。所以,每当课程很无聊或遇到困难时,我都会放弃。放弃的次数太多了,部分原因是:我不是当程序员的料。

教训:除非实际尝试过,否则就不要否定自己。

如果真的想尝试编程,就找一个自己喜欢的项目。当你充满动力想要实现某个应用时,一切都会有所不同。
在(虚拟)教室中学习编程的风险太低,即使编写的功能现故障,我也不会担心。但是如果我的网站上的过滤器出现故障,我就会感到难为情,并在互联网的每个角落寻找修复方法。建立一个项目会强迫自己把代码写好。
我犯的另一个大错误是等待无代码工具来拯救我。

无代码工具的真相

 
围绕无代码或低代码的炒作有很多,以至于你会误以为学习编程不是必须的。
如果你想构建一个博客网站或登录页面,那自然没问题。你有很多选择,比如Typedream、Carrd、Webflow(难学,但百分百可定制)。你可以通过拖拽的方式制作精美的产品,从而产生一种“如今一切皆有可能”的错觉。
实际上,这些工具非常好用的原因就在于它们非常不灵活,只能创建静态网站。
如果你想制作一个简单的 Web 应用,例如根据用户的输入从数据库检索信息,那么不动手写代码几乎是不可能的。我前后尝试了5~6个糟糕的无代码原型,才意识到这种方式根本行不通。忽视产品开发的万有引力定律是很愚蠢的想法……


易用性与灵活性

 
每一款易于使用的产品背后,都有人付出了艰辛的工作。首先,需要深入理解特定用例,然后再下一番功夫尽可能简化常用操作。这意味着减少操作步骤,或者一目了然,通常两者兼而有之。
问题在于,可以简化的功能是有限的,屏幕空间就是天然的限制。看看下面这个导航栏:
如果不限制灵活性,就无法保证易用性。你需要在二者之间权衡利弊,这也解释了为什么无代码工具吹嘘的“完整的功能”和“完全自由的设计”根本无法实现。
Bubble是一款被人看好的产品,但结果却不尽如人意。尽管筹集了 1 亿美元的资金,却充斥着漏洞和劣质流量。说到这里,如果你在尝试无代码构建器的过程中发现了一些 bug,则请远离,永远不要回头。


继承功能和bug

 
选择无代码工具就相当于以低廉的成本雇佣了他们的产品开发团队。在此,我有两个重要的警告:
  • 你也继承了他们的 bug 和响应能力:如果他们是二流团队,则你的产品最多只能达到二流质量;
  • 你不仅需要支付费用,还要承担学习其系统规则和怪癖的时间。
灵活性从来都不是免费的。代价是易用性降低,以及更有可能出 bug,因为可能出错的地方更多。
尽管无代码工具有着种种看不见的缺陷,但在下列情况,这些工具仍然可以节省你的时间:
  • 找到适合的解决方案(例如,Soft:出色的可视化前端;Retool:可用于内部工具的出色前端);
  • 学习速度很快,而且还提供了能够满足最低可行产品的功能。
然而,如果想获得面向客户的 Web 应用的全面控制权,最大的捷径就是挑战最大的难题:学习编程。


编程才是捷径

 
我以为学习编程需要花费几年的时间,我以为我会无聊死,而且还无法获得任何好处。然而,事实证明,编写自己的项目情况完全不同。一旦掌握基础知识,编写程序的速度就会很快,而且利用基础知识就能完成很多功能。
整体的感受:
  • 不能马虎:思考马虎的想法很容易,但记录马虎的想法很难,而将马虎的想法编写成代码则更难。
  • 深刻地体会到了工程师的不易。
  • 通过一行又一行的代码构建产品能产生巨大的满足感。
  • 摆脱无代码的约束。
学习如何使用无代码工具是创业需要付出的代价,但学习如何编程是对自己的投资。如果你拥有一些想要构建的想法,并计划一遍又一遍地使用学习到的编程技术,那么投资回报率是巨大的。
为了寻找合适的无代码工具,我浪费了大量时间,最后反而是自学编程救了我。如果你也想拥有灵活性和易用性,那么就自己动手吧。
最后是一些学习编程的注意事项:
  • 选择一种流行的编程语言,最好与英语很接近。我选择了 Python Django,因为简单易学,还拥有一个庞大的在线社区,这很重要,因为对于你遇到的问题,网上都提供了常用的解决方案。
  • 编写代码=主要是修改别人的代码。我所有的代码都受到 Stack Overflow、JSFiddle 和 YouTube 上的解决方案的启发。
  • 如果你不知道如何修改别人的代码,请参加短期课程,但不要在理论上停留太久,只有能够应用到自己的项目中的概念才能真正发挥作用。
  • 在学习教程时,请确保下载最新的软件包。一些优秀的视频很老,而且使用的是过时的软件包,编写代码后升级可能会破坏功能。
  • 95%的时间都会浪费在5% 的问题上,这 5% 的问题会让你欲哭无泪,但不要害怕,告诉自己这样的问题只有 5%!你可以在这些问题上发挥创造力。
  • 如有疑问,请尽管尝试!尝试每一种变化;随着时间的推移,你的预感会变得敏锐起来。
最后,我想向 Python Django 的开发人员致敬!
参考链接:
https://www.productlessons.xyz//article/learn-to-code-when-no-code-tools-fail

阿里旗下App接入微信支付;马斯克成世界首富;PostgreSQL 14 RC 1发布|极客头条

干掉 Android 2.3!

加码云原生数据库 2.0,阿里云又放大招!

: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存