第二章

1. 软件工程和程序设计大作业的调查

请同学们做一个调查,到相关的软件学院或计算机学院采访学长或学弟学妹,调查一下程序设计大作业的完成情况:程序花多少时间完成?程序量是多少(多少行代码)?开发过程中使用了源代码管理等工具么? 完全独立完成的同学有多少个?程序解决实际问题么?

发现:1. 日常能够独立完成大作业的人数比例较低

2.年级越高,编写程序的行数就会越多,同样花费时间也更多

说明:学习过程中有很大一部分同学并不能自己独立完成程序大作业,还是需要靠组内成员的共同努力以及老师的帮助;

在一些学校里,全班50 个同学,交上来的作业只有 4 到 5 种版本。这说明了什么?

1.说明很大一部分同学并不能独立完成作业,班内的4到5名同学代表了4到5种版本,他们往往进行了独立的思考也有自己的想法,属于“领军人物”,同学在完成作业时之间互相学习借鉴,导致了作业的千篇一律;从另一方面来说可能是老师布置的作业本身就只能几种有固定的解题思路,从而导致同学们的作业的答案也就这几种版本。

2.编程是一门理论,也可以是一门工程,还可以是一门手艺,这些年来程序员们玩出了不少好手艺,你有什么编程相关的手艺?

很遗憾的是在这过去的一个半学期中,完成课堂老师布置的作业等内容之外并没有自己去深入研究过有趣的编程手艺,所以也没有什么可以拿的出手的编程手艺。

3.Coder, and Hacker 的区别:

 coder:coder只是为了写代码而写代码,他们并不关心写的程序的目的和作用,只是为了完成属于自己的任务,因为这关系这自己的工资、奖金,而且他们希望自己的工作量最少,所以不会主动做会让自己增加工作量的事,比如对团队开发项目中发现的问题不会提出来,也不会想完善开发的项目。

hacker:写程序都有自己的目的,为了达到自己的目标,会对程序进行反复的修改,直到达到自己的要求。而且,他们有很强烈的探索欲,当接触到新事物时,他们会用尽全力去探索其原理,并付诸实践,而且乐在其中;此外,hacker会将程序做到自己觉得最好的状态,并且提出会让项目更好的建议或者提出项目的问题并提出自己的解决办法。

4.分析开发工具的优缺点

经过查找资料,知道 了原来进入这个软件中是无法直接运行java或者是c的程序的,需要安装相应的拓展包和环境,Language Support for Java(TM) by Red Hat 和 Java Debugger for Visual Studio Code以及Code Runner,下载了这三个拓展包,发现程序还是无法进行调试,可能需要进行安装git,但是电脑点击下载后并没有反应,于是就暂时结束了这个试验,以阶段性失败告终。

优点:1.支持多种语言只要安装了相应的拓展包java,c等都可以编译,)

2.免费下载(这已经是很大的优点了)

3.代码对齐虚线,增强可读性(在进入界面时候编译了一个简单的java程序,有了虚线拯救了强迫症)

4.不小心关闭该软件后,即使没有保存,下次再次打开时还是可以看到前编辑的代码。

缺点:1.下载软件后需要自己安装相应的插件,才可以进行某种语言的编译和调试,(这个安装插件的过程对于初学者来说这个过程是十分崩溃的,网络上现有的教程并不简洁明了,需要自己慢慢摸索尝试)

2.无法识别汉字,会显示乱码(在我失败体验的过程中是这样的,那样的话注释只能写英文,有些令人崩溃)

posted @ 2018-06-07 10:27  王雨萌萌  阅读(73)  评论(0)    收藏  举报