0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在没有正式培训的情况下学习编程

程序人生 来源:CSDN 作者:Linda Zhang 2021-10-08 10:22 次阅读

编程小白到完成第一款 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 的开发人员致敬!

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Web
    Web
    +关注

    关注

    2

    文章

    1238

    浏览量

    68456
  • 编程
    +关注

    关注

    88

    文章

    3440

    浏览量

    92388
  • 代码
    +关注

    关注

    30

    文章

    4555

    浏览量

    66766

原文标题:我只用了 30 天的时间就学会了编程

文章出处:【微信号:coder_life,微信公众号:程序人生】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    何在幅度频率不变的情况下将正弦波变为方波?

    何在幅度频率不变的情况下将正弦波变为方波? 方波是一种特殊形式的波形,它的波形在周期内由两个值之间的突然跳变组成,通常是由高电平和低电平组成。与之相反,正弦波是一种平滑连续的波形,其幅度变化是沿着
    的头像 发表于 02-06 15:51 955次阅读

    何在没有HAL的情况下使用SEGGER eMusb-Device吗?

    我很喜欢 SEGGER eMusb-Device,因为它的实现方式非常全面。 但是,我想退出 HAL,我观察到 SEGGER eMusb-Device 严重依赖它。 我有办法在没有 HAL 的情况下
    发表于 01-25 08:31

    何在电压不稳的情况下保障SSD的稳定性能?

    何在电压不稳的情况下保障SSD的稳定性能?
    的头像 发表于 11-24 15:50 227次阅读
    如<b class='flag-5'>何在</b>电压不稳的<b class='flag-5'>情况下</b>保障SSD的稳定性能?

    何在不烧写的情况下使用软件读取ESP8266内存容量?

    何在不烧写的情况下使用软件读取ESP8266内存容量
    发表于 11-10 08:06

    何在不拆芯片的情况下读取出esp8266烧写的固件?

    何在不拆芯片不使用编程器的情况下读取出esp8266烧写的固件
    发表于 11-09 06:45

    没有人机界面的情况下,应如何配置设备?

    我们越来越依赖可穿戴和互联技术,但在没有人机界面的情况下,应如何配置设备?
    的头像 发表于 11-03 11:10 234次阅读
    在<b class='flag-5'>没有</b>人机界面的<b class='flag-5'>情况下</b>,应如何配置设备?

    何在没有5G网络情况下显示5G标识?

    项立刚日前通过微博在北京地铁10号线没有5g网络信号,但在旁边,一个年轻人把手里的iphone手机14+表示,5g信号表示的发现显示,立即发现了问题,14 iphone手机主人和通信。”
    的头像 发表于 09-15 14:44 1937次阅读

    何在降低噪声性能的情况下设计良好的PCB布局

    本文档的目的是帮助用户了解如何在降低噪声性能的情况下设计良好的PCB布局。在采取本文档中提到的对策后,有必要进行全面的系统评估。本文档提供了有关RL78 / G14样品板的说明。
    的头像 发表于 07-24 14:42 277次阅读
    如<b class='flag-5'>何在</b>降低噪声性能的<b class='flag-5'>情况下</b>设计良好的PCB布局

    何在不构建专用硬件的情况下制作充电宝原型

    能否在不构建专用硬件的情况下制作充电宝应用原型?
    的头像 发表于 07-10 09:30 327次阅读
    如<b class='flag-5'>何在</b>不构建专用硬件的<b class='flag-5'>情况下</b>制作充电宝原型

    何在缺陷样本少的情况下实现高精度的检测

    导 读 缺陷检测是工业生产过程中的关键环节,其检测结果的好坏直接影响着产品的质量。而在现实场景中,但产品瑕疵率非常低,甚至是没有,缺陷样本的不充足使得需要深度学习缺陷检测模型准确率不高。如何在缺陷
    的头像 发表于 06-26 09:54 776次阅读
    如<b class='flag-5'>何在</b>缺陷样本少的<b class='flag-5'>情况下</b>实现高精度的检测

    构建FreeRTOS_Toggle_Led_Example_S32G399A_M7示例项目,如何在没有调试方法的情况下独立运行操作系统映像?

    您好,我正在构建 FreeRTOS_Toggle_Led_Example_S32G399A_M7 示例项目,想知道如何在没有调试方法的情况下独立运行操作系统映像?
    发表于 06-08 07:55

    何在不借助Arduino IDE/语言的情况下对ESP8266进行编程

    我正在寻找一些建议,让我在不借助 Arduino IDE/语言的情况下对 ESP8266 进行编程。我知道它在那里并且非常即插即用,但我想学习一些东西。我是一名电子/电气工程专业的学生(刚毕业一年级
    发表于 06-07 07:29

    何在没有USB连接的情况下对电路板进行编程的说明?

    了如何在没有 USB 连接的情况下对电路板进行编程的说明。 我有几个问题: 合适的董事会的下一步是什么?我通常只需要几个 I/O 连接,并且知道有些引脚我不能使用,有些是上拉或下拉。
    发表于 05-29 08:57

    ADC如何在存在大信号情况下同时处理小信号?

    对于 ADC,SFDR 展示了 ADC 如何在存在大信号的情况下同时处理小信号。例如,考虑一个接收器应用程序。假设 ADC 输入包含一个 +1 dBm 阻塞信号和一个 -75 dBm 所需信号。
    发表于 05-06 10:00 791次阅读
    ADC如<b class='flag-5'>何在</b>存在大信号<b class='flag-5'>情况下</b>同时处理小信号?

    何在没有udev的情况下启动之前创建静态/dev/节点?

    / 节点,所有 /dev/ 节点必须在 rootfs 启动之前创建“ [color=\\\"#FF0000\\\"]我想知道如何在没有 udev 的情况下启动之前创建静态 /dev
    发表于 05-05 10:27