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

    文章

    1302

    浏览量

    73634
  • 编程
    +关注

    关注

    90

    文章

    3707

    浏览量

    96753
  • 代码
    +关注

    关注

    30

    文章

    4941

    浏览量

    73129

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    何在“SD 卡 NAND 闪存”的情况下使用 Non-OS NVTFAT?

    何在“SD 卡 NAND 闪存”的情况下使用 Non-OS NVTFAT
    发表于 09-01 07:58

    当不同的数据放在同一个Flash页面上时,请问如何在不影响其他数据的情况下更改一些单独的数据?

    当不同的数据放在同一个Flash页面上时,如何在不影响其他数据的情况下更改一些单独的数据?
    发表于 08-22 06:25

    何在没有 NuLink 编程器的情况下执行 SWD 解锁序列?

    我迫切需要知道如何在没有 NuLink 编程器的情况下执行 SWD 解锁序列。
    发表于 08-18 07:04

    DC/DC 电源培训

    DCDC电源培训是一篇讲解DCDC简单原理及其简单应用的,本文讲了从buck到电荷泵等各种DCDC电路的原理情况,适合参考学习 DC/DC 工作原理 主要针对降压型Buck电路进行介绍 纯分享贴,有需要可以直接下载附件获
    发表于 05-09 14:57

    何在CYPM1322中不使用内部电源的情况下使用VBUS_C_P引脚实现SINK?

    的 VSYS 电源时,CC Rd 功能和 Sink 功能正常工作,但我只想使用外部电源执行 SINK 操作。 在CY7113(CYPM1311)中,SINK 在没有内部电源的情况下可以正常使用 VBUS_C 和 CC 引脚,与 CYPM1322 的 CC 功能相比有何区别
    发表于 05-08 07:32

    FX2LP如何在不更改硬件的情况下对其进行重新编程

    我正在使用 FX2LP/ CY7C68013A-128AXC设备(定制板),我有一些问题需要您的帮助。 1如果我的 EEPROM 已经有固件并且正在运行,如何在不更改硬件的情况下对其进行重新编程
    发表于 05-06 11:16

    如何不使用配置实用程序对SX3进行编程

    CYUSB3017 的 HID 接口)。 此外,HID 示例应用程序需要 .img 文件来更新固件。 理想情况下,我们希望找到一个解决方案,可以使用 Python 程序对 SX3 进行编程,而无需配置实用程序,尤其是当我们收到没有
    发表于 05-06 06:33

    FX2LP如何在不重新插入USB电缆的情况下在dfu过程之后重新启动设备?

    我正在使用 FX2LP 设备,我想通过将 iic 文件写入 eeprom 为我的设备添加“设备更新固件”功能。它运行得很好,但我不知道如何在不重新插入 USB 电缆的情况下在 dfu 过程之后重新启动设备?
    发表于 05-06 06:18

    LPC1227FBD48如何在没有SDK的情况下配置FreeRTOS?

    我想在基于 LPC1227FBD48 系列的现有项目中使用 FreeRTOS,但我们没有可用于控制器的 SDK。我们如何在没有 SDK 的情况下配置 FreeRTOS。
    发表于 04-02 06:33

    何在不使用DMA的情况下减少ECSPI CS高电平时间?

    。我收到一个建议,要在禁用 DMA 的情况下使用本机 CS。 [这是link到整个讨论。 现在,我已经禁用了 DMA,并将原生 CS 用于 SPI 外设,但我仍然观察到 CS 在大约 5 μs 内保持
    发表于 03-31 06:56

    何在 树莓派 上编写和运行 C 语言程序?

    在本教程中,我将讨论C编程语言是什么,C编程的用途,以及如何在RaspberryPi上编写和运行C程序。本文的目的是为您介绍在RaspberryPi上进行C编程的基础知识。如果您想深入
    的头像 发表于 03-25 09:28 935次阅读
    如<b class='flag-5'>何在</b> 树莓派 上编写和运行 C 语言程序?

    在外部电源正确的情况下,为什么ADS8557的REFIO引脚没有输出电压呢?

    在外部电源正确的情况下,为什么ADS8557的REFIO引脚没有输出电压呢??
    发表于 01-24 06:48

    ads1256有没有办法在不换ad的情况下采集10路信号?

    在使用ads1256,但是发现需要采集10路信号,有没有办法在不换ad的情况下采集10路信号
    发表于 01-22 07:36

    ADS1299套件的可编程增益是只有在差分输入情况下才可用吗?

    昂问一下ADS1299套件的可编程增益是只有在差分输入情况下才可用吗?我用AIN口输入单端信号 调节PGA大于1时信号就不对了
    发表于 12-26 06:29

    在VDD1没有供电的情况下,VDD2正常供电的情况下,AMC1200的输出应该是什么状态?

    请教一下,在前端VDD1没有供电的情况下,VDD2正常供电的情况下,AMC1200的输出状态为什么P端是3.8V ,N端是1.2V ,每一次都是这样子, 请问,在VDD1没有供电的
    发表于 12-17 07:37