Ⅰ 目前大学生,总感觉自己要学一点编程语言,有什么推荐的吗

那需要先定义一下你所谓的“好”是什么,说明白这个,才可能做出合适的选择。所以,接下来我根据这个不同的“好”,给出建议。

一、如果你说的“好”是指“入门难度低”

即,你想要一门编程语言,可以在3个月内,通过自学来掌握语法,且能用学到的知识来做点有意义的小项目。

那我推荐 Python,因为入门很容易,这点从雨后春笋般的面向中小学生的Python编程培训就可以看出来。你也可以在京东、当当等以Python+零基础为关键字来检索相关图书。

二、如果你说的“好”是指生态好

即,这种编程语言,生态很好,各种轮子齐全,各大公司支持力度很高,典型应用非常多,那我觉得看看编程语言排行榜,取前几位就好。

如果你说的“好”是指工作好找
即,这种编程语言,工作机会多。

某编程平台发布的最具就业前景的编程语言排行榜上,Java排第一,网红语言Python排第二,JavaScript排名第三,其次是C%2B%2B、PHP等。也就是说2018年最具有“钱”途的编程语言是:Java、Python、JavaScript。

1、Java

Java 这种老牌编程语言,虽然一直被诟病语法臃肿,但是其实随着Java版本的更新,已经逐渐支持了很多新语言的特性,并且在2019年的TIOBE编程语言排行榜上,Java每月总是稳坐第一宝座,毋庸置疑,它仍然是市场上最流行和最火爆的编程语言。

目前国内的电商行业一片火热,电商平台的数量也十分惊人,由于Java语言开发的电商平台具有安全性高,结构合理 ,高效,稳定,扩展性强,支持高并发量、采用集群式部署等特点,在开发方面相对于其他编程语言具有天然的优势,所以电商平台基本都是由Java开发而成,像京东,阿里巴巴,淘宝等大型电商平台均是使用Java开发。

也许未来Java 不是最有前景的语言,但是Java在未来很长一段时间内都会是不可或缺的语言,相关的工作岗位也自然一直有需求,而且Java语言的易学性也很高,适合新手。

2、Python

AI兴起,Python开始大,Python是一种用于Web开发的通用编程语言,也是软件开发人员的支持语言,它可广泛用于科学计算,数据挖掘和机器学习,人工智能大量依赖数据,而Python在数据分析,数据挖掘方面实用性非常的强,当然有人会问了 Python那么火热,以后会不会竞争很大。

Python之所以这么火热,是因为现在大家都对趋势越来越敏感,大家开始焦虑自己是否会被淘汰,所以很多其他编程语言的从业者都在关注,学习使用 Python。

更何况,在一个新的时代即将到来,相对应的需求本就大,所以,一旦人工智能技术有所成熟与突破,Python 的需求还会更大。再说到易学性,其实Python相比较大部分语言来说,都算是很容易上手的,语法清楚,也没有那么多复杂的概念,适合新手学习。

3、JavaScript

超过80%的开发者和95%的网站都使用 JavaScript 来实现页面上的动态逻辑。

随着物联网和移动设备越来越流行,React和AngularJS号JavaScript前端框架具有巨大的未来潜力,所以我们可能很快就会看到JavaScript 的普及。
当然,你也可以根据自己所在地区,检索下招聘网站,看看针对初学者的工作机会,选择机会多的那种语言。像51job、智联招聘、拉勾等,都是可以利用的网站。

四、如果你说的“好”是指未来薪水高

即,使用这种编程语言为主要开发语言的程序员,将来普遍薪水较高。

那要看看统计数据了。

StackOverflow 2019年的调研数据,全球范围内,编程语言的收入排行如下:

上榜的都是不错的,可以排除掉那些工作机会比较少的,然后在剩下的语言中选一种来学习。

Ⅱ 大学生应该如何学习编程

熟悉以下关键东西,可以边学边做,定期训练,经常思考,长期积累:

1、语法。
2、基础理论(数学、数据结构、算法等)。

3、设计方法(编程原则、设计模式、框架设计等)。
4、库(核心、基础、UI、扩展、游戏引擎等)。
5、计算机相关(操作系统网络、图形学等)。
6、领域知识(游戏设计、网站设计等)。

7、开发工具(编辑器、IDE、自动部署等)。
8、项目管理(进度管理、分工协作、Bug管理、版本控制等)。

最普遍也是最重要的能力:创造力。努力分析并理解好做什么以及怎么做。要知道上面那些东西一开始都是不存在的。

具体方法包括:

1、快速阅读入门教程和书籍,适合学习语言和基础库。比如我学Java读的《Java编程思想》,练习题做过一点,然后学ActionScript就没读过书,只读过Adobe官方文档《ActionScript 3.0编程》。

2、阅读库的文档、实例、源码。比如Flash、Flex开发,熟悉官方API很重要,很多细节要具体使用时才注意到,这时候最好做个笔记,虽然我从没看过我的笔记。
3、做一个自己感兴趣或熟悉的小项目,比如我就以黑白棋游戏作为多个语言的试水项目,一样的逻辑,便于把关注点放在语言特点上。

4、自己动手丰衣足食。厨师有菜谱,程序员可没菜谱。比如我做游戏,最关键的游戏编程知识全部是动手学出来的,很少有专门针对某个业务领域(如游戏)的编程书籍,要么是入门书,要么是模式书(如算法)、理论书(图形学),很少有书籍教你如何开发一个45度角地图系统加编辑器的,全靠自己思考,以及看前人的代码,需要时找些网络资料。关键是,可以培养最重要的创造力。

对于算法和设计模式,可以研读下,但是关键还是靠平时如何使用了。新手勉强不来的。

项目管理方面的,就得靠工作经验了,多思考多提意见不要只走流程。