以前是纯粹写一些比较枯燥的技术类博文,虽然干货不少,但是就像吃绿豆糕一样,吃多了就会觉得口好干;所以,后面我将转换文风,用一种文理双贯的风格进行叙述。我一直认为,将文理割舍开来,并不是一种很好的教育方式,文理如阴与阳,是相辅相成的。
文学走到尽头是神学或者说是宗教学,而宗教学走到尽头是哲学,于是乎不凡就直接用哲学的目光去引领自己学习计算机知识乃至编程实践。
上过哲学课,活着高中时期思政课稍微认真听讲的,都会明确记得一个问题:世界的本质是什么?同样的问题放到计算机学习中,计算机的本质是什么?
第一个问题,随便找一本哲学相关的书籍,上面都有明确的答案:1、世界的本质是物质;2、世界的本质是意识。这两种不同的答案,将哲学学派划分成了唯物主义和唯心主义。但是,平心而论,从你自己的经历出发,你对于世界的本质是什么这一问题的答案是什么呢?千万别逃避这个问题,你真的得思考思考,因为这将影响到你学习计算机知识是事半功倍还是事倍功半。
如果,你的答案是世界的本质是意识,那么我劝你不要浪费时间继续看我这篇博文了,因为我教不了你在桌子上想出一台实打实的计算机来。反之,你认为世界的本质是物质,很好,这真的很好!至少你已经具备了“一片土地,一片可用于构建计算机科学大厦的土地”。说了这么多,无非就是想明确一点:学习计算机知识,必须坚定地站立在唯物主义的立场上,因为编程过程中遇到的问题即计算机术语中的bug,是要我们自己去动手解决的,而不是靠想着bug消失了就会让自己代码中的缺陷不见了。
延伸到”计算机的本质是什么?“这个问题上来,我可以明确的告诉你,计算机的本质就是人力的延伸、是人进行生产的工具、是人基于数理逻辑和应用物理规则所创造出来的工具,和一只笔、一本书乃止一架航空母舰的本质没有什么区别——人通过劳动制造出来的工具;若要究出个区别,那就是不同的工具的制作背后凝聚了不同的劳动力付出程度,对于一支笔的制作只消个把小时就做到了”无中生有“,而计算机的”无中生有“需要数年光阴甚至更多。但无论是哪一种工具,其问世都是发明者充分发挥了自己的主观能动性作用的成果,所谓”主观能动性“就是人通过劳动积极改造大自然。
计算机作为人充分发挥主观能动性的产物,我们要学习好驾驭这一工具的理论知识即计算机科学知识,也离不开充分发挥主观能动性,尤其是编程学习,更不同与其他计算机知识的学习,是要求很高的实践精神的;看十遍代码不如手动在电脑上实践一遍,如果你只想背,那么你是无法学习好编程的,要知道实际生产过程中的变动因素是非常多的,完全不是你单纯背一份代码就可以解决的,所以学习计算机尤其是编程,一定要勤于实践。
计算机发展历史
来一段Java代码,主要是 java.util.ArrayDeque 的一些用法
package base.util;
import java.util.ArrayDeque;
public class ArrayDequeLearn {
public static void main(String[] args) {
ArrayDeque arrayDeque = new ArrayDeque<>(10);
for (int i=1; i<=10; i++){
arrayDeque.add((int) (i+(Math.pow(2,i+(Math.random())))));
}
System.out.println("The size of the ArrayDeque object is:");
System.out.println(arrayDeque.size());
System.out.println("The specific elements of the ArrayDeque as the follow:");
for (Integer next : arrayDeque) {
System.out.print(next);
System.out.print(" ");
}
Integer pop = arrayDeque.pop();
System.out.println("n Popping a element:" + pop + ", and the new size is: " + arrayDeque.size());
arrayDeque.addLast(100);
System.out.println("Pushing a new element on the last of this arrayDeque: ");
for (Integer next: arrayDeque){
System.out.print(next);
System.out.print(" ");
}
System.out.println("nEnsuring 6 if contains in this array: " + arrayDeque.contains(6));
arrayDeque.addFirst(46);
System.out.println("The first element is: " + arrayDeque.getFirst());
System.out.println("Before poll option, the size is: " + arrayDeque.size());
Integer pollLast = arrayDeque.pollLast();
System.out.println("The size of array after testing poll option at the last: " +arrayDeque.size() +
",and the element is " + pollLast);
}
}
顺便小结一下:
- 1)学习计算机要坚定地站在唯物主义的立场
- 2)计算机的本质时人充分发挥主观能动性后创造出来的工具
- 3)学习计算机知识和编程知识,也需要充分发挥主观能动性,要多实践



