C语言同C++、Python等都是通用性的编程语言,它们不针对某一个特定的方向,能做的事情很多。C语言主要用于底层开发,Windows、Linux、Unix 等操作系统的内核90%以上都使用C语言开发,开发硬件驱动,让硬件和操作系统连接起来,这样用户才能使用硬件、程序员才能控制硬件。
借用我一个朋友的名言:“现在的程序员,不掌握好几门语言都不好意思跟别人打招呼。”就目前的企业的岗位设置来说,只会C语言的话(当然,能达到深究算法、操作系统、数据库、网络协议的C语言工程师除外),基本上是找不到工作的。首先我们要选定一个方向,继续学习其他知识,后面就会发现,C语言不过是冰山一角,是一项基本求生技能而已,除此以外,程序员要学习的东西还有很多。
对于很多C语言初学者,都会存在如下误区:学习C语言之后今后就要在C语言这条路上走到黑。其实学习C语言并不一定要从事与C语言有关的开发工作。C语言是一门简单、底层、较早的编程语言,后来的很多语言在语法上都和C语言类似,称为“类C语言”,例如 Java、C++、C#、PHP、JavaScript 等,学完C语言再学这些语言都很容易上手。或者也可以这么理解,学好C语言,可以奠定我们今后学习其他编程语言(类C语言)的基础。
C语言既有高级语言的特点,又有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。
C语言是面向过程语言,C语言通过windows平台下编译的,是直接运行在windows平台下的,而Java始终是运行在他的虚拟机之上的;所以理论上C语言能做一些相对于比较底层的工作,像Java就不能编写Windows病毒。
一句话概括:如果要利用编程来做一些windows优化工作的话,建议还是利用C语言。C语言是目前世界上流行、使用最广泛的高级程序设计语言
C语言常规岗位职责:1、服务器软件开发;
2、负责项目架构设计,TCP/IP协议定义;
3、负责系统的架构设计、性能瓶颈分析、性能调优工作;
4、负责技术难点的攻破。
C语言常规岗位任职要求:
1、3年以上服务器相关开发经验,熟悉TCP/IP协议,及制定和规范协议;
2、熟练TCP、UDP协议编程,熟练socket网络通讯编程;
3、熟练C语言编程,熟悉C++编程;
4、熟悉Linux系统编程,多线程和多进程编程;
5、熟悉epoll、select等服务器端异步高并发模式,libevent或者libev等应用;
6、熟悉Mysql数据库,及API编程。熟悉SQL语言;
7、能处理数据库连接池性能瓶颈优先考虑。
顺便说几句,我是文科生,完全自学编程,菜鸟,不过我觉得这些东西都不是很难,可能数据结构有些人学得有点吃力,去年暑假我用C实现图的时候真的那个叫做痛苦,看邻接表看了一上午,几乎接近崩溃,不过实现了之后真的是满满的成就感,其实重要的不是怎样的方式入门,而是你真正的去做了多少,你去做了之后,坚持下来,肯定会有收获的。