本帖最后由 嘿、蓝胖纸 于 2018-5-13 14:56 编辑
我是从Java版本的OpenGL/ES起手开始进入计算机3D行业的(PS:当然随着自己的见识的增加,知道使用Java开发OpenGL/ES的特别少,但是Java确实是一个比较容易上手的编程语言,当然Java也有许多高级特性我并没有掌握。这个是后话,抛开不谈了。)
从此我开始学习计算机图形学的内容,并一直学习了很久,并且一直与图形图像打交道,并且时常涉及到数字图形处理,计算机视觉等相关学科。
随着Machine Learning和Deep Learning的火热,开始吸引了我的目光,深度学习与这些学科可以说是齐步并进的,其实我个人认为是深度学习刺激了这些学科的发展。我需要去学习一些关于深度学习的内容。
学习深度学习的首选语言肯定是Python,Google也在大规模的使用Python,这就是我学习Python的原因。
Python是一门面向对象的解释性语言(脚本语言),这一类语言的特点就是不用编译,程序在运行的过程中,由对应的解释器向CPU进行翻译,个人理解就是一边编译一边执行。而JAVA这一类语言是需要预先编译的。没有编译最大的痛苦就是无法进行断点调试,唯一的办法就是在有疑问的地方打印各个变量的值来进行调试。这一类语言也没用类型,也就是说一个变量即可能是int型,但是也可能是String型,而且可以随时变化。 Python对于代码格式要求也相当严格,通过对于缩进的距离来判断代码是否处于同一个代码块。这样做的好处在于代码编写看上去很统一(哈哈,没有{是否应该换行写的争论了),不过习惯了java再看python,一开始还真的有点懵。Python也不依靠分号来决定一句代码是否结束,一行代码就是一句代码。
开始学习Python的时候觉得比较简单,没有C++那么多复杂的机理去了解,随着逐步的学习发现其实不然,我一定要收回之前自己说的话,每一门编程语言就是设计者花费很多心血设计的,哪有说学会就学会的编程语言。完成同一个任务,C语言要写1000行代码,Java只需要写100行,而Python可能只要20行。但就是由于变成了20行,程序的可读性变得比较差,难以理解,这正是Python所不关注的问题,只要代码简短就行。
随着写代码的时候对一些科学计算的库的使用,开始觉得学习Python吃力了起来,必须弄懂每一行的代码的作用。一个简单的神经网络算法大概用50行的Python代码实现的,我学习这50行的Python代码居然用了4天,没有听错,学习50行代码用了4天。学习中遇到很多的挫折,每当坚持不下去的时候,会和班主任文芳老师交流,感谢她的鼓励,对我产生莫大的帮助。
finally
Life is short,you need Python.
人生苦短,我用Python。
|