当前位置: 首页 > 科技观察

从零到一百,如何快速学会一门新的编程语言?

时间:2023-03-18 02:43:23 科技观察

本文假设您已经至少了解一种编程语言。两者都不?不用担心,本文中的概念将帮助您开始编程。老师在学校经常跟小新说的一些话,小新可以分享给新手开发者:最难的编程语言永远是你要学的第二门编程语言。不要因为小新分享的故事而气馁——小新的故事意味着当你开始学习编程时,你会对编程有一个预想。你最终做出了比你应该做的更多的句法联系和假设,因此,在开始学习第二种编程语言时,你必须忘掉所说的假设。如果你尝试学习第二门甚至第三门编程语言,你应该把小新说的话牢记在心。编程分析世界上的编程语言有很多种,一眼就能列出5000多种,但是编程语言排名指数列出了前250名,榜单前20名的编程语言都有类似的标准库,这并不奇怪。在小新看来,去掉所有多余的“stuff”是一种很好的编程思考方式,让你接触到的都是与编程相关的必要的东西。Atomic每种编程语言的每个级别都可以从真假的角度来看待(归结为真假)。为什么?因为电就是这样工作的——它要么带电,要么不带电。内存以0和1的二进制代码形式存储值,位(二进制信息单元)要么带电,要么不带电。八位等于一个字节,足以列出ASCII表上的任何字符。位是这样一种翻转顺序,它提供了计算机可以转换为字母的十进制字符的表示形式。(如何创建单词Hello的基本二进制表示)一旦理解了这个概念的原因,理解下面的内容就相对容易了。工具都是一样的,虽然每个人学习这些工具的顺序可能不一样,下面是小新学习这些工具的顺序。变量这看起来很简单,但说真的,你如何创建变量?什么是运算符?你如何使用运算符?假设你有数学运算符的基本知识,但什么是逻辑运算符?”AND”应该拼写为“and”还是“AND”?或者这个词应该使用诸如“&&”之类的符号吗?,小新看得最多的是和决策有关的。接下来您需要了解的是如何在您自己的程序中做出决定。您尝试学习的编程语言是否使用传统的“if/elseif/else”判断结构,或者更符合Pythonic的东西,如“if/elif/else?”?你的编程语言有“switch”或“guard”语句吗?循环如何循环执行重复性任务?编程语言是否包含for循环、while循环、do-while循环或for-each语句?函数可以创建函数吗?如果是这样,你会怎么做?包含在函数中?知道如何使用这些功能将节省时间并使生活更轻松。类别和结构您正在学习的编程语言是否理解类别和结构的概念?这听起来像是一个愚蠢的问题,但有些编程语言没有,或者只有一个类别和结构。如果语言真的没有,你如何创建类和结构?这个类是否需要使用构造函数或初始化方法?错误处理错误是不可避免的。当错误发生时,语言是否有安全的方式来处理问题?你此时如何使用这种语言?你使用“try/catch”、“try/except”还是其他方法?编程语言有类似“else”或“finally”是否允许选择错误的子句?测试如何测试代码?你是使用内置的算法库还是必须下载单独的工具来测试它?所有这些工具应该都适用于大多数现代编程语言,甚至像COBOL这样较老的编程语言也大多具有这些功能,但它们的称呼可能不同,例如它们可能被称为段落或抄送。逐步优化一旦您了解了这些工具,接下来您需要做的就是使用这些工具并编写应用程序。您可以通过阅读文献来了解一种编程语言,但是只有在您实际编写一些应用程序之后,您才能理解该语言。通过编写程序,您必须像程序员一样思考。小新可以说他懂C++这门语言,因为小新上过相关的课程,也看过相关的文献,但是小新直到写完一个具有C++这种编程语言独有特性的程序后,才真正了解这门语言。扑克二十一点是一个很好的入门项目,需要变量、运算符、条件、循环(基于许多玩家)、函数、类/结构和错误处理。您可以在测试情况下包括潜在的失败,例如卡用完。其他一些项目,如Shoots、Ladders、Yahtzee或SlotMachine也是不错的初学者项目。对于一些进阶的项目,可以尝试像《大富翁》一样另创游戏,更加注重操作方式,让它基于文本运行。重要的是要记住,如果您在面对困难的任务时懒惰(例如跳过doubledown或分离21点的特征),您只会限制您对编程语言的理解。还有什么?小新知道以上内容并不是编程语言的必要元素。事实上,您可以使用上面列出的工具编写任何东西,但标准算法库中包含的附加功能将使您的编写更容易。大多数标准算法库具有相同的功能,因此您可以在各种编程语言中使用相似的名称。您使用编程语言的次数越多,您对标准算法库的发??现就越多,但一定要提前学习这些工具。.当你使用一种编程语言时,试着找出这种语言的优点和缺点。这些将帮助您了解针对特定问题使用特定编程语言的选择。需要快速做一些数据科学?查看一些Python包。或者需要写一个快捷服务?查看C或Go。编写网络服务器?查看Java或Python。如果只是看,小新不会看懂这些编程语言,而是边用边学。所以,小新在这里布置任务,希望大家能够挑战自己,学习一门新的编程语言~