导读:作者Justin James有着丰富的编程,网络管理和系统管理的经验。同时,也是TechRepublic的活跃用户。近日,一封TechRepublic读者的来信促使他写了一篇关于“IT经理如何选择编程语言”的文章《Programming language choices for an IT manager》。文中从两大系统Windows,*Nix中入手,写出在不同的系统下所应选择的语言,并且主力推荐学习C语言,以下是文章内容:
一位来自TechRepublic的读者Aaron给我发邮件并提出问题,以下是他的邮件摘录:
“我是一个小型IT部门的经理,我的工作技能都是自学而成。我相信如果我有一些编程技巧,我会更善于处理业务计划。你能推荐一种编程语言吗?最好途径是正规教育体系的或是可以自学的编程语言。” |
我肯定其他读者也会对编程语言的选择有所好奇与疑虑,所以我决定回复Aaron的邮件。
学习编程技巧
首先声明,我可以肯定的是,编程是可以自学。以我的经验,如果某人可以操作、运行网络或服务器,就有学习编程的资质。这代表不是每个人都可以自学,所以去社区大学或技术学院学习是一个不错的选择。但是,四年制的大学并不是一个好的选择,因为相比社区大学和技术学院的课程,大学所针对的科目比较分散。
我工作管理的范围很广泛,包括各种小型的IT部门,我可以告诉你,组合编程技巧很重要。并不是强制选择此类编程,但是它对你会有很大的帮助。以下是帮助学习编程的一些方法,包括:
- 任务自动化;
- 加深基础的理解,以便排除应用程序的故障;
- 根据需要使用应用程序;
- 利用应用程序缓解编程压力,例如:Excel宏;
- 熟悉任务管理系统的快捷键,脚本和API,可以提高编程技巧。
IT世界主要分为两大阵营——Windows和*Nix,每个人的学习方式也都不相同。让我们来看看每个常见的编程技巧是如何帮助IT经理的。
Windows
如果你使用的是Windows操作系统的电脑或网络,PowerShell是你不二的选择。Windows PowerShell是一种命令行外壳程序和脚本环境,命令行用户和脚本编写者可以利用.NET Framework的强大功能。
PowerShell中的object model和piping coherent这两方面给我留下了深刻的印象。Windows Server的GUIs管理只能创建PowerShell脚本快捷方式和运行,还有很多事情不能实现或是不能用简单的操作实现。
编写PowerShell脚本和“cmdlets”,需要学习.NET语言。在这一点,我推荐C#、VB.NET,因为它们的语法简单易懂而且不难学。但是,VB.NET的学习更具有挑战性,以现在的情况来看,VB.NET的学习资源和示例越来越少。我认为值得花费一些时间去学习C#语法,因为它是你最好的选择。此外,大多数.NET应用程序似乎是用C#来开发的,所以它也适用于其他的项目。
熟悉PowerShell操作后,我会继续学习ASP.NET Mvc,它是微软官方提供的Mvc模式编写Asp.net Web应用程序的一个框架,使项目化简为易。在内部应用程序开发方面,我建议看看敏捷平台OutSystems,它可以将活动目录和技术构架很好的配合,相比APS.NET Mvc可以减少开发应用程序的工作量。
本地或桌面应用程序的开发,可以多多关注Windows 8的公告。没有详细了解Windows 8的信息,还是不建议初学者直接进行Windows的桌面开发。
*Nix
C语言是*Nix操作系统家族的基础,学习C语言是明智之选。话分两说,C语言也是一个非常棘手并要保证高质量的编程语言。写入时有一点的错误都会导致整个应用程序出现大问题。即使你不学习C语言,你也应该熟悉它的文件和操作,因为运行*Nix系统时,临时会发生什么情况谁也不知道。
如果你觉得自己不适合学习C,我推荐学习类似C语言的Python、Ruby、Perl,这些都可以用于管理*Nix系统。许多常见和重要的系统实用程序都是用这些语言编写的,他们易学,兼容性高,开发简单。只要你学习类似C语言其中的一个,另外几个学习起来就会相当轻松,并且学习后可以轻松的编写*Nix脚本。
三个语言也适用编写Web应用程序(用Perl编写Web应用已过时)。我推荐两个系统管理语言和Web开发框架的组合,Python+Diango和Ruby+Rails,可以轻松的编写应用程序和桌面环境,不要错过学习Python和Ruby的机会。
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,坦率的说,我觉得Java的生态系统非常混乱,它不是一个适合做系统管理的语言。
结论
希望文章对你有帮助,我敢肯定TechRepublic读者的评论也会有很好的建议和采用价值。(张祺/编译)
作者介绍:
Justin James来自Levit&James公司。在公司负责编程,网络管理和系统管理。自2005年至今,都是TechRepublic的活跃用户。
原文链接:techrepublic.com