全文大约【4000】字,不说废话,只讲可以让你学到技术、明白原理的纯干货!

在正式开始本系列教程之前,壹哥希望先用一篇文章,来扫清你学习前的认知障碍。请坚定自己的学习信念,不要半途而废浪费时间,壹哥希望各位要么就不学,要么就学会!!!

一. 程序员那点事儿

我们知道,每年都会有各种各样不同行业的薪酬排行榜,就比如下面这张图:

如果你心搜索过近20年不同行业的薪资排行榜,你就会发现,IT行业的薪酬排名在这20年间几乎都是在前3名之内!所以这也就导致了国内几乎每一所大中专院校都开设了计算机相关专业,但计算机尤其是软件编程的人才缺口依然很大,从而推动软件行业的薪资依然屡创新高。

而随着未来社会的进一步发展和智能化的普及,更是需要大量的软件项目来满足人类的智能化和便捷化需求。试问,这些大量的软件项目由谁来开发?毫无疑问!那就是程序员呗!正是这些程序员通过编程实现了我们日常生活中见到的各种软件项目,丰富和便利了我们的生活,所以请大家为这些程序员们点个赞呗。

另外IT行业其实是一个大的行业分类,里面不止是程序员一个岗位,还包括产品、测试、运维、设计、推广等各种类型的职位,但无疑程序员是其中最核心的岗位!so,既然你想投身IT行业,为什么不去从事最核心的岗位呢?

壹哥在上面说过,虽然现在每年都有大量的计算机专业毕业生,但依然无法完全满足市场的缺口,这就给了其他专业的人员进入IT行业的机会。所以,如果你不是计算机专业毕业的,甚至连大学都没上过,那么能不能做程序员呢?壹哥可以非常肯定的用一个字来告诉你,绝对能!!!

有的小伙伴可能会很好奇,那如果想成为程序员该怎么办呢?没别的途径,想成为程序员的前提是你得会编程、懂编程!不会怎么办?学呗!可以在大学里选择计算机专业,购买编程书籍,或者直接在网上搜各种免费的编程视频、博客等,总之学习资料非常多!

IT行业很开放,也很公平!只要你想进,就可以进入;只要你努力付出,就可以得到对得起自己的回报!

壹哥其实不想给大家熬鸡汤,只是见过太多半途而废的人。他们羡慕程序员的高薪,兴冲冲地开始学习编程,结果学了几天几个月就放弃了,浪费自己的时间和精力。所以壹哥希望有志于成为程序员的朋友,要么现在就开始,要么就别开始!

二. 编程到底咋回事

在上面的章节中,壹哥给大家多次提到了【编程】的概念。那么对于行业小白来说,【编程】到底是咋回事呢?壹哥还是有必要先给懵懂的你解释一下。

所谓的编程,其实就是编写程序的简称!也就是利用计算机的代码来解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。

小白:说人话行不行?

壹哥:好的,安排!

其实我们大家不用把“编程”想的那么神秘,你完全可以把“编程”理解成农民工盖房子。

首先有个房地产老板,他想开发一个小区。但他并不会想干立马就干,必须经过很慎重的大量的前期调研、考察,盖好的这个小区是否合规合法,能不能卖出去,能不能赚钱,这是项目的可行性前提条件。

可行性确定之后,房地产老板会进行需求分析。自己到底想要盖出来一个什么样的小区,是别墅区还是高端小区,还是保障房?老板会有一个自己的需求目标。

基本的需求确定了之后,接着老板会找专业的设计师进行房屋设计和规划,整个小区的下水道、绿化、楼栋、户型、车位、风格等都交给这些专业的设计师去设计。设计的过程中,设计师要不断的请示老板看看是否符合老板的要求,合格就完事,不合格再修改,不断反复。

等到把设计完成,老板就会找施工队,施工人员进场施工。其实我们这些程序员,就相当于是这些具体的施工人员,按照设计图纸把房子盖出来就好了。我们的编码过程,其实就和这个步骤很类似!

在盖房的过程中,会有监理人员对房子的质量进行检查,合格的就下一步,不合格就推倒重建或修改。直到最后房子验收合格,老板确认,房子交付给用户使用。

三. 为什么要学Java

明白了“编程”的含义之后,可能有不少朋友已经蠢蠢欲动了,觉得编程也不过如此,那还等什么,赶紧搞起来吧。但在各位真正地学习编程技术之前,你一定要搞清楚一件事,你具体要学习哪一门“编程技术”?

啥?难道“编程”技术还分很多种吗?!是的哦!

还是农民工盖房子,虽然大家都是盖房子的,但其实有的人擅长盖民宅,有的人擅长盖工厂的烟筒,有的人擅长盖厂房,也就是说大家的特长是有侧重的!

