当前位置: 主页 > Python语言

android python脚本语言-python脚本语言

发布时间:2023-02-10 07:33   浏览次数:次   作者:佚名

你准备好了吗? 去!

——第一个选择的编程语言是谁?

金旭良

阐明:

这篇文章是专门为大专生(以及其他软件开发初学者)写的。 如果您已经是研究生或高年级本科生,请将本文转发给您的师妹。 希望本文能帮助他们少走弯路,顺利进入软件开发的大门; 如果您是经验丰富的软件开发人员,或者是关注计算机教育的同行,也请您多提宝贵意见。

发表你的看法,欢迎评论本帖,或在我的新浪微博“北理工金旭良老师()”相互交流。

本文仅代表个人观点,权以举例。

撰稿 金旭良 新学期伊始:2012年9月3日

================================================ ================================================ ===

近日,台湾知名技术专家蔡学勇先生写了​​一本书《Programming ING》,宣称“人人都能学编程”。 作为一名IT教育工作者,这本书引起了我的兴趣。 看完后,我发现了很多共鸣。 结合国内计算机教育的现状,感触颇多,于是想出了这篇小文章。

1. 为什么学生认为编程令人生畏?

我先是学生,然后是老师。 不知不觉,我已经在大学里“混”了十几年。 我发现,进入计算机专业的同学中,至少有一半人一开始并不了解真正的软件开发。 一张白纸”,不幸的是,经过四年的学习,很多张“白纸”变成了很多罐“浆糊”,软件开发可能会害怕也可能会冷漠,但绝对不会像情怀一样离开校园。

编程真的那么无聊吗? 如此困难和无聊?

我写代码已经将近 20 年了。 虽然我不靠编程为生,但也勉强算是老程序员了。 我对编程的看法可以用两句话来概括:何必解忧,唯有编程! 我经常思考一个问题:编程其实很有趣,很好玩,很实用,很有成就感。 为什么那么多学生认为编程令人望而生畏? 为什么我们的计算机教育在打击学生对编程的兴趣方面“如此成功”?

蔡学勇老师在《编程ING》中给出了一张图:

python脚本语言_android运行python脚本语言_android python脚本语言

图1 正向兴趣循环是学习的关键

我认为这张图说明了问题的关键——学习过程中的“正向”兴趣循环是否成功建立。

浓厚的兴趣和持续的成就感是整个学习过程的“引擎”,为学生完成整个学习任务提供了源源不断的强大动力。 有无数的事实支持这个观点。

传统的教学观点认为,本科生的主要教育目标之一是为学生未来在本专业领域的发展“打下坚实的理论和实践基础”,因此要求从业者“严格要求”和“科学培养”一开始。

这个观点不会错,但我认为我们计算机教育的首要任务,尤其是对初学者来说,是要引起兴趣。 没有兴趣,无话可说。

我知道的事实是:许多计算机科学专业的学生认为编程是一种令人生畏的方式。 究其原因,我们现有的计算机教学方式,从一开始就给了这些学生“痛苦”的编程体验。 遗憾的是,这种体验在后来枯燥的专业课中不断被强化,最终让学生对编程敬而远之或畏惧。 它就像一只老虎。

事实上,教育学研究早就指出,成功高效的教学应该是这样的:循序渐进,由浅入深,循序渐进,以兴趣为导向。

python脚本语言_android运行python脚本语言_android python脚本语言

教师的职责不是将知识“注入”学生的大脑。 首要任务是激发学生的兴趣,鼓励他们探索未知领域,积极学习和吸收知识,发展技能,积累经验。 在这个学习过程中,教师要成为一名优秀的航海家,为学生划定航线,鼓励他们出海,解决他们在航海中遇到的困难,帮助学生在学习中建立“正向”的兴趣循环。

编程的“第一印象”很重要! 于是,一个非常有趣的问题出现了——应该选择哪种语言作为学生的第一门编程语言?

2. 你学的第一门编程语言是什么?

在国内的高校中,目前大多数选择C语言作为学生的第一门编程语言。 其实这不是什么大问题。 C的重要性不用我多说,其实问题的关键不在于选择C教学,而在于用什么方式来教学。

