我的一些关于编程语言学习和使用的观点如下,因为最近谈到这个事情,就记录下来吧,但是我只想简单的表述出来。当然,我不想陷入语言孰优孰劣这种争论的圈子里。
多掌握一门语言有没有价值?如果一门新的语言能改变你对编程的理解,它就是值得学习的。另外,每一门语言对应着一种或几种“编程范型”,接触不同的编程范型是很有价值的,这是扩展视野的好机会。
编程语言只是工具,工具都是用来解决特定的问题的。特定的问题使用适合的工具来解决。但是很多情况下,我们的选择太多。选择这一门编程语言的原因可能只是因为“它很酷啊”,或者“因为大家都在用它”。另外,还有一种极端的滥用的情况:“当手上有一把锤子的时候,你看什么都是钉子”。
许多优秀的团队和企业不招“Java程序员”、“C++程序员”,只招“软件开发工程师”,如果程序员仅仅因为“不会Ruby”这样的理由被拒之门外,是荒唐可笑的。把优秀的工程师安插到适合他们的团队,以便让他们可以做自己喜欢的事情。如果让一个对游戏开发没有任何兴趣的人去做一个游戏的C++项目,他肯定不会开心。当然,也有很多企业和团队,要求来之能战,业务、平台都很清楚,那么就要把这些要求说清楚。
如果要做一个Web项目,有一个聪明、基础扎实但没有用过Java,没有做过Web开发的C++工程师,还有一个JavaEE领域有丰富经验、但是过往绩效却比较糟糕的员工,你更需要哪一个?对我来说,只要不那么急功近利,语言类别对于工程师的选择的影响很小。
优秀的软件工程师往往都至少使用过4、5门语言,有一门精通就可以。技术的宽度和广度并不矛盾。在招聘的时候每个面试官都会有自己的偏见,对我来说,如果应聘者技术面非常窄,比如说他只熟练使用过一门编程语言,我往往会对他说No。还有一种被视为偏见的让我放弃他原因是,他做过类似GFW这样没有节操的项目或产品。
我觉得C、C++是初学编程应该介入的语言类型,有人说是难了一点。但是你看看C和C++基础扎实的人算法和数据结构都不差,而且你可以明白一些底层的机制,之后再转向其它语言就比较快了。当然,初始的时候,学什么都不要学Basic。要知道它可能害了你。另外,千万不要去相信那些三个月的“XXX速成班”,基本上那只是坑钱而已。如果你有兴趣速成,我可以教给你“21天学会打开显示器”这样的速成技能。
如今语言本身被给予了过度的关注,每一种编程语言都有自己的不合理性,都有所谓的“坑”,但是过多地把精力放在这上面没有什么价值——语言的类库、社区、平台,还有语言背后的机制、设计都是更有价值的东西。
文章系本人原创,转载请保持完整性并注明出自《四火的唠叨》
相关推荐
通过对这些观点的深入探讨,我们可以更好地理解不同编程语言的设计理念及其在实际开发中的应用价值。这些见解不仅对于软件开发者具有重要意义,也为我们预测未来编程语言的发展趋势提供了宝贵的视角。
关于学习C++和编程,以下是一些关键的观点和建议,旨在帮助你构建坚实的基础和提升编程能力: 1. 将C++视为独立的语言,而非C的扩展。理解C++的独特特性和面向对象特性至关重要。 2. 选择好的学习资源,如...
《UNIX编程艺术》是计算机科学领域的一本经典之作,它深入浅出地探讨了...通过深入学习《UNIX编程艺术》,开发者不仅能提升技术能力,还能领悟到简洁、高效的编程理念,这对任何编程语言和平台的开发工作都有深远影响。
《如鹏说IT》系列是针对编程学习者的指导性教程,其核心观点是“一切编程语言都是纸老虎”,旨在鼓励初学者不要畏惧编程语言的复杂性,而是要理解其本质和逻辑。这一观点源于编程语言虽然语法各异,但底层原理相通,...
在计算机科学教育中,选择合适的初学者编程语言至关重要,因为它对学生的兴趣激发和后续学习有着深远影响。金旭亮在文章中提到,很多学生在接触编程之初,由于传统教学方法的限制,往往对编程产生畏难情绪,甚至对...
在编程语言的选择上,主流的编程语言如C/C++、Java和Python等都适合初学者。如果学生有意向参加信息学奥林匹克竞赛,C++是更加合适的选择,因为相关竞赛倾向于使用C++语言,并且涉及C++的STL(标准模板库)。 学习...
Apple Swift编程语言入门教程.pdf Swift 中文简介.pdf Swift语言官方教程中文翻译.pdf The Swift Programming Language.pdf 1.Swift观点 Rust创始人Graydon Hoare:我对Swift的看法.pdf 行走于 Swift 的世界...
而技术则是将理论付诸实践的桥梁,包括但不限于编程语言、框架和工具的选择与使用。 #### 结论:编程的双翼 综上所述,《关于编程之言》一文清晰地传达了编程语言与编程思想并重的观点,强调了理论与实践相结合的...
在回顾语言学家关于显性知识与隐性知识、规则与范例等语言属性相关观点的基础上,讨论了语言存在和语言处理的双重系统问题,进一步阐释了Levelt话语产出模型的三个组成部分及其相互关联。对此,教师应该注重提升学习者...
当然,在计算机方面的基础越好,对学习任何一门新的编程语言越有利。但如果你在编程语言的学习上属于零基础,也不用担心,因为无论用哪门语言作为学习编程的入门语言,总是要有一个开始。 就我个人的观点,Python ...
把C++当成一门新的语言学习(和C没啥关系!真的。); 2.看《Thinking In C++》,不要看《C++编程思想》; 3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己...
在编程领域,掌握一定的英语词汇是至关重要的,因为大多数编程语言、框架、工具和技术文档都是英文原版。本文将深入探讨编程英语单词的重要性,并提供一些关键的编程术语及其解释,帮助提升你的编程语言理解能力。 ...
综合以上观点,我们可以看出,成为一名优秀的程序员需要具备扎实的基础知识、熟练掌握一门或多门编程语言、深入了解所使用操作系统和硬件的特点、注重程序的容错性和规范性,以及具备创新思维和个性化设计的能力。...
1. **任何语言都是有门槛的**:学习一门新的编程语言总是有一定难度的,这不仅仅是掌握语法的问题,更重要的是理解其背后的思维模式和设计理念。 2. **编程学习方法**:有效的学习方法对于快速掌握一门编程语言至关...
飞扬”是一门结合了易用性和强大功能的编程语言,而《“易 .自.然”编程思想》一书则是学习和探索这一语言的宝贵资源,通过对比、类比和实践,使学习过程更为自然流畅。无论是对初学者还是有一定编程基础的开发者,...