学哪一门编程语言比较好,什么专业要学编程语言
我来一一回答。但需要说明的是,学习编程不能漫无目的的铺开,一定要有目标。比如做计算器就是一个很好的小目标,想做APP的话学习Java和Swift也是一个很好的目标。
一 编程语言及其主要用途
常见的有C族(C系列语言),如:C,Cpp(C),C Sharp(C#),Java,Python,R,JavaScript,Objective-C,Swift,Go,Kotlin等。然后还有很多脚本语言,包括Python,比如Ruby,Perl等。
光说名字意义不大,下面举几个例子。
c常用于单片机的开发和一些
接底层硬件
的运算;C是C的超集,
游戏、图像开发
用的比较多,因为直接支持面向对象;# C是微软为了将Java人才引入windows平台而设计的语言,几乎与Java语法一致。目前多用于
服务器后端开发和 Unity 3D 的游戏开发
,也有人会用它来制作很多Windows平台下的软件插件甚至是常说的插件(插件其实严格来说是插件,但在mainland China已经有了更深一层的含义,所以把两者列为例子);Java是目前最热门的
服务器后端开发语言和 Android 开发语言
。由于大量框架和工具包的支持,Java语言的运行速度并不能阻止Java成为服务器开发的首选语言。至于什么是服务器后端开发,题主学了JavaEE自然就知道了。通俗的例子可以是yy:这个答案是我写的,答案存在哪里?一定是在知乎!至于怎么保存,怎么检索,都是后端开发的设计问题。Java曾经是Android的首选语言(虽然目前在Kotlin的影响下很多人都转到了Kotlin),负责Android的顶层APP层的开发。Python是目前最流行的
机器学习
语言,也可以作为服务器开发
,有Django支持,堪比Java Spring框架。更多人会把Python作为机器学习和深度学习的首选语言。因为Python语法的简洁和类似数学式表达的规范
,当然也因为有很多包,所以很多学者和科学家会用Python进行科学研究。r语言类似于Python,常用于
工程
。另一种语言是Matlab。其实叫它语言不太合适,因为它是一个软件,没有它就无法生存。它远不是编译器的简单结构。MatLab汇集了太多的工具,方便科学从业者快速分析数据,写出优秀的程序。这种编程语言通常被称为MATLAB。JavaScript是
前端开发
的首选语言。使用HTML CSS模式绘制页面图像后,通常使用JS (JavaScript)来编写交互、动画、请求和查看内容更新等操作。这种语言是一种函数式的面向对象的语言,极其灵活,但有C族任何语言的基础都很容易学会;Objective-C是苹果公司开发的一种
为 mac 和 iPhone 设备开发程序
语言。Inc类似于C,也是C的超集,也是面向对象的。但是因为太面向对象(基于消息的数据传输机制),不是C家族,C系列人员很难上手,比较冷门。然而,iPhone的兴起再次引发了对该语言的热烈讨论;Swift是苹果最新发明的
函数式编程语言
。和苹果设备的OC(Objective-C)一样,但苹果也提倡使用这种语言进行工程扩展。比如苹果在推广的时候会拿它和Python做比较。为了兼容OC的所有工具包,避免语言的冷门,创建了bridge作为两种语言的直接桥梁,解决了语言兼容的问题;Go是Google开发的
函数式语言
语言,其特点是能够解决大规模高并发问题。对多线程的天然支持使得该语言受到广泛关注。目前多用于机器学习,谷歌自己的一些产品的开发和后端服务器的开发;Kotlin是Jetbrains发明的
函数式语言
,Jetbrains是常用的IDEA开发工具的开发者。这种语言是基于JVM设计的,与Java语言完美兼容,可以代替Java用于前后端开发。不准确的统计表明,它可以用比Java少一半的代码量完成同样的功能,并具有同样的运行效率。类似的JVM语言也有规模,但是比较老,兼容性不强,所以广受诟病。Ruby和Perl是典型的脚本语言,Ruby多作为各种语言的粘合剂,Perl是Linux下最常用的脚本语言,具有很强的文本处理能力。
二 如何自学
其实这个问题有很多答案,就像问一个人“我怎么才能提高分数?”这是一个“上帝的问题”。我简单解释一下什么是“上帝之问”:一个问题的条件不充分,导致问题的答案变数太多,甚至可以出现无限的答案。这样的回答往往毫无意义或无足轻重,被称为“上帝之问”。
所以这个问题没有好的答案。
于是我假设问题的主要问题是:“一个时间足够,智力正常,周围电子设备允许,自律性好等的男生,怎么可能。自学某种语言?」
这样,我们讨论起来可能就容易多了。
还是老套路吧。其实真正的自律什么都可以,自律不行。你说的都是废话。以下不是捷径,而是距离:
通过
视频入门
(视频中有很多声音、图像、文字、笑话都是因为讲师不小心出错造成的),视频和书上不一样,包含了很多错误,都可能是编程时犯的,比如讲师少打了一个分号,写错了变量名等。这是书本上看不到的,而视频带给你的信息比书本多得多。通过书本扎实思考
,书还是要读,而且一定要读。书是系统完整的,总是一章一章讲,不会说错一个字。很多东西都得在书上找,视频老师可能会漏掉,但是书的第二版可以修改。至于如何选择一本好书,三步筛选:是否有第二版(或第三版45.版)、豆瓣评价、现场摸(反正自己摸摸比较好,试了就知道适合不适合你)是一本书为主,其余书为辅
,几个月内生效。那么练习项目
,这个时候,你已经有了一定的基础,在学习的过程中,也必须是一个不断的代码实践项目。这个时候,你需要更多的时间去做更大的项目。通常很多杂书的后面都会附上一两个项目。可以一试身手。项目一定要实践,这会让你成为一个和以前不一样的人。三 入门选择哪门语言最好
我个人是从学习Java开始的。与C语言相比,Java更简单,包含的内容更丰富,就业方向更广。