学编程还去培训机构?你只是缺一个指路人,来自学吧!咱不花钱

本文强调了学习编程要有目的性,根据个人职业目标选择编程方向。介绍了前端开发、后端开发、移动App开发、算法工程师、游戏开发和嵌入式开发等岗位所需的技能,并给出了学习路径。初学者可以从C语言开始学习,了解编程基础。
摘要由CSDN通过智能技术生成

上上节更新了关于如何不花钱自学编程的内容,发现很多朋友都有想学编程的想法,但无奈在这方面是完完全全的小白,连编程的门都找不到,更不要谈入门了。很多朋友给我发私信,基本都是在咨询,完全不知道从何开始,也不知道要学什么。

本人一直强调:学习编程不可盲目,一定要有目的性。在学习编程前,需要明白学完编程后自己究竟想从事哪方面的工作。例如:网站开发、安卓APP开发、游戏开发等等。。。每个职能岗位需求的技能不同,所需要学习的知识也不同。

总体的学习路径为:先学习编程语言(C/C++、Java、Python等)->学习应用框架(开发网页用的Spring、Django,开发APP用的Application Framework等)->学习工具(数据库、分布式等)->其他编程手段(Socket网络编程–可以实现视频聊天等);

重要

【初学者先根据后文的分析选择一门编程语言入门】,而大部分现代编程语言都是脱胎于C语言,所以基本的语法(变量、运算符、逻辑、分支结构、循环、表达式等)都大差不差,只是不同语言,写法不一样。建议各位可以试着学习C语言前几章,学到指针就不需要学了,大概(2~3周可以学会)。

下节开始,小编会就这部分基础进行教学,感兴趣的朋友可以订阅专栏一起自学。

》》》》》鉴于很多朋友对互联网行业(主要是程序员职业)还不是太了解,小编就在这里以岗位出发,总结各职能岗位所需要学习的知识,以及所有职能岗位入门都可以学习的通识。

2019全国市场程序员职能需求

我们先看一组数据–来自某招聘平台xx聘的【2019全国市场程序员职能需求分析】显示:目前市场上比较火热的职位有:服务端开发(主要针对WEB网站)、WEB网站前端开发、移动应用开发(安卓和苹果应用)、算法工程师(例如头条的推荐算法、企鹅的游戏算法等)、数据库开发、嵌入式开发(智能硬件,如摩拜单车的智能锁)、游戏开发。
在这里插入图片描述
这几个是当下社会需求量较大的职位,下面就针对这些岗位一一分析需要学习哪些知识。

网站(WEB)前端开发

何为前端开发?简单的说,你现在正在看的头条网页,为什么它的页面排版排的这么整齐,图片、文字、表格、颜色井然有序?这都是前端的功劳,我们所看到的基本都是前端做出来的,后端为前端提供数据,前端负责展示给观众。小到一个输入框,大到一个绚丽的3D动效都是前端做的。同时前端相对而言也比较简单,女生一般都是从事前端开发。

前端的核心是HTML+CSS+JavaScript。HTML是一门网页元素标签语言,就是网页上的元素,如:输入框、图片、表格等。而CSS则是负责将HTML这些元素排版的,比如:这个输入框该在那个位置?什么颜色?大小?等等。最重要的:JavaScript,负责与后台交互,发送数据给后台服务器和从后台服务器取数据。比如,春运抢票,这个站还有多少张票你都是要取服务器后台取出来再呈现给观众的。

前端的学习路线比较简单:在这里插入图片描述

服务端(后端)开发

后端开发是相对前台而言的。后台主要负责数据和资源存储及处理。不管你是网页还是APP,数据都是通过后端送给前台,再由前台展现的。比如,你现在看到的头条文章,它的原始数据就是存放在后台服务器,当你通过前端请求这篇文章时,后台代码会先处理请求,然后查询到数据,在将数据反馈给前台,最后前端通过渲染呈现给你。

后端还需要负责复杂的逻辑处理,比如,谁可以看到这篇文章的全部内容(购买了专栏才可以看全部),谁只能看部分内容?以及当一篇文章同时被很多人点击时的高并发问题,这些都需要后端处理。后端技术繁杂且难度较高,后端的代码好坏直接决定网站的速度和流畅性。

后端需要掌握的知识面较多,除基本的编程语言(Java、Python、Php等)外,还需要掌握数据库、框架(Spring、Django、flask),分布式存储、多线程、Linux、各种类文件的处理(图片、压缩档)等。后端根据使用的编程语言不同,学习路线也不同,这里主要介绍Java和Python两种(大型网站一般用Java、中小型用Python)

先看Java后端的学习路线图:主要还是以WEB为主,Java后端主要利用的是Spring框架,所以在Java基础语法完成后,框架的熟悉至关重要。在这里插入图片描述

Python后端开发学习路线:在这里插入图片描述

移动App开发

移动APP目前主流的只有安卓和苹果两个系统,安卓用Java语言开发、苹果用Swift或者Object-c语言开发。移动App开发也分前后端,前端知识跟网页端的原理差不多,但是针对移动端,前端框架不同。比如最流行的Vue.js框架,在移动端有一个叫Mint UI的前端框架。前端着这里就不分享了,大差不差,主要还是系统差别造成的后台开发需要学习的知识不同,例如:安卓系统有用的Sqlite这个轻量级数据库,前文提到的服务端的知识在移动APP开发中同样也是需要的。

安卓APP开发学习路线图:在这里插入图片描述

iosApp开发学习路线图:Swift或者Object-c择一学习即可。在这里插入图片描述

算法工程师

算法工程师其实很大程度已经脱离编程了,而是更高级别的,按我的理解属于架构级别。那是一般程序员可望不可及的层级。除了要对编程十分了解,还需要一定的数学知识和计算机底层知识。这里可以先给大家分享,收藏后续有往这方面发展再用。

基础算法:主要牵涉数据结构,需要一门编程语言打底,什么语言都可以在这里插入图片描述

高级算法:建议先学Python。在这里插入图片描述

游戏开发

提到现代游戏开发,必定离不开unity,不管是3D还是2D,unity在游戏领域绝对是老大哥的存在。就连某迅的王者荣耀也是unity引擎开发的。而C#作为Unity御用脚本语言自然是必须掌握的,另外还需要掌握Unity的API和UI框架等。在这里插入图片描述

嵌入式开发

嵌入式开发在IOT(物联网)领域是十分重要的角色,嵌入式其实是一种专用的计算机系统。嵌入式系统是软件和硬件的综合体。所以,嵌入式对计算机底层知识要求比较高,而C语言和C++无疑是最接近底层的语言。另外嵌入式系统一般搭载Linux系统,所以Linux知识也是必不可少。在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值