`
hizhangqi
  • 浏览: 89028 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

人们最初厌恶编程的 10 个原因

阅读更多

http://www.oschina.net/news/19042/10-reasons-why-people-initially-suck-at-programming?from=20110626

 

每个人刚开始的编程技术都不理想,所以我们决定列出一张清单,写上大家都能接受的理由,还有提高编程能力的建议。

0. 编程适合所有人吗?

  开门见山地说,编程并不适合所有人。它比较适合那些有耐心去解决难题,改变生活的人。

我们就以一个16岁的孩子克里斯蒂安·欧文斯(Christian Owens)为例子吧,他追随他的英雄史蒂夫·乔布斯,从事自己喜欢的工作。他从7岁开始接触计算机。3年后,他获得一台Mac电脑,随后开始自学网页设 计。2008年,他建立了自己的公司。 这是一个不少人都知道的小网站Mac Bundle Box。该网站符合苹果的设计指南和风格,在两年的时间中赚到了人生的第一个100万美元。

他成功的唯一要素,就在于他做什么事都有耐心。所以,如果你发觉自己缺乏某些激励因素,或许那就是你无法取得成功的原因了。我继续研究并最终发现,金钱推动着很多人勇攀高峰。


克里斯蒂安·欧文斯

1. 编程是一项需要花时间才能掌握的技术

  像其他东西一样,编程本身就是一门艺术。是的,你最初可能会遇到麻烦,但是如果你坚持下去,你的编程技术将会 得到提高,你会成为一个干劲十足的程序 员。很多人被书呆子、白痴、天才儿童,甚至是编程本身吓到了。不用害怕,无视他们,把精力集中在于你的技术有关的事情上面。我在大学刚开始学习计算机时并 不是很了解编程;在我认识编程之前,我是一名敢于提出问题并面对挑战的程序员。

2. 他们的观点错误

  当人们开始抱怨不懂得传授技术的专家、助教、蹩脚的编译器、集成开发环境,甚至操作系统的时候,我已经习以为常了。只要你不断的抱怨,你的编程技术只会原地踏步。所以,请用积极的态度面对问题吧。

你知道“梦幻游乐园”游戏几乎都是用汇编语言写程序吗?想想看吧。有志者,事竟成。

3. 我一点都不理解抽象概念

  编程需要你创造性思考(think outside the box)。当你是初学者时,你会遇到算法、数据结构、协议,还有一大堆让你摸不着头脑的东西。

慢慢来,无论开始学习什么,都要从点滴做起。如果你不了解维基百科,Google一下,或者问那些知道的人(顺便提一下,这是我学习新事物的秘方)。试着弄懂一些例子,直到你完全理解。

如果你连基础知识都不知道,你又怎么能弄懂更高深的问题呢?

4. 等等,我们可以借助Google

当你在调试代码时遇到困难,或者不知道如何解决某些问题时,Google是你最好的朋友。由于代码抄袭的原因, 我并不鼓励借助Google去解决问 题。如今我支持这种做法,是因为有很多人也许碰到过相似的问题。你猜怎么着!其他人在Google上面帮助他们解决问题,并提供解决方案。

看看我是如何解决这些难题的!!

你有程序算法吗?这是你的第一个问题。如果你还没有解决,那就休息一下吧。人们在离开电脑时,往往会想出怎样去解决问题。我试过很多次在睡梦中制定 出 问题的解决方案。很多时候一个程序员需要的全部东西,只是一些新鲜的空气,甚至一种娱乐而已。这能让你的思维焕然一新,可能会让你看到之前你所看不到的东 西。

甚至有时候,解决问题的最好办法需要一个优雅的环境。所以下次你在尝试为一个IPhone游戏提供费解的主意时,试试Doodle Jump这款游戏吧。你所需要做的只是跳跃运动,别人会设法卖出五百万张这款游戏光盘。

9. 我在等我的朋友来解决这个问题

为什么一些人编程不怎么样,这也许是上面所提到的之外的头号原因了。如果你所做的就是等你的伙伴来帮你解决问题,那么你将学不到任何东西。很明确的说,他们花了时间去试着解决问题,不过最终,经验才是解决问题的关键。

所以停止去依赖别人,以及学习如何独立做事。如果你无法这样做,或许就是你为什么不能成为一个大人物的原因了。(也许你有幸成为像Mark Zuckerberg那样的人)。 

感谢Tony、Jay、 Chris、 William、Miguel、 Al、 Roby、Joseph、 Felicia、Benjamin、Jesse、 Pierre和Erick给出的建议。

译文链接:http://www.jobbole.com/entry.php/945

分享到:
评论

相关推荐

    最初级的c++编程软件:GCC

    较全面的GCC软件,最初级的,最普遍的c++编程,试试~

    C# 的函数编程详解

    尽管C#最初设计为面向对象的语言,但它对函数式编程的支持使得开发者可以在一个熟悉的环境中探索和利用函数式编程的优点。通过使用LINQ、高阶函数、元组、闭包等特性,C#程序员可以编写出更加简洁、可维护的代码,...

    UEFI原理和编程

    它最初由英特尔在2005年制定,旨在解决BIOS的诸多限制,如只能使用16位代码,不能适应更大容量的存储设备等问题。 UEFI提供了与操作系统交互的接口,启动管理器可以从中加载各种驱动程序和应用程序。UEFI还支持安全...

    我和LabVIEW-一个NI工程师十年的编程经验

    LabVIEW的第一个版本发布于1986年,最初是在Macintosh机上实现的。随后它被移植到PC上,并且LabVIEW始终保持着跨平台的支持。跨平台支持带来了界面风格上的不同,例如LabVIEW的界面通常是深灰色面板,按键和按钮呈现...

    Scratch2创意编程

    指南提供了一个由浅入深的学习路径,从最初的Scratch入门介绍,到探索编程的基本概念,再到创作动画、故事、游戏和进行更深入的编程探索。指南还包含了一系列活动,如设计日志、Scratch惊喜、工作室和批判性小组讨论...

    C# 网络编程网络原理

    - 以太网最初以10Base5(粗缆以太网)、10Base2(细缆以太网)的形式出现,随着技术进步,发展到10BaseT(双绞线以太网),直至现在的100BaseT(快速以太网)、千兆以太网和光纤以太网。以太网协议涵盖了OSI模型的...

    机器人离线编程软件

    最初的机器人编程方式是示教编程,即操作人员通过手持示教盒控制机械手末端达到指定位置,并记录相关数据。这种方式虽然操作简单直观,但由于依赖人工操作,因此在精度上存在一定的局限性,尤其是在处理复杂任务时,...

    编程语言转换器!!!编程语言转换器

    VB,即Visual Basic,是微软推出的一种事件驱动的编程语言,最初是为简化编程而设计的。它基于Basic语言,但在集成开发环境(IDE)的支持下,提供了图形用户界面和数据库连接功能。 "代码转换器"标签表明了这个工具...

    JDM pic 编程器

    JDM PIC 编程器最初由Jens Dyekjar Madsen设计,最初版本依赖于DOS下的驱动程序,但随着IC-PROG软件的支持,它在Windows环境下得到了广泛的应用和赞誉。Bonny Gijzen对编程器的持续支持和改进进一步提升了其性能和...

    Unix编程艺术中文版(非加密,带目录)

    根据提供的标题“Unix编程艺术中文版(非加密,带目录)”及描述“Unix编程艺术中文版”,可以推测这是一本介绍Unix系统编程原理、技巧和最佳实践的书籍。本书可能涵盖Unix系统的背景知识、核心概念、编程工具和技术...

    Windows 外壳扩展编程入门实例 pdf

    Windows 外壳扩展编程入门实例,算是将我的一些心得体会和大家分享,我最初的打算是将Michael Dunn 文章中涉及的全部内容全部转成Delphi 程序,再加上我自己的一些发现做成一个完整的系列不过后来发现这个工程量实在...

    可编程计算机控制器机高级编程基础

    在“可编程计算机控制器机高级编程基础”这个主题中,我们主要探讨的是PLC的高级编程技术和应用。PLC编程语言包括梯形图(Ladder Diagram)、结构文本(Structured Text)、指令表(Instruction List)、功能块图...

    编程语言的进代图,编程语言的发展历程。

    编程语言的演变是计算机科学史上的一个重要篇章,它揭示了技术如何从最初的原始形式发展到今天高度抽象和灵活的工具。让我们沿着这个时间线,深入探索编程语言的进化过程。 早在计算机诞生初期,程序员需要直接与...

    Visual Basic精彩编程200例

    根据提供的标题“Visual Basic精彩编程200例”,我们可以推断出这是一本关于Visual Basic编程的书籍,其中包含了200个实用且精彩的编程示例。虽然在描述及部分内容中并未提供具体的知识点,但从书名出发,我们可以对...

    编程语言简史,介绍语言的发展历程

    最初的编程方式是机器语言,这是一种由0和1组成的二进制代码,对普通人来说难以理解和编写。为了解决这个问题,1946年至1953年的“低级语言时代”出现了汇编语言,如示例中的代码,它使用助记符代替机器代码,使得...

    C# opc 编程文档

    这项技术最初由Microsoft在1996年提出,主要用于解决工业自动化领域的数据共享问题。OPC标准定义了一系列接口和规范,使得不同厂商的控制系统、PLC(可编程逻辑控制器)、SCADA(监控与数据采集)系统等能够通过统一...

    JTAG口及其对Flash的在线编程

    JTAG (Joint Test Action Group) 是一种用于检测和测试电子设备内部集成电路的标准,它最初是在1985年制定的,后来在1990年成为IEEE 1149.1标准。JTAG接口通常包含四个核心引脚:TCK(Test Clock Input)、TDI(Test...

Global site tag (gtag.js) - Google Analytics