首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Linux开始使用什么语言?

从Linux开始使用什么语言?
EN

Server Fault用户
提问于 2011-04-25 15:41:18
回答 10查看 1.8K关注 0票数 19

我即将在普渡大学攻读四年制的信息安全学位。这个学位不需要任何编程课程。所以我唯一能选的就是偶尔选修。所以我大部分的学习都是靠我自己。高中四年级开始的时候,我决定完全转向Linux。到目前为止,我一直在学习一些Linux和安全方面的东西。不过,我也相信,我也应该学习一些编程语言。

基本上,我计划学习编程,同时学习如何使用Vim。因此,这很可能是一个缓慢的过程。最后,我认为这是值得的,尽管。正如我所说的,我将进入安全性,所以我将主要创建与安全相关的应用程序,其中大部分将与网络相关。我也想开始开发Android应用程序,但这将是以后的事。

这么说,我有几个主意。我想从JavaScript开始,因为它是跨平台的,我以前见过它。我也听到了很多关于Ruby的消息,或者可以使用C.自然的Linux路线。我该往哪个方向走呢?

EN

回答 10

Server Fault用户

发布于 2011-04-25 16:09:29

首先,也是最重要的:bash以及常见的命令行实用程序。Bash是操作系统的默认用户界面,在某种程度上,Linux系统上的许多程序都将封装在一个shell脚本中。它可以是古怪的,有一些特性,而且经常看起来完全是愚蠢的,但这是你必须要处理的事情,所以要适应它。标准工具,如grepdiffheadtailsortuniq等等,不仅对shell脚本非常有用,而且对命令行的生产力也很有帮助。

至少学习一些c。它是系统的最低层次,它将使您更好地理解整个系统。

选择任何你喜欢的高级语言。Pythonrubyperljava,随便吧--只要你喜欢。这是你真正开始学习如何“编程”的地方,从现在开始,学习更多的语言,并不断学习。

票数 54
EN

Server Fault用户

发布于 2011-04-25 16:19:20

你会发现每个人都会推荐他们最喜欢的语言。我最喜欢的语言是Perl,所以我推荐这样做。)但是,除了我个人的喜好之外,还有一些很好的理由说明为什么您应该考虑使用perl:

首先,perl是一种非常好的通用语言.在perl中很容易通过编写简单的脚本来完成在shell脚本中所做的同样的事情,比如操作文件和根据用户输入做出决策。这为编程的一般思想提供了一个非常简单和渐进的介绍。Perl已经存在了很长一段时间了,因此有大量的资源(书籍和网站)可供入门。

其次,perl是一种功能强大、表达能力极强的语言,它支持所有现代编程特性。我已经使用它超过十五年了,我仍然在学习新的方法来更有效率地做事情。例如,如果您想探索面向对象的编程,perl就有这种功能(特别是通过驼鹿)。

第三,perl具有它的官方附加存储库CPAN的几乎无限的功能和灵活性。例如,要遵循编写安全软件的想法,比如您想要开发某种自定义的网络安全扫描器。您可以从使用NMAP::扫描器作为扫描引擎开始,而不是自己编写所有这些,然后在此基础上编写自己的微调和改进。

最后,如果您想探索web编程,Perl也有此功能。用Perl编写web软件的一种流行方法是催化剂,它为快速开发任何类型的web应用程序提供了一个现代的MVC web框架。

综上所述,perl的优势在于它允许您开始编写小的命令行脚本和程序,并逐渐发展为编写功能齐全的现代应用程序。当然,这种灵活性的代价是复杂的。学习和学习如何以正确的方式做事是由您自己决定的,perl并不像其他语言那样强制执行良好的实践。我个人非常喜欢这种自由,尤其是与网络上所有学习如何使用perl的巨大资源结合在一起。

票数 10
EN

Server Fault用户

发布于 2011-04-25 15:56:29

三种语言对你有好处。按重要性的递减顺序(即第一个是最重要的):

  1. 伪码。通常情况下,您正在使用的实现将是由六种语言和工具组成的混合体,只有一些语言和工具可以直接了解。但是,如果您知道正在实现的是什么模式,那么您就可以知道将什么输入传递给一个片段,以及它应该提供什么输出,测试它的排除性,并找出是否是中断的输入。
  2. 不管是好是坏,它运行着(Linux)宇宙,它为您提供了一个足够接近地面的视图,您可以了解任何高级语言实际上正在做的事情(例如PHP的逐引用,或Java的线程模型)。
  3. 除了C++,什么都没有。像SQL这样的函数式语言,或者更好的Haskell,或者其他不像C-ey的语言--如果其他语言都失败了,Java可以在这方面发挥作用,但它仍然是非常程序化的--在这里得到高分;其思想是围绕着与以前完全不同的东西--你不得不意识到你以前做过的事情--的局限性。就纯粹的实用性而言,bash可能也属于这个列表,但是如果您没有其他方面的基础,那么您最终只会用bash语法编写C,而不是真正探索它的功能。
票数 6
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/263133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档