「大学生学编程系列」第二篇:如何选择第一门编程语言?

简介: 如何选择第一门编程语言?

第一篇讲述了为什么要选择做一名程序员,从源头上讲述要想成为一名程序员需要很强的驱动力,因为编程相对而言算是比较难入门的一个职业。在入门之前必须有克服困难的勇气,有成为一名程序员的决心

有了决心和信心了,剩下的就是加足马力开干了,问题又来了怎么干,选什么样子的编程语言适合自学入手?要根据自身的实际情况出发选择编程语言切入。完全的零基础学习编程相对来讲要费劲很多,如果要学习建议先从计算机组成原理开始入手学习,对于零基础的来说,开始学习一般来讲都会信心百倍,要懂得保持住这份信念,所以上来不要把这份信心给打没了,先让自己缓冲一段时间,先从简单的入手,学习一段时间慢慢培养计算机语感,如同学习英文也需要培养语感是一样的,了解计算机基本的框架结构,进制之间是如何转化的,cpu和内存以及硬盘之间是如何关联的。不但涨了知识还能进一步培养自己的自信心。

如何选择第一门编程语言?

选择编程语言主要从以下几点入手:

1.第一优先级选择自己喜欢的编程语言,兴趣才是第一老师,这个可能和编程语言的难易程度以及是不是很好找工作多少有点冲突,因为喜欢就会舍得下功夫去钻研学习,人有时候就怕较真,一旦较真就没有干不成的事情,所以先选择自己喜欢的语言,可能有人会觉得自己喜欢,不好找工作不也是白扯,其实之所以选择这条就是因为喜欢,正是因为喜欢才能学的足够好,足够出色,才能学出花样来。任何一种编程都有其存在的意义,现在很多人觉得学习C语言了不好找工作,但在通讯领域,以及嵌入式领域需求也是大的惊人,更重要的是现在很多编程语言的底层实现就是c语言,不要随随便便说那种语言已经过时了,不是过时有些领域只有你足够牛逼才能够得上,所以坚持自己的理想信念勇敢向前走就行。

2.选择目前市场上比较好就业的编程语言,目前来看市面上比较好就业的,就是还存在红利期的编程语言有三种,python,前端,java起码就目前中国市场来讲还是非常受欢迎的,也是培训机构非常推崇的几种编程语言。培训喜欢具备两种特点的语言:第一入门相对简单,这样培训的周期就会缩短;第二相对容易就业的编程语言,通俗来讲是还处在红利期的编程语言。从市场占有率上考虑现在java还是绝对意义上的老大。

3.入门比较容易的编程语言,第一编程语言如果选择的过于难,可能导致中间放弃了,学好了一门编程语言之后就可以触类旁通切换到别的编程语言之中。所以开始没必要跟自己过不去,现在编程语言入门会变得越来越简单,因为集成度会越来越高,如同前几年的前端开发还被很多人瞧不上,但是现在大众对于前端语言的需求已经大多了,而且要求的效果不仅仅是动态或者审美好那么简单的事情了。以前的前端页面只是用dreamware就差不多可以了,但是现在基本的html都用到了框架,javascript这块也使用通用的框架,不懂几个框架也是很难搞定一份工作,现在做前端弄得还可以的工资都不低。

基于以上三点很容易找到自己需要选择的第一门语言。

现在就主流编程语言的特性做一些介绍方便编程入门的小伙伴进行参照

1.C语言永远不会过时的编程语言,在高级语言占据导致地位的今天还是依然有强劲的生命力,未来依然还会是各大语言的基石,还是某些主流行业的必备开发语言,通讯行业、嵌入式开发、系统软件和图形处理、以及对性能要求非常严格的技术领域,还是很多编程语言底层你实现语言,有志于向架构师方向发展的C语言还是需要掌握,推荐C primer plus作为入门书籍。

2.C++目前在很多领域充当着中流砥柱的作用,主要在游戏开发、数字图像处理、科学计算、很多常用软件的框架层代码都是C++实现,比如浏览器内核,安卓框架层大部分代码等等。C++相比其他语言来讲难度增加了不少,不是很适合初学者来学习使用,因为里面不但涉及到底层更重要是语法细节相当繁琐,放在一起和C语言比较,很多做了很多年C程序的工程师可以喊声精通C语言,但是全球没有多少人敢喊着精通C++,昨天在微信群看见一个小伙计,刚入门就参加了C++方面的游戏培训,培训结束之后四处碰壁找不到工作,初学者不适合选择C++作为入门语言,有志向的小伙伴可以考虑作为第二种语言来学习使用,足够有决心也可以学习,这个语言要找到工作,一般单位都是要求有工作经验,推荐C++ primer plus作为入门书籍

3.java目前市场占有率最高的编程语言,涉猎范围相当的广泛,无论是在客户端还是服务器端市场占有率都相当高,同样作为面向对象的语言,学起来比C++要简单太多,简单并不代表功能差,虽然目前看java已经过了其红利期但目前还是有学习的必要,因为拥有最多的就职岗位,但要想通过随便学一下就找到工作的红利时代已经一去不复返了,要找到合适的工作还需要真才实学。目前开源软件里面占比最高的同样术语java,不要道听途说现在学习java的不行了落伍了,真正不行的还是那些没有真才实干的人,java是一门入门相对简单,但要成为顶级高手相当费劲的编程语言,所有的高级语言都具备这种特性。推荐java核心技术卷一作为入门书籍。