在编程领域也是这样。目前有各种不同的编程技术,比如Java、Python、Android、iOS、Go、C、C#、C++、H5、Defi等几百种编程语言。so,在这些众多的编程语言中,我们该学习哪个呢?

壹哥首先要告诉大家,其实我们无论学习哪种语言都可以,只要你能学的精通,就怕你啥都知道一点,但啥都没学好!好比我们玩枪,有汉阳造、三八大盖、莫辛纳甘、盒子炮、M16、AK47、81杠......对一个顶级狙击手来说,他用哪个枪都能对敌人造成巨大的伤害;而对一个菜鸡来说,你给他一把大狙,他也未必有人家用老套筒杀的敌人多。

所以,至于你想选择使用哪把枪,其实你可以按照自己的兴趣来。有的人就喜欢高科技新枪,有的人就喜欢复古风格玩古董。

但实际上这些不同的枪之间,也确实存在很大的差异!在两个人水平相当的情况下,AK47绝对可以稳稳地压制汉阳造!所以,排除了个人的喜好之后,壹哥给大家的建议就是,你一定要选择一把最可靠的“枪”!注意,这里壹哥说是“最可靠”,而不是说"最新"!最新的东西未必就是可靠的,实际上现在每年都会研发出很多新枪,但没过几年就都淘汰了,因为这些“枪”没有经过大量的实战检验,无法胜任真实的“战场需求”。

对于我们编程技术来说,更是如此!我们小白选择任何一个编程语言,一定不要去选择最新的技术!有的小白不懂编程领域的发展规律,听别人说最近XXX技术挺火,然后就头脑一热去学了。结果用了几个月甚至一年多的时间学完之后,这个技术凉了,你这不是浪费自己的时间吗?我们哪有那么多的试错成本!

壹哥作为一个从业十几年的行业老兵,建议大家选择Java作为自己的第一个编程语言!

Java从1995年正式发布以来,面世将近30年来,与各种语言PK几乎都是稳居前三,最近15年间更是霸榜各编程语言排行榜龙头。经过这么多年的实践考验,具有行业内人尽皆知的优势:最成熟、企业开发首选、开发者最多、世界排名第一、始终蝉联TIOBE编程语言排行榜前三列。

而且Java应用遍布全球各个行业、各个领域,你所知道的90%的软件都是Java开发的,比如:

1. 著名的12306

2. 电子商务网站——阿里、淘宝、天猫 、京东.....

3. 绝大多数电信行业的各种系统,中国移动、中国联通、中国电信......

4. 各个银行系统、金融系统、交易系统.....

5. 互联网项目

6. 证券行业系统

7. 游戏后端服务器应用

8. .......

Java广泛应用在金融、保险、电商、物流、通讯、交通、互联网等各个行业中!可以说,不管是哪个行业,哪个公司,只要他们的项目有后端,90%以上都是Java!所以,这么牛逼的编程语言,是不是足以坚定你学习下去的信心了?

更重要的是,Java并不是抱残守缺一成不变,现在Oracle公司对Java每隔半年就进行一次大的版本更新。即使是这么优秀的编程语言都还在不断地进行自我更新,你还有什么理由不更新自己的知识储备呢?

放眼当今各种编程语言,唯有Java,可以同时满足如下条件:

拥有雄厚的历史沉淀,海量的项目检验,不断的更新迭代,完整的生态支撑,最广泛的就业机会。

我们学习编程技术,其实更多的还是从就业的角度来考虑!对小白来说,我们不要去追最新最火的技术。那些技术能活几年都不一定,3年后让你失业难受不难受?比如一度非常火爆的iOS,你现在去招聘网站上搜一下iOS的招聘需求,看看还有多少。我们也不要玩一成不变的老古董,比如C语言,虽然很多地方都在用,但薪资待遇对小白来说并不友好。

但是Java既有深厚的技术沉淀,又在不断地更新以适应市场需求,并且拥有完整的生态链条,你完全不用担心学习Java后会失业。所以从就业的角度来看,学习Java作为自己的第一编程语言无疑是最好的选择!而且熟悉Java之后,就好比先学会了易筋经、九阴九阳等高深内功,再去学习其他编程语言就很轻松了。

所以作为一个过来人,壹哥强烈建议新手小白选择Java来作为自己的编程“母语”!

四. 结语

如果看了壹哥上面的这些介绍之后,你对Java的学习方向还没一个很清晰的印象,那也不用担心。今天这篇文章,算是《从零开始学Java系列》的前奏,献给对编程完全没有多少概念的小白朋友。之后,壹哥会通过一系列文章给大家进行详细的知识讲解,让大家可以尽快学会Java,少走不必要的弯路。

