程序员怎样锻炼编程思维(学习方法)

1.明确学习目的 

学习编程对大多数IT业人员来说都是非常有用的。学编程,做一名编程人员,从个人角度讲,可以解决在软件使用中所遇到的问题,改进现有软件,可以为自己找到一份理想的工作添加重要得砝码,有利于在求职道路上谋得一个好的职位;从国家的角度,可以为中国的软件产业做出应有的贡献,一名优秀的程序员永远是被争夺的对象。学习编程还能 锻炼思维,使我们的逻辑思维更加严密;能够不断享受到创新的乐趣,将一直有机会走在高科技的前沿,因为程序设计本身是一种创造性的工作。知识经济时代给我们带来了无限的机会,要想真正掌握计算机技术,并在IT行业里干出一番事业来,有所作为,具有一定的编程能力是一个基本条件和要求。

2.打好基础

学编程要具备一定的基础,总结之有以下几方面:
(1)数学基础 从计算机发展和应用的历史来看计算机的数学模型和体系结构等都是有数学家提出的,最早的计算机也是为数值计算而设计的。因此,要学好计算机就要有一定的数学基础,出学者有高中水平就差不多了。
(2)逻辑思维能力的培养 学程序设计要有一定的逻辑思维能力,“逻思力”的培养要长时间的实践锻炼。要想成为一名优秀的程序员,最重要的是掌握编程思想。要做到这一点必须在反复的实践、观察、分析、比较、总结中逐渐地积累。因此在学习编程过程中,我们不必等到什么都完全明白了才去动手实践,只要明白了大概,就要敢于自己动手去体验。谁都有第一次。有些问题只有通过实践后才能明白,也只有实践才能把老师和书上的知识变成自己的,高手都是这样成材的。
(3)选择一种合适的入门语言 面对各种各样的语言,应按什么样的顺序学呢?程序设计工具不外乎如下几类: 1)本地开发 应用软件开发的工具有:Visual Basic 、Delphi 、VC++ ( C++ Builder ) 等;数据库开发工具有:Visual Foxpro 、Oracle Developer 、Power Builder 等。 2)跨平台开发 开发工具如 Java 等。 3)网络开发 对客户端开发工具如:Java Script 等;对服务器开发工具如:PHP 、ASP 、JSP 、ISAPI 、NSAPI 、CGI 等。 以上不同的环境下几种开发工具中 VB 法简单并容易理解,界面设计是可设化的,易学、易用。选 VB 作为入门的方向对出学者是较为适合的。

3. 注意理解一些重要概念

一本程序设计的书看到的无非就是变量、函数、条件语句、循环语句等概念,但要真正能进行编程应用,需要深入理解这些概念,在理解的基础上应用,不要只简单地学习语法、结构,而要吃透针对这些语法、结构的应用例子,做到举一反三,触类旁通。

4.掌握编程思想

学习一门语言或开发工具,语法结构、功能调用是次要的,最主要是学习它的思想。例如学习 VC 就要学习 Windows 的内在机理、什么是线程......;学习 COM 就要知道 VTALBE 、类厂、接口、idl......,关键是学一种思想,有了思想,那么我们就可以触类旁通。

5.多实践、多交流

掌握编程思想必须在编程实际工作中去实践和体会。编程起步阶段要经常自己动手设计程序,具体设计时不要拘泥于固定的思维方式,遇到问题要多想几种解决的方案。这就要多交流,各人的思维方式不同、角度各异,各有高招,通过交流可不断吸收别人的长处,丰富编程实践,帮助自己提高水平。亲自动手进行程序设计是创造性思维应用的体现,也是培养逻辑思维的好方法。

6.养成良好的编程习惯

编程入门不难,但入门后不断学习是十分重要的,相对来说较为漫长。在此期间要注意养成一些良好的编程习惯。编程风格的好坏很大程度影响程序质量。良好的编程风格可以使程序结构清晰合理,且使程序代码便于维护。如代码的缩进编排、变量命令规则的一致性、代码的注释等。

7.上网学编程

