入门编程,必定要从C语言开始吗?不少小伙伴由于选择然后悔四年

入门编程,必定要从C语言开始吗?不少小伙伴由于选择然后悔四年,那么咱们刚刚进入大学应该怎么去选择呢?java

不少小伙伴在入门编程时,C语言课程开始的,但最近有的小伙伴问我, 学编程必定要从C语言开始吗? 直接学习JAVA能够吗?程序员

大雄建议:在选择编程语言以前,搞清楚本身的编程目的,有没特别想打磨一个产品出来?编程

好比有些程序员想本身打造一款Java 游戏,因此他选择了java。因此,必定程度上取决于你的编程目的。安全

C语言如今已经很成熟,它的各类语法规则、思想都已经确立起来了,并对如今的不少语言产生很大的影响。因此做为底层语言也是不少人在入门编程时想要第一个学习的。微信

可是任何事物都有其优势和缺点,C语言也不例外。下面大雄带你们分别来看一下。框架

C语言的优势编程语言

C语言的优势有三个:学习

(1)代码量小spa

(2)运行速度快操作系统

(3)功能强大

咱们先看第一个优势, C语言的代码量很小 ,这是什么意思呢?也就是说若是要完成一样一个功能,用C语言编写出来的程序的容量是很小的,而用其余语言编写容量就会比较大。

好比 Microsoft Word 和 WPS,它们一样都是办公软件,功能也差很少,但 WPS 的安装文件只有 50MB 左右,而 Microsoft Word 的安装文件超过 500MB,有的甚至接近 1GB。缘由就是 WPS 的内核是用C语言编写的。

C语言的第二和第三个优势是它的 运行速度比较快 和 功能强大 。咱们能够经过一个例子来解释。

世界上总共有三大操做系统:UNIX 操做系统是用纯C语言编写的;Windows 操做系统的内核也是用C语言编写的;Linux 操做系统还是用纯C语言编写的。

这 三大操做系统的内核所有都是用C语言编写的 。为何用C编写,由于C语言的速度最快。计算机中全部的软件都是在操做系统上运行的,若是操做系统的速度很慢,那么在它基础上运行的软件的速度就更慢了。并且计算机中的全部硬件都是由操做系统控制的。

举个简单的例子,新建一个 Word 文档,这就意味着在硬盘上产生了这个文件。可是并无直接控制硬盘,咱们是经过操做系统提供的“右键单击”等功能来新建文件的。

也就是说,操做系统给咱们提供了一个界面,或者说是给咱们提供了一种可操做的手段,经过这个手段咱们能够删除文件、新建文件、打开文件或者修改文件。

因此操做系统很重要,全部的硬件所有都是由操做系统控制的。而这么重要的东西只能用C语言来写,因此C语言很重要。为何只能用C语言写?第一,C语言速度够快;第二,C语言能够访问硬件,因此它够强大。

为何不能用 Java 写?首先,Java 太慢了;其次,Java 语言没有指针。没有指针就不能访问硬件,因此它的功能是不够的。指针是什么稍后会讲,它是C语言中很是重要的内容。

C语言的缺点

C语言的缺点能够用下面三点来归纳:

(1)危险性高

(2)开发周期长

(3)可移植性不强

咱们先看第一点。假如写一样一个程序,在 Java 里面会报错,而在C语言里面是不会报错的。为何?

由于 C语言设计的思想是 :想怎么写程序就怎么写,只要这种写法错得不是很离谱,就认为这么写有特殊的含义,能够经过。但 Java 不行:只要这么写有歧义,或者说这样写不太好,那么它都会报错。

好比C语言中能够将一个浮点型数据赋给一个整型变量,编译时只会警告,由于会丢失精度,可是在 Java 中这样写就会报错,它在语法上就禁止这样写。

因此不一样的语言对一样一个问题有不一样的处理方式。

你们想一想这样致使的结果是什么?

由于有歧义的程序也能够经过,这样就会有不少漏洞,黑客每每会抓住这些漏洞进行攻击,因此说 C语言比较危险 

这也是为何C语言比较难学的缘由,由于学完以后编写一个 程序极可能就是错 的,但又很难发现。因此前面说 C++ 从安全性上对C语言进行了升级。

第二个是它的 开发周期比较长 。由于C语言是面向过程的语言,面向过程语言的一个特色就是写大项目的时候很容易“崩溃”。

当代码上到 10 万行的时候很容易崩溃,会出现各类各样莫名其妙的错误。这时候就须要用另一种思想将整个程序的框架从新设计一下,即用面向对象的思想设计。这也是C语言如今没有 Java 流行的缘由。

C语言的第三个缺点是 可移植性不强 。这个主要是针对 Java 的。Java 的可移植性太强了,因此就显得C语言的可移植性不强。

什么叫可移植性?就是说 Java 程序在哪一个机器上均可以运行,并且结果如出一辙。而C语言就不行,C程序在其余机器上不必定能运行。并且就算能运行,结果可能也不同。

关于第一种编程语言,对于一名新手程序员来讲,只要你不选特别难的,基本上没什么影响。

选择大家想要学习的语言去努力学习吧!


大学想提高你的编程能力,成为一个强大的程序员找到一份好工做吗?不妨和一些志同道合的小伙伴一块儿学习成长!

C语言C++编程学习交流圈子,【点击进入微信公众号:C语言编程学习基地

有一些源码和资料分享,欢迎转行也学习编程的伙伴,和你们一块儿交流成长会比本身琢磨更快哦!

相关文章
相关标签/搜索