遗憾的是,国内很多C语言教材都侧重于C语法细节的介绍,课程考核方式非常死板——很多高校采用闭卷考试,一堆选择题和填空题. 一个典型的问题是从一段代码中删掉一两句话,让学生“填空”。 哪位高手是通过做这些“填空题”学会编程的? 电脑也流于形式,要求学生折腾、摆弄几个“黑底白字”的“玩具式”小程序。 学了一个学期,学生们连一个有用的程序都写不出来……

这种死板的教学方式足以摧毁大部分学生对编程的兴趣。

我个人认为 C 不应该是大多数学生教授的第一门编程语言。 我们的教学体系应该为学生提供更多的选择。

教给初学者的第一门编程语言应该具有以下特点:

(1)必须“有趣”,能诱发人“动手”和“思考”。

(2) 初学者需要避免不必要的底层技术细节,以免分散他们的注意力。

(3) 语言要足够简单,但同时要有足够的编写实用程序的能力,让学生轻松获得成就感,体会软件开发的魅力。

(4) 该语言必须能够充分反映现代软件开发的基本思想和技术成果,为学生进一步学习打下基础

(5) 花在这门编程语言上的时间和精力是有回报的。 掌握之后,你将拥有一个强大的工具,可以在以后的学习中用来实践和创造。

另外,学习这门编程语言应该帮助初学者正确理解和体验以下编程思想:

(1)分而治之:把大问题分成小问题。

(2)组件化、模块化:用积木的方式“搭建”软件系统。

(3)算法思维:针对实际问题建立数学模型,设计计算机算法,最后通过编程解决问题。

同时,该编程语言的学习应该能够有效培养以下基本编程技能:

(1)调试代码的能力。

(2) 能够编写出可读性强、扩展性好、易于重用的高质量代码,培养良好的编程习惯。

(3) 能够查找技术资源和阅读技术文档。

android运行python脚本语言_python脚本语言_android python脚本语言

或许学习一门编程语言并不能满足以上所有要求,但是结合几种不同的编程语言就差不多了。 下面,我介绍几种适合初学者入门的编程语言。

3.适合入门的脚本编程语言

为了教会初学者学习编程,蔡学勇老师在《Programming ING》中选择了REBOL编程语言。 语言似乎过于小众,书中缺少能够引起初学者兴趣的强有力的应用实例。

根据我的经验,如果初学者能手写几个有用的例子,他爱上编程的可能性就会大大增加。

以下是我粗略总结的几个技术领域,很容易引发学生的成就感:

图形和动画,多媒体

游戏

互联网应用

具有可视化界面的桌面应用程序

在手机上运行的应用程序

在我个人看来,第一种语言更适合脚本编程语言。

Python:了解什么是编程,训练基本的编程技能

国外很多人都非常推崇Python(),认为它是最适合初学者学习的编程语言。

Python 是一种动态编程语言,语法简洁易学。 它是开源的。 Python 程序几乎可以在所有主流操作系统上运行。

对于初学者来说,使用Python可以学习基本的编程知识(比如学习编写分支和循环语句),体验动态编程语言的特点,了解类和对象等面向对象编程的基础知识。

但是,鉴于国内的实际情况,使用Python存在一些问题:

(1) 官方提供了交互式开发环境IDLE,使用方便,但是开发可视化界面的程序比较麻烦,而且其他厂商的开发环境都不成熟稳定。

(2)缺乏合适的汉语教材。 与其他语言相比,它在中国的使用并不广泛。 个人观点:用Python来训练初学者编程基础技能比较合适,但是使用上手之后,还得学习其他编程语言。

MATLAB 和 Scilab:设计和编程训练算法的能力

学习、应用和设计各种算法,培养针对各种问题建立数学模型的能力,对于软件开发来说非常重要。 算法已被引入到我国的高中数学教学中,并被纳入高考的考试内容。 这是一件好事。

在现行的高中新课标数学教材中,使用的是法国国家信息自动化研究所(INRIA)开发的Scilab()。 这个软件和大学里流行的MATLAB高度相似,是学习算法的好工具。

