我想学习编程应该先学什么随着软件技术的发展 , 软件编程语言走过了一个由原始社会向工业社会发展的过程,从机器码编程到汇编语言,从汇编语言到各种高级语言;编程思想由面向过程发展到面向对象;同时编程工具也变成了可视化的 。编程门槛随着技术和工具的发展变得越来越低,现在用delphi,vb等工具很快就可以做一个数据库系统、媒体播放器等在过去足以傲人的软件 。但我要说,不要为你能在几分钟之内做一个软件而沾沾自喜,更不要因为工具的先进就丢掉了程序员的基本功 。不管你是在校的大学生,还是自学的爱好者 , 如果想在程序员这条路上走的更远 , 一定要学好计算机的专业课 。
二、语言的选择不重要,编程思想才是根本
经常在论坛里看到初学者问,“学什么语言好?什么语言最吃香 , 最有前途?”,早几年 , 还有许多比较各种语言和编译器的文章 。这种思想也深深的影响了我,使我走了许多弯路 。所以我要说,选择什么语言不是最重要的,编程思想才是程序员要学的根本 。各种语言发展到今天都有它存在的原因 。比如现在各种高级语言都有各自的优点,delphi最让人称道的是他在编写数据库系统方面的便捷,c/c++则在于它的灵活和高效性,vb的优点在于他最方便入门,Java的跨平台性是最好的 。对于初学者学什么都好,因为这一阶段学习的重点在于语言和编译器本身 , 毕竟书上的例子和一个实用的工程相差是在太远 。
当你走过了这个阶段 , 语言已经不是困扰你的重要问题时,那么你选在一个平台吧 。(当然我的建议是Windows,一方面是学习的资料比较多 , 另一方面就是使用的人也多,好的软件是不愁每人使用的 。)了解在这个平台编程的方法,就Windows来说就是学习API函数,并逐渐深入到它的内核 。
如果你走过了这一阶段,那我告诉你你已经是最初你佩服的那种高手了 。在这个平台上能够游刃有余 , 无论是开发各种应用软件,还是开发深入系统的系统软件 , 你都会得心应手 。
三、编程不是单纯的对技术的追求 , 软件的灵魂是服务
作为技术人员,往往比较单纯和执著 , 一心想着怎么学好技术,不要落后于他人 。殊不知,自己完全背离了软件的宗旨,软件(包括一切技术)的产生都是为了更好的为人服务 。用户是不会在意你是否使用了更先进的技术,他只关心你是否为他提供了完整的解决方案和便捷的服务 。所以在写程序前,一定要调查一下,你所写的软件会有多少用户,他们想让你提供那些服务 。
以上是整体的思路,在此我以Windows平台上的学习为例,说一说学习之路 。
首先以你的个人爱好或工作方向,选择一门语言 。一般来说,只需要这几方面的书就够了 。一种是语言入门和开发工具使用的书 , 之后是语言的参考大全,最后一种就是编程指南或开发指南 。如学习vb,按顺序应该看《vb开发指南》《vb中文版参考祥解》(清华大学出版社);学习c/c++,则看《C语言程序设计(第二版)》(谭诰强)或《C++程序设计》(钱能),《Visual C++技术内幕(第4版)》(潘爱民),
然后看些计算机专业课程和深入Windows编程的书 。如:《编码的奥秘》(Charles Petzold),《数据结构》(严蔚敏吴伟民),《编译原理和技术》 , 《Windows程序设计》(Charles Petzold),《深入浅出MFC(第2版)》(侯捷),《Win32多线程程序设计》(侯捷),《Windows核心编程》(jeffrey Richter) 。
最后就是些深入系统内核源码和设计模式方面的书 。如:《莱昂氏UNIX源代码分析》(John Lions著,尤晋元译),《STL源码剖析》(侯捷),《计算机程序设计艺术》(苏运霖译),《设计模式》( Erich Gamma等著,李英军等译) 。
推荐阅读
- web中css将背景图片变暗,css背景为图片
- oraclelob索引移动,oracle索引logging
- 一吻定情下载,一吻定情手机
- 怎样在微信视频号,怎样在微信视频号里找到自己点赞的视频
- linux命令动态查询 linux查看动态库中的函数
- 包含黄历java代码的词条
- 虎牙直播老版本在哪里下载,虎牙直播tv旧版本
- 字体内填充颜色css,字体填充色在哪
- 电脑双显卡怎么升级,双显卡如何提高性能