一提到编程,很多与此无关专业的人就会想到两个字:无聊。确实,在大学课程里面的初级编程学习对于一般学生确实诱惑力不大,尤其是一些文科相关专业的人,更是被等级考试弄的头疼。一提到程序员,很多人的头脑中又会冒出另外两个字:苦逼。程序员的生活到底怎样?在此我不是来做生活大揭秘的,也不是来愤青的,诚然,在没有真正入职之前,我无法给出程序员的准确定义,但是通过这一年多以来的真正的编程学习,我还是对编程有了一些理解,文中若有一些见识疏浅的地方还请各位海涵:
1.入门并不困难,但是精通绝不简单
很多没有一点编程基础的人初次接触到编程,大多的感觉就是很难,至少,作为一个“正常人”来说要去理解计算机的思维确实不是那么容易的事。不过如果如果你平时数学题做的很好,或者至少有一点数学基础的话,那么这跟数学公式其实也没什么太大的区别,至少你在学会1+1=2之前连数学是什么都不知道。而且最开始的编程学习必然是从语法基础开始学起,通过一两个月的基础训练,你就大概了解编程的逻辑了,不过要想做真正的应用开发,那是要在你理解了面向对象的程序设计之后才开始的。真正的大师,没个五年以上,没做过几个大型的项目,是成不了的。
2.基础很重要
这句话几乎每个程序大神都这样说过,我最开始认真的投入编程学习是从应用开发开始的(Java才是我真正了解的第一门编程语言),而学了两三个月之后渐渐的感到吃力,看到别人写的程序总是有一些亮点,我开始观察,那些能够让自己的程序有点艺术性的人大都算法很精通,所以我又开始重新研究算法和数据结构。当然,说到这不是让每个人都去研究算法什么的,只是希望大家不要认为最开始学的那几行命令行程序没什么用,不然你以后会发现你连最基础的应用都做不了。不过,如果你喜欢应用开发的话,就不要陷入死算法的误区了,应用开发最重要的是要学会用,有些算法能力过于牛气的人,应用开发能力却很差,算法是提升你的逻辑思维的一门工具,最终的目的还是能够运用的起来。
3.写一行“精炼”的代码,倒不如写几行规范的代码
进行了一段时间的自我修炼之后,你就要开始看别人的代码了,同样的,你的代码也要给别人用了。不过经常会碰到,有些代码的逻辑根本看不懂,有些人的编程也过于精炼,有些人喜欢这样命名:a,aa,aaa...结果到里面还得去匹配他的程序变量,这对团队自然造成了很大的影响,毕竟,以后进行项目开发往往不是一个人的事,注重规范,就得从现在开始。
4.注释
这一点跟上面一点其实有内容交叉,之所以单独作为一条就是因为这一条确实很重要,由于最开始自己写程序的时候没养成写注释的习惯(毕竟自己写的程序大都给自己看),所以久而久之就不会写注释了。写注释是一门很重要的工作,不亚于写代码,以后进行合作开发的时候别人第一眼看到的也只可能是你的注释而不是代码本身。记得那时候本来想借用一下别人写的一些程序,看了之后吓了一跳,几千行代码,一个注释都没有,最终没办法,自己再写了一个。所以在平时的编程不要忘了这个步骤,否则你以后自己来看自己写的程序,都不知道自己想干嘛。
5.编程是一件让人兴奋的事情,而绝不仅仅是为了学习或工作
如果你选择了程序员这份工作,那我希望这是你的主动选择,就像谈恋爱一样,不然你会过的非常痛苦的。在我周围有很多人,他们跟我一起参加培训,中间自然有很多热爱编程的朋友,他们或许最后并不一定选择程序开发这项工作,但至少编程带给了他们很多乐趣。同样的,还有很多人是为了找一份稳定的工作,这样的想法也很不错,毕竟现在的就业压力这么大,再说程序员的待遇也还算优越的,除了最开始可能会被加班困扰之外。还有一些是为了学业的,这也没什么,毕竟考研,出国,学点技术也还是有点用的,不过你单纯是为了每学期的期末考试的话,就没必要了,技术是要拿来用的,而不是成为你伪装学霸的工具,真正的学霸应该实际能力也不差,至少我们班那几位学霸动手能力也都挺出色的。不过还有一些急功近利的人就不太让人满意了,他们总想着靠编程发大财,成为像盖茨,乔布斯那样的成功人士,有这样的想法肯定是好的,可他们却不付出实践,做什么事情都是三分热度,总想着毕业后去哪发大财。现在,除了有一个好想法,有一身过硬的本领,有一群志同道合的人一起,否则还是做好你的本分工作,先修其内,再出其外。很多在事业上有所成就的人都说过,真正赚钱的时候,其实就那么几年。
6.错误和异常是你生活的一部分
如果你使用的是Eclipse,我相信你最熟悉的除了代码之外,就是Console下面的那一行行红字了,你几乎每天都要与它打交道,只要你每天都有编程的话(当然,除非你不运行O(∩_∩)O~),很多初学者被这个弄的很烦,辛辛苦苦写个程序还老是报错,这自然是不让人开心的。不过,学会看错误和异常是走向大神的必经之路,就像你在成长的过程中总要犯错一样,它们并不可怕,与其在那心烦,倒不如解决它们。
7.有好的想法就要马上记录下来,不然会很可惜的
最开始加入蓝杰大家庭的时候,老师给我们每个人就配备了两个本子,一大一小。到现在一年多了,那个小本子我还一直带在身边,当手边没电脑的时候,自己突然间有了什么好的想法,或者关于之前做的一些应用有什么好的改进的时候我都会及时的记录下来,以防那一瞬的想法突然就忘了。很多IT行业的大公司在各个地方都有笔记本和纸(甚至连厕所都有),就是为了给我们那一瞬的灵感而准备的,不管你是否是这个行业的,都可以随手准备一个笔记本,说不定哪天就会有一个惊天地的大想法出来。
8.术业要专攻
这个问题我问过很多人,有编程界的大牛,大企业的项目经理以及身边的一些朋友。得到的结论几乎一致,先精后广。有些没太多基础的人半年时间之内学了很多东西,Java,数据库,Android,Linux等等等等。但当问及其中某个领域时,才发现很多该领域的基础知识,他们都不甚了解,甚至有一些Java学习了很久的人,还是没把面向对象的设计思想用到项目中去,才发现他们一直在学习,却没有深入的去理解一些东西。举个例子,如果你想精通Java,那么多线程,I/O,异常,JVM,这些都是你应该要深入了解的东西,另外,学好Java自然是为了应用开发,那么网络编程,数据库,设计模式,都应该在你的学习范围之内,你们可能会问了,不是说术业要专攻么??这些都是要学习的内容,他们并不是独立的一个部分,而是进行应用开发的你应该了解的一个整体,你不需要在短时间内把这些知识全都过一遍,这没什么意义,但是这是你的一个成长的路线,当你要用到的时候再去好好研究,每个模块都有很多值得挖掘的东西,当然,在你精通了其中的某一个模块之后,再扩散到其他部分,这才是学习的正确路线。请记住,如果你能精通任何一项本领,那都会使你终生受用,但是,学技术的人要学会变通,技术只是一门工具,不要死死地拽着某一个领域,在你基础能力达到一定的高度之后,掌握的越多,你的发展才会越大。前不久与一个大企业的项目经理交流的时候,问到这个问题,他就对我说:“你现在千万不要看到别人什么做的好就去做什么,把握自己的优势,把它发挥到最大。在我们公司有很多进行应用开发的程序员,他们到了三四十岁的时候又开始研究算法,数据结构这一类的东西...”。所以,从现在开始,确定自己的方向才是最重要的。
最后,送给大家一句话,乔布斯说过:“人这一辈子不能做的事情太多了,所以每一件你决定做的事
都要做的尽善尽美”。也祝愿大家在即将到来的平安夜玩的愉快O(∩_∩)O~
相关推荐
教孩子学编程 PYTHON语言版 教孩子学编程 PYTHON语言版
标题中的“与孩子一起学编程_源代码.zip”暗示了这是一个包含了编程教学资源的压缩文件,特别是用Java语言编写的源代码。这个压缩包可能是为了帮助初学者,尤其是孩子们,理解编程的基本概念和技巧,通过实际操作的...
《匠心精作C++从0到1入门编程》是一份专为初学者设计的C++学习资源包,旨在帮助新手逐步掌握编程基础,降低学习难度。这个资源包包含多个阶段的学习资料,覆盖了C++语言的各个方面,从环境搭建到实战项目的完成。...
《教孩子学编程 PYTHON语言版》是一套专为青少年设计的Python编程入门教程。Python语言因其语法简洁、易读性强,成为了许多初学者,特别是孩子们学习编程的首选语言。本教程旨在通过生动有趣的实例和逐步指导,激发...
通过学习《斯坦福大学编程方法学讲义》,你不仅可以掌握编程的基本技能,还能了解到如何成为一名优秀的程序员,理解编程背后的思想和哲学,从而更好地适应不断变化的计算机科学领域。无论你是初入编程的新手还是寻求...
Python密码学编程通过理论和实例相结合的方式介绍了多种加密算法。全书共分24章,由浅入深地介绍了与密码学编程相关的各类基础知识、编程技巧以及算法实现。 除此之外,本书还提供了相应的源码下载资源,以供读者更...
跟“龙哥”学C语言编程 本文将从基础语法开始,逐步深入探讨 C 语言的各个方面,包括数据类型、变量定义、运算符、条件语句等。通过实际案例的讲解,让大家更好地理解和掌握 C 语言的编程技巧。 C 语言是一门...
本书属于No Starch的经典系列之一,英文版在美国受到读者欢迎。本书寓教于乐,易于学习;读者可以轻松与快递地掌握解决问题方法和程序设计思维的。编程从孩子抓起”得到越来越多的人的认同和重视。本书是父母教孩子...
计算机图形学编程是IT领域中一个深奥而有趣的话题,主要关注如何利用计算机来生成、处理和显示图像。OpenGL(Open Graphics Library)是这个领域的一个关键工具,它是一个跨语言、跨平台的编程接口,用于渲染2D和3D...
计算机图形学编程是计算机科学中的一个重要领域,它涉及到在屏幕上创建和操纵图像的技术。在本资源环境中,我们专注于使用OpenGL库进行图形编程,并结合C++语言来实现。OpenGL是一个跨语言、跨平台的编程接口,用于...
在"计算机图形学编程.rar"这个压缩包中,我们很可能找到了关于如何利用编程技术进行图形学应用开发的相关资料。下面将详细介绍计算机图形学编程的一些核心概念、技术以及常见的应用。 1. **基础概念**: - **像素*...
本书用一种轻松活泼的方式...本书每一章都有精心设计的编程谜题,让读者开动大脑,充分理解所学的知识和内容。本书最后,介绍了如何编写两个完整的游戏。这种通过编写游戏的教学方式,能够极大地调动读者的学习积极性。
在热力学编程作业中,学生通常会涉及到一系列与热力学原理和计算相关的编程任务。这不仅需要对热力学的基本概念有深入理解,还要求具备一定的编程能力,以便将理论知识应用到实际问题解决中。高等热力学是工程学科中...
与孩子一起学编程:以 Python 语言教你如何写程序。源码实例。《与孩子一起学编程(python)》一本老少咸宜的编程入门奇书!一册在手,你完全可以带着自己的孩子,跟随Sande父子组合在轻松的氛围中熟悉那些编程概念。
《趣学Python游戏编程》是一本面向初学者的书籍,旨在通过游戏开发引导读者学习Python编程语言。这本书可能涵盖了从基础语法到高级概念的各种主题,包括变量、数据类型、控制结构、函数、类和对象、模块以及游戏开发...
本学期上图形学编程课,老师提供的辅助材料,无任何版权问题,可以拿去边看书,边翻阅,里面包含ppt,以及程序的参考答案。
这本书的目录覆盖了从基本概念到逐步进阶的编程技能,帮助学生逐步掌握编程思维。 第一章“顺序结构”介绍了计算机设计语言的基本概念,包括第一个C++程序的编写。例如,【例 2.1】 "Hello World" 是编程入门的经典...