预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Linux下编程入门 byLuster 一、介绍 使用了Linux一段时间后,很多朋友都希望能为这个开放辕马世界做自己的贡献,更多的参加到这个opensource的社团里。面对无数的自由软件,对于一个稍微不太普通的用户来说去解开一个tar文件,然后修改makefile去编译辕马都是很常有的。我们不满足简单的编译和使用别人的程序,我们应该亲自参加到这个开发辕马的创作之中。对于一个初学者来说,面对五花八门的开发工具,如何选择呢?使用什么开发工具去开发Linux程序呢?我们这里做个简单的介绍。这里是你成为Linuxhacker征途上的第一步。 二、编程模式 让我们开始第一步。作为一个初学者应该首先使用什么样的编程风格或者说编程模式呢?有很多的选择,例如基于函数的、基于过程的开发,还有面向对象的开发等等。要成为一个好的programmer,对于初学者,最好使用某种语言对各种编程模式都尝试一遍。Comp.lang.functional讨论组里面的FAQ中定义了面向函数的语言,说“"astyleofprogrammingthatemphasizestheevaluationofexpressions,ratherthanexecutionofcommands.Theexpressionsintheselanguageareformedbyusingfunctionstocombinebasicvalues.Afunctionallanguageisalanguagethatsupportsandencouragesprogramminginafunctionalstyle."在Linux平台下面,比较常见的面向函数的开发语言有:ML、Haskell、Scheme等。面向过程的语言是一种把程序要完成的动作分割成一个一个“过程(procedures)”的语言。一个典型的面向过程的开发语言的组织结构,我们可以看看流程图,就可以感觉出来。最常见的面向过程的开发语言就是Pascal和C语言了。面向对象的开发语言的核心就是用对象来表征所要执行的主体。例如要开发一个高速公路的模拟系统,他首先定义一个交通工具的类,包括所有交通工具的公共属性;然后继承这个类,可以派生出汽车类、自行车类等等。Linux平台下最常见的面向对象的语言是C++、Java、Python、Smalltalk和Eiffel等。还有混合的语言,你可以用多种编程模式去写自己代码,例如PHP和Perl。如何选择?一般来说最好每种模式都有一个了解。最好这样开始你的编程旅程,首先给自己定一个小project。有了一个清晰的目标后,选择编程语言和编程模式就容易了。如果使用某种语言开发起来容易,那么你就先学习使用这种语言。例如,我开始想学习更多的关于数据库和web编程的时候,我决定建一个书籍数据库,包括我拥有的书的信息还有我要计划购买的书籍信息。经过我的查找比较,我认为我的想法可以用PHP和MySQL来实现更方便。然后我就学习了PHP和MySQL的一些知识,完成了这个小的系统。我个人的编程体会,我至少使用了4种语言,包括:C、PHP、SQL和Perl。C语言是最灵活和方便的开发语言,在Linux下使用最多的开发语言就是它了。一旦学会了C语言,我们就可以非常容易的学习和使用其他的语言了。所以我建议你学习C语言编程。C语言是一种高级语言,它编写内核级的代码和驱动程序都非常方便。Linux下面有很多开发C语言的函数库和开发工具,我们都可以方便的使用它们,这也是使用C语言开发代码的好处。PHP是Hyper-textProcessor的缩写,是一种解释执行的语言,一般来说运行在web服务器端。如果你会C语言,那么最多花一天的时间就可以学会PHP。PHP给你在web编程方面很大的方便。SQL是StandardQueryLanguage的缩写,就是标准的访问数据的查询语言。很多PHP程序中都包含了使用SQL语言去访问数据库的代码。SQL基本上使用有点类似英文的语法,所以学起来非常容易。如果你学习PHP和C,那么SQL可以简单的顺便学习。Perl是一种使用比较广的教本语言。很多语法来自C和UNIX的SHELL工具。Perl拥有很多的可以添加的模块,在CPAN计划中。使用这些模块,开发程序编得非常容易了。 下面是一个perl程序例子: #!/usr/bin/perl #NMSUJobgrabber #MattMichie(mmichie@linux.com) #---------------------------------------------------------------------- #Copyright(c)2000,MattMichie(mmichie@linux.com)(Allrig