how-to-self-programming
how-to-self-programming copied to clipboard
如何自学编程
最近看到挺多朋友有兴趣学编程,我以前简单的推荐了一个方法,买书自学,现在多一点介绍吧。
这里的方法适用一个新手或者零基础的朋友开始学习一门编程语言。
选择编程语言
如果你已经有中意的编程语言,请跳过。
如果你想做一个软件,那么是什么类型的,例如:app、网站、电脑软件、游戏。
几种场景举例
| 软件类型 | 编程语言 | 说明 |
|---|---|---|
| 网站 | php、asp.net、Java、python、node.js、js | 网站开发有区分前后端 |
| 苹果app | objective-c、Swift | 目前最流行是objective-c,未来趋势可能是Swift |
| 安卓app | Java、Kotlin | 注意安卓的Java和标准的Java有一些不一样,搜索资料的时候直接搜索『安卓』即可,现在谷歌官方开始支持Kotlin。 |
| Windows软件 | C#、C++ | C#简单好入门,相对性能弱很多,C++入门很难,但是性能好,能做的事情多。 |
以上都是介绍的语言挂一漏万,如果遗漏您的语言,非常抱歉。想要了解更细致,请使用搜索引擎。
更多编程语言介绍
学习准备
去京东、当当、亚马逊搜索你选择的编程语言(以下使用『php』举例),然后在前几个商品里面选择一本销量比较高的入门书籍即可。可能书的质量一般,但是也够用了。
找一个线上教程,使用谷歌或者bing.com搜索『php 教程』,搜索结果中的前几个网站都不错,你看看那个网站的教学比较适合,你自己选一个。
实体书和线上教程,你可以都选择,也可以只选择一个,我以前学习php的时候就是看着线上教程自学。
开发环境搭建
搜索『php 开发环境搭建』,可能还需要加上你的操作系统,如Windows、mac,在前几个搜索结果选一个你看起来不错,按步骤执行,如果遇到问题,就继续搜索。
另外有些编程语言需要单独下载安装ide(集成编辑环境),搜索『php 最好的ide』即可,看前几个搜索结果。
注意,很多人会卡在这一步,尤其是电脑知识不好的朋友,我们工作的时候,新来的同事有时候就需要一两天才能完成,但是你完成了这一步,后面你只要坚持不断自学就行了。
另外我后面会再补充一下各种编程语言开发环境搭建的教程,也欢迎大家贡献。
环境搭建教程:
- windows下php开发环境搭建
写第一行代码
php
<?php
echo "hello world";
?>
java
public class HelloWorld
{
public static void main(String[] args)
{
System.out.println("Hello,World!");
}
}
c
#include <stdio.h>
int main()
{
printf("Hello,World!");
return 1;
}
C++
#include <iostream>
using namespace std;
int main()
{
cout << "Hello,World!" << endl;
return 0;
}
python
print("Hello,World!")
现在你已经完成你的第一行代码了,你可以按照你买的书和线上教程不断写更多代码,遇到问题就搜索和自己不断尝试。
推荐网站
菜鸟教程 里面有大量免费的文字教程,包含多种语言教程。
慕课网 里面有大量的视频教程,包含多种语言教程。
MDN Web 文档 Mozilla 开发者网络,主要是web相关。
廖雪峰的官方网站 Python、JavaScript、Git免费教程。
php中文网 主要是php教程,需要注册。
w3school 在线教程 里面有大量免费的文字教程,包含多种语言教程。
实验楼 提供远程虚拟机,需要注册,部分内容收费。
百度前端技术学院 百度前端技术学院是面向大学生的前端技术学习平台,由百度创办的免费前端技术学习实践、交流、分享平台。
推荐书籍
《代码整洁之道》
《设计模式》
《深入理解计算机系统(原书第2版)》
《计算机程序的构造和解释》
《算法导论(原书第2版)》
《人月神话(40周年中文纪念版)》
《重构》
《代码大全(第2版)》
《程序员修炼之道》
这几本是通用的,不管做什么方向的开发,但是你可能需要花两三年时间才能看完。先买一两本,看了再买新的,一本书你可能需要看几周时间。有些书,你每次看都有新的体会,所以建议买纸质版,以后可以多次看。
我能帮助你的
一个编程学习互助群:167769030、638504315 密码:每天自学编程,我会在群里面帮助大家解决一下问题,也会分享一些学习文章,另外我再邀请一些朋友过来帮大家解决问题,但是最重要的还是你自己。
另外我会把每一个编程语言的新手指南都写一篇教程,方便大家更好的学习。