您的位置:首页 > 编程语言

原来我是这样学习编程的

2009-10-30 02:37 260 查看
本科时上过C++的课,记得是36学时,还安排了两次上机。由于不是计算机专业,所以没人重视这门课,包括我们的老师(竟然是理学院的)。老师第一堂课就告诉我们“放心,你们每名学生这门课都一定及格”。就这样一学期就混过去了……
当然,对于一名对程序有着浓厚兴趣的我还是学到了一点东西,至少知道了基本语法和编程的一点思想。最后还编写了一个控制台下的扑克游戏,也所有所收获了。
之后的学习主要集中在C语言上。大学三年级时,我开始学习单片机。***了几件作品,获了一点小奖,同时也用C语言编了不少在单片机上运行的程序。哦,这时我也尝试这用C++ Builder 6.0编写一些Windows窗口程序,主要是学习各种控件的使用。那时也编了点当时感觉很有用的程序,不过现在不用了,因为那些相当肤浅。那里比较成功的是一个串口通信程序,配合单片机使用的,还集成了一些基本的AT指令,用于对手机模块进行测试。
那个时候C++是很少用的,因为感觉Visual C++ 6.0的MFC太难了,一直没有勇气去尝试;对于C#,那就更是一无所知了,只是在图书馆的书架上看到过这样的字符罢了。那时也看到过.net的书,不过不知道那时用来干什么的。
一个偶然的机会,在微软的网站上看到了Visual Studio 2008,下载了express的免费版本,感觉界面比Visual C++ 6.0强得太多了,尤其是里面C++ CLR编程,与C++ Builder 6.0 非常相似,这使我下定决心要好好研究一下这个新产品。然而,做起来并不是那么容易。首先,对C++语言的一些基础知识掌握还相当有限;其次,网上关于这个新产品的技术支持还非常少,很难找到有价值的帮助信息;第三,那时还有点用不明白MSDN这个强大的“老师”;第四,在我周围还没用人接触过这个工具,得不到任何知道;最后,图书馆里这方面的书极度匮乏。在这种情况下学习使用Visual Studio 2008真的可以算是困难重重了!
我学习编程一直有自己的一点想法:用任务来牵引,在实践中学习。也就是说,我没有按照某种固定的顺序去学习编程,而是经常有一些小的程序想法或是想编一个满足特定功能的程序。这样刚开始几乎每次都是在对所编程序一无所知的基础上进行,由简单到复杂,一个问题一个问题地去解决。当然,很多时候我失败了,但在这过程中,我学到了很多。问题一个个地解决,知识一点点地积累,经验一点点地丰富,想法一点点地成熟,成功概率也一点点地提高。现在编写一些简单的桌面应用程序也基本上没有问题了。
看到Visual Studio 2010,大家都在感叹技术更新太快了。我也一样,Visual Studio 2008还没有用好,新的环境又出来了,看来只能实施跨越式发展了。
这段时间通过对C#进行了一些了解,感觉这个语言在.net编程中确实有很多优势。太专业的理由就不讲了(我也讲不出),这里仅以一个C#初学者的角度谈一下:第一,在Visual Studio 2010 Beta2中,C#的代码智能录入做的非常好,一方面能大大提高代码录入效率,另一方面也能给编程人员很多提示,而在这个版本中,C++甚至连最基本的像Visual Studio 2008那样的代码智能输入都没有;第二,在MSDN中随处可见C#和VB的编程例子,而C++确少了很多;第三,像Silverlight这样的新技术,只能用C#和VB来进行开发,C++下根本就没用。仿佛微软在提醒大家:都来学C#吧,C++过时了!
为了显得不太Out,决定从现在起在Visual Studio 2010的平台下学习利用C#开发程序:这些天找了本书,仔细地学习了一下C#的语法,同时跟C++语言进行比较。经过几天的学习,感觉表面上C#与C++差别并不是很大。最主要的区别就是C#中不再用指针了,据说这是为了C#语言的安全性考虑。不管那么多了,这也省的我为指针而伤神费力了。
昨天看到所学专业书上有个理论,忽然产生个想法:如果用程序做出来也许能直观的看到各个参数对物理现象的影响。初步用编程的思想规划了一下,如果用C++语言编的话,应该不成问题。然而为了检验一下这几天学习C#的成果,决定用C#编写。程序中主要用到了trackerBar,textBox、label、pictureBox、timer、button、groupBox、saveFileDialog等控件,核心功能是在Graphics 类中画出运动轨迹,显示在pictureBox中,并最终保存成BMP格式的图片文件。编程的过程几乎没遇到什么太大的问题。感觉可以把编写C++程序时的方法和想法直接搬过来用。编写这个程序大约用了2.5小时,这中间充分体会到了C#中代码输入的便捷。It’s Perfect!(现在英语口语外教的口头禅,说的特有味!)
传张照片,看看我编的程序吧!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: