perl python,perl和python区别是什么
perl python,perl和python区别是什么详细介绍
本文目录一览: perl 、shell、python三种脚本语言那种好学、易用
perl、shell、python三种脚本语言的区别:
1、适用不同:shell是操作linux的基本,是必须学的。学shell就是学linux命令。perl有强大的正则表达式支持,对于文本处理非常强悍,玩linux不得不学。python作用一种面向对象的,能作为linux脚本的语言,学好之后能帮你很好地完成工作。
2、特点不同:Perl是一种能完成任务的语言。从一开始,Perl就设计成可以把简单工作简单化,同时又不失去处理困难问题能力的语言。它可以很容易操作数字,文本,文件和目录,计算机和网络,特别是程序的语言。
这种语言应该很容易运行外部的程序并且扫描这些程序的输出获取感兴趣的东西。而且它还应该很容易能把这些你感兴趣的东西交给其它程序做特殊的处理。当然,这种语言还应该很容易在任何现代的操作系统上可以移植地编译和运行。
shell提供了你与操作系统之间通讯的方式。这种通讯可以以交互方式(从键盘输入,并且可以立即得到响应),或者以shellscript(非交互)方式执行。
shellscript是放在文件中的一串shell和操作系统命令,它们可以被重复使用。本质上,shellscript是命令行命令简单的组合到一个文件里面。Shell基本上是一个命令解释器,类似于DOS下的command.com。
它接收用户命令(如ls等),然后调用相应的应用程序。较为通用的shell有标准的Bourneshell(sh)和Cshell(csh)。
Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格,Python的这种伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。
3、优点不同:perl,用作文本处理比较好,可以作为系统的辅助工具。shell,用作系统维护、操作等方面。python,功能强大,模块多、跨平台能力好,完全面向对象,尤其适用做大型脚本程序的开发和快速开发。
扩展资料:
erl比shell+sed+awk更强大,但学习两者并不冲突,通常是学习shell做为脚本编程的入门基础。而Python在应用领域则与前两者有很大的差别,无太大的可比性。面向不同的任务,可以只需用到其中的一种,也可能三种都要用到,所以究竟该学谁不学谁,需要由面对的任务来决定。
总之,shell是基础,其他是进阶辅助。
Shell脚本通常都是以.sh为后缀名的,这个并不是说不带.sh这个脚本就不能执行,只是大家的一个习惯而已。所以,以后你发现了.sh为后缀的文件那么它一定会是一个shell脚本了。
test.sh中第一行一定是“#!/bin/bash”它代表的意思是,该文件使用的是bash语法。如果不设置该行,那么你的shell脚本就不能被执行。’#’表示注释。后面跟一些该脚本的相关注释内容以及作者和创建日期或者版本等等。
参考资料:百度百科-shell
什么是Python, C, Perl, and LISP?
分类: 电脑/网络 >> 软件 >> 其他软件
解析:
这几种都是程序设计语言。其中Python类似于Javascript,可以写出很短小但是功能强大的小程序;
Perl 是一种自由且功能强大的编程语言。它被用作 Web 编程、数据库处理、XML 处理以及系统管理等等
C语言是一种功能非常强大的高级语言,是目前最常用的程序设计语言之一.
LISP是一种比较简单的动态语言,在美国常用于初学者学习,目前国内关于LISP的资料不是很多,尤其是书籍方面,所以建议初学C,不过学C有一定难度,可以以谭浩强的<
>...
perl和python区别是什么
python与perl区别在于:
python使用fetchall()函数后,一次获取所有行。
perl则是每读取一次获取一条记录。
关于缩进:
python很注重缩进的,有时看起来是对齐的,但是还是会报缩进错误。此种情况,一般是有的是TAB缩进,有的是空格缩进。
所以,一般同一个脚本中,使用同一处方式缩进(要么全TAB,要么全空格)。
相关推荐:《Python教程》
关于{} []
perl中的数组,哈希都是使用()qw生成 ,只不过是数组使用[]索引,哈希使用{}索引。
python()表示元组,[]表示数组 ,{}表示字典,即哈希。
关于函数:
perl使用{}和C一样,但是形参,都是用特殊变量@_ 来获取。关健字 sub ##PERL中大量使用特殊变量。
python 是使用缩进来区分函数语句块的,关健字 def。
关于python版本问题:
旧版本2.0的,print("这里面有中文") 打印在屏幕上会是乱码,打印到文件中则是正常的。
##在旧版本2.0,print如果有打印中文到屏幕上最好不要加()括号。 打印到文件则无所谓。
关于print
python --- 字符串后面可以不用加n 自动换行。
per --- 不会自动换行,需加上n。
关于执行SQL语句。
python与perl相同,使用变量来接收时,它是个二维数组,每一条查询结果,即为一个一维数组,每个字段,即为一维数组中的元素。
## 注意:
如果python执行SQL返回一行数据,则它为一维数组,返回多行数据,则为二维数组。
敢问Perl 比 Python 好在哪里
两种语言没有哪个比另一个更好,只是更适合某个场景罢了
一:Python 与 Perl对比
(1)设计一个语言的初始目的决定了该语言将会内建什么功能:
perl初始是Larry为了格式化处理文本而创建的,所以内建了正则 ;python内建一个复数型别,猜测Guido最初一定是为了数值计算而创建了python。因此perl擅长文字处理,python擅长数值处理。
(2)应用领域和需求不一样:
Perl 设 计之初就是为了方便编写复杂高效的系统脚本,它也是应该最为广泛的脚本编程语言。它在编程方面相当于瑞士军刀,对字符、文本文件处理能力很强,以前要求 shell+sed+awk+C才能完成的任务,只需perl脚本就可以完成了。而且应用领域一直在拓宽,支持面向对象程序设计。
Python 面向对象的动态公共语言,适于脚本编程和快速开发,它最显著的特点是作为编译语言(如C)和脚本语言(如perl)之间的桥接语言,它具有的强大功能,可扩充性及面向对象的特征使其成为大规模应用程序开发工具。
(3) 关于强类型
Perl语言中,数据的类型,取决于数据所处的上下文。
Python语言中,数据类型,是数据自身确定的。Python因此一般被认为是强类型语言,而Perl则不是。
(4)关于 内置基础类型
Perl的基础类型叫做scalar,这是为了和后面的array和hash做区别。scalar可以是数字,也可以是字符串。基本上说,scalar非此即彼;换句话说,scalar既是数字,又是字符串。scalar到底是字符串,还是数字,完全取决于使用scalar的上下文,如果是一个处理字符串的函数,那么它是字符串;如果是一个处理数字的函数,那么它是数字。Perl会尽一切努力完成它们之间的转化,无论在你看来有多么荒诞。 Perl中,所有scalar都以$开头,所有以$开头的都scalar。
Python的基础类型,同样,不是数字,就是字符串。但是,不可能既是数字,又是字符串。Python会判断变量到底是数字,还是字符串,以此来选择怎么解释函数;如果它找不到一个合适的解释,那么Python会抛出异常。一般来说,这种策略能够取悦一部分程序员,同时让另外一部分人感觉很不爽。
(5)关于复合类型
Perl有两种复合类型:array和hash。Python有三种复合类型:tuple, list, dict。 Python中的tuple+list,完全对应于Perl中的array;因此不存在谁提供的类型更丰富这样的问题。
(6)关于做为整体的list
Perl中,用@开头的名字表示整个array,据说是因为@是array的字头。但是,又根据Perl的原则,@foo这样的array也可以被使用到一个需要scalar的环境中去,Perl会尽力把@foo转换成一个scalar,一般来说,这个scalar就是@foo的长度。 Python中,直接使用变量名,就能获得整个list(或者tuple)。
[perl] perl 中二维哈希hash 与python 二维字典dict
(1)首先,python 中存储和读取二维字典dict;则是利用嵌套存储字典的方式
输出内容为:
perl 中的使用没有python 方便, 涉及到 二维hash 的 字典,需要说明一种写法;perl 中写法比较多
等效于
已知 key1,想遍历 key2 ;涉及到 解引用 的方法, 其实就是把 hashref(ARRAY(0x1dd97f0))转换为真正的目标内嵌的hash,对于python 的结果 ,获得{'bbb': 'value'} 这个hash
补充解法, 将下列符号放在 内容是reference 的变量 前面 就 代表将这个reference 变成这个类型
% 代表整个 hash 哈希,使用{} 代表 (python dict)
@ 代表整个 array 数组,使用 [] 代表 (python list)
$ 代表 一个标量 (python 中普通变量)
& 代表一个子函数 (python 中 def 函数)
另外的 也可以直接用 -> 符号解
补充测试
返回内容为:
参考:
Perl中的引用和解引用
Perl – 遍历二维Hash
做DBA,到底是学python好,还是学perl好
同样是懒散运维表示。选python。两种我都曾经用过。
1。可以肯定使用py的人越来越多,因为入门相当容易,这适合你的脚本被其他人理解,或者共同维护。
2。就功能性来说,其实脚本语言都差不多。但是py有更好的调试机制,perl语法可以说约束太宽,我是觉得语法太随意,规范化的py看起来更简单易懂,py在面向对象的写法上更容易。
3。两个官方文档我都看过,perl内容没有py完整,perl有些地方很简单的带过。当然py2跟3有些差别,但是不大,perl6跟perl5的差别更大呢。
4。py作为很多开发项目的辅助语言现在来说会更流行一些,不管是github还是其他地方。所以,你能找到的帮助,解决问题的思路也比perl广。
Python和Perl是什么软件,中文叫什么名字?怎么读?
第一个编程语言,第二个CGI脚本语言。好像都没中文名。
第一个“派神” 这里有发音http://www.iciba.com/search?s=python&t=word&lang=utf-8
第二个“扑饿偶”(读快点就像了)
什么是Python, C, Perl, and LISP??????????
这几种都是程序设计语言。其中Python类似于Javascript,可以写出很短小但是功能强大的小程序;
Perl 是一种自由且功能强大的编程语言。它被用作 Web 编程、数据库处理、XML 处理以及系统管理等等
C语言是一种功能非常强大的高级语言,是目前最常用的程序设计语言之一.
LISP是一种比较简单的动态语言,在美国常用于初学者学习,目前国内关于LISP的资料不是很多,尤其是书籍方面,所以建议初学C,不过学C有一定难度,可以以谭浩强的<
>...
Python(发音:[ 'paiθ(?)n; (US) 'paiθ?n ]),是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用。
这种语言具有非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中运行。
目前,基于这种语言的相关技术正在飞速的发展,用户数量急剧扩大,相关的资源非常多。
Python的Hello World程序
下面是一个在标准输出设备上输出Hello World的简单程序,这种程序通常作为开始学习编程语言时的第一个程序:
#!/usr/bin/env python
print "Hello, world!"
Python的历史
Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为 ABC 语言的一种继承。之所以选中 Python(大蟒蛇的意思)作为程序的名字,是因为他是一个Monty Python的飞行马戏团的爱好者。
ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido 认为是非开放造成的。Guido 决心在 Python 中避免这一错误(的确如此,Python 与其它的语言如C、C++和Java结合的非常好)。同时,他还想实现在 ABC 中闪现过但未曾实现的东西。
就这样,Python在Guido手中诞生了。实际上,第一个实现是在Mac机上。可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。
Python在编程语言中的定位
虽然 Python 可能被粗略地分类为"脚本语言(scripting language)", 实际上一些大规模软件开发计划例如 Zope, Mnet 及 BitTorrent. Google也广泛地使用它。 Python 的支持者较喜欢称它为一种高阶动态编程语言 , 原因是"脚本语言" 泛指单用作简单编程任务如 shell scripts ,而Python不能与JavaScript等只能处理简单任务的编程语言相提并论。
Python的特色
可扩充性可说是Python作为一种编程语言的特色。新的内置模块(module)可以用C 或 C++写成。而我们也可为现成的模块加上Python的接口。Python可以使用户避免过分的语法的羁绊而将精力主要集中到所要实现的程序任务上。
Python也被称为是一门清晰的语言。因为它的作者在设计它的时候,总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。这在由Tim Peters写的python格言(称为The Zen of Python)里面表述为:
There should be one-- and preferably only one --obvious way to do it.
有意思的是,这正好和Perl语言(另一种功能类似的高级动态语言)的中心思想TMTOWTDI(There's More Than One Way To Do It)完全相反。这似乎是人们常把Perl和Python互相比较的重要原因。
Python语言是一种清晰的语言的另一个意思是,它的作者有意的设计限制性很强的语法,使得不好的编程习惯(例如if语句的下一行不向右缩进)都不能通过编译。这样有意的强制程序员养成良好的编程习惯。其中很重要的一项就是Python的缩进规则。
例如if语句:
if age<21:
print "You cannot buy wine!\n"
print "But you can buy chewing gum.\n"
print "this is outside if\n"
一个和其他大多数语言(如C)的区别就是,一个模块的界限,完全是由每行的首字符在这一行的位置来决定的(而C语言是用一对花括号{}来明确的定出模块的边界的,与字符的位置毫无关系)。这一点曾经引起过争议。因为自从C这类的语言诞生后,语言的语法含义与字符的排列方式分离开来,曾经被认为是一种程序语言的进步。不过不可否认的是,通过强制程序员们缩进(包括if,for和函数定义等所有需要使用模块的地方),Python确实使得程序更加清晰和美观。
另外Python在其他部分的设计上也坚持了清晰划一的风格,这使得Python称为一门易读性、易维护性好,并且被大量用户所欢迎的、用途广泛的语言。
Python的局限
虽然Python是一个非常成功的语言,但是也有必要明白它的局限性。
1. 运行效率低下
目前为止,Python可以说是所有主流脚本语言中速度最慢的。这与其脚本引擎的设计思路有关。
如果你的应用对于速度有着较高的要求,就要考虑Python是否能满足需要。不过这一点可以通
过使用C编写关键模块,然后由Python调用的方式加以部分解决。
2. 多线程支持欠佳
Python支持多线程,但是其运行效率也不高。
3. 独特的语法
这也许不应该被称为局限,但是它用缩进来区分语句关系的方式还是给很多初学者带来了困惑。
即便是很有经验的Python程序员,也可能陷入陷阱当中。最常见的情况是tab和空格的混用会导
致错误,而这是用肉眼无法分别的。
4. 无类型
作为一种动态语言,随时随地创建和使用变量是Python给我们带来的巨大的便利。但是它也会
使得程序不严谨,某些错误只有在运行中才可能出现。所以,使用Python编程的时候,要对类
型做到心里有数。这也使得Python的IDE工具无法提供便利的自动完成等功能。
Python的前景
Python在编程领域的占有率一直处于稳步上升之中,根据最新的数据,Python排名第七。前六名分别是Java,
C,VB,C++,PHP和Perl. 作为一个很年轻的语言,Python的位置已经相当令人振奋了。随着微软将Python纳入
.Net 平台,相信Python的将来会更加强劲发展。Python 很可能会成为.Net平台快速开发的主流语言。
欲了解这方面情况,请参考Iron Python的相关信息.
著名的搜索引擎 Google 也大量使用Python。
Python的应用
Zope-应用服务器
Plone-内容管理系统
Django-鼓励快速开发的web framework
Twisted - Python Network Application Framework Python的网络应用程序框架
TurboGears - 另一个Web应用快速开发框架
Bit Torrent - 著名的BT下载工具
2006年的Google编程大赛已经将Python作为参赛语言之一
C
n.
1. 英语字母中的第三个字母,小写为c
2. (用大写C)丙等(成绩)
c
KK: []
DJ: []
n.
1. 英语字母的第三个字母
2. (用大写)丙等(成绩)
音符之一
物理上C表电容
C语言简介
作者:欧索软件 文章来源:本站原创 点击数:179 更新时间:2005-11-17
C语言是目前世界上流行、使用最广泛的高级程序设计语言之一。
C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,许多大型应用软件都是用C语言编写的。
C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画,它是数值计算的高级语言。
常用编译软件有Microsoft Visual C++,Borland C++,Watcom C++ ,Borland C++, Borland C++ Builder,Turbo C,等等......
一、C语言的发展历史
C语言的发展颇为有趣。它的原型ALGOL 60语言。
1963年,剑桥大学将ALGOL 60语言发展成为CPL(Combined Programming Language)语言。
1967年,剑桥大学的Matin Richards 对CPL语言进行了简化,于是产生了BCPL语言。
1970年,美国贝尔实验室的Ken Thompson将BCPL进行了修改,并为它起了一个有趣的名字“B语言”。意思是将CPL语言煮干,提炼出它的精华。并且他用B语言写了第一个UNIX操作系统。
而在1973年,B语言也给人“煮”了一下,美国贝尔实验室的D.M.RITCHIE在B语言的基础上最终设计出了一种新的语言,他取了BGPL的第二个字母作为这种语言的名字,这就是C语言。
为了使UNIX操作系统推广,1977年Dennis M.Ritchie 发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。
1978年Brian W.Kernighian和Dennis M.Ritchie出版了名著《The C Programming Language》,从而使C语言成为目前世界上流行最广泛的高级程序设计语言。
1988年,随着微型计算机的日益普及, 出现了许多C语言版本。由于没有统一的标准,使得这些C语言之间出现了一些不一致的地方。为了改变这种情况,美国国家标准研究所(ANSI)为C语言制定了一套ANSI标准,
成为现行的C语言标准 3.C语言的主要特点 。C语言发展迅速, 而且成为最受欢迎的语言之一, 主要因为它具有强大的功能。许多著名的系统软件, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 语言编写的。用C语言加上一些汇编语言子程序, 就更能显示C语言的优势了,象PC- DOS 、WORDSTAR等就是用这种方法编写的。
二、C语言的特点
1. 简洁紧凑、灵活方便
C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。 C 语言可以象汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。
2. 运算符丰富
C的运算符包含的范围很广泛,共有13种34个运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C的运算类型极其丰富表达式类型多样化,灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。
3. 数据结构丰富
C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据类型的运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能, 支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。
4. C是结构式语言
结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰, 便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
5. C语法限制不太严格、程序设计自由度大
一般的高级语言语法检查比较严,能够检查出几乎所有的语法错误。而C语言允许程序编写者有较大的自由度。
6. C语言允许直接访问物理地址,可以直接对硬件进行操作
因此既具有高级语言的功能,又具有低级语言的许多功能,能够象汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可以用来写系统软件。
7. C语言程序生成代码质量高,程序执行效率高
一般只比汇编程序生成的目标代码效率低10へ20%。
8. C语言适用范围大,可移植性好
C语言有一个突出的优点就是适合于多种操作系统, 如DOS、UNIX,也适用于多种机型
三.C语言的标准
目前主要的C语言规范有c89(c90), c95(94)和c99。C89是最早的C语言规范,于89年提出,90年先由美国国家标准局推出ANSI版本,后来被接纳为ISO国际标准 (ISO/IEC 9899:1990),因而有时也称为c90。 但在94和96年分别对c90进行了两次错误修正,gcc支持的是修正后的c89(90)版本的C语言规范。在95年提出过对90版规范的修订案,称为C95或者AMD1。gcc也支持c95规范。最新的一次C规范修订在99年制定(ISO/IEC 9899:1999),即常称的C99规范。在2001年对C99的错误进行了修正,gcc支持的修正后的c99规范,但是到目前为止,gcc还没有完成对c99规范的完全支持。
关于C99标准的一些介绍可以参看下面的网址:
http://www.chinaaspx.com/archive/develop/14050.htm
在篮球场上c代表中锋
中锋(Center)是一个球队的中心人物,凭借其强壮、高大的身体,无论进攻还是防守,他们都是球队的枢钮,故名之为中锋。
作为禁区内的“擎天柱”,抢篮板球是中锋必不可少的能力。此外,封堵阻攻、盖帽也是中锋必备的能力。由于本队进攻时自己常处在禁区中央的枢纽位置,所以中锋应该具有不错的导球能力,能将球往较合适的位置输送,助攻队友得分。以上三项,是中锋应具备的基础技能。当然,得分也是中锋应尽的职责,他们是主要的内线得分者。中锋的命中率应该比大前锋更高一些。
一名好的中锋必须多才多艺,不但要有足够的得分技巧用于进攻得分,防守时还要能成为球队的最后一道屏障,除了守好自己盯防的球员,中锋还要能够协同协同和及时为队友的防守补位。
现代篮球打法中有一种新的中锋战术,就是所谓的“外线中锋”。此种中锋需要在进攻时主要到外线投篮得分,而少做禁区内的进攻。由于用其他球员防守身材上差异太大、效果不佳,因此防守方只能让本队中锋也到外线去盯防对手。如此一来,进攻方就可以利用对方中锋不在禁区的机会,让本队能力强的前锋或后卫队员疯狂得分。当然,“外线中锋”只适用于进攻,防守时与一般中锋的打法无异。
Perl(Practical Extraction and Report Language)是一种脚本语言。
Perl最初的设计者为拉里·沃尔(Larry Wall),它于1987年12月18日发表。Perl借取了C、sed、awk、shell scripting以及很多其他程序语言的特性。
Perl的正式网站是 www.perl.org。
Perl的解释程序是开放源码的免费软件,使用Perl不必担心费用。Perl能在绝大多数操作系统运行,可以方便地向不同操作系统迁移。
Perl擅长从文本文件里提取数据并处理、输出(这也是它名字的来由),并且提供模块满足各种专门的功能(例如CGI、数据库)。
Perl目前最广泛的应用包括:操作系统管理,网络程序(Perl基本成为了CGI的代名词),DNA分析。
LISP
在只给定几个简单的操作符和一个表示函数的记号的基础上, 如何构造出一个完整的编程语言. 麦卡锡称这种语言为Lisp, 意为List Processing, 因为他的主要思想之一是用一种简单的数据结构表(list)来代表代码和数据.
http://daiyuwen.freeshell.org/gb/rol/roots_of_lisp.html
Perl,R,Python在生物信息学中是怎样的角色?
ython和perl没有最优之说,甚至你可以两者都不会,照样可以成为很好的生信学者,在我看来,系统学习一门programming language才是更重要的,比如java,C, 然后回过头来在看perl,Python,你会发现比起programming language,这些script language更简单易读一些,也容易上手。你不需要成为这两门语言的专家,只需要能够阅读,并参照着写代码来处理你遇到的问题即可,更甚,可以直接跳过per和Python的学习,直接了解Bioperl和BioPython就行了,二者为生信学者提供了强大的工具。另外,语言没有最优之说,针对自己遇到的问题,身边的朋友,学习难易度,恰当选择一门语言才更重要。 比如你身边都是学习python的,那么当你开始学习Python的时候,会有很多懂行的人来帮助你,所带来的进步是非常大的,相比自己去摸索一门语言来说,效率高很多。R是目前生信领域应用非常广泛的统计分析语言,我个人认为R在生信领域的统计分析有着统治地位,当然,其他软件并不是说不好,我身边也有人用matlab和SAS,我觉得选择更适合自己的即可,还是上面那个观点,和周围人一起学习更重要,而不是纠结使用哪个软件。 因为R是开源!这就有了无限可能~ 很多R包是专门针对某一特殊的生物问题而设计的,个人认为学好R非常重要! 不管是任何组学研究,所得到的结果都会使用R分析。所以在我心中,R属于必学的语言之一。
Perl处理文本超级好用。Python在这方面不如Perl方便省事。但是Python也有他好用的一方面,靠使用时自己的体会了。Perl 处理文本信息,Python和Perl写模块流程,妥妥的。我不喜欢Python是趋势的说法,这句话听起来好像有道貌岸然的成分。R用来统计画图的,在统计语言中比较好写好学,但是统计的话还要懂统计学方面的计算理论。,perl用来做大部分文本处理工作,网页内容抓取,以及其他日常的批量处理工作。有一些即写即丢的一次性小脚本,也可以写一些有比较大功能的程序。R拿来做统计,跑各种图表,方便,效果又好。现在很多生物信息学的软件都是R包的形式。
应该说Python/Perl是相互替代的脚本语言,但个人推荐用Python, 虽然很多老的生物信息软件是用Perl,Python学习曲线好,功能也更强大,是发展趋势。这两个语言主要是做数据预处理、文本处理和格式转换、对算法效率要求不高的分析软件开发,系统管理和pipeline搭建等工作。R语言主要的优势是大量的统计包的支持,数据统计分析中非常常用。Python和R有良好的接口。关于绘图很多人用R,其实Python的Matplotlib的绘图效果比它漂亮很多,也更强大。对pipeline的搭建shell编程更适合,是一个不可缺少的技能。与数据库相关的工作需要用到SQL, Linux : 操作系统,是基础。 生物信息对Linux的要求其实并不高,并不是要做系统开发者或管理员,只需要会用就行。复制粘贴、处理数据、安装软件等。生物信息软件:标准数据分析。 生物信息学的数据格式已经基本标准化,大部分工作可以直接用软件完成。Perl和Python:处理个性化问题、软件之间的对接。 这两门语言至少应该熟练掌握一门自己写程序用,另外一门要能看得懂。 写点小脚本感觉差别不大,但是perl写大程序不合适。 很多人认为python是趋势,但至少截止目前更多生信软件是用perl写的。 所以,如果刚开始学,建议主打python, 看懂perl。R :数据处理、统计、绘图、数据分析。 R语言的数据结构跟其他语言差异较大、而且总感觉语法比较散,不好记。但是R的软件包却异常强大。数据处理的reshape2, dplyr;绘图的ggplot2;还有Bioconductor里的几千个包。不得不会。
Linux运维学perl还是python好
无需纠结,Perl早已过时,Linux运维人员:
第一语言, 掌握shell
第二语言,掌握Python
第三语言,掌握go。
拿走,不谢
同样是懒散运维表示。选python。两种我都曾经用过。
1。可以肯定使用py的人越来越多,因为入门相当容易,这适合你的脚本被其他人理解,或者共同维护。
2。就功能性来说,其实脚本语言都差不多。但是py有更好的调试机制,perl语法可以说约束太宽,我是觉得语法太随意,规范化的py看起来更简单易懂,py在面向对象的写法上更容易。
3。两个官方文档我都看过,perl内容没有py完整,perl有些地方很简单的带过。当然py2跟3有些差别,但是不大,perl6跟perl5的差别更大呢。
4。py作为很多开发项目的辅助语言现在来说会更流行一些,不管是github还是其他地方。所以,你能找到的帮助,解决问题的思路也比perl广。