4.python作为目前最火的一种编程语言,未来如果能在市场占有率和java较量一下的话,估计这位老兄算是一个。入门简单应用范围相当广泛,加上现在火的一塌糊涂的人工智能,都在无形之中助推了python的快速发展。python应用的领域相当广泛,在网络爬虫,人工智能,数据处理,图形界面绘制,科学计算,web开发,金融方面都展示出很不错的特性。零基础的建议选择这门编程语言入手,推荐笨方法学python作为入门书籍。

5.前端开发坦白讲这不算是一门语言,因为涉及到html、css、javascript三门语言,统称为前端,放在以前这种属于做网页的,但当今越来越视觉化的时代,现在要做个让客户满意的界面真是需要特别多元素,设计理念、各种流行的框架,现在很少有人直接从头到尾的自己写代码了,能把各种框架运用的熟脸异常,在当前来看也是一件了不起的事情。而且目前市场上对这方面人才需求量还是非常巨大,这三种语言中难度最大的还是javascript成为一个这方面的高手也是挺费劲,高质量的javascript效率能提升好几倍。前端也非常适合零基础的入门学习,由于这个入门比较简单,要找到理想的工作还需要多做几个接近实战的小项目来提升武装自己。

总结了目前比较主流的五种编程语言方向,由于篇幅的原因阐述的比较笼统,后续会有专门的章节细细解释。选择第一门编程语言非常重要,万事开头难,第一步做好了后面会顺畅很多,适合自己的才是最合适,不要盲目的从中反而忽略了自己最需要的东西,让自己真正做一回主。

原文发布时间为:2018-07-26
本文作者: 程序人生
本文来自云栖社区合作伙伴“ 程序员互动联盟”,了解相关信息可以关注“ 程序员互动联盟

相关文章
|
5月前
|
算法 C语言 C++
C++语言学习指南:从新手到高手,一文带你领略系统编程的巅峰技艺!
【8月更文挑战第22天】C++由Bjarne Stroustrup于1985年创立,凭借卓越性能与灵活性,在系统编程、游戏开发等领域占据重要地位。它继承了C语言的高效性,并引入面向对象编程,使代码更模块化易管理。C++支持基本语法如变量声明与控制结构;通过`iostream`库实现输入输出;利用类与对象实现面向对象编程;提供模板增强代码复用性;具备异常处理机制确保程序健壮性;C++11引入现代化特性简化编程;标准模板库(STL)支持高效编程;多线程支持利用多核优势。虽然学习曲线陡峭,但掌握后可开启高性能编程大门。随着新标准如C++20的发展,C++持续演进,提供更多开发可能性。
99 0
|
8月前
|
算法 Swift 开发者
【Swift开发专栏】Swift开发者的进阶之路:从新手到专家
【4月更文挑战第30天】本文介绍了Swift开发者从基础到专家的成长路径,包括掌握语言基础如语法、数据结构、错误处理和内存管理;深入学习Apple框架如UIKit、Core Data和CloudKit;关注性能优化、架构设计及网络与安全编程;以及持续学习新技术,参与开源项目,建立专业网络。通过不断学习和实践,开发者可逐步成为Swift专家。
210 0
|
5月前
|
自然语言处理 算法 搜索推荐
探索代码之美:从小白到专家的编程之旅
【8月更文挑战第30天】在数字时代的浪潮中,编程已成为一门艺术和科学。本文将通过个人的技术感悟,带领读者走进编程世界的大门,从基础语法到复杂算法,从单一语言到多语言融合,我们将一探究竟。文章不仅分享编程技巧和经验,还将探讨如何培养解决问题的能力,以及如何保持学习的热情和动力。无论你是编程新手还是有经验的开发者,这篇文章都将为你提供新的视角和启发。
|
6月前
|
设计模式 持续交付 开发者
探索代码之美:从新手到专家的编程之旅
【7月更文挑战第25天】在编程的世界里,每一行代码都蕴含着无限可能。本文将带你领略编程的艺术,从基础概念到高级技巧,一起探索如何通过实践、学习和创新,提升编程技能,并享受这一过程中的乐趣和成就感。
|
5月前
|
自然语言处理 程序员 Windows
【杂谈】关于大学生学习编程好用的工具
【杂谈】关于大学生学习编程好用的工具
|
7月前
|
Java Unix Linux
编程入门(二)【计算机基础三】
编程入门(二)【计算机基础三】
58 1
|
7月前
|
存储 人工智能 网络协议
编程入门(二)【计算机基础一】
编程入门(二)【计算机基础一】
44 0
|
7月前
|
存储 数据处理
编程入门(二)【计算机基础二】
编程入门(二)【计算机基础二】
51 0
|
8月前
|
自然语言处理 Java 编译器
【软件设计师—基础精讲笔记10】第十章 程序设计语言基础
【软件设计师—基础精讲笔记10】第十章 程序设计语言基础
127 1
|
8月前
|
设计模式 存储 算法
【软件设计师—基础精讲笔记7】第七章 面向对象技术
【软件设计师—基础精讲笔记7】第七章 面向对象技术
145 1