您的位置:首页 > 编程语言

编程语言学习

2016-03-22 23:22 239 查看
稀里糊涂也学习了几种编程语言了,虽然每种都只是能应付平时工作,看到神奇的用法时仍然要去查查语法。

每学一门新语言,除去语法规则,其中最常用的最需要熟练掌握的东西,却都是差不多的。小记一下,以后再学新语言也可以有所专注,能够快速上手。

1.数据结构

对于每一门语言,内建的一些数据结构是最最常用的,数组,链表,队列,栈,hashmap等

c语言表示,除了数组,偶啥都没有内置,想用都得自个来。不过,虽然如此,开源项目里面,依然已经实现了不少通用的数据结构,让我们可以专注于业务,而不是数据结构。glib,Apache Portable Runtime都是其中的代表。

c++,stl/boost实现的vector,list,hashmap等模板类

java,基本就是jdk中内置的utils包里面的LinkList,ArrayList等

python,更是直接内建到语言级别,List、Tuple、Dictionary以及Set,几乎就是上述说到的数据结构的最常用的。

2.字符串处理

每门语言字符处理都是一个深深的坑,连c语言的标准库都需要把strcpy,strlen,strcmp这种函数放进来,就知道字符处理对一门语言多重要了。

c++自然又是stl里面的string类,比c的标准库更加强大。

java的实现略显繁琐,除了String,还有什么StringBuilder,StringBuffer,在小心其中的场景,不然小心程序内存增长性能不够

3.文件IO

通常说来,这个其实是操作系统提供的功能,不过语言为了方便操作文件,都封装了不少的接口。

C语言就是标准io库,fopen/fread/fwrite/fclose/fseek/ftell函数族,当然还可以直接用open,read,write等os接口。

C++搞出了IOStream这套东西。不太好用

java io更是把C++的Stream又更进了一步,inputStream,outputStream两大接口,涵盖了文件io,内存io等等操作,是个深坑。不多说,来个图吧





4.网络编程

这个更是操作系统提供的功能。

c和c++都可以直接使用socket函数族。不过开源项目已经实现了太多的协议实现,不过这个就跟语言学习无关了,针对具体的项目,学习不同的库的使用即可

掌握socket的过程和tcp/ip的状态切换就好。

5.接口抽象

c语言是函数指针

c++是纯虚函数,virtual

java是interface
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: