找出适合该工作的语言:从C#分支出来

时间:2020-03-06 14:26:39  来源:igfitidea点击:

我在Microsoft环境中工作,因此可以在碰到的任何指甲上使用Chammer。话虽这么说,什么语言(编译,解释,脚本,功能,任何类型!)补充了C#的知识,并且出于什么目的?例如,我已经将许多脚本功能从已编译的控制台应用程序移到了Powershell脚本中。如果我们是MS开发人员,我们是否在世界上找到了其他语言(例如F#,IronRuby,IronPython或者类似语言)的利基市场,它们填补了哪些利基市场?

注意:这个问题是针对Microsoft开发人员的,因为我无法在公司周围开始安装LAMP堆栈,因此必须永远为其提供支持。 :)但是,除了主要语言外,我们还可以随意提及我们发现对完成世界中的某些任务/角色感兴趣的任何其他语言。

解决方案

好的脚本语言始终是最佳工具。请参阅Ruby或者Python。

我和jjnguy在一起。尝试一种脚本语言。另外,作为奖励,当我们学习Ruby / PythonPearl等时,它是一种入门药物...为其他环境开发的错误语言。

我使用python进行原型制作,因为在编辑和实际运行新版本的代码之间几乎没有时间间隔。我使用它的次数越多,我就越喜欢它,甚至可能最终将其用于真实的项目。

尽管最初使用的缩进-定义-结构系统有点怪异,但要成为一名C程序员还是需要一些习惯的。

Python / Perl / Ruby / PowerShell是C#/ VB.NET的重要补充。如果老板将一个文本文件交给我们,并说将其插入数据库一次或者两次,那么任何Perl / Python / Ruby(我不太了解powershell,但我想它并没有那么困难)就可以了。解析它。无论哪种方式,对于主要应用程序,我们都可能会陷入C#中。我们可以使用一种更动态的语言在C#中进行代码生成。

由于我们处于Microsoft环境中,因此使解决方案被接受的最佳机会就是PowerShell。接下来,我要说IronPython或者其他与CLR集成的东西。但是主要的问题是,对于其他人来说,要保持工作水平,他们必须知道我们使用的是哪种语言。微软将来计划使用更多的PowerShell,因此说Python / Perl / Ruby可能更容易证明PowerShell。

如果我们只处理一次文本文件,请使用。或者创建一个一次性代码生成器来生成所有代码,然后打算维护所生成的代码,那么没关系。我们将是消耗结果的人,如果我们使用Perl节省时间,则功能将更多。但是,如果我们做的事情会被一遍又一遍地使用(例如活动代码生成器,我们在其中更改模板并运行生成器而不是维护生成的代码),那么其他从事我们所做工作的开发人员将需要了解该语言。我们曾经使用过。很难说服在Microsoft Shop中学习Perl / Ruby / Python。但是PowerShell似乎是更简单的论点。我认为MS的宏伟计划是最终应用程序将通过Commandlet公开Power Shell的更多功能。假设发生了这种情况,那么PowerShell无疑是更明智的选择,因为它将公开大量我们无法通过其他方式获得的可编写脚本的功能。

虽然这是一种流利的语言,但我不得不提Erlang。 Erlang是工具箱中使用的一种出色的语言,因为它的非凡优势通常会补充其他编程平台。 Erlang对于构建分布式,并发,容错系统非常有用。在需要分布式但互连的体系结构的即时消息和电话领域中,它已被大量使用。

由于我们在MS商店中,因此建议将PowerShell作为一种不错的脚本语言来学习。它与C#配合良好。
我也是Ruby的忠实粉丝。

我想要第二或者第三个python。具体来说,IronPython(ttp://www.codeplex.com/Wiki/View.aspx?ProjectName = IronPython)使我们不仅可以学习python,而且还可以访问.net框架。

它非常适合与脚本相关的任务,因此对于日常编码生活可能很有用,并且也是一种以实验性编码/原型方式进行改进的好方法。

在普通工具箱之外尝试语言将为我们提供以当前最喜欢的语言处理事物的新方法。即使我们不将它们用于严肃的项目语言,如Perl(用于数据处理),Lisp(功能性编程)和Javascript(基于原型的编程),也会教我们新的方法来思考当前语言中的问题。

作为行业的Web开发人员,我们可以研究XSLT / XPath系列,因为对于某些类型的XML处理,它们可能是非常强大的工具。

当然,在C3.x中,Linq2Xml公开了一些类似的内联功能。

但是,XSLT可能是一种将数据与应用程序中的表示分离的强大方法。

我对FLR / DLR中的其他一些新语言非常感兴趣。 DLR语言对于UI可能会好得多,因为它们不会使我们投放很多愚蠢的东西。

但是,我认为重要的是要牢记学习新语言,尤其是在新领域(例如函数式编程),这是重新训练思维的好方法,这样我们就可以接触新概念,即使我们从未使用过这些新语言,也可以使用我们选择的语言编写更好的代码。

也许和Boo一起玩,看看想法。
Boo在Codehaus.org
维基百科的Boo

看看Boo,它在.NET堆栈上运行,但其语法更像Python。

如果我们使用.Net框架,那么该语言实际上并不重要,因为无论如何编译器和解释器都会创建相同的IL代码。
如果我们离开.Net世界,我认为开发工具和语言是一个工具箱。考虑到其他开发人员的技能基础以及公司当然在寻找什么方向(我是顾问),我会努力使用合适的工具来完成当前的工作。

要学习补充C#的新语言,我将使用C ++。我们可以以"比p /调用更好的方式"使用它,以从Capps中访问非托管代码。然后,如果我们发现某些.NET应用程序开始占用所有RAM和/或者CPU,或者通常速度不如它快,则可以开始使用它来编写内存受限制的应用程序和/或者对性能至关重要的位。你想要。