android python脚本语言_python脚本语言_android运行python脚本语言

可惜Scilab也缺少足够的中文资料,而且由于高考数学只考简单的算法流程图,占分很少,所以大部分高中不会在这方面投入太多的精力。 而数学建模能力是无法完全训练出来的,这个任务只能交给大学来完成。

完全可以使用 Scilab 或 MATLAB 作为第一门编程语言。 与Python类似,Scilab或MATLAB编程采用交互式操作方式(图2),编程语法也非常简单。 通过它还可以培养基本的编程能力,尤其是其强大的数学图形功能,对学生来说非常有吸引力。 Scilab或MATLAB编程在训练他们的数学能力和算法设计与应用能力方面是无可比拟的。 强大的力量。

android运行python脚本语言_android python脚本语言_python脚本语言

图2 Scilab交互式编程环境

Office+VBA:用VBA代码控制Office,实现各种任务的自动化

几乎所有的大学都开设了“计算机基础”课程android python脚本语言,其中大部分都会教授Microsoft Office软件包的使用。 但是,该课程目前的教学方法存在问题。 比如,我看到过一些考题,考查学生是否记住了某些Word操作的快捷键。 这完全是本末倒置! 其实只要对这门课程的教学内容稍加改革,就可以培养学生的编程能力。 关键是要加强或增加以下内容:

(1) 使用Excel进行数据分析,教授Excel各种强大功能的使用和数据的可视化。 这不仅实用,而且可以有效培养学生处理和理解数据的能力,而程序的本质不是完成信息。 处理工作?

(2)使用Access存储和检索数据,使学生掌握数据库使用的基本知识,形成对数据库技术的感性认识。

(3) Visual Basic For Application (VBA)编程:VBA是一种脚本编程语言。 它在Office软件包中具有“掌控一切”的能力。 用它来编程最大的好处可以让学生体会到——原来很多操作都可以一键“自动化”,在实现这种“自动化”的过程中很有成就感。

处理编程语言:体验图形和动画的魅力

国内很多人可能不知道Processing()这门编程语言,其实它已经有10多年的历史了。 它由美国CaseyReas教授和Ben Fry教授设计,可用于构建丰富多彩的交互式应用软件。

与其他编程语言相比,Processing最强大的特点在于它的图形图像和动画编程功能。 在整个计算机技术领域中,这无疑是最具吸引力的技术领域之一。

虽然磨刀不误砍柴工,但很多编程语言“磨刀不误(学习语法、掌握开发工具、阅读API文档等)”的时间太长了 ,而Processing则没有这个问题,其编程语法与Java一致,但比Java简洁很多,此外,与Eclipse、Visual Studio等复杂的IDE相比,Processing的编程环境 相当简单,帮助学习者专注于创造,鼓励他们去创造。大胆发展。

android运行python脚本语言_python脚本语言_android python脚本语言

图3 Processing编程环境

Processing提供了一批直观、简洁、强大的图形图像功能,学习者只需花费少量的时间学习并立即投入创作,并提供了大量的操作实例,有效激发学习者的积极性想像力。

Processing具有很强的可扩展性(目前已有一百多个库),尤其是Processing内置了对Android的支持,Processing程序可以在Android手机上运行,​​大大增加了它的吸引力。

或许国内很多高校还无法开设Processing课程,但其实大学生是可以自学的。 Processing 网站上有足够的学习资源和示例。 唯一遗憾的是这些资源都是英文的。

Small Basic:适合“零编程基础”人群的编程语言

在国内,很多人都是通过Basic语言进入编程大门的,尤其是微软上世纪推出的Visual Basic,被誉为Windows桌面编程的最佳入门语言。 版本 Visual Basic.NET 不再存在。 在功能上,目前的Visual Basic.NET与C#基本相同。 付出的代价是Visual Basic.NET语言本身的复杂度已经和C#处于同一水平。 ,后者的用户比前者多得多。 与其学Visual Basic.NET,还不如直接学C#。

在这里,我要介绍的是微软推出的另一种Basic编程语言——SmallBasic()。

android运行python脚本语言_android python脚本语言_python脚本语言

