什么编程语言应该学到什么?

2010年3月2日

长Sameer问他什么编程语言应该学习的。 下面是我的答复编辑版本。

水暖工来到你家,问:“你要什么工具,我用?”。

你的答复会是怎样?“我不在乎! 修复该死的问题“。

这是正确的。 每个人都希望得到他们的工作要做,他们的问题得到解决。 他们不在乎你用什么工具。 作为一个开发你的工作是为了解决问题您的costumers以最有效的方式有。 这意味着你不能使用的每一个问题类型相同的工具转变。 你可以使用电动钻机,以解决在管道小泄漏? 不是,你可能想使用的胶带。

我应该学习哪些语言是一个错误的问题首先。 语言是工具,在一个软件工程师袋。 经编程语言之前要学习作出决定时,你应该决定什么类型的问题你想工作。 你想工作的网络技术? 你想在Linux生态系统的工作? 你想在移动工作平台? 有一百万个不同的利基在编程的世界,你要问问自己所有那些来到你的头脑,然后再决定你的选择的语言套房反问。

这并不是问题的工具并不重要。 他们,但他们不超过手头的问题十分重要。

多少编程语言你应该学到什么?

有没有想学点尽可能多的语言。 你应该做的是尝试和了解尽可能多的语言可以,然后决定哪些语言你应该得到的专业知识英寸

让我们回到我们的比喻,你认为什么工具一个管道工应该在他携带的工具?“足以让他的工作要做。”

没错。 如果你知道使用只是一个工具,你可能被迫与其他人谁可以使用一些其他工具。 这发生在大多数企业的资讯科技公司。 在你将与谁在编程语言和工具,你不知道如何使用专门知识的其他人的大公司工作。 这样做的好处是,这些人是真正的摇滚在他们自己的狭隘领域的明星。 相反,如果你想在像创业工作(或如果您想作为一个自由开发人员工作的地方),你可能想知道的每一个工具的类型有点在那里。

当然,你不必知道利用一切类型的螺丝刀。 你只需将模型专家在使用一个很好的螺丝刀。 同样你也不必在每个Web开发语言的专家。 只要学习一个相当体面的一个,你应该罚款。

每个域都有它的编程工具,以帮助您开发的软件。 如果您正在开发一个企业网站,你可以是工作如核心Java,Servlets和EJB的,XML的UNIX shell脚本,日志分析器,数据库,各种网络服务器等技术,这意味着,除了编程语言有很多相关的编程,你应该掌握命令是一个很好的编程等技术。

还有一点你应该知道 - 所有的编程语言在本质上的不同。 有些语言很容易方案(如Python中),而有些则困难(的C / C + +)。 我不是指在学习语言所需要的专业知识。 我指的是语言学习的努力需要编写一个程序你。 如果你作为一个IT公司的程序员的工作,你可能会学到一门新的语言(可能是按业务要求在很短的时间跨度)。 你会开始在大约一周写像样的代码,以3个月的时间。 那么唯一的问题是哪种语言将你真正喜欢的工作的。 所以不要担心什么作为语言特点是容易学习;担心的语言更容易使用。 (有相关性,虽然在这里。您会发现,在大多数情况下,语言更容易学习,是更容易方案太)

你可以学到很多论坛从对编程是聪明的程序员挂出(如Proggit黑客新闻 ),请阅读顶的物品,并要求你的问题有,你将得到深入的答案。

最大的秘密:

你将成为一个好的程序员只有 - 编程了很多东西。 许多学生没有计划外的实验室和大学的项目,他们从来没有成为优秀的程序员。 尝试做一些在你的空闲时间编码。 尝试解决项目欧拉 ,问题在您最喜爱的编程语言或尝试建立一个自己的网站,您的。

