我是Windows平台上的Delphi开发人员,最近在W3CSchools阅读了PHP教程,看起来很有趣。
我们都知道脚本语言非常擅长网站开发,但我也想利用它来提高我的工作效率或快速完成一些繁琐的任务,也许是一些快速而肮脏的字符串/文件处理?
除软件开发外,您通常使用脚本语言做什么? 我们需要一个响应迅速,体面的IDE /编辑器,以便在为此目的编写脚本时提高工作效率?
答案 0 :(得分:17)
我会告诉你我是如何通过Windows上的Python提高我的工作效率的。我只是尝试用Python编写所有内容 - 我需要的每个应用程序,除非我知道它不会扩展,我需要更高效的工具(在这种情况下我个人使用C ++,但你也可以使用C#/ Delphi)。
事实证明,对于大多数(> 95%)的工具和实用程序来说,Python(与GUI的PyQt结合使用)已经足够好了,而且它对我来说比C ++更有效。关键是不要将Python视为“脚本语言”。它不仅仅是一种编程语言而不是C ++ / Java / C#/ Delphi /您所说的。它有它的优点,它有其局限性。只要您了解它们并知道如何为工作选择合适的工具,您就可以了。
您不需要任何特殊的IDE。我使用Scite进行所有Python编码(顺便说一句,在Windows 和 Linux上),并且效果很好。
答案 1 :(得分:11)
您可以通过使用脚本语言自动执行大量任务来确定自己。
请注意:其中一些“脚本”语言 - 如Perl - 实际上是非常强大的通用软件开发语言,恰好标记为“脚本”,因为它们最初的利基和/或亲子关系是脚本(因为很容易用它们做简单的脚本)。
我个人使用Perl进行快速脚本自动化(2%使用率),Web开发(8%使用率)和企业财务软件开发(剩余90%)。
至于你能做什么的例子 - 答案是“几乎任何东西”,在很大程度上取决于你需要自动化的典型工作是什么。我使用Perl进行文件系统相关的东西(文件组织/清理/重命名)来文件内容操作(Perl的起源和最强大的套件之一仍然是文本处理)和各种报告(Perl中的“R”代表“报告”),以及对于各种数据运算来说,这在Excel中很难快速完成。
请注意,Perl有一个非常广泛的库(称为模块),通过CPAN可用于除了烘烤面包或时间旅行之外几乎可用于做任何事情;以及严肃的软件开发的众多框架。
为了反映Python的答案,Perl也可以用于Windows上的GUI东西 - 我不会在这里详细说明,因为如果您决定使用Perl,SO就该主题进行了非常全面的讨论。
作为说明上述内容的非常具体的例子,我为自己做的最后两个项目是索引系统,索引文件名,元数据和内容,并提供了一种搜索方式指数。第一个是本地代码搜索(穷人的谷歌代码搜索设备版本),第二个是我的mp3的文件收集管理系统(我的双狗敢于任何现有的软件,目的是允许我通过标签随机正则表达式搜索关键字)。两者都使用SQLite后端和Perl进行索引和前端。第二个具体的例子是计算StackOverflow上特定标签的最多票数的2线程:)
您可以从优秀的IDE或编程编辑器中获益,包括任何编程,脚本编写。在Windows上,您可以使用Notepad ++或UltraEdit或更多 - SO应该在某个地方有一个列表。任何具有“intellisense”(智能工作完成)的编辑都有优势。
答案 2 :(得分:3)
脚本语言非常强大。以下是我相信Lua提高效率的方法:
中心数据是关联数组(可变哈希表)。 Lua的实现非常高效,可以很好地用作哈希,表,集和列表。
字符串处理位于一个极好的最佳位置:几乎与正则表达式一样强大,而且更具可读性。模式转义字符%
与字符串转义字符\
不同。 Lua的“捕获模式”比POSIX正则表达式简单,并且 比Perl正则表达式更简单,并且它满足了我的字符串扫描需求的90%。一个极好的工程设计实例。
这两个功能涵盖了主要数据。除此之外,
该表是唯一可变类型,使程序更易于推理。
Lua拥有一流的嵌套功能,因此如果您需要它,功能范例的所有功能都可用 - 但如果您不使用它,则不需要付费。
< / LI> Lua有一个内置的迭代构造,原生于该语言,适合迭代集合,文件系统,你可以命名它。比使用“迭代器方法”一些“迭代器对象”要好得多。迭代非常重要,我可以从一个专门用它的语言结构(通用的for
循环)中受益匪浅。
语言很简单,经过适度的学习,我理解所有。
有一个闪电般快速的互动实施。
根据需要,我可以将任何现有的C库导入Lua。
标准的Lua库满足了我的大部分需求,同时保持小到可以理解。如果我需要一个特殊目的库(XML,HTTP,解析),它通常已经可用且易于理解。
再次根据需要,我可以使用自己的数据类型进行扩展。
我发现我使用Lua完成了我用sh,awk,sed,perl和那些人群完成的所有任务。我还发现90%的时间我可以比简单有用的C程序更快地编写简单,有用的Lua程序。 (另外10%是我主要进行系统调用的时候。)
虽然我已经记不清我熟悉的语言数量(编写的代码超过10,000行),但现在几乎所有的需求都只满足于3:
Lua几乎所有轻量级程序,包括你提到的快速和脏字符串/文件处理
C教学(因为我必须教C)
Haskell用于原型化(有时实现)复杂或大型系统,尤其是编译器
答案 3 :(得分:2)
简短的回答是,您可以使用脚本语言做很多事情 - 但您仍然可以将其称为编程或软件开发。
但是,回答你的问题,我发现我工作中最有帮助的,提高我的工作效率,是很多shell / perl / python脚本。
我认为脚本最常见的用途是各种报告(广义上讲), 如果有一个日志文件并希望检索某些信息(或某种统计信息),脚本可以帮助您在很短的时间内实现这一点。
一些提示关键字:shell脚本,正则表达式,输出格式。
由于
答案 4 :(得分:2)
所以你可能已经得到了图片,你将使用脚本语言更快地完成某些任务(关于脚本这个词:我不再认为它是贬义的,恰恰相反) 。天啊,我有一些朋友(不小心Delphi程序员)仍然使用Delphi执行一些一次性任务,搜索文本文件等,花费数小时编写Delphi类和表单,一遍又一遍地编译,而不是几分钟写Python / Ruby / Perl one-liners。
但我认为更重要的是(给出正确的选择):你将学习新的编程概念。你将成为一名程序员。你会长大那个旧的“你得到了锤子,所以一切看起来像一个钉子”的观点。你将学习如何再次呼吸。
顺便说一句,当我说“给出正确的选择”时,我强烈建议选择功能强大的函数式编程概念的正确设计语言。所以我真的会跳过PHP并选择Python或Ruby。答案 5 :(得分:1)
所以,我经常使用Python来为各种编程任务制作解决方案的原型(在实现之前使用其他编程语言中的所有花哨都可以获得算法),并且我一直在使用BASH shell脚本来实现自动执行各种任务(例如,在多个不同的输入集上运行程序,保存结果,管道连接到grep和其他实用程序等)。
说到乏味,我真的强烈推荐BASH。您可以通过安装Cygwin在Windows上获取它。例如,我经常发现自己在各种课程中做了类似的事情:
for i in {1..10} ; do ./process_data input-$i.txt | tee result-$i.transcript done
你不需要一个好的编辑器...任何文本编辑器都可以。也就是说,如果你正在寻找一个优秀的Python编辑器,那么带有PyDev的Eclipse就相当不错了。就个人而言,我只是使用Xcode作为通用代码编辑器的所有内容......即使它没有真正为Python或BASH shell脚本带来任何东西......当然,你在Windows上没有Xcode。但是,您可以使用Notepad ++,Notepad或Wordpad。
答案 6 :(得分:1)
作为一个50/50的windows / linux用户,python特别有用,因为我写的几乎所有东西都是跨平台的,而且因为windows并没有真正有用的shell语言。使用pyqt,我可以在几个小时内创建一个非常令人印象深刻的GUI。我相当肯定,未来几年,python将接管世界。
答案 7 :(得分:1)
我是TextMate用户并积极开发扩展程序(“捆绑包”),供我自己在php,ruby和javascript中使用。
答案 8 :(得分:1)
我使用脚本语言进行大量的数据前/后处理。小或大。
几乎所有脚本语言都有超级/快速文件,文本,图形等处理。如果没有大量的锅炉板代码和编译步骤,非常容易。
正如有人提到的那样,你将展现自己的肌肉,开拓新的可能世界。
我从一种脚本语言跳到另一种脚本语言,有时会将它们混合起来,只是为了更快地得到我想要的东西。知道你可以做任何你能想到的事情,这让我无所畏惧。如果你不能那么总有stackoverflow和更多的语言(语言不可知的标签),你可以接受更快的(通常更好)你会得到一个。
答案 9 :(得分:0)
我使用每种脚本语言的标准库,使用记录良好的API快速完成工作。例如,以下是我在最流行的脚本语言中使用的工具:
PHP
的Python
Ruby
的Perl
<强>参考强>