有些人认为C语言学习起来比较困难,但是我认为C语言算是一门简单的语言,它的语法相对其他高级语言来说算是最少的,甚至没有类和对象的概念,高级特性一概没有。
C 语言相对其他语言来说编程难度较大,这主要体现在 C 语言偏重底层,语法不够丰富,指针等概念难于理解等。但是如果 C 语言能够结合 JSON 这种数据类型,能够有效的降低其编程难度。
为此,我写了一本书《C + JSON》,探讨了JSON在C语言编程上提供的好处。并且有相关的源代码和例子程序,存放在GitHub上,。感兴趣的可以下载代码探讨下。
主要涉及到了一下几个方面。
1. C语言基本的字符串操作,指针操作,函数参数。
例如函数参数问题, C语言只有函数一种执行体,默认函数的参数只能作为输入使用,不能作为输出数据,即没有其他语言中的in,out的区分。函数的返回值作为输出。在一个复杂的业务逻辑函数中需要传递的参数会更多。这样无限制的增加参数会使得函数声明越来越长。这导致调用一个函数需要仔细的安排参数以免参数传错位置。如果采用JSON作为函数的参数,就相对简单很多,首先函数的声明不需要改变,并且参数个数大大减少。其次因为接口函数是固定的,程序员只需关心函数定义的代码实现即可,不会为了参数的问题增加沟通成本。最后还可以注意到,JSON参数的位置可以不必固定,因此省去了参数对齐的麻烦。
-
struct json_object * personObj;
-
-
personObj = jo_new_object();
-
joo_set_string(personObj, "name", "Tom");
-
joo_set_int(personObj, "age", 23);
-
joo_set_int(personObj, "sex", 1);
-
joo_set_string(personObj, "dept", "SALES");
-
joo_set_string(personObj, "password", "xxxx");
-
-
multiParameters(personObj);
-
-
jo_put(personObj);
2. JSON在SOCKET通信中作为报文设计的一种格式,程序员只需要关心通信报文的设计和实现就可以完成服务端和客户端的编程工作。JSON方式比起自定义的格式方便了很多,降低了序列化和解析的难度。
3. JSON在HTTP中的应用,JSON可以存储HTTP协议的一些信息,简化了HTTP服务端和客户端的开发难度。
4. 探讨了消息队列,以及以消息队列为基础的应用服务器。消息服务器采用 SQLITE3 数据库保存消息,分为文件型和内存型两种,满足可靠消息和实时消息的要求。应用服务器类似 TUXEDO 中间件,可以把业务逻辑封装在该应用服务器管理的服务模块中。
阅读(1674) | 评论(0) | 转发(0) |