说到这里所有这些都是一些具体的提示。 这些可能或可能无法在您的情况:

  • 企业发展:学习Java是一个很好的。 Java是用在作为主要语言的许多软件商店。 它会带你在大多数情况下很长的路要走。 同时, 我有一些反对的看法与使用的语言编程启动点从。 阅读此讨论了。
  • Web开发:远离的PHP。 这是一个严重的设计语言。 与之相反,学会或Ruby on Rails的Django的。 如果你喜欢微软的技术使用ASP.Net MVC的。
  • Windows开发:学C#(也可能不是Visual Basic中)。 对于运行Linux应用程序的C#中,检查出的Mono项目。
  • 有很多优秀的编程工具或集成开发环境你应该尝试掌握。 Eclipse是一个流行的IDE。 记事本+ +是一种流行的代码编辑器。
  • 你应该对类似正则表达式,统一代码,信息安全等学习材料(我什至不能试图列出所有的主题)
  • 尽量保持与新技术保持同步。 您不必了解所有最新的语言,但尝试有一个在编程最新趋势的认识。 例如,网络的发展,移动电话开发等领域的创新是许多正在发生。 你不想错过任何人,如果你是在这些领域位数的价格。 再说,我在上面提到的论坛会派上用场。
  • 学习只是一种语言不是很好的主意。 学习一门语言的很多也不是一个好主意。 两者之间的两个极端,并尝试在不同的领域是好的,至少在2-3个不同的编程语言的平衡。 (如前所述,不同的语言是用来解决不同的问题类型)

祝你好运!

到目前为止,13个反应

  • 雷恩 说:

    “你能使用电钻固定在管道小泄漏? 不是,你可能想使用了Perl。“

    fix'd

  • “从PHP保持距离。 这是一个严重的设计语言。
    为什么?

  • 贾巴尔 说:

    “从PHP保持距离。 这是一个严重的设计语言。 “你能不能把这个更多的光线? 我一直在使用PHP的许多实时解决方案。 我从来没有遇到大发之日起,直到问题,它是一个最容易学的快。

    “Django的或Ruby on Rails的”,他们是网络框架...你如何与编程语言比较...? 他们只是帮助程序员快速发展。

    “在无框架的PHP MVC框架” - http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html请到编程语言,通过这一次的参考框架,并与有关MVC的风格。

    我不是在辩论.. 但希望这篇文章更有助于创业。 所以,请加强与更多正确的信息的文章...

    谢谢,
    贾巴尔。

  • 布拉德 说:

    你完全忽略了一个事实,即程序员问题陈述往往限制了解决一个特定的语言。 因此,举例来说,问题可能(通常是)来添加一个功能,或固定在一个现有机构的代码错误。 显然,在这种情况下,程序员必须使用之前被使用的语言...和它当然不要紧,语言是“设计不良”或者如果程序员other哲学(或者宗教)的语言反对。

  • 大卫 说:

    我热衷于学习如何编程,但我不知道从哪里开始,而学校里,我应该去还是我可以了解自己的,要是我不知道一个language what jobs我会得到什么,我有与VB和我喜欢它,请帮助
    谢谢

  • Tazerenix 说:

    我看不出PHP是一个设计不当的语言。 它得到了非常强大的C和其相同的基本语法。 此外,它更容易学习比ASP.NET

  • Tazerenix 说:

    哇,有错误...
    哇,它具有很多功能...
    如果它是坏的,为什么是世界上最大的网站,如维基百科,Youtube和Facebook的,甚至用它?

    作为一个语言只是作为其编码器好。

  • 尼牙孜峰 说:

    “作为一个语言只是作为其编码器好。”

    但是,仍有许多好的语言帮助程序员避免触犯他们的平均可怕的错误代码研究。 PHP是只是围绕一些C函数的包装,显示出每一次你使用它。 良好的语言应该帮助大家写出好的代码。 良好的语言应该有一个正确的处事方式。 良好的语言为大家应提高酒吧,不只是最好的程序员。

    在适当的名称为缺乏手段的职能,做好间距大而复杂的项目往往是混乱的完成时使用PHP。 用PHP的问题将会变得明显,如果您有一些其他编程语言的掌握。

    我自己做PHP编程,但事实上,你和我(或Facebook和Wikipedia)使用PHP不会突然使PHP一个良好的框架,开始编程英寸

  • Stesha 说:

    关于PHP你的声明是在最好的虚假。 或许,如果你列为为什么PHP是一个良好的语言使用您的读者可以自行决定的一些联系。 大多数专家(我假设你不是一个)为它赞美PHP的设计和易用性,这是考虑如何强大。

    这一点:“一个良好的语言应该帮助大家写出好的代码。 良好的语言应该有一个正确的处事方式。 良好的语言为大家应提高酒吧,不仅仅是程序员最好的。“没有意义。 这不是一个良好的语言衡量了!

    备份您的良好形成和真正的理由或必须清楚,这是你没有以支持优先发言的原因。

  • 我总是喜欢和感觉Java.But我不明白你为什么反对PHP的快乐!。WordPress是一个伟大的开源平台,它是完全基于PHP开发的。

留下回复