有很多主题讨论下一步要学习的语言。但是,这些线程无法将任务本身考虑在内。我很好奇社区对学习新语言的标准有何看法。我看到一些标准:
您使用什么标准?你对每个标准有多重要?
我发现我倾向于阅读一种语言,并对此感兴趣。然后尝试使用这种语言解决问题,这当然是一个古老的问题,当你有一把锤子时,一切看起来像钉子。
有没有人成功地对某个项目(开源等)感兴趣并学习了这门语言才能做出贡献?
答案 0 :(得分:4)
答案 1 :(得分:3)
归结为三个问题。我提供了每个例子:
1)人们会付钱给我使用这种语言吗?
示例: Java,C#,Ruby
这是关于技能组合的市场性和市场价格。
2)这种语言能否提高我的工作效率/让我做新事物?
在此类别中向足够多的人证明自己的语言可能会升级到第一类(上图)并成为大众市场。
Ruby - 即使您没有找到高薪工作,提高您的个人工作效率也可能有助于您的个人项目并增强您的信心。
Objective-C - 再次,您可能只是为了酷炫因素而对iPhone进行编程,或者能够编写自己的个人应用程序。
3)这种语言是否会增强我作为开发人员的教育水平?
Smalltalk - 让人们比任何其他语言都更好地掌握极限编程和高级面向对象。
Lisp - 打开对人工智能文献和算法的整个库的访问。为了获得大量用lisp编写的计算机科学资料,可能值得学习。
自我 - 获得一些革命性的UI工作和基于原型的OO的经验
答案 2 :(得分:1)
如果我在其图书馆和框架中找到了一个明显的好处,我会学习一门新语言,这是我在另一种语言的合理时间内找不到的。这就是为什么我学习WPF的原因:当时没有什么可以做到这一点,同样有吸引力的桌面应用程序界面。出于类似的原因,我学会了Cocoa-Touch / Objective-C =>当我想在平台上写东西时,iPhone的编程实际上强加了我的语言。
答案 3 :(得分:1)
对我来说,有两个理由可以学习新的语言需求和兴趣。
在第一种情况下,我需要做一些事情,通常是为了工作,例如“自动化命令行工具并可能添加gui”,或“将xml数据转换为漂亮的网页”。在这些情况下,我会根据最实用的方法做出决定。
在第二种情况下,它归结为我感兴趣的东西。
答案 4 :(得分:1)
几年前我在某地读过,每2 - 3年应该学习一种新的不同类型的编程语言。这个过程简化了您对编程和设计的整体看法。我的个人轨迹是这样的:
除了他们之外,对其他较小领域特定语言的良好研究也有所帮助:
一般来说,指导力量是我参与的行业项目。最初,他们是由我在现有项目上工作的老年人指导的。在开始新项目时,我通常会花时间尝试不同的语言,这些语言可能更适合项目的不同方面。其中一些尝试失败了,而另一些则导致我选择了提高整体生产力的好工具。
每当需要程序性能时,我现在都会选择C / C ++。无论何处需要程序员生产力(如Web应用程序的开发),我都会使用Python / JavaScript组合。 Haskell仍然更符合学术兴趣(对我而言)。
其中很多还取决于您使用的工具集,平台等。为了降低开发成本,我更喜欢使用开源工具的成熟语言。这就是为什么我要避免使用ASP.NET,C#.NET等并使用Python。跨平台开发需要仔细使用C ++。
时间投资确实是一个关键组成部分。当在现有的经验丰富的程序员群体中引入新语言时,如果学习它所需的时间非常高,则难以出售。 Python擅长于此。
答案 5 :(得分:0)
有时候学习的标准是你被指责的新项目。举一个用asp.net 1.1编写的asp.net项目,该项目正在升级到asp.net 3.5。对于这样的项目,你可以从
开始Asp.net 1.1 Ado.net 的Javascript
到
Asp.net 3.5 实体框架 LINQ JQuery的 Asp.net 3.5 Web表单 Asp.net 3.5 MVC
编程是一个不断变化的研究领域。基本编程概念不会改变。事情如何完成确实会改变。工作委员会或杂志指导我们学习下一件可以为我们带来更多钱或让生活变得更轻松的伟大事物。
今天的世界有一个学习wordpress,ruby on rail,visuals studio .net,flash,dream weaver,设计模式,测试驱动开发。
首先识别网络或桌面。其他一切都将落实到位。 Wrox出版或出版书籍是一个开始学习的好地方。每个人都从一开始就开始,让你在学习过程中跳槽。