互联网时代程序员如何避免知识半衰期?

  什么是程序员的知识半衰期?这与我们国家的五年计划类似,换句话说,你所知道的编程知识很有可能才五年后过时,类似的感悟是:“我现在写代码的水平落后了,因为自己知道这套语言已经过时了。”

  起初,这似乎也合情合理。毕竟,有一个新的编程语言和技术出来络绎不绝。不过,我认为这是错误的。编程知识语言甚至比人的寿命还要长,因为他们永远都不会灭亡。例如:VB,ASP。

  语法并不难

  刚开始学习新的编程语言的时候,当自己还不是一名程序员的时候,学习python语言或者学习java的时候你听起来就像学英语,但是当你已经会来英语的时候再去学习新的语法,其实这个时候仅仅只是一个表面的难度,所有的核心概念是相同的。

  要在任何语言编写一个程序,你使用类似类型,数据结构和逻辑基础。如果您已经了解布尔,整数,浮点数和字符串,它们有可能在新的语言使用为好。这些同样适用于像列表,集合,字典和树的数据结构。并使用逻辑将是算术运算,if语句,循环,函数调用等。

  此外,关键的技能,如该算法使用,如何分解问题,变量的命名和功能都在一个新的语言直接使用。这是通用编程知识语言之间轻松传输。借用“没有银弹”的术语:语言的语法是偶然的知识,而不是如何编程的基本知识。

  这同样适用于库和工具。即使你不知道的表达究竟是如何经常在一个新的语言是用来做什么,但是你应该知道,有对这些知识才有可能得到最大的支持。查找有关如何使用它们的细节是不困难的部分,而是如何利用他们是有价值的知识。与IDE等工具,同样的事情 - 你可能不知道的细节,但你知道你可以通过他们来做你想做的事情。

  所以,学习一门新的语言是不是一个大问题。但是,如果你换工作,可能仍存在很多东西需要学习。我想它在3个维度的知识。

  知识三维

  编程:这被编程语言,模式,技术和工具。就像我上面写的,有很多核心概念是一样的,即使细节(如语法)变化。

  域:这个你知道在其中使用的程序的环境的内容。例如,如果你在电信工作,它是各种协议如何工作的知识,短信如何处理,计费和监控是如何完成的等你在某个部门工作的时间越长,你越了解它,和更有价值您的贡献即可。

  代码库:这是特定的公司。当你已经工作了很长一段时间,你知道周围的代码的方式。你知道的事情都做了,哪些部分是棘手和直观,而为什么有些东西是做某种方式的历史。

  保持学习很重要

  作为一个程序员,你是当你在所有三个方面有见地的最有价值的。如果你换工作,这是不可避免的,你将一无所知学习新的语言代码 - 您只需在挖掘和学习。

  不过,你所学到的关于编程和域将是有益的,即使你换工作。知道几种编程语言会给你的事情是如何做不同的(即使基本面是一样的)的参考点。这也是很好的一般阅读软件开发的书籍,如代码完成,干净的代码程序员修炼。

  最后,我认为上述这些使软件开发有趣和令人兴奋的事情,总有一些东西要学。你永远不会觉得无聊。因此,保持学习。你最了解什么语言会令你成为一个更好的开发者,即使每年有新的代码语言诞生。

时间: 2024-10-16 01:08:30

互联网时代程序员如何避免知识半衰期?的相关文章

黑马程序员——集合基础知识(泛型)

集合:泛型基础知识 泛型.(泛型就是类型参数化,默认的时object,虽然不用强制类型转换,这个就要你自己去写特性方法,比如compareto是string的特有方法吧,你可以写但是父类肯定调用不了) itnex t对象都是obj要使用对象的特性功能必须强.编译的时候没问题,因为都不知道你会传什么对象,你橙子也可以当作apple来传,设计的时候并不知道! 泛型作用.1.用于解决安全问题.运行时期出现的问题classcastexception转移到编译时期.2.迭代器里面的itnext()不用强转

黑马程序员——集合基础知识(Collection)

集合基础知识 数组:长度固定,可存基本数据和对象. 集合:只能放对象,不固定.容器也有共性,不断抽取成一个体系,集合框架.参阅顶层创建底层.顶层是collection.collection里有两个常见的接口,List和Set.常见集合有Arraylist,linkedlist,vector,hashSet TreeSet.为什么会出现这么多的容器呢,因为每一个容器对数据的存储方式都有不一样,.这个存储方式称之为数据结构!!因为他们的特点不一样 list因为有脚标存储和删除的效率很低,Set的效率

