编程学习中的一些错误认识【摘自如鹏网】
http://xidong.net/File001/File_66026.html
计算机自学宝典《九阳神功》
http://www.rupeng.com/forum/thread-363-1-1.html
错误认识1. C/C++太老了,过时了,平时用得很少,现在流行都Java、C#等等
如鹏网的杨中科老师经常提醒我们“一切语言都是纸老虎,一通百通”,学校已经开了 C/C++的课,并且想继续深入学习编程,那么就继续使用学过的语言来学习,不要再去学一门新的语言。等把C/C++弄熟了以后,回头一看,相信你也能像杨中科老师那样“半天学会一门新语言”了吧。
错误认识2.入门要从OO开始,培养用OO方式思考的习惯
解惑:初学者一入门便摆弄Java、C++等很容易形成误解,似乎OO=Java, C++...。一切编程语言的根本都是面向过程的,Java、C++等语言也是支持面向对象特性的面向过程的语言。
错误认识3.过程式语言弄久了,很难转入OO的思维模式
解惑:我以前也没有深想过这个理由,不过时间久了,发觉自己不过是把数据和方法集中在一起而已,看着方便,其实有很多不合理的东西,这里头就需要OO的理论指导了,还是需要时间来体会。我相信有很多用OO语言的人也不过是在框架里头添添代码,调用来调用去而已,把人类当作数据和操作的打包器。
个人觉得只有在用过程式方法做了十来年,编码上十万行后才有思维定势,难以习惯用OO的眼光看待系统,然而这个转变,我仍觉得比改变一个人的恶习容易许多。OO方法不是学了个Java,C++等就能掌握的,需要实践,需要时间。过程式语言也容易培养一个人严谨的做事态度,比如用汇编, C等写代码,没有命名空间、没有一大堆类库,没有模板、没有异常, 你要花很多心思处理一些细节,比如警惕数组索引越界、悬挂指针、野指针等等,请不要觉得麻烦,这个就是计算机啊,底层就是这样的啊。
错误认识4.别用C了,看我用Java、 VC等轻轻松松就写了个漂亮的图形界面
这篇文章是给初学者看的,也可以给一些浮躁的人看看,初学编程的人精力应该放在数据结构、算法上面,尽量多看一些底层的东西,数字逻辑,操作系统,编译原理,计算机组成、体系结构,计算机网络等等基础知识。编写GUI拖几个控件有什么好吹的,既然你会拖几个控件那么一个初中都没毕业的也会拖控件,你和他的差异性体现在哪里?你知道窗口消息怎么回事么,你编的界面是把易用放在第一位呢还是把漂亮放在第一位呢,你的GUI程序容易修改吗?比如我一会要加个button,一会去个listbox,你会不会改的疯掉呢?你是不是在OnClick里头写了大段大段的代码,做类似“从edit1.text中去掉不是数字的字符,搜索xxx再转成16进制,再复制到edit2.text”的事?
错误认识5. C好难啊,我入门还是从Java,C#开始吧
解惑:语言只是表达思想的工具,不要只局限于一种语言,不要狂热于某一门语言。记住如鹏网的杨中科老师说那句话“价值规律就是——越是容易得到的越不值钱”。
编程学习中的一些错误认识【摘自如鹏网】相关推荐
- python获取输入法状态_Python学习中常见的错误
本文适合有编程基础,现在正在学习Python的学习者. 个人以为程序设计是一件非常惬意的事情, 坐在电脑旁边,敲敲键盘就可以控制电脑完成一些处理工作.一个回车键屏幕就输出一大堆的信息,而且都是自己需要 ...
- 【博学谷学习记录】超强总结,用心分享 | 第1周:Java基础学习中初学者常见错误(1)
相较于之前学习过的Python而言,Java属于一种强类型的编程语言.也就是说,对于定义每个变量时,都要明确相应的类型,才可能使用. 如果是从弱类型语言转换过来,可能刚开始会不太适应,但这种强类型的定 ...
- 编程学习中要注意效率和感受
早一个多月,收到了一位网友的求助信,请我帮他做一道程序题.这样的求助我是不会直接解答的.如果要想通过读程序来学习,可读的程序太多了,不在乎由我写的这一段程序. 我给他的回信是,他可以自己做出来一个版本 ...
- 【博学谷学习记录】超强总结,用心分享 | 第2周:Java基础学习中初学者常见错误(2)
本周继续学习JavaSE当中的高级部分,总结的常见错误如下. 1.静态vs非静态 对于类当中的成员,可以分为静态和非静态的区别,其中静态中可以调用非静态方法,但非静态无法调用静态方法. 这个对于初学者 ...
- Java编程学习中必须掌握的13个核心技术
1. JDBC(Java Database Connectivity): JDBC API为访问不同的数据库提供了一种统一的途径象ODBC一样,JDBC对开发者屏蔽了一些细节问题,另外JDCB对数据库 ...
- c语言编程过程中的常见错误,C语言编程常见错误与解决办法
warning: excess elements in array initializer 警告:数组初始值设定项中有多余元素 (定义的数组长度比赋值的个数小) 数组定义出错 "confli ...
- PHP学习中遇到的错误之Notice: Undefined offset: 4
今天在帮朋友调试服务器的时候发现以前wp的404搞的伪静态竟然用不了了,然后就试着访问404出错页,结果首部出现 Notice: Undefined offset: 1 in D:\wwwroot\w ...
- vue学习中遇到的错误 Duplicate keys detected: ‘[object Object]‘. This may cause an update error.
前端入门自学,说错的请大神指点. Avoid using non-primitive value as key, use string/number value instead. Duplicate ...
- Shiro学习中出现的错误:Could not autowire. There is more than one bean of ‘Realm‘ type.
异常信息 大概翻译一下这个不能自动注入,超过一个这个类型的Bean 1. Could not autowire. There is more than one bean of 'Realm' type ...
最新文章
- Matlab数据的可视化 -- 平面多边形的着色
- Hiding Images in Plain Sight: Deep Steganography 于众目睽睽之下隐藏图像:深度隐写术
- 风电功率预测matlab,一种基于二十四节气的风电功率预测方法与流程
- 数据挖掘十大经典算法之——EM 算法
- 倡导农民丰收节交易会-农业大健康·万祥军:谋定功能性农业
- 合肥南站,你怎么这么棒?人民日报都夸你了!
- 该系列主要整理收集在使用C#开发WinForm应用文章及相关代码来源于WinForms小组...
- bootstrap $(“#xxx“).bootstrapTable(‘getData‘)值不对
- 关于人工智能的一些幻想
- 小技巧之统计代码行数
- Unity 场景烘焙原理
- mysql 怎样解锁表_mysql一键解锁表
- 《创客学院嵌入式从入门到精通》笔记--10全面掌握嵌入式系统移植
- linux搭建私网的ntp时间同步服务
- Vue实现仿iPhone悬浮球
- 基于CNN-BiLSTM与三支决策的入侵检测方法
- Django 模型(model)
- 认识MIS和ERP的联系区别
- wpf 字体模糊_wpf4 文字 模糊 不清晰 解决方法
- 解密百度大数据:百度是如何使用hadoop的,并且做了哪些改进?
热门文章
- java实现第五届蓝桥杯海盗分金币
- bat写暴力破解系统密码
- android中注册的账号密码储存在,android SharedPreferences实现用户的注册和保存账号密码...
- 天嵌科技为E9卡片电脑Qt快速入门攻略
- 编译原理:了解编译原理
- 软件测试工程师简历项目经验怎么写?--1000个已成功入职的软件测试工程师简历范文模板(真实简历)
- PMP第三章:项目经理的角色
- 能力开放平台系列-概述
- 帝骑k触屏模拟器_终骑diend模拟器
- 2019.01.17【BZOJ4399】 魔法少女LJJ(FHQ_treap)(ODT)