`
chinamming
  • 浏览: 151474 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

怎样才算会一门编程语言

 
阅读更多
今天, 同事问我会不会Python, 我犹豫了一下:不会。

实际上我曾经学习过这个语言,当时还用它写了些小工具, 可现在我对这个语言的印象只剩下它那特殊的缩进格式了。

由此思考怎样才算会一门语言?我想每个程序员都接触过多门语言 , 那么究竟怎样才算会这门语言了呢?

会一门语言, 当需要它时, 应该能很快用该语言解决某个问题, 这个是最基本的。

如果深入一点, 真正会一门语言, 我觉得需要满足以下几点:
a. 有超过一年的实践经验
b. 理解语言背后的机制, 最好阅读过该语言标准库的部分源码
c. 在最近一年里还经常使用它

尽管我工作后只跳过一次槽,接触的东西也比较有限, 但是细想一下, 也接触过不少语言:
Masm: 有段时间玩破解, 研究了下
C/C++: 工组中一直用
Objective-C:有段时间想搞跨平台的界面库,研究过这个语言
C#: Win8 Metro下应用程序拿它做界面
VB:刚工作的2年,用它开发过发证系统和一些小工具
Java,JSP,HTML, JS: 学得都不深入,当时边学边用,单独做一个B/S架构的电话会议系统
Python: 自学的, 但是后来没怎么用
au3:当时学得还挺深入, 看了不少语言标准库的源码,用它写过一套自动测试框架

发现自己除了函数式语言(Lisp, F#, Erlang, Haskell等), 其他的编程范型语言都有接触, 当然函数式编程思想其实也有接触,因为C++模板元编程也有函数式编程的影子。

但是如果按照上面会一门语言的标准, 发现自己算的上"会"的语言只有一门C++, 其他语言多则使用近2年,少则使用过3个月, 大部分是用完之后就扔了, 只有C++是在工作中持续使用的。

为什么我要定义上面的条件才算会一门语言?

因为学习一门语言的语法其实很容易, 大部分语言语法可以一个月内掌握, 如果从C++转到C#, 学习语言的基本语法部分甚至只需一两天。学习一门语言最费时的部分是语言的框架和库的学习, 这些部分没有对该语言一两年的编程实践是很难深入的。比如C#语法本身是很简单的 ,但是建立在该语言之上的各种框架和库却非常庞大和复杂, 比如你要成为WPF或是WCF的专家, 够你研究三五年了。很多时候我们所谓的"会"某个语言可能只是会用这个语言写些"hello word"式的入门程序, 根本就不理解背后的机制,如果真正懂一门语言,这门语言应该对你的编程风格(思想)产生影响。另外编程是项实践活动,需要一直使用才不会生疏, 我们发现一门语言如果一年没有使用, 对该语言的印象就仅剩语法部分了,如果连续3年没有使用,就仅剩该语言的名字了。很多开发人员转管理一两年后想转回写代码, 发现很难再回去了, 没有敲代码的感觉了。

所以如果你已经会了一门语言, 并且想一直会这门语言, 请在工作持续使用。如果没有机会使用, 自己给自己创造机会。

作为一名C++程序员, 应该掌握哪些语言?

个人觉得C++程序员除了C++之外, 最好再深入掌握一门脚本语言,一来作为辅助工具,二来可以理解动态语言的一些特性。具体什么脚本语言看自己选择了。一般入如果是游戏程序员, 当然首选Lua,因为它基本上是游戏的内定脚本语言。随着Html5的流行,本来仅仅是浏览器使用的JS现在也是越来越受欢迎了。JS本身不支持面向对象,但是现在已经比较成熟的JS面向对象解决方案了。尽管随着V8 的成功, Node.js兴起, JS库也越来越强大,但也仅限于服务端, 如果JS作为客户端工具语言就不适合了。Python和Perl都是不错的脚本语言, 如果你不是写专业的字符处理脚本, 个人推荐学习Python, 因为它简单易学, 格式清晰,面向对象,最重要的是它有强大的库支持(包括GUI), 另外Python与C++ 交互也已经有很成熟的解决方案。

如果你有精力,可以再学一门函数式编程语言 , 据说它会颠覆你的编程思想。

简单总结下, 语言不在多,在精。经常使用你觉得有价值的语言。深入掌握一门脚本。
分享到:
评论

相关推荐

    怎样去学习一门编程语言,总结的很好!

    ### 如何高效学习一门编程语言 #### 一、选择合适的编程语言 在开始学习之前,首先需要明确自己的兴趣所在及职业发展方向。不同的编程语言适用于不同的领域: - **Web开发**:如果你对网页制作感兴趣,那么HTML、...

    如何学习一门编程语言.docx

    学习一门编程语言需要选择一门语言,确定你感兴趣的领域,并确定你通过学习这门语言想要完成什么样的工作。这将帮助你确定你应该追求的编程方式并提供一个良好的开始。 选择一门语言需要考虑到你的兴趣爱好和目标。...

    教你怎么去学一门编程语言

    在“怎么学一门语言.doc”这个文档中,可能会详细列举学习计划、推荐的学习资源、实践项目建议以及一些常见问题解答,帮助读者更系统地进行编程语言学习。通过这样的指导,相信你在短时间内就能从编程新手成长为熟练...

    青语言是一门完全基于中文语言习惯打造的编程语言

    青语言是一门完全基于中文语言习惯打造的编程语言。取名为青语言,意为主要面向广大青少年、儿童和业余爱好者学习和使用的编程语言,同时也希望这门语言充满青春朝气,蓬勃发展。为了适应目标人群的需求,我们对青...

    Python发展史-一门编程语言的起源借鉴.pdf

    Python发展史-一门编程语言的起源借鉴 Guido van Rossum,Python 的作者,是一位荷兰人,拥有数学和计算机双料学位。他在阿姆斯特丹大学获得了硕士学位,然而,他更喜欢计算机带来的乐趣。在那个时候,Guido 接触并...

    Python发展史-一门编程语言的起源.pdf

    Python 发展史 - 一门编程语言的起源 Python 语言的作者 Guido van Rossum 是一位荷兰人,他于 1982 年从阿姆斯特丹大学获得了数学和计算机硕士学位。Guido 是一位数学家,但他更加享受计算机带来的乐趣。在那个...

    Ruby动态编程语言v2.6.3

    Ruby 体现了表达的一致性和简单性,它不仅是一门编程语言,更是表达想法的一种简练方式。 Ruby 是一个注重均衡的语言,它的发明者松本行弘(Yukihiro “Matz” Matsumoto),混合了他喜欢的多门语言(Perl、...

    使用Antlr、C++面向对象、责任链模式、访问者模式、设计一门自己的编程语言Hython.zip

    使用Antlr、C++面向对象、责任链模式、访问者模式、设计一门自己的编程语言Hython.zip使用Antlr、C++面向对象、责任链模式、访问者模式、设计一门自己的编程语言Hython.zip使用Antlr、C++面向对象、责任链模式、访问...

    C#:一门强大的多范式编程语言C#:一门强大的多范式编程语言

    ### C#:一门强大的多范式编程语言 C#,全称为C Sharp,是一门通用型、面向对象的编程语言,由微软公司为.NET平台开发而成。作为.NET平台的核心语言之一,C#融合了C++和Java等多个编程语言的优点,具备了高性能、...

    Python发展史-一门编程语言的起源.rar

    这份名为“Python发展史-一门编程语言的起源”的资料,将带我们走进Python的世界,了解其从无到有的发展历程。 Python的创始人是荷兰人Guido van Rossum,他在1989年的圣诞节期间,为了打发假期时间,开始设计这门...

    简单的中文编程语言青语言是一门完全基于中文语言习惯打造的编程语言,主要面向青少年、儿童和非专业人士

    青语言是一门完全基于中文语言习惯打造的编程语言,主要面向青少年、儿童和非专业人士。当今世界信息化高速发展,信息技术已成为促进社会进步的重要推力。随着我国信息化的不断进步,尤其是互联网行业的高速发展,...

    学一门语言重要的是你的编程思想

    在编程世界中,选择一门语言仅仅是个起点,而掌握编程思想才是通往卓越程序员之路的关键。"C++编程思想"这本著作,不仅涵盖了C++语言的基础知识,更深入地探讨了如何利用C++来培养和提升编程思维。下面,我们将详细...

    Java编程课件Java是一门最适合用于网络编程的语言

    1991年,SUN公司准备开发一个叫做Green的项目,需要一种语言去嵌入到消费类家电产品里去,从而使这些...开始准备用C++,但是C++独立于平台的性能不太好,后来,他们决定,要设计一门新的语言,这门语言开始取名为Oak。

Global site tag (gtag.js) - Google Analytics