黑马程序员——集合基础知识(Map)

Map概念 要同时存储两个元素,他们之间有映射关系,每个键不能重复,每个键只能映射到一个值. 存储键值对,并且键是唯一的. 1.添加. put()如果添加的键原来有值,后添加的值会覆盖前面的值,并返回之前的值. 2.删除 remove()按键删除. 3.判断 4.获取 get(object key) size() value()拿值value返回的是值的集合... HashTable 底层是哈西数据结构,不可以存入null键null值,线程同步. HashMap 底层是哈西表数据结构,允许使用n

黑马程序员——Java基础知识之多线程协同

多线程协同 线程间的通讯:对资源的操作动作不同,比如说两个卡车一个拉煤一个装煤,但是他们共享了一个资源. 怎么样把这个资源拿出来?怎样把车装满?这个资源当然是一个类,他里面的组成元素就是对象!!现在我们就要有操作对象的思想了,用对象把这车装满,现在一车装一个对象. 等待唤醒机制: 用的不是sleep是wait.flag标记,这是两人沟通的方式.其实每个标记就要做一次等待或者notify,判断wait,改值notify.线程池.notify唤醒里面的线程,按顺序唤醒.wait和notify必须用在

新手程序员必备的知识储备有哪些

很多学习了北风网专业课程的朋友,都能如愿到心仪的相关企业任职,首先,北风网向你们表示祝贺,同时关于新手程序员所需要的知识储备情况,特此总结了一篇文章,以供参考: 1.版本控制系统(VCS) VCS 也许是计算机课程最大的疏漏.这些课程光记得教如何写代码,但却往往忘记教学生如何去管理代码.每一个程序员都应该懂得利用 Git 或 Subversion 有效地创建 repository(仓库),编辑与提交代码,进行分支与合并,了解项目工作流. 2.学会写作 身为程序员要写的不只有代码.你还要写项目的发

程序员,是知识工作者,还是体力工作者?

看了标题,你们或许以为我要吐槽程序员了.                                                                           其实,这只是我在看<卓有成效的管理者>时,萌发的一个想法. 我并不想一上来就填上自己挖的坑,而是先简单谈谈,彼得·德鲁克在书中提出的三个概念,这三个概念分别是: ·知识工作者 ·有效工作 ·管理者 弄懂这三个概念,或许你们对程序员,对你们现在正在做的职业,到底是知识工作者,还是体力工作者,已经有了自己的看法

黑马程序员_JavaSE基础知识总结一:Java编程前奏

------ android培训.java培训.期待与您交流! ---------- 一.计算机概述 1.软硬件与语言 根据冯·诺依曼体系结构,计算机可以划分为五个部分:存储器.运算器.控制器.输入设备.输出设备.我们可以更加简单地把计算机划分为软硬件两个部分,硬件是指计算机系统中由电子,机械和光电元件等组成的各种物理装置,这些物理装置按系统结构的要求构成一个有机整体为计算机软件运行提供物质基础,常见如显示器.扫描仪.键盘等:软件是一系列按照特定顺序组织的计算机数据和指令的集合,又可分为系统软件

年薪50W程序员必备Linux知识 — 零起点学习Linux系列

年薪50W程序员必备,零点学习Linux系列视频教程 闺蜜推荐的Linux学习资料,就需要这个视频了 楼主也是买的学习视频,支付然后加楼主微信 (171301011)索取视频 原文地址:https://www.cnblogs.com/videoer/p/11628992.html

黑马程序员——C语言知识小节------初学者容易忽略的知识点

这两天复习了之前学习的C语言基础知识,发现了许多对于初学者来说重要但是却容易被忽略的问题,在此总结一下,与君共勉. 1.程序中如果用到头文件stdio.h的内容,即使不写#include <stdio.h>程序也可以正常运行,只会警告,不会报错.这是因为链接程序会自动链接库函数.所以如果使用了非库函数的头文件,就必须要写头文件,不然程序就会报错. 2.在使用scanf函数输入参数时,若以空格作为分隔,如: int a, b; scanf("%d %d", &a, &