`

我在学习编程中犯的两个最大错误

 
阅读更多

一年前,我刚从大学毕业并且决定踏入社会。我有很多初始的想法并想将它们实现,但我不懂编程

听从 Yipit 联合创始人Vin Vacant 的建议之后,我开始自学编程。

现在我终于学了足够多的知识来自己实现产品原型,一路走来,非常坎坷。如果你在跟我同样的路上,我希望你能避免犯跟我同样的错误。

 

错误0:我花了太多时间学习那些我不是特别需要的东西上

有如此多的技术,又有那么多的相互矛盾的观点以至于你很难判断什么是重要的,我根本就不知道如何开始。在Hacker News、 Quora、 Stack OverFlow上看了一大堆最流行的文章之后,我简直要疯了。下面是大杂烩清单:

HTML、CSS、 AJAX、 PHP、 Javascript、 Heroku、 Celery、 SQL、jQuery、 Django、POSTGRES、 nodeJS、 BackboneJS、Ruby、 Rails、 MongoDB、 Python

 

在这些技术中,我不知道哪些我需要学哪些不需要学,所以我试着把它们全部学习一遍。

我当时本应该做的:我本应该缩小这个清单,只挑出我构建原型所需要的技术。

 

最终,我搞清楚了这些技术就是干什么的,然后把这个清单缩减为如下:

0. HTML:构造一个网页的内容(如链接,标题等元素的选择)

1. CSS: 内容的样式(如鼠标移至链接上时改变它的颜色)

2. Javascript:使内容变成动态的(比如用户点击链接的时候弹出一个菜单)

3. jQuery: 一个包含容易使用插件的javascript库(如幻灯片效果显示图片)

4. Python: 处理数据(如从数据库中读取用户购买记录或推荐用户可能喜欢的产品)

5. Django: 一个用Python编写的web框架可以将以上的技术串联起来。并且提供了很多内建的、非常必要的功能。(如用户登录,以及用python容易地任何数据库)用框架能让你的工作大大简化。

 

错误1:我没有立马开始写代码

我花了太多时间阅读编程书。我不确定我读的那些东西是对我的项目有直接帮助的。更糟糕的是,我没有将书中的东西应用起来,最后发现没什么效果。

我本应该做的:在一开始我就应该通过一些小的项目来进行学习。我之后发现了一个非常有效的学习方法:

0. 在看了一些教程(比如 Yipit 的开发人员 David Sinsky 分享的文章)之后积极地编写例程。

1. 挑选一些简单的项目,然后编码实现它。例如一个简单的博客,或者一个投票的应用。

2. 多次重复第二步。

3. 构建你的初始项目原型。

 

这样做有很多好处,你可以很快地克服关于编程的任何恐惧。你将会看到你的劳动成果。最重要的是,你能够很快培养构建产品所需的技术。

 

英文原文:Suneel Chakravorty   编译:伯乐在线     -     @贱圣OMG

分享到:
评论

相关推荐

    C语言常见错误——写给编程初学者

    通过对C语言的学习和实践,我们总结出了编程初学者容易犯的一些错误。这些错误可能看起来很简单,但是却容易被忽视,导致程序出错或无法运行。下面我们将详细地讲解这些错误。 错误一:“==”误写为“=” 这是...

    C语言编程易犯毛病集合

    下面将详细介绍一些在C语言编程过程中容易犯的错误,并给出相应的解决办法。 #### 1. 变量名大小写混淆 在C语言中,变量名是区分大小写的。例如: ```c main() { int a = 5; printf("%d", A); } ``` 这里的`a`...

    在C语言学习中整理的笔记⑦【来这里提高你的编程能力...........】

    在C语言的学习过程中,掌握各种函数的用法至关重要。这里我们将深入探讨字符串比较函数strcmp()、字符串连接函数strcat()和strcpy(),以及随机数生成函数srand()和rand(),并介绍冒泡排序算法以及二维数组的应用。 ...

    台大机器学习作业二1

    在概率论中,两个事件独立意味着它们的发生互相不影响,一个事件发生与否不会改变另一个事件发生的概率。 3. **概率不等式** Problem 3提及了概率大于等于某个值的情况,这可能涉及到概率不等式,如Chernoff Bound...

    机器学习PLA、pocket

    POCKET 算法引入了一个“口袋”来存储当前最优的权重向量(pwt),即使 PLA 在后续迭代中可能会犯更多的错误。其工作原理如下: 1. 初始化口袋权重 pwt 和 PLA 权重 wt,同时设置一个错误计数器。 2. 与 PLA 类似地...

    Web开发基础常见错误汇总

    本文档是作者精心整理出自己在学习过程中遇到过的常见错误,基本能够解决初学者遇到的问题,能够对初学者提供很好的帮助!这个描述让读者了解文档的来源和目的,作者的经验和总结将帮助初学者解决问题。 标签分析 ...

    筛选发与预处理

    PPT中的"菜鸟的23个经典错误"部分特别值得关注,这可能包含了初学者在理解和应用筛选法与预处理时常见的陷阱和误区,对于避免犯同样的错误、提升编程能力大有裨益。 在ACM竞赛中,理解并熟练掌握筛选法和预处理是...

    Python和LaTex导论

    编程模型:在这一部分,介绍了编程思维,通过while循环的使用,举例说明如何找到两个数的最大公约数和利用牛顿法计算平方根。编程被视为一种类似于撰写论文的活动,需要清晰的逻辑和结构。 字符串、元组和关联数组...

    C#微软培训资料

    18.2 在 C #代码中调用 C++和 VB 编写的组件 .240 18.3 版 本 控 制 .249 18.4 代 码 优 化 .252 18.5 小 结 .254 第五部分 附 录 .255 附录 A 关 键 字.255 附录 B 错 误 码.256 附录 C .Net 名字空间...

    谭浩强c语言

    例如,“int max(int a, int b)”就是一个典型的C语言函数定义,该函数计算两个整数的最大值。这里“int”表示函数返回整型数据,“max”是函数名,而“int a, int b”是函数的参数列表。 2. 标准输入输出库函数的...

    ticTacToe.zip

    然而,由于井字游戏的有限步数(最多9步),任何一方只要不犯错误,游戏最终都会以平局结束,除非先手在第一回合就犯了错误。 在程序设计中,可以利用这种有限的状态空间来实现简单的AI。例如,可以使用深度优先...

    2023 CSP-J2 CSP-S2 复赛 第2轮 真题讲解.pdf

    这些认证分为两轮,每轮包括多道编程题目,参赛者需在限定时间内完成。 2023年的CSP-J2和CSP-S2第二轮复赛中,涉及到的编程语言主要是C++,因为这是信奥竞赛中常用的编程语言。真题讲解涵盖了各种问题类型,如逻辑...

    ssd5 考试2 选择题

    在C++编程语言中,标准模板库(STL)是一个重要的组成部分,它为开发者提供了大量高效的数据结构和算法。下面我们将详细讨论与SSD5考试2中的选择题相关的知识点。 1. 关于STL设计的陈述,正确的是: - I. 每个STL...

    C-C++ 常见误区

    2. **编译器的选择**:初学者常犯的一个错误是在选择编译器时过于随意。使用Turbo C、Turbo C++、Borland C/C++等老旧编译器进行学习可能会导致对现代C/C++标准的误解。例如,这些编译器可能不支持C99、C++11及更高...

    第5章 参数估计与假设检验.zip

    在统计学中,参数估计与假设检验是两个关键的概念,它们在数据分析和研究中起着至关重要的作用。本章将深入探讨这两个主题,通过MATLAB脚本(example05_01.m到example05_04.m)以及一个Excel数据文件(examp02_14.xls...

    C语言实现简单计算器功能V1.0

    也适于能力较强者从该源程序中找到该源文件的不足、避开短处,减少犯别人已经犯过的错误,加强自己的编程能力与对细节的处理。 最大问题:精度问题还没解决,比如会出现6.1*3.3=20.129999的问题,有能力或有兴趣的站...

    acm-icpc模板

    扩展欧几里得算法不仅可以求出两个整数的最大公约数,还可以求出满足特定线性方程的整数解。 ##### 中国剩余定理 中国剩余定理提供了一种解决多个同余方程组的方法,适用于模数互质的情况。 ##### 素数筛法 素数筛...

    华为机试一霸教你过华为机试.doc

    - **记录易错点**:准备一个小本子记录以往编程过程中常犯的错误,考试前复习这些错误,避免重复发生。 **3. 实战技巧** - **审题细致**:在开始编写代码之前,仔细阅读题目要求,明确需要解决的问题。 - **...

    java源码math-Intro-to-Programming-using-Java:该存储库包含该书的所有示例和练习源代码:DavidJ.E

    2. **最大值/最小值**:`Math.max(a, b)` 和 `Math.min(a, b)` 分别返回两个数中的较大和较小值。 3. **随机数**:`Math.random()` 生成一个 [0.0, 1.0) 范围内的随机浮点数。 4. **四舍五入**:`Math.round()` 对...

Global site tag (gtag.js) - Google Analytics