微软在软件的用户友好性方面一直做得很好,Small Basic也沿袭了这一特点。 其开发环境比前面介绍的所有编程语言都更易于使用,并提供智能编程帮助(图4)。

android python脚本语言_android运行python脚本语言_python脚本语言

图4 Small Basic的智能编程环境

Small Basic 提供了两个功能强大的“窗口”对象——TextWindow(用于输出文本)和 GraphicsWindow(用于绘图),特别有趣。 它借鉴了历史悠久的Logo语言,提供了一个小乌龟(Turtle)对象,通过简单的指令,你可以命令这只小乌龟(Turtle)在屏幕上“爬行”各种图案,真是有趣又好玩。

个人认为,Small Basic对于“零基础”的人来说是一门非常好的入门编程语言,特别适合低龄学习者(比如初高中生),非计算机专业的学生(比如文科专业)大学生编程快速入门。

HTML 5 + JavaScript:互联网时代的主流编程语言

在各种脚本编程语言中,我最后要介绍的是.

JavaScript 长期以来一直是 Web 客户端事实上的主流编程语言。 它的运行环境是浏览器。 目前,所有计算机和大多数智能手机都至少安装了一个浏览器。 JavaScript 程序可以“随处运行”。

JavaScript程序的编写极其简单,即使使用Windows记事本,写几段也不嫌麻烦。

JavaScript早期存在的问题主要是浏览器厂商各行其是,标准不统一,缺乏必要的调试工具,但现在这些问题都得到了很大的缓解。 在开发工具方面,主流IDE都增加了对JavaScript程序开发调试的支持。 例如,Visual Studio 2010/2012 就做得很好。 另外,随着我​​们进入移动互联网时代,HTML 5是唯一可以被各种开发者使用的。 厂商接受的标准,与此相对应的是,JavaScript也在走向标准化。

与Python等语言类似,JavaScript也可以归类为动态脚本语言。 它具有简单的语法并且还支持面向对象的编程。 然而,JavaScript 的使用范围远比 Python 和其他语言广泛。 jQuery 等各种 JavaScript 库如雨后春笋般涌现。 外观一般,其功能无所不包,即使在服务器端JavaScript中也是如此。 比如一个事件驱动的服务端JavaScript运行环境——Node.js()就相当吸引眼球。

JavaScript 在 HTML 5 规范中具有中心地位,很多工作都可以用 JavaScript 来完成:

为了抢占先机,各大浏览器厂商都在不断改进产品,力争支持更多的HTML 5特性,智能手机的两大操作系统iOS和Android都可以运行用JavaScript编写的网页。 应用。 微软也在追随这一趋势。 在其最新的 Windows 8 中,您可以使用 JavaScript 编写 Metro 风格的 Windows 8 应用程序。

从这个角度看,JavaScript可谓风光无限。

我强烈建议在高校推广 JavaScript 课程。 事实上,国内高校在这方面已经具备了一定的基础。 比如很多高校都开设了《网页设计基础》这门课。 你只需要更新课程的教学内容,增加HTML 5和JavaScript的内容,改革教学方法(比如不用闭卷考试让学生死记硬背各种HTML标签的意思……),学生能跟上时代的步伐,相信JavaScript一定会比C更能吸引学生,激发他们对软件开发的兴趣。

4.使用编译语言作为入门级编程语言

虽然我倾向于使用脚本语言来完成初学者的编程启蒙任务,但是我们也可以使用编译型编程语言来完成这个任务。

C就不用我多说了吧,相信很多有才华的人都是C出的。

另外两种非常重要的编译型语言是Java和C#。 我的看法是,即使不把它们当作计算机专业的第一门编程语言,至少这两种编程语言应该在计算机专业一二年级的时候作为选修课。 课程。

先说Java吧。

Java:“人多势众”的主流面向对象编程语言

android运行python脚本语言_python脚本语言_android python脚本语言

据说在全世界的软件开发人员中,Java程序员的总数名列前茅。 人数多说明市场需求量大,Java技术应用广泛。

