首先,要成为一名优秀的程序员,必须知道计算机原理,特别是编程最终目的是干了些什么?怎么编译的?怎么连接的?其次,要求对编程很是的热爱,再者就是必备的知识基础!linux
知识基础就必须的包括如下:程序员
1.计算机语言基础(C、C++等语言) --- 计算机知识 -> 推荐平台linux 新手推荐就使用Ubuntu 算法
特别说明下: UNIX C 很是有必要去学下sql
推荐书籍:谭浩强的《C程序设计》、《鸟哥的linux私房菜》数据库
2.数据结构与算法(*)编程
·数据存储结构{堆、栈、队列、树、图}windows
·算法(排序算法、递归算法、查找……) --- 这是关键,学好了一切语言都可以轻松掌握啦!这就要很是厉害的想象力和数学基础能力数组
在这里我推荐一下关于这个算法学习的网站数据结构
1.杭电ACM(HDACM)学习
2.北大ACM
这两个网站的Acm题是真的颇有水准,一开始是会很是难,凡是一切开头难嘛,跨出第一步就好啦!
3.模板、容器(STL、JSTL……)
容器比如数组,可是又比数组灵活可变 ;模板能够使代码更加的简化,能够加强代码的可读性
4.数据库(Sqlite、MySQL、Oracle、DB2……)
数据库是存储数据的仓库。数据须要平凡的使用,就不得不对数据更好的保护,因此数据库这里必需要掌握
1.数据库基本操做(sql)
2.plsql
3.proc(*) 这个是很是有用!
----软件基础
Git 仓库使用
--------------------------------------------
linux 发行版
1.Debian 2.mint 3.Ubuntu 4.Elementy 5.CentOS 6.Archlinux 7.fedora 8.Redhat 9.deepin(国产,windows依赖者必备)