程序员的入门规划(转)

程序员的入门规划

1.我该学习什么语言?

这个问题困扰了几乎所有的程序员,比如java应用广好就业,比如php入门简单,ios和安卓待遇高,ruby和nodejs开发效率高, python是万能语言,HTML和js前端缺人才等等

个人见解:先学习难度小,大众化的编程语言,比如java,php,python,javascript,ruby,c/c++,这几个学哪一种其实差不多,入门以后看自己兴趣在进行其它语言的学习。

2.我该怎么学习编程?

这个问题是所有的程序员都有的,我也经常会疑问,到底该怎么学习呢?

个人见解:

先了解语言的特性,适用的范围场景,比如是适合web开发,还是适合客户端程序,有的适合并发多线程,有的适合异步,还有的比较稳定,适合构建大型项目,有的开发效率高,等等。

了解语言的语法和常用api的使用,比如变量的声明,循环的使用,io的读取,http服务的创建,把这些基本的语法搞清楚,在进行下一步的学习。

学习web开发之前的准备,数据库的学习,http协议的学习,html,css和javacript的常用知识了解

学习常用框架,比如java学习常用的ssh三大框架,node的学习express,一定要做2个项目练习,把自己的之前学习的知识都巩固一下,

总结一下自己学习的过程,明白编程的思想在哪里,思路在哪里,学习编程,首先应该培养的是编程的思维和思想,有个正确的思维后面都简单多了。

养成写博客或者学习笔记的习惯,推荐写博客,

熟悉项目管理工具,svn,git之类的必须要会,工作中这些都是必须的

准备面试,通过面试题进一步巩固自己的知识,夯实基础。

3.我应该去哪里学习编程?

其实这个看个人,如果自学能力强,自控能力强,自学挺好的,下面我列举几个程序员常用的网站

网易云课堂,很多免费的视频课程,适合入门学习

慕课网,很多it入门教学视频,资源也不错

极客学院,和前两个网站差不多,

北风网,类似的教学网站,其它的就不说了

腾讯课堂,最近发展起来的,资源也不少

4.编程遇到问题怎么办?

百度或者谷歌看看网上有没有类似的问题,一回生,二回熟,很快就明白了

去官网查看api文档查找原因

自己要学会debug代码,查找原因

去各大论坛逛逛,说不定早有人提问此类问题了

推荐几个权威的论坛:

stack overflow 国外权威论坛

github 开发人员必备

博客园 都是干货,就是页面太丑

csdn论坛 个人感觉东西太多,有点杂乱的感觉

cnode社区,nodejs最活跃的社区,前端开发者必去

segmentfault,本社区肯定是要推荐的

5.我想看编程的书籍去哪找呢?

经典书籍还是买纸质的,买正版的,支持正版!

新浪微盘,非常多的it书籍

脚本之家,非常多的pdf书籍,可惜大多数不是文字版pdf

英文原版书籍,都是高清文字版pdf,强烈推荐,都是英文原版的

计算机书控,都是免费的pdf文档,大多数不是文字版pdf

免费开源书籍,网上比较好的资源,强烈推荐

udn开源文档,后端文档为主,强烈推荐

6.学习心态

不要老是折腾工具,ide工具和文本编辑器一样一个就够了

不要自满,编程的东西学一辈子也学不会,要谦虚好学

不要急躁,既然知识学不完,我们应该掌握学习方法,指定计划去学习

要持之以恒,学习是一辈子的事,如果你没有这个打算,还是不要做程序员的好

切忌眼高手低,必须要敲代码才能达到效果

7.编程进阶之路

当有了一定的编程基础之后,最大的问题是确定自己的方向,这个时候最容易迷茫和困惑,学习什么技术?
怎么去学,这些真的很难
8.练习什么项目?

学习完基本知识,到底写什么项目呢?我也天天在问自己这个问题。如果你实在不知道做什么,我这有个项目清单,仅供参考:

写一个图书管理系统

写一个自己的博客网站

写一个cms后台管理系统

写一个文件服务器

写一个商城网站

写一个即时聊天系统(广播,私聊,群聊)

写一个微信自动回复机器人

写编辑器插件(atom,vscode等等)

写搜索引擎


-个人建议如下:
1.技术型方向:提高自己的编程能力和语言造诣,最有效的是"造*",量变引起质变
2.业务型方向:提高自己的业务能力,和客户的沟通能力,分析需求,解决客户的难题