以Java作为第一门编程语言更适合计算机专业的学生,​​让他们从一开始就受到面向对象编程风格和思想的熏陶,然后再逆向学习C。 不是像现在这样先学C再学Java,说到C再学C++,现在很多高校都开设C++课程。 事实上,这些年C++应用领域不断压缩,C++语法过于复杂。 效率低,除部分有需求和兴趣的学生外,不适合大多数学生学习。

Java入门主要分为两个阶段:一是Java语法和OOP思想的理解,二是JDK中各种Java类和相关技术(如多线程、序列化等)的学习。

Java是Android的主要开发语言,入门后学生可以进一步开发基于Android的手机应用,引导学生进入移动互联网时代。 非常实用,经常会引发学生学习Java的强烈动机。 .

Java 与“开源”一词有着内在的联系。 学生掌握Java后,可以步入开源的世界,探索各种丰富的开源应用和技术思想,对于开阔学生的视野非常有利,也可以直接帮助学生就业。

事实上,很多高校都开设了Java课程。 我的建议是大学一年级就教这些,后面的J2EE和Android马上跟进。

C#:面向对象编程语言的大师

作为面向对象编程语言家族的后来者,C#有足够的机会向其前辈学习,这使得C#成为面向对象编程语言的集大成者。

与Java类似,C#更适合作为计算机专业的入门级编程语言。 C#开发通常使用微软自己开发的Visual Studio。 与其他IDE相比,我认为Visual Studio是一个非常优秀的集成开发环境。 即使是免费版,智能化程度高,用户体验也不错。

笔者曾经做过一个实验,直接带领计算机专业一年级的学生不用学C就直接学C#,还开设了一门全校通用选修课,为非计算机专业教授C#编程语言和.NET编程技术。学生。 得到了很好的反馈。

下面是我在C#编程中总结的一些可以引起同学们兴趣的东西:

Windows Forms:让学生快速开发可视化桌面应用程序,很有成就感。

GDI+:通过简单的循环和递归编程技巧,可以绘制出漂亮的图案,并且可以移植到Web上,对学生很有吸引力。

ADO.NET:掌握它,学生可以开发简单的数据库应用程序,真正写出一些有用的程序。

Socket编程:让学生轻松地在两台电脑之间交换信息。 这个过程充满了探索的乐趣。

经过上述招数,实践证明,可以成功激起很多同学对编程的兴趣,甚至“引诱”很多同学决定跨专业报考计算机专业的研究生。

与Java相比,C#的问题在于与微软的捆绑过于紧密,容易将学生局限在微软构建的生态系统中android python脚本语言,影响视野的开阔度。

以我个人的观点,计算机专业的同学应该掌握一门主流的通用编程语言和开发工具(Java和C#是我目前推荐的两种编程语言),并且在以后的专业学习中,利用它们来应用将在后续计算机专业课程中所学的理论知识应用到实践中。 这样,编程语言的学习将对计算机理论课程的学习产生强大的推动作用,学生的开发能力将随着开发实践的深入而不断增强,为他们进入行业或进入市场铺平道路。未来的学术领域。

五、结语:计算机教学与时俱进

计算机是发展最快的技术领域之一,这就要求我们的计算机教学要与时俱进,不断调整。 笔者在《中国计算机学会通讯》2012年第6期的一篇文章中了解到,加州大学伯克利分校开设了这样一门课程:教授学生使用Ruby On Rails等工具进行敏捷开发,并在Amazon Web Services 的部署。

“云计算”来了!

“云计算”时代的到来将对计算机教学方式产生巨大影响。 笔者设想,如果由教育部牵头,国家将投资支持建设“教育科研云”,打造全国教育公共平台,不走商业化道路,坚持所有在校师生免费使用,力争将各种教学资源迁移到云端,让更多的课程可以利用云平台提供的丰富资源和强大的计算能力,这将是一个有利于教育的基础设施建设国家和人民。 从长远来看,投资于人的教育是最赚钱的投资。 已经成为世界第二大经济体的中国,是否有能力承担这种旨在为整个民族赢得未来的长期投资的资金和资源?

21世纪是人类信息技术突飞猛进、全面渗透到人类社会各个领域的时代。 在这样一个信息化程度越来越高的时代,

你准备好了吗? 我们走吧!