对于编程的一些思考

首先要确定你的目标:你是要加入程序员的队伍?亦或仅仅是处于兴趣想了解一下编程?

我这里只想说说第一种考虑,因为这时候你就需要开始要弄明白自己是不是适合编程?

其实编程跟写作,画画,写歌曲一样是属于脑力劳动,虽然我们在进行这件事的时候需要不停的敲动键盘,甚至跟人不停的沟通,但总的来说,大脑才是最重要的,拥有灵活严谨的逻辑思维能力,就是让你成为一个不错的程序员基本素质要求,所以编程毫无疑问的属于智力活动。前面的话说道这里,听上去有些高大上,假大空,看上去有些王婆卖瓜之嫌,但是其实我并不是想说编程有多么的凌驾于其它职业之上,因为在很多人看来是智力活动又如何呢?反正老子赚的钱比你多!谈到钱多钱少的问题,真是无解啊!

不要以为我前面的几句话跑题了,其实我是想说所以你特别需要搞清楚自己是不是真的热爱这个职业,这不仅仅是你从事编程这个职业之前需要考虑的问题,当你选择任何一个职业作为你人生职业生涯的起点之时,为了不愧对自己,你都应该问问自己这个问题,然后认真思考一下。那么钱不要考虑吗?说实话,在这个行业里做了这么久了,各种各样的人都见过了,都说编程是高薪行业,但是实际上二三线城市一两千块一个月的码农到处都是,就算是北上广深,刚刚入门的3、4K工资的程序猿也大有人在,但是在另外一个端点上,年薪二十多万,三十多万,四十多万,甚至六十多万一百万的人也一样有,而且还并不少数。我的意思是,如果你不是真的热爱这个行业,仅仅是凭着对金钱的执着,你可能很快就会放弃了,根本无法从起点开始走完之后的路,因为现实最能打击现实的人,无休止的加班,永不停息的学习技术,高强度的工作压力,对很多现实的人来说这都过于残酷,所以如果没有点理想,你的热情很快就会被磨灭。

那么如何提高自己的热情和对本职业的喜爱?我的观点是“分享”,时刻保持跟周围的人交流,不断的与大家分享你的技术进步,在分享技术进步的过程中享受别人对你的认可,这样就会形成良性循环,让你不断的进步,不断的分享。

一个根本的原则就是一定要尽可能的提高代码的复用性,

如何提高自己的程序员素养逼格的问题。

因为写程序员是智力活动,所以程序员一般接触的人也大多是脑力劳动者,所以既然大家都是搞智力活动的,多看几本书必然是很有必要的,专业为主,其它学科为辅。一般而言大家不会因为你工资低而看不起你,但是如果你搞不定事情,知识匮乏,就会让周围的人很反感。与人沟通要注意口气,可能涉及到对方利益的话题要尽量说的委婉,不要太过生硬,总之要给人你是优雅有格调的人这样的印象,会让人给你大大的加分。说话不要太偏激,适时的客观的评论问题,不要过多的加入自己的感情色彩,但要保持自己思维的独特性,最好能对专业问题提出独到的见解,这都是会为你的职业生涯加分的。

3-------------------------

时间: 2024-10-21 19:58:16

对于编程的一些思考的相关文章

安装python爬虫scrapy踩过的那些坑和编程外的思考

这些天应朋友的要求抓取某个论坛帖子的信息,网上搜索了一下开源的爬虫资料,看了许多对于开源爬虫的比较发现开源爬虫scrapy比较好用.但是以前一直用的java和php,对python不熟悉,于是花一天时间粗略了解了一遍python的基础知识.然后就开干了,没想到的配置一个运行环境就花了我一天时间.下面记录下安装和配置scrapy踩过的那些坑吧. 运行环境:CentOS 6.0 虚拟机 开始上来先得安装python运行环境.然而我运行了一下python命令,发现已经自带了,窃(大)喜(坑).于是go

关于多线程编程的一点思考

多线程编程主要是为了解决处理慢的问题. 使用多个线程进行并发处理资源,使用的模型最多的还是生产者消费者模型. ------------------------------------------------------ 目前我遇到的问题或者体会主要有两个: 1.生产者产生速度不能大于消费者的速度,否则总有一天内存会被撑爆. 有合理的调度,能让消费者及时处理数据. 2.生产者生产过程中不能产生重复数据,类似循环扫描的会产生重复数据.