在网上可以学到很多不同的编程思想、方法、经验和技巧,有大量的工具和作品及相关的辅导材料供下载。例如网站“编程课堂”(http://best.yeah.net/)主要以 VB 和 Delph;教学和交流为主,提供大量实用技巧;网站“现在时编程学园”(http://pshool.yeah.net/)是专门介绍C、VC、VB、Delphi 等的综合编程网站;网站“ VB 编程乐园 ”(http://www.vbeden.com/)提供内容丰富而且实用的编程技术文章、精选控件、源代码下载、计算机考试、相关软件以及编程书籍推荐等等。

8.加强计算机理论知识的再学习

学编程是符合“理论→实践→再理论→再实践”的一个认识过程。一开始要具有一定的计算机理论基础知识,包括编程所需的数学基础知识,具备了入门的条件,就可以开始编程的实践,从实践中可以发现问题需要加强计算机理论知识的再学习。程序人人皆可编,但当你发现编到一定程度很难再提高的时候,就要回头来学习一些计算机科学和数学基础理论。学过之后,很多以前遇到的问题都会迎刃而解,使人有豁然开朗之感。因此在学习编程的过程中要不断地针对应用中的困惑和问题深入学习数据结构、算法、计算机原理、编译原理、操作系统原理、软件工程等计算机科学的理论基础和数理逻辑、代数系统、图论、离散数学等数学理论基础知识。这样经过不断的学习,再努力地实践,编程水平一定会不断提高到一个新高度。

转载于:https://www.cnblogs.com/zxf123/p/9054829.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/570840.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vi或vim查找替换

1、查找 命令模式下 输入 向下查找 :/ 向上查找 :? 比如要查找带有DNS的 :/DNS 回车即可。 2、替换 :s/vivian/sky/ 替换当前行第一个 vivian 为 sky :s/vivian/sky/g 替换当前行所有 vivian 为 sky :n,$s/vivian/…

BZOJ 3295: [Cqoi2011]动态逆序对 cdq分治

https://www.lydsy.com/JudgeOnline/problem.php?id3295 这个妹妹我曾见过的~~~ 之前应该在校内oj写了,似乎还写过题解?发现没写博客就重新水一遍代码水一篇博客好了。 把找逆序对的过程想成一个一个往里塞数字然后找每个数字可以组成的逆序对&#xff…

mysql连接超时timeout问题

mysql默认连接超时时间为8小时,需要设置长一些 第一种方式直接改my.cnfvi /etc/my.cnf[mysqld] wait_timeout31536000 interactive_timeout31536000 需要重启mysql service mysqld restart 第二种方式,更改变量,不需重启mysqlmsyql> s…

windows server 2012 R2 standard 评估版过期重启

安装的windows server 2012 standard eval评估版,安装完成后有10天的激活时间,过期后,每隔一个小时自动关机。 解决方法:将评估版转成正式版后,再通过KMS激活。 将评估版转成standard正式版的方法: &…

p1、查询端口号占用,根据端口查看进程信息/p

2017年6月份的时候,我就着手在公司推广git,首先我自己尝试搭建了GitLab来管理代码,并且通过以下博客记录了GitLab的搭建,以及GitLab备份,GitLab升级等事情。 git学习——>在CenterOS系统上安装GitLab并自定义域名访…

删除注册表报错“无法删除所有指定的值”

更改文件的所以者及权限。 如删除RCM 右键“权限”—》“高级”—-》更改所有者,权限改为完全控制即可。

Mac本如何卸载MySQL

Mac本如何卸载MySQL 在Mac上卸载MySQL上一件非常麻烦的事,如果没有卸载干净,就会无法安装新的MySQL   怎样才能完全卸载MySQL呢?(包括所有数据库) 执行以下操作: #打开终端窗口 #使用mysqldump备份你的数据库 #停止数据库服务器 sudo rm…

从FTP拷贝文件报错无法从指定的位置下载

报错是因为IE安全选项设置禁用了文件下载

设计模式原则之里氏替换原则

转载自:https://mp.weixin.qq.com/s/Uq4g53cQ7YKAXP8TuRV2Gw 定义: 1:如果对每一个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T1定义的所有程序 P 在所有的对象 o1 都代换成 o2 时,程序 P 的行为…

PXF webapp is inaccessible but tomcat is up

生产环境新增几个节点&#xff0c;安装pxf后&#xff0c;启动时报错 stderr: Traceback (most recent call last):File "/var/lib/ambari-agent/cache/common-services/PXF/3.0.0/package/scripts/pxf.py", line 120, in <module>Pxf().execute()File "…

point-position2修改版

说明&#xff1a; 在共面直线测试中&#xff0c;由于计算误差等原因&#xff0c;共面条件判断不准&#xff0c;但计算结果依然正确。 // point-position2.cpp : 定义控制台应用程序的入口点。 #include "stdafx.h" #include <stdio.h> #include <iostream&g…

Ambari安装client报错OSError:[Error 17] File exists

Ambari为集群新增扩容过程中&#xff0c;有一个节点安装多个client报错 Traceback (most recent call last):File "/var/lib/ambari-agent/cache/stacks/HDP/2.0.6/hooks/after-INSTALL/scripts/hook.py", line 37, in <module>AfterInstallHook().execute()F…

Linux学习总结(十六)系统用户及用户组管理

先来认识两个文件/etc/passwd/etc/shadow我们打印出首尾三行&#xff0c;来了解下&#xff1a;每行由&#xff1a;分割为7段&#xff0c;每段含义为&#xff1a;第一段&#xff1a;用户名&#xff0c;比如root 用户&#xff0c;普通用户test,lv,test1第二段&#xff1a;早期存放…

linux修改hostname

1、临时修改&#xff0c;重启失效 hostname yourhostname 2、永久生效 2.1 vi /etc/sysconfig/network change HOSTNAME to yourhostname2.2 vi /proc/sys/kernel/hostnamechange to your hostnam

BZOJ2729 [HNOI2012]排队 【高精 + 组合数学】

题目链接 BZOJ2729 题解 高考数学题。。。 我们先把老师看做男生&#xff0c;女生插空站 如果两个老师相邻&#xff0c;我们把他们看做一个男生&#xff0c;女生插空站 对于\(n\)个男生\(m\)个女生的方案数&#xff1a;\[n!m!{n 1 \choose m}\] 还要特判一下没有男生女生的情况…

CentOS6离线升级CentOS7

‘利用本地centos7镜像升级centos6.7’ 需求背景&#xff1a; 服务器上安装的都是centos6.7&#xff0c;新部署的服务需要在centos7下&#xff0c;要么跑到机房重装系统&#xff0c;要么找离线解决方案&#xff0c;升级系统。 解决方案&#xff1a;之前有过离线升级小本版&a…

升级Python2.7后 no module name yum

从Python2.6.6升级到python2.7.5后导致Yum不可用。 原因是yum 命令&#xff0c;是调用的 /usr/bin/yum 脚本文件&#xff0c; 需要修改为 /usr/bin/python2.6.6 保存退出&#xff0c;成功解决。另外可能还会引起其他的问题&#xff0c;解决的思路就是根据报错的指向&#xff0…

hadoop综合大作业

Hadoop综合大作业 要求&#xff1a; 1.用Hive对爬虫大作业产生的文本文件&#xff08;或者英文词频统计下载的英文长篇小说&#xff09;词频统计。 词频统计的截图如下&#xff1a; 上次我所使用的文章是一篇中文文章&#xff0c;所以这次我用了一篇英文文档来进行分词&#xf…

Hadoop集群的kerberos认证

文章转载自http://www.cnblogs.com/easycloud/p/3724437.html 转载主要用于个人学习备查。 环境&#xff1a; OS 版本: Centos6.4 Kerberos版本: krb5-1.10.3 环境配置 机器名 Ip地址 功能 安装模块 ganglia.localdomain 192.168.124.140 Kerberos server krb5-li…

Oracle 表备份还原

方法1&#xff1a; create table mdmuser20120801 as select * from mdmuser方法2&#xff1a;create table mdmuser20120801 as select * from mdmuser where 12;insert into mdmuser20120801 select * from mdmuser ;转载于:https://www.cnblogs.com/zhchsh/p/9087331.html