Keep Tinking,Find Beauty

来源:互联网 发布:我的世界编程游戏 编辑:程序博客网 时间:2024/05/16 07:53

Keep Tinking, Find Beauty


16340189

本人学院

目录

[TOC]

cmd-markdown-logo

1. 什么是编程

  • 编程是编写程序的中文简称,就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到相应结果的过程1。也就是说,我们为了解决问题而与计算机的交流过程就是编程。

  • 最初计算机的功能只是计算与存储,但自从各式各样的程序出现,计算机被赋予了越来越多的能力,我们用电脑共享一段精彩的视频,写出一串串美妙的文字,甚至勾勒出一幅幅美丽的图画。将零散的字母,符号,无数的0与1与实际的生活之美连接起来的,正是编程。

  • 程序员使用着先前优秀的程序,同时开发着切合需求的新程序,编程是传承,也是创新。

2. 怎么去编程

要问怎么去编程首当其冲当然是编程语言

编程语言 简述 机器语言 机器指令的集合,用二进制表示 汇编语言 助记符号来表示计算机指令的语言 高级语言 计算机无法直接识别,需要转换的语言,主要有C#,Basic,Pascal,C,C++,JAVA等

其次是编程的基本思路

Created with Raphaël 2.1.0构思:若能用中文描述,就很有可能用程序语言实现研究算法:把目标转化为数字,文本或图像归纳逻辑:由先到后,由外到内初编写测试是否成功?思考能否在成功的前提下进行简化yesno

但这并不是必须如此,每个程序员都可以按照自己喜欢的思考步骤进行编程。

3.不断思考

毫无疑问,不论在哪个学科,不断进步的的方法就是不断探索,编程也是如此,保持一颗不断思考,总是问为什么的头脑十分重要,因为解答疑问的过程就是探索的过程。下面举个小例子。
我们曾学过二进制与八进制的转换,3个一组先分组,不足3个的,前面补零,再分组将二进制转化为十进制。我们可以把它当作定理直接运用,但这个定理为什么是正确的呢?

证明:

假设一个整数I用二进制表示

I=(ana3a2a1)2

其中令n比较大,然后,将二进制转换为十进制
I=an×2n1++a3×22+a2×21+a1×20

再将十进制转化为八进制
i1=I÷23=an×2n4++a4×20a1×20+a2×21+a3×22
i2=i1÷23=an×2n7++a7×20a4×20+a5×21+a6×22

我们将余数单独拿出来观察就会发现,从上往下,第一个余数是(a1a2a3)2的十进制写法,第二个余数是(a4a5a6)2的十进制写法,以此类推。当把余数从右至左依次写出时,我们就明白为什么定理成立了。
同理,2n制只需把n个二进制数当成一组,分别求十进制即可。
我们还可以思考很多定理,比如为什么十进制数除二留余就是二进制数?为什么反码加一就是补码?为什么符号拓展值不改变?Keep thinking,sharpen mind。

4. 黑客与画家

前文中有提到,编程是一个创造的过程,因此编程与创作性事业,比如绘画,就会有一定的相通性2

  • 画家学习绘画的方法主要是动手去画,黑客学习编程的方法也理应如此。应该定期地从头开始,而不要长年累月地在一个项目上不断工作,并且试图把所有的最新想法都以修订版的形式包括进去。

  • 创作者另一个学习的途径是通过范例。同样地,黑客可以通过观看优秀的程序学会编程,不是看它们的执行结果,而是看它们的源代码。

  • 一幅画是逐步完成的。通常一开始是一张草图,然后再逐步填入细节。如果你预先承认规格设计是不完美的,在编程的时候,就可以根据需要当场修改规格,最终会有一个更好的结果。

  • 优秀的软件也要求对美的狂热追求。如果你查看优秀软件的内部,就会发现那些预料中没有人会看见的部分也是优美的。

  • 当多个画家共同创作一幅作品时,每个人画的部分都是不一样的。我认为,这也是多人共同开发一个软件的正确模式。需要合作,但是不要“合”得过头。

创作的过程都可以是感性的,富有激情的,即便是冰冷的机器,无尽的0与1,也能诞生出美来。当我们能在编程中发现美感,也许就能爱上这门独特的艺术,从而以创造者,而非传承者的身份,为后来人,留下自己的一幅画。


  1. 引用自百度百科 ↩
  2. 以下5点均引用自《黑客与画家》 ↩
3 0