`

编程语言学习和使用的观点

阅读更多

我的一些关于编程语言学习和使用的观点如下,因为最近谈到这个事情,就记录下来吧,但是我只想简单的表述出来。当然,我不想陷入语言孰优孰劣这种争论的圈子里。

多掌握一门语言有没有价值?如果一门新的语言能改变你对编程的理解,它就是值得学习的。另外,每一门语言对应着一种或几种“编程范型”,接触不同的编程范型是很有价值的,这是扩展视野的好机会。

编程语言只是工具,工具都是用来解决特定的问题的。特定的问题使用适合的工具来解决。但是很多情况下,我们的选择太多。选择这一门编程语言的原因可能只是因为“它很酷啊”,或者“因为大家都在用它”。另外,还有一种极端的滥用的情况:“当手上有一把锤子的时候,你看什么都是钉子”。

许多优秀的团队和企业不招“Java程序员”、“C++程序员”,只招“软件开发工程师”,如果程序员仅仅因为“不会Ruby”这样的理由被拒之门外,是荒唐可笑的。把优秀的工程师安插到适合他们的团队,以便让他们可以做自己喜欢的事情。如果让一个对游戏开发没有任何兴趣的人去做一个游戏的C++项目,他肯定不会开心。当然,也有很多企业和团队,要求来之能战,业务、平台都很清楚,那么就要把这些要求说清楚。

如果要做一个Web项目,有一个聪明、基础扎实但没有用过Java,没有做过Web开发的C++工程师,还有一个JavaEE领域有丰富经验、但是过往绩效却比较糟糕的员工,你更需要哪一个?对我来说,只要不那么急功近利,语言类别对于工程师的选择的影响很小。

优秀的软件工程师往往都至少使用过4、5门语言,有一门精通就可以。技术的宽度和广度并不矛盾。在招聘的时候每个面试官都会有自己的偏见,对我来说,如果应聘者技术面非常窄,比如说他只熟练使用过一门编程语言,我往往会对他说No。还有一种被视为偏见的让我放弃他原因是,他做过类似GFW这样没有节操的项目或产品。

我觉得C、C++是初学编程应该介入的语言类型,有人说是难了一点。但是你看看C和C++基础扎实的人算法和数据结构都不差,而且你可以明白一些底层的机制,之后再转向其它语言就比较快了。当然,初始的时候,学什么都不要学Basic。要知道它可能害了你。另外,千万不要去相信那些三个月的“XXX速成班”,基本上那只是坑钱而已。如果你有兴趣速成,我可以教给你“21天学会打开显示器”这样的速成技能。

如今语言本身被给予了过度的关注,每一种编程语言都有自己的不合理性,都有所谓的“坑”,但是过多地把精力放在这上面没有什么价值——语言的类库、社区、平台,还有语言背后的机制、设计都是更有价值的东西

文章系本人原创,转载请保持完整性并注明出自《四火的唠叨》

2
8
分享到:
评论
1 楼 MA_ZERUI 2013-03-26  
有那么一点点道理。

相关推荐

    Apple新世代编程语言Swiftt学习大礼包

    Apple Swift编程语言入门教程.pdf Swift 中文简介.pdf Swift语言官方教程中文翻译.pdf The Swift Programming Language.pdf 1.Swift观点 Rust创始人Graydon Hoare:我对Swift的看法.pdf 行走于 Swift 的世界...

    基于语言表征分析的Levelt话语产出模式研究

    在回顾语言学家关于显性知识与隐性知识、规则与范例等语言属性相关观点的基础上,讨论了语言存在和语言处理的双重系统问题,进一步阐释了Levelt话语产出模型的三个组成部分及其相互关联。对此,教师应该注重提升学习者...

    学习python需要有编程基础吗

    当然,在计算机方面的基础越好,对学习任何一门新的编程语言越有利。但如果你在编程语言的学习上属于零基础,也不用担心,因为无论用哪门语言作为学习编程的入门语言,总是要有一个开始。 就我个人的观点,Python ...

    kingofark关于学习C++和编程的50个观点

    把C++当成一门新的语言学习(和C没啥关系!真的。); 2.看《Thinking In C++》,不要看《C++编程思想》; 3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己...

    PERL语言编程

    从 Perl 最早的文本处理语言开始,它已经发展成为一种非常复杂的,通用的编程语言,以及完整的开发环境,包括调试器,调节器,交叉引用,编译器,库,语法提示编辑器,以及所有其它“真正”的编程语言所具有的所有...

    JS 函数式编程指南

    这本书的主题是函数范式(functional paradigm),我们将使用 JavaScript 这个世界上最流行的函数式编程语言来讲述这一主题。有人可能会觉得选择 JavaScript 并不明智,因为当前的主流观点认为它是一门命令式...

    数据库原理编程与性能第2版 中文版附答案

    本书自1994年初版以来,已成为学习、设计及使用关系数据库人员的一本经典教材。它从理论和实践两方面对数据库设计和编程均做了严谨的表述。其内容包括关系理论、数据库设计、数据库编程及运行-转储结果。每一部分均...

    C++大学教程(第五版).[美]H.M.Deitel(带详细书签).pdf

    本书是一本C++编程方面的优秀教程,全面介绍了过程式编程与面向对象编程的原理与方法,细致地分析了各种...本书可作为高等院校相关专业的编程语言教材和C++编程教材,也是软件设计人员进行C++程序开发的宝贵参考资料。

    Python课程代码.rar

    就我个人的观点,Python作为学习编程的入门语言是再合适不过的,相比其他编程语言(比如Java),Python最大的优势就是非常容易上手。举个简单的例子,如果完成一个功能,使用Java实现需要100行代码,那么使用Python...

    Java语言的科学与艺术(国外计算机科学经典教材)

    自1995年首次发布以来,Java编程语言作为一种教学语言变得日益重要,现在已经成为初级计算课程斯坦福大学的标准语言。Java语言可以让学生编写高度交互式程序,这充分激发了他们的学习兴趣。但Java语言很复杂,老师和...

    人工智能最火编程语言 Python大战Java!

    我搜索了与“机器学习”和“数据科学”一起使用的技能,搜索选项包括编程语言Java、C、C++和JavaScript。然后还包括了Python和R,因为我们知道它在机器学习和数据科学方面很受欢迎,当然还有Scala,考虑到它与Spark...

    windows环境下32位汇编语言程序设计

    言下之意就是:学汇编就是为了了解高级语言底下一层的功能,但现在Win32汇编却使用和C++等语言相同的API接口,既然和高级语言处于同一个级别,我们为什么还要去和机器指令打交道呢,还不如去学Visual C++方便。...

    编程新手真言......

    什么是语言级和语言外要学习的(数据结构与代码结构) 15 什么是语言级要学习的 17 编程学习方法 18 计算机学生专业课程本质讲解 18 用C++开发要学到什么程度 20 本书目录安排 21 第二部分 基础:导论 25 第1章 系统 ...

    《JS 函数式编程指南》中文版

    这本书的主题是函数范式(functional paradigm),我们将使用 JavaScript 这个世界上最流行的函数式编程语言来讲述这一主题。有人可能会觉得选择 JavaScript 并不明智,因为当前的主流观点认为它是一门命令式...

    Visual Prolog 语言教程

    第二部分 学习Visual Prolog 第2章 Prolog基本原理 从自然语言的观点对Prolog提供一个概括地介绍,讨论如何把自然语言的语句和问题转换为Prolog的事实、规则和询问。 第3章 Visual Prolog程序结构 包括Visual ...

    计算机程序设计语言发展史和对程序设计语言未来的看法.docx

    【关键字】 自然辩证法计算机语言汁算机技术编程语言因特网面向对象 一、引言 一九九三年美国的克林顿政府提出了 "信息高速公路"计划,从而在这十多年 间在全球范围内引发了一场信息风暴,信息技术儿乎触及了现代...

    LabVIEW 在电子测量与仪器多媒体教学中的应用

    文中对LabVIEW 集成语言编程环境中使用的图形化编程语言——c语言易学易用的特性作了简要介绍,对编制课件时使用较 多的信号采集、产生、处理以及绘图等函数库予以着重强调。结合两个示例程序,具体介绍了LabVIEW ...

    学习ASP和的28个观点

    1.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点; 2.会用asp,并不说明你会asp; 3.看asp的书,是学不了asp语言的;

    Java语言的科学与艺术 斯坦福大学经典教材

     自1995年首次发布以来,Java编程语言作为一种教学语言变得日益重要,现在已经成为初级计算课程斯坦福大学的标准语言。Java语言可以让学生编写高度交互式程序,这充分激发了他们的学习兴趣。但Java语言很复杂,老师...

Global site tag (gtag.js) - Google Analytics