关于面向对象编程的一点思考

面向对象编程的对象有两种,第一种是现实世界中的对象在软件中的表示(暗含了类间的一部分关系,如包含等),另一种是为了表示现实世界中对象之间相互作用而虚构起来的类(暗含了类间的另一部分关系,如协作等).面向对象的思维有两种突出表现形式,第一种是专注于对象本身的活动,尽量让对象本身的活动限制在自身,当然那些本来就需要其他对象协助的工作是决不能让一个类自身完全负责的,这种表现形式得到的是高内聚.低内聚性:第二种表现形式是面向契约编程,在第一种表现形式中还要求不能只关注于某个具体类本身的活动,需要的是进行

裸机编程与OS环境编程的有关思考

这里的所谓的裸机编程指的是为“无OS支持的硬件系统编程”,而实际的编程工作肯定需要一个环境,通常这样的情况中,编程和编译的环境叫做“宿主机”,最终的程序在“目标机”上运行(交叉编译).而OS环境编程指的是最终运行的程序是在有操作系统支持的环境中运行,而编程和编译的环境,可能是运行程序的机器(本地编译),也可能不是(交叉编译). 裸机编程现在主要是正对低端的嵌入式系统,如SCM(single chip machine).各式MCU.DSP等.当然,编写PC的bootloader肯定也属于裸机编程.

何为编程思想?

有一个很不错的概念叫做“Unknown Unknown”,意思是如果你不知道一个东西的话,你也不会知道你自己不知道它. 众所周知大家所熟悉的主流编程思想还是面向对象编程,然而,并不是只存在于这一种方式.我们要习惯去怀疑生活工作中的一些既定的理论和方法,没有确凿理论依据的出现,我们还是要相信有其他的情况,只是我们还没有发现它. 面向对象OOP 面向对象的编程思想最大的特色就是可以编写自己所需的数据类型,以更好的解决问题.“类”就是描述了一组有相同特性(属性)和相同行为(方法)的集合. 抽象成了其中

GPU 编程 global memory 的使用

最近做作业,发现了一个一直不理解的问题终于明白了,高兴! block只是用来划分task. block和device memory 访问没有对应关系. block可以访问任一device memory的内容. 之前,以为block只能访问划分给它的那块数据!! 比如以前提过的两矩阵乘法, 矩阵小块可以除了访问该矩阵小块对应的device memory,还访问了同一列分区和同一行分区的 device memory. 但是,block在写device memory的时候,就需要注意了! 总之: bl

《编程珠玑》阅读笔记一

先看了开头的目录,第一感觉是这本书就和一个编程教材似的,先是算法,后面又在讲数据结构,编写程序什么的.但是仔细去看才发现原来是我想的太简单了.前几个章节主要就是围绕几个算法来写的,就比如作者一直在提的二分法查找.这个我就不说了相信大家也都很了解这个算法啦~ 看完前面的章节,真的是感受到算法的无穷魅力,一种灵活的多变的编程思想.真的不愧是计算机科学方面的经典名著.里面围绕着程序设计人员面对的一系列实际问题展开.就比如一开始,就向读者提出了三个挺好玩的题目,后面也都对这些问题做了很详细的解释.里面也

关于除以2的n次方求余数的思考

本人由于刚接触编程不久,思考的问题没有大家的那么深入.这次我仅仅只是一点基于学习的思考.今天在家里复习学校学过的功课,关于运算操作符的那一章节.  编写一个程序:从界面输入一个整数,要求求该数除以8后的余数.这个题目确实很简单,只要用%运算即可.但是我写出代码后发现编译器对于负数求模运算后所得的余数是负数.当然大家很容易想到此时加上除数即可达到题目的要求.我想这个代码大都会写,我就不再细述,但是今天我想输得方法并不是此.一个整型(int)占4个字节,每个字节8位.那么每个int占32个位.如果我

Java基础之网络编程

Java网络编程 课前思考1. 什么是TCP/IP协议?2. TCP/IP有哪两种传输协议,各有什么特点?3. 什么是URL?4. URL和IP地址有什么样的关系?5. 什么叫套接字(Socket)?6. 套接字(Socket)和TCP/IP协议的关系?7. URL和套接字(Socket)的关系?8.1 网络编程基本概念,TCP/IP协议简介 8.1.1 网络基础知识      网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯.网络编程中有两个主要的问题,一个是如何准确的定位网络