从零开始学习 Java 系列之你为什么要学 Java?的更多相关文章

  1. 我不是学Java的!我不是学Java的!我不是学Java的!。。。。【自我催眠中】

    我不是学Java的!我不是学Java的!我不是学Java的!....[自我催眠中]

  2. Java系列 - 用Java8新特性进行Java开发太爽了

    本人博客文章网址:https://www.peretang.com/using-java8s-new-features-to-coding-is-awesome/ 前言 从开始写博客到现在已经过去3个 ...

  3. Java系列 – 用Java8新特性进行Java开发太爽了(续)

    本人博客文章网址:https://www.peretang.com/using-java8s-new-features-to-coding-is-awesome-2/ 前言 上周, 我们谈论了关于Ja ...

  4. Java系列笔记(1) - Java 类加载与初始化

    目录 类加载器 动态加载 链接 初始化 示例 类加载器 在了解Java的机制之前,需要先了解类在JVM(Java虚拟机)中是如何加载的,这对后面理解java其它机制将有重要作用. 每个类编译后产生一个 ...

  5. 【转】O'Reilly Java系列书籍建议阅读顺序(转自蔡学庸)

    Learning Java the O'Reilly's Way (Part I) Java 技术可以说是越来越重要了,不但可以用在计算机上,甚至连电视等家电用品,行动电话.个人数字助理(PDA)等电 ...

  6. 【转载】Java系列笔记(1) - Java 类加载与初始化

    Java系列笔记(1) - Java 类加载与初始化 原文地址:http://www.cnblogs.com/zhguang/p/3154584.html 目录 类加载器 动态加载 链接 初始化 示例 ...

  7. Java系列笔记(0) - 目录和概述

    笔者在开发过程中发现自己基础太薄弱,读书时除了系统学习了一下Java的基础语法和用法.一点简单的数据结构和设计模式之外,再无深入系统的学习,而工作中的学习也是东晃一枪西晃一枪,不够扎实和系统.想到一个 ...

  8. Java是什么?我们为什么要学习Java?

    Dear All: 首先请允许我为大家介绍下什么是Java?,我们为什么要学Java? 1.Java名字的由来 : Java名字的由来,实际上是一个有趣的故事,我们所见到的Java标志,总是一杯热咖啡 ...

  9. 小白学Java:RandomAccessFile

    目录 小白学Java:RandomAccessFile 概述 继承与实现 构造器 模式设置 文件指针 操作数据 读取数据 read(byte b[])与read() 追加数据 插入数据 小白学Java ...

  10. java学习笔记系列整理说明

    java学习笔记系列整理说明 ​ 陆陆续续也巩固学习java基础也有一段时间了,这里整理了一些我认为比较的重要的知识点,供自己或者读者以后回顾和学习.这是一个学习笔记系列,有自己的整理重新撰写的部分, ...

随机推荐

  1. docker-io安装报错

    一般修改两个文件即可 1.文件 :/etc/docker/daemon.json { "storage-driver": "devicemapper" } 2. ...

  2. DorisSQL与MySQL函数对照 差异篇

    ## 1.日期函数### 时区.```mysql -> convert_tz(dt,from_tz,to_tz)doris -> CONVERT_TZ(DATETIME dt, VARCH ...

  3. 1903021126 申文骏 Java 第二周作业 代码编写及运行

    项目 内容 课程班级博客链接 19级信计班(本) 作业要求链接 Java第二周作业 博客名称 1903021126 申文骏 Java 第二周作业 代码编写及运行 要求 每道题要有题目,代码(使用插入代 ...

  4. LeetCode刷题感想之DFS

    在剑指Offer里专门有一个部分(大概是连续十几题的样子)考察了 DFS ,也就是深度优先遍历,感觉DFS 也是一种套路,只要思路找对,套一下思路也可以了,在这里记录一下. 在很多Leetcode 的 ...

  5. pwm 理解

    PWM:  假设PWM的时钟主频是 PWM_CLK_FREQ Hz,则如果需要输出频率为 xHz,占空比为 y% 的波形时, 则只需要在定时器的周期寄存器中写入(PWM_CLK_FREQ / x),在 ...

  6. vue下载图片

      async works(obj) {       await this.axios({         method: 'get',         url: `entryFormControll ...

  7. nginx中proxy_set_header Host $host的作用

    nginx配置upstream负载均衡后请求400,配置proxy_set_header Host $host成功.请问这是什么原理? proxy_set_header Host $host有什么作用 ...

  8. poi读取Excel文件,数字变成科学计数法及数字自动带上“.0”的处理办法

    解决poi解析excel遇到数值类型科学计数问题 NumberFormat nf = NumberFormat.getInstance();HSSFCell cell= hssfRow.getCell ...

  9. C# NAudio 检测声音

    using NAudio.Wave;using System;using System.Collections.Generic; namespace WinFromBaidu{ class NAudi ...

  10. IOS文件下载时,文件名的处理

    string contentType = MimeMapping.GetMimeMapping(name);var isIOS = false; if (Request.UserAgent != nu ...