61阅读

如何学习windows编程-谈谈新手如何学习PHP编程

发布时间:2017-09-06 所属栏目:windows程序设计

一 : 谈谈新手如何学习PHP编程

谈谈新手如何学习PHP?从默默自己向别人问怎么学PHP开始,到后来不少人又来问默默怎么学PHP,不管默默是新手,还是老鸟,似乎总是感觉摸不出一条清晰的脉络来,不过,默默既然学会了PHP,那么我走的这条路或多或少的有一定借鉴性。

PHP的背景恐怕就不用默默赘言了,我相信大家选择一种语言,并不是看它的背景和悠久历史,更重要的是看它的实用性,华而不实的语言哪怕是再辉煌的历史,也毕将步向没落,可喜的是PHP经受住了考验,也因此,它确实是一种值得学习的语言。

默默一直是听从别人的经验长大的,也因此在前辈们的经验里让默默少走了许多的弯路,更快的步入了正规,在此向那些我至尽不知道其名字的前辈们道声谢谢,在默默的眼里,帮助不分大小,只要是帮助,总会让默默的心里暖融融的,我想,前辈们帮助我,并不是为了得到我的一句谢谢,更多的是出于一种责任感和对默默的期望,所以我想,只有学好PHP,才能对得起前辈们的汗水。

正如我所说的,默默也终于感觉到了一种责任感,默默不知道自己的经验到底能帮助新手多少,但是默默明白,现在到了履行责任的时候了,我有必要把自己的经验告诉给所有希望学好PHP的人,只有这样才能让中国的PHP不断的进步,不断的发展,在世界上占据一席之地。

默默学习PHP的这段期间,感觉国内的PHP环境越来越成熟,规范也在逐渐的健全,PHPCHINA的成立,标志着与官方直接挂钩的PHP机构在中国正式落户了,在此献上迟到的掌声!还有我们最靠谱的PHP100中文网,是我们学习交流最好的PHP网站。 好的,切入正题:

我想在讲述自己的学习方式前,对那些期望能从我的文章中获得有用信息的人说一句心里话:

默默的文章不会对您的学习起到实质性的作用,您能否成功,还得靠自己的,坚持,坚持,再坚持,就是步入成功的不二法门。

我先把我自己学习PHP的过程做一下概括:

(1)熟悉HTML/CSS/JS等网页基本元素,完成阶段可自行制作完整的网页,对元素属性达到熟悉程度

(2)理解动态语言的概念,运做机制,熟悉PHP语法

(3)学习如何将PHP与HTML结合起来完成简单动态页面

(4)接触MYSQL,开始设计数据库程序

(5)不断巩固,摸透大部分PHP常用函数,并可理解OOP,MYSQL优化,以及模板

(6)完成一个功能齐全的动态站点

我的这套线路可能跟许多学习PHP的爱好者不谋而合,这也算是一个循序渐进的学习过程,不过新手不要看到上面的概括就以为学习蛮简单的,默默在此不得不对您稍微泼一下冷水,任何东西其实都不简单,即使是小吃部的烧饼也不是一下子就会做成的。 我先解释一下我的学习思路。

首先,理解网站这一概念之后不难看出,任何网站都是由网页组成的,也就是说想完成网站,必须先学会做网页,因此必须要掌握了HTML,才能为今后制作网站打下基础。 在学习HTML中我想边学边做是最有效的方式,当然这一方式对于学习PHP同样是最有效的。

HTML中的任何元素都要亲自实践,只有明白了什么元素会起到什么效果之后,你才会

记忆深刻,而一味的啃书,绝对是不行的,我想大部分新手之所以觉得概念难学,大部分是一个字“懒”,懒是阻止进步的最大敌人,所以克服掉懒的习惯,才能更快的学好一样东西。

也许您在学习PHP的时候只想尽快的开发一个网站,也就会想我做网站,干嘛要学什么网页这些小儿科?不难看出,眼高手低的新手不在少数,这种思想无疑于建造空中楼阁,你不建地基,何来的房顶呢?

OK,掌握静态网页的制作技术是学习开发网站的先决条件,这一点就讲到这里,因为这篇文章不是教程文章,也就不对技术进行深入的刨析了。

我假设你目前已经可以完成一个静态页面了,当然,做的好看难看是另外一说,默默的第一个网页也没好看到哪去,但是“孩子”再丑,咱们做“爹妈”的也不能嫌弃不是?这毕竟是咱的成果。

那么咱们就开始学习动态语言的概念吧,刚一接触动态语言,可能很多人都会蒙了,怎么这乱七八糟的东西,在网页里显示的时候却是另外一码事?其实这并不算乱七八糟,你写的HTML代码不也一样是一堆堆的字符吗?毕竟,代码并不是作为直接输出的,而是经过处理的,说白了,HTML是经过HTML解析器,而PHP当然也就通过PHP解析器了,跟学习HTML一样的道理,想让任何的解析器完成操作,就必须使用它们专用的语法结构,所以PHP长相奇怪也就不足为奇了。

对于PHP的理解是新手最难迈过的一道门槛,不过你应该感到幸运的是PHP已经最大极限的为了新手而努力了,如果你学过其他的语言,也许会觉得PHP的确相当的简单,但是如果你之前什么都没学过,那么阿弥陀佛,硬着头皮琢磨吧。

书过三遍自然熟,这个简单的道理告诉我们,即使你理解不了PHP,但是也必须先跟它混个脸熟,看,一遍遍的看,看的同时一边琢磨,一边按照它所教的打代码,即使你搞不清楚那些代码到底是干嘛的,但是起码你应该找找感觉。

在一段挣扎之后,聪明的你,显然已经逐渐的开悟了,慢慢的理解了编程的概念,那么祝贺你,你已经迈出了成功的第一步。

搞清楚HTML和PHP的概念,那么PHP和HTML混合编程应该不成问题,在这期间,你完全可以让PHP给你算算 一加一等于几,然后在浏览器输出,不要觉得幼稚,这的确是跟阿波罗登月一样,你打的是一小段代码,但是对于你的编程之路,可是迈出了一大步啊!兴奋吧?但是不得不再给你泼点冷水,您还是菜鸟一个。

高兴一段时间就必须继续努力了,接下来就是学习数据库了,MYSQL可算是PHP的黄金搭档了,不过,虽然话是这么说,你也可能恨不得把MYSQL给生吞活剥了,因为这一行一列的东东简直让自己头晕目眩。有问题加我的Q是105200998。头晕归头晕,目眩归目眩,你不可能吃饭的时候咬了自己一下舌头就从此不吃饭了不是?放下畏惧,继续努力,咱们是来征服它的,而不是被它征服的,振奋起来吧同志。

在一番搏斗之后,你终于理解了数据库的概念,而且让你兴奋不已的是你终于可以通过PHP来连接数据库了,这期间你是怎么学会的,我们不去考证了,但是事实证明,你已经可以了。

学会了PHP和数据库的你,无疑是左手拿着MOTOLOLA右手拿着NOKIA,要多潇洒,有多潇洒,哈哈,终于学会了,但是可能这个时候,又会有人不经意的拍拍肩膀对你说:哥们,别高兴的太早,你还是菜鸟,离学会还差着一大截呢!

等到你发奋努力的学会了用PHP成功的插入,删除,更新数据的时候,显然,你已经距离成功指日可待了。

这个时候的你也许是这种状态:

你会HTML吗?会,我能编好几个大表格排板的网页啦!

你会PHP吗?会,我会把一加一的运算写在函数里,然后调用啦!

你会MYSQL吗?会,我会把我的信息在数据库里插入删除啦

那,接下来你该怎么做呢?我觉得,小试一下身手,大概是没问题了,那么交给你个任务,做个留言本吧,这和HELLO WORLD有一比啊!^_^,同是新手面临的第一道关。

花了一段时间,你终于学会把表单的数据插入数据库,然后显示出来了,应该说一个程序的雏形已经诞生了。

但是,你可能瞅瞅东,看看西,人家这个编论坛,那个CMS,还有那啥CRM,我啥时候写一个呢?

不要急,可以说你的马步已经扎的差不多了,接下来就要开始练把势的时候了,如果有条件的话,用笔或者打印一个简易的PHP手册在身上,时不时的摸出来看看,记得,去WC也不能放过(^2^)。

再有条件的话,买本书看看吧,《PHP+MYSQL WEB开发(第三版)》号称圣经级,(也许是个不错的选择(声明:作者没给我啥好处费,我也不是书托,隔着大老远,我连他老兄的面都没见过的说-_-)

巩固了自己的知识,熟悉了PHP和MYSQL开发的要领之后,再回头看你写的那个留言本,你也许会怀疑那真的是你写的吗?当然,如果屋里还有鬼的话,也许是它写的-_-

这个时候,你的留言本应该加入注册以及分页功能了,而如果你更强的话,UI(用户界面)也可以加强,完成之后,感觉是不是特有成就感?不管怎么样,咱好歹是写了一个动态网站程序了,放在自己的网站上耍耍吧,让好朋友来看看,嘿,看咱写的多棒,然后再在网上宣传一下。

几天之后你再打开留言本,哎?哇,一下弹出N多页面!很明显,你的留言本并没有做好安全防范,被人用JS代码小小的耍了一下,我很同情你这个时候的感受,但是没有别的办法了,继续努力吧!

你发奋努力,熟悉了安全方面的问题,然后又设计了一些程序,感觉还不错。

那么接下来,这就算学会啦?NO,NO,NO,还早呢,你至尽还没碰过OOP之类的吧?模板呢?有问题加我的Q是105200998。恩,学!加紧学呀学,学会了这些之后,你又学会了生成静态网页,现在你应该接触一下XML了,恩,XML也了解了,那么AJAX你也得接触接触吧?AJAX完了....然后...

总而言之,你绝对不会发现你全部都学会了,一些真正的强人总会搞出新玩意来丢给你,你不学就落后了,也印证了前人的经验,果然是学无止境啊!

我想通过我的一番YY,你也应该大致熟悉了一些学习过程,也许我的过程和你的有些出路,但是不管怎么样是殊途同归,我写这么多,也只是给大家一个借鉴的机会,至于好与不好,默默不敢打包票^0^

看完之后你发现,罗嗦这么多,对我一点用处没有啊,我知道该怎么学,但是我想如何才能更快的学,一周速成,啊不,24小时速成那种,默默你有没?

我.......我没有,但是2分钟之内把你扁进医院里,我倒是有把握-_-

学东西,永远不要妄想有速成这一说,告诉你了一个方式,但是缺少努力这一环节,那也是白搭。

但是有一点我可以给你保证的就是,你学会了PHP,那么学其他的语言,肯定速成,反过来也一样,如果你之前学过其他的语言,那么学PHP肯定快。

不过语法好学,但是怎么用语法来实现每个人都有每个人的方式,几乎是各有千秋。然而借鉴别人成功的代码,绝对是有益无害,因此,多看那些经过千锤百炼凝出来的经典代码,是进阶的最好方法。

讲了这么多,无非是想说:学习PHP不仅要掌握方法,更多的是付出汗水,我不希望看到中途放弃的人,相信自己,相信自己的选择,更要相信自己的能力,如果自己想放弃,

暴力一点的话,就自己抽自己一个嘴巴,然后大吼:别人可以,我为什么就不可以?(是不是有点阎罗教练的味道,默默的确是电影看多了,抽嘴巴是会痛的,各位其实明白这个道理了就行了)

另外要叮嘱各位的是,抵御诱惑,ASP/PHP/JSP/.NET的对比也许会让你无所适从,你也许学了一半PHP,又开始打C#的主意,或者有人说JAVA很强,这个时候的你绝对不能动摇,哪怕你真想学,也得学会了PHP。然后再学,见异思迁是最不可取的,狗熊掰玉米就是这个道理,如果经常中途放弃,只能是一无所获,还浪费了N多的时间和经历,得不偿失,最重要的是,你会被别人瞧不起,没有人会喜欢和见异思迁的人交朋友,因为这种人太不安分,太不可靠,因此,你必须要强迫自己完成自己的目标,哪怕可能会很难受,也得坚持,毅力就是这么锻炼出来的。?

二 : 如何学习plc编程

弄通有关plc程序设计理论是重要的。没有这方面的理论准备或指导,仅靠在实践中摸索,简单的问题还好办。复杂的就不好办了。不仅无从下手,而且花了很多时间与精力,也难编出效率较高、质量也较高的程序,常常是事倍功半。
但是,编程的具体实践,以及在这个实践中得来的知识或技能,即经验,也是重要的。没有经验,仅有理论,既无法深刻理解理论,又无法灵活应用理论。这正如学数学,如仅了解一些定理或记住一些公式,没有作相应的练习,肯定是学不好的。更不用说,任何理论也都只是经验的总结,归根到底也都有是来自实践。

如何学习plc编程_如何学编程
1、经验积累
经验有别人的,也有自己的,都很重要。前者要靠细心学习,后者要靠用心积累,都要在一定的时间与必要的精力。
别人的经验有上了书的或登载在杂志上的。有的是细心学习别人的,但多数是我自己的经验。所有的例子都经我测试过,都经实践证明是可行的。我想,别的书本或杂志上介绍的也会是这样的。所以学习这样杨功的经验是必要的。
还有就是你同事的经验,也是值得学习。这种经验离你很“近”,很易借鉴。
自己的经验则是最重要的。要在自己的实践中,积累自己的经验。同时,最好在学别人的(www.61k.com)经验时,也能亲自作些测试,能使自己也有类似的经历,进而把这些经验变成自己的。这也是自己经验的重要积累。
还有一些失败的经验,这往往是不会公开的,但这些经验也要学习,也要积累。
经验的积累要用自己的脑记,更要用电脑记。最好作些分类,建立1个自用的程序库,以便于随时引用。
2、经验升华
经验还有待升华。升华有3个层次:
最低的层次就是建立1个典型的程序库,供今后再用。若程序复杂,还可建一些功能块,或子程序,以便以后引用。
其次,要总结出有效算法。如单按钮起停程序库等。
最高层次的升华是把经验上升到理论的高度,为丰富PLC程序设计理论作贡献。我想,随着PLC使用的普及与提高,是会有越来越多从经验中升华出来的,而又能用以指导实践的plc编程理论的。
3、经验应用
经验积累、经验升华都是为了应用。经验应用有三方面:
1)用作工程设计模板。设计新系统时,选用1个或几个与现设计工程类似的,已取得成功的工程,作样板进行设计。这既可减轻设计的工作量,又增加设计的成功率。这也是信息可重用的1大好处。
2)用作程序设计参考。在无成功的工程可作样板时,在新设计的逻辑中,仍有相当一部分控制逻辑,可采用或借用已有典型逻辑,这也可减少设计的工作量,增加设计的成功率。
3)用作算法设计参考。在既无样板可参照,又无典型可采用时,还可运用过去的一些成功的算法。
经验是宝贵的,但是经验特别是个人经验,总是有限的。所以,经验的应用也还要与编程理论相结合。

三 : 有一定基础的 C++ 学习者该如何学习 Windows 编程?

[windows程序设计]有一定基础的 C++ 学习者该如何学习 Windows 编程?
有一定基础是指对大学教材级别的C++知识有了解,然而只停留在黑框程序的编写和阅读上。
手头有一个使用VS2010开发的windows工程想要读懂(这是契机,不是原因),长久以来的困惑使得我希望找到一本适合初学者的书。图书馆里的书大多是陈旧的(VC++6.0)而且不涉及windows程序开发的教材,要么就是劈头盖脸各种不明就里的程序段。
我查阅过很多书籍,也从知乎上了解了许多类似C++ Primer/ the C++ programming language这样的书目,但是我真切地觉得它只适合已经深入的编程人员了解这门语言的各个方面,却不适合初学者快速弄清“基本问题”,把握脉络。
我知道C++的学习曲线很陡峭,并对学习的困难抱有觉悟,自己(大学生)也不是相关专业的,只是对计算机编程颇为热衷,一直在磕磕绊绊中自行探索学习道路。

在此对各位回答先表感谢。
下面就看看www.61k.com小编为您搜集整理的参考答案吧。

网友蒙面大侠[windows程序设计]有一定基础的 C++ 学习者该如何学习 Windows 编程?给出的答复:
请看《windows程序设计》


网友滇狐[windows程序设计]有一定基础的 C++ 学习者该如何学习 Windows 编程?给出的答复:
———— 写在前面的一些废话,不感兴趣的朋友请直接跳到「正文」 ————

人的心理有个奇妙的特性:一项知识一旦学会之后,学习过程中面临的困惑和不解很快就会忘得干干净净,似乎一切都是自然而然,本来就该这样的。因此,关于「如何入门」这类问题,找顶尖高手来回答,未必能比一个刚入门不久的人来回答要好。就譬如最高票的那个回答,是一个非常精通 Windows 编程的高人回答的,但这样的答案能给初学者带来多少帮助,我这里想先打一个问号。

前段时间刚辅导了一个学生学会了 Win32 GUI 编程,刚好看到这个问题,顺手就邀请他回答了。并非是给他布置总结作业,仅仅是希望能从他这里得到第一手的经验和个人体会,能给尚未入门的朋友带来更多帮助。可惜的是,读了他的回答之后,我感觉他的总结相当不到位。一份好的总结,应该能做到让一个尚未入门的人读过之后,能够原样复制他的学习过程,学到和他目前一样的程度。很可惜这份总结里强调的全都是一些细支末节的东西,而最关键的核心问题却一个都没有提到。我只能站在我的角度把这个问题再总结一遍,希望这位学生在看过我的总结之后,能重新修改一下他的答案,让它能够真正对初学者有用起来。另外,这类问题的答案我希望他不要使用匿名身份,这也算是一个对自己的言论表示负责的态度吧。

接下来我就大致总结一下我是如何辅导这个学生学会 Win32 GUI 编程的:

———— 正文————

本文只涉及 Win32 GUI 入门,不涉及其它 Windows 编程的话题,譬如网络操作、异步 IO、系统服务、线程同步什么的,不要因为我没有提到那些内容就跳出来说我「答非所问」,我相信题主想要问的也不会是那些话题。

要想学习 Windows 编程,首先最重要的一点是:C 语言必须入门。这个要求听上去像是废话,可是事实上目前国内大部分计算机专业的学生本科甚至硕士毕业都没能达到,因此我不得不单独提出来再次强调一遍。C 语言入门之后再学 Windows 编程,可以避免很多不必要的挫折,节约很多时间。固然,有很多人在 C 语言没有入门的情况下就开始了 Windows 编程的学习,到处碰壁撞得头破血流之后仍然学会了 Windows 编程,而且顺便把 C 语言也入门了的,譬如我,但我并不认为这样的经历是值得向所有人推崇的。我个人认为,先停留在黑框框下把 C 语言入门了再开始学习 Windows 编程,是性价比更高的做法。

至于 C++ 的学习,C++ 和 Windows 编程是两棵不相关的技能树,学习 C++ 并不要求你必须懂得 Windows 编程,写 Windows 程序也并非必须用 C++。熟悉 C++ 对于学习 Windows 编程或许有间接的帮助,但至少直接的联系是没有的,你完全可以在没学过 C++ 的情况下就开始学习 Windows 编程。

要入门 Windows 编程,最重要的不是阅读什么教材,使用什么工具,而是先必须把以下几个对于初学者来说非常容易困惑的重要概念搞清楚:

1. 文字的编码和字符集。这部分需要掌握 ANSI 模式和 Unicode 模式的区别(并且明白这里 ANSI 和 Unicode 事实上都属于术语的误用);明白这两种模式其实是通过宏实现的一个 dirty-hack(有相当数量的人在实际工作中因为这个宏的原因被咬过);知道如何通过 TCHAR、_T()、条件编译等方式写出 Unicode 兼容的代码(即使你将来写的所有 Windows 程序的源码都将是 pure Unicode 的,不再会支持 ANSI 模式编译)。

2. 熟悉常见 Win32 类型名称(譬如 LRESULT、WPARAM、UINT、LPCTSTR 等都是什么意思),知道什么是函数调用规范(譬如 __stdcall、__cdecl 等,以及常见别名譬如 WINAPI、PASCAL 等。不要求记住这些调用规范在汇编层面都是怎么实现的,只需要知道它们是不同的,大概了解为什么不同,为什么不能混用)。

3. 了解句柄的大概原理和资源管理。这部分要求比较简单,一个 C 语言真正入门的学生,在之前的学习里应该早就已经涉及过动态内存分配和管理了,也在一些练习里自己实现过类似句柄的面向对象封装方式了,因此学到这里的时候只要把句柄和他之前学过的内容联系起来,这部分并不难学。但如果你遇到动态内存分配的时候还是搞得一塌糊涂,对于对象所有权转移、生命周期管理等还一头雾水,我个人建议你先回到「黑框框」把 C 语言入门了再来学 Windows 编程。

4. 理解消息模型。当一个程序调用 GetMessage 之后,在收到消息之前你的程序是不在运行的,相当于是死在那儿的,这对于之前从来没有接触过 Win32 GUI 编程的人来说这个概念相当反直觉,需要举足够的例子来帮助他理解为什么一个「收不到消息就死在那里完全不运行」的记事本能做到用鼠标一点菜单就能弹出来,没人动它的时候它的光标仍然随时都在一闪一闪等等。思维转过弯来,理解了这个概念之后,对于为什么不能在窗体过程里做费时的操作,UI 线程和工作线程都有什么用,以及什么时候需要启动工作线程等问题,也就自然而然就能想明白了。

5. 理解窗体重绘机制。这点其实属于消息模型的一个子话题,但由于入门的时候会给初学者带来的困扰很大,因此我单独提出来作为一个点。在 Windows 9x 下,一个窗口出现在另外一个窗口上方的时候,是会把下面的窗口上的内容抹去的。当上面的窗口离开之后,下面的窗口需要重画自己被抹去的内容。更高版本的 Windows 虽然系统能够自动缓存被遮盖的窗体上的内容,但从编程的角度来看,程序员仍然需要遵从之前的窗口绘制机制来编写自己的程序,假定自己的程序被覆盖的时候会被擦除。为了能够正确处理擦除与重绘,绘制窗口内容必须通过监听重绘消息来进行,想改变窗口内容的时候不能随时往窗口上画,而是要先准备好要画的内容但不画,然后发消息触发重绘消息让系统通知你画。这些反直觉的行为的理解和掌握,是初学的时候必须迈过的坎。

上面这些概念都掌握之后,入门 Win32 GUI 编程就是一件相对容易的事情了。接下来只要找一份入门教程,按部就班把例题都过一遍,再自己亲手写几个 GUI 小程序,差不多也就上手了。这位学生在总结的时候提到说我推荐了一份非常有名的教程,很抱歉让他失望了,那份教程其实我自己都没看过,我只是在网上随手搜了一个教程,看了一下目录,发现他入门需要的知识点上面都有列举,于是就发给他了。总之,入门 Windows 编程,最重要的是理解并掌握上面提到的几个基本概念,概念掌握了,任何一份不要存在严重错误和硬伤的教材都可以用来入门,至于具体的 API 怎么用,用的时候现查手册就可以了,没必要把「学习 API 的使用」作为一个重点去攻克。

先总结那么多,欢迎补充!

———— 评论以及针对评论的回复 ————
@vczh
编程是有本质困难的,其实跟你一开始从什么地方入手区别不大,只要能够不断的建立自信心就好了←这才是挑选材料的不二法门。要是先学会了那么多基础概念才能做GUI,就跟你非要人家先学好抽象代数再学线性代数一样(没错,线性代数就是用抽象代数的那些群环域什么的概念定义的,而不是什么变换啊←这些都是应用),我相信你是可以理解的。
我的回复:

我上面介绍的这些基础概念并不需要花个十天半月什么的才能学完,我一般是在一堂课之内讲完,总时间 45 分钟左右,然后就让学生自己去看教程或者看书了,我不认为先完成 45 分钟的辅导之后才开始学习是类似于「先学好抽象代数才开始学线性代数」这样无谓的大动干戈。这 45 分钟的辅导可以帮学生省下数十小时甚至数百小时的错误尝试,我个人认为是值得的。

至于「必须先在『黑框框』下把 C 语言入门了才能开始学习 Win32 GUI 编程」,不同的人可以有不同看法,但这里我想坚持我的意见。天生就对编程拥有浓厚兴趣的人毕竟是少数,这部分人学习主动性和自觉性都很高,其实根本用不着我们在这里给他们的提什么学习建议,最多就是在他们遇到问题的时候直接针对具体问题答疑就够了。但是还有相当数量的人,兴趣不够浓厚,学习主动性也有所欠缺,往往到了临近毕业快要找工作的时候才开始着急,而这个时候他们已经没有足够的时间可以留给他们靠着兴趣慢慢去碰壁了。

也许你会认为这样的学生就不配学习编程,就没有资格以编程为业,但我觉得如果能有方法让他们在尽量短的时间内尽量往高处爬一爬,还是值得去努力的。在学生自身兴趣本身就不足的情况下,即使从 GUI 直接入手或许可以让学习的趣味性更足一些,但这样一点点的趣味差异未必就能让他们的学习热情有本质的提高。按部就班的学习虽然枯燥,但可以节约总学习时间,能够更快看到成效,某种程度上也可以看作是「走捷径」的做法吧。

@lee haohao
补充一点,窗口绘制不一定要在WM_PAINT里面做,msdn上举了个例子,选中一行字要高亮或者颜色反转就可以直接绘制,用GetDC
我的回复:

直接使用 GetDC/ReleaseDC 绘制窗口内容这部分知识我是故意略去不讲的,这种绘图方式表面上看非常符合人的直觉,但实际使用的时候有很多陷阱需要避开,如果不熟练掌握传统的窗口重绘模型的话,是相当容易误用甚至滥用的。而事实也证明了,就算我讲课的时候刻意回避了 GetDC/ReleaseDC 并一再强调必须按照传统的绘图模型去处理窗口绘制,仍然有学生「自学成才」地找到了那个函数然后直接用它绘图,甚至,为了避免绘制内容丢失又极富创意地采取了每秒钟重画窗口内容 10 遍这样的做法……


网友vczh[windows程序设计]有一定基础的 C++ 学习者该如何学习 Windows 编程?给出的答复:
我觉得@cosagon i 说得不够好。使用GUI未必需要懂得GUI是怎么运作的(从而可以写出www.61k.com样子的东西)。初学者最重要的不是技能,而是成就感。什么东西让人可以得到满足就学什么。因此我推荐所有windows程序员都应该从GUI开始入手,然后再看《Windows核心编程/Windows via C++》来获得Windows的具体内容。不过MFC什么的就不要碰了,应该完全从API开始。

而且我觉得,初学者只会依葫芦画瓢没有任何问题,事实上大多数学习编程的人都是从抄代码然后做修改开始的。如果一个人因为刚开始学的时候依葫芦画瓢,导致他这一生都只会依葫芦画瓢,那这只能说明他蠢,不是学习方法的问题。


网友蒙面大侠[windows程序设计]有一定基础的 C++ 学习者该如何学习 Windows 编程?给出的答复:
有人提到了《windows核心编程》。
但是这方面的入门教材一定是《windows程序设计》好不好。


ps.这方面的开发需求越来越少,难度也始终比其他开发方式要大,学习成本很高。也许你即使啃完《windows程序设计》,做了两个demo,也可能发现,用其他工具可以轻易的搭建起来的,而且难度成本要低很多。
pss. 看你自己的乐趣所在。


网友cosagon i[windows程序设计]有一定基础的 C++ 学习者该如何学习 Windows 编程?给出的答复:
很多初学者上来就搞gui开发这块,其实gui这块不适合初学者,因为gui这块一上来就是各种控件,大量的封装代码屏蔽了原理, 没讲gui是怎么运作的,你应该先理解线程,消息队列,消息队列是怎么实现堵塞的,理解gui是怎么运作的,以后就是看文档,否则,导致初学者只会依葫芦画瓢,不知其所以然。


网友abc abc[windows程序设计]有一定基础的 C++ 学习者该如何学习 Windows 编程?给出的答复:
可以简要的把windows编程划分为两部分:
1、人机交互相关的内容。例如:
如何实现人机交互中漂亮的窗体、界面如何使用gdi绘制一些图像如何操作数据库进行增删改查,并显示在窗体上
如何协同office开发实现某些功能等等2、windows系统相关的部分,例如:
如何编写杀毒程序如何编写驱动程序如何编写找回误删除文件的程序等等
对于第一部分,我推荐这样学习:找一个你感兴趣的领域,找一些该领域中的例子代码看。这类代码在codeproject有很多。不懂就去问,论坛有很多:csdn、codeproject、stackoverflow 等等。这部分的图书繁多,我已经不记得有哪些书是很经典的了。


对于第二部分,必不可少的读物肯定是《windows核心编程》,然后根据你感兴趣的方向找一些更细分的图书。


当然,其实到后面你会发现,帮助你最多的还是msdn网站。
windows编程实际没什么难的,我能给你的建议是:
1、是搞清楚概念,也就是遇到的名词。
2、在学习过程中如果能掌握一点调试知识,能让你事半功倍。


网友BentleyJobs[windows程序设计]有一定基础的 C++ 学习者该如何学习 Windows 编程?给出的答复:
Windows程序设计 第五版 大砖头很适宜
一开始会不知道WinClass之类是何物 不要在意这些细节 然后慢慢就习惯了
Win开发最重要知道一个消息处理


网友Xinyu Chen[windows程序设计]有一定基础的 C++ 学习者该如何学习 Windows 编程?给出的答复:
我来提一个和前面的答案不太一样的思路。
不如从C#开始学。尽管.NET某种意义上不能等同于Windows编程,但是至少可以让你写出一些比较实用的程序来。这样才能有一个强大的motivation.
另外,MFC我不是很建议学,目前MFC正在日渐衰落。如果不是工作需要的话,完全有其他更好的选择。


网友臧大维[windows程序设计]有一定基础的 C++ 学习者该如何学习 Windows 编程?给出的答复:
Windows编程现在仍然是一坑。
如果你想Win下面用c++编程,那只能写原生程序,首先遇到的问题是GUI界面,这个问题非常复杂。因为20多年来,Windows原生GUI程序编程的复杂度没有降低过,可以说相当困难。(原因自然是光头鲍尔默在技术上的无知,把精力都放在.net上去了,但是.net几乎没人待见)

你有几个选择:
1. 直接调用windows api绘制界面。
非常繁琐,我建议你不要把生命浪费在这个上面。

2. MFC
20年以上的历史,一个微软VC6.0时代老掉牙的C++ gui界面库,过时而且不好用。

3. QT
QT是一个第三方库。是一个不错的选择,但是它这个框架有点庞大,运行效率不是很高,总得来说是业余编程最佳选择了。

4.WTL
微软程序员业余写的库,仍然非常简陋的库,大量东西等着你去实现。

所以你看,Windows原生程序编写最大的问题是找不到合适的界面库,你想编写带界面的原生WIN程序非常吃力,我们看到这么多年来Windows上的程序翻来覆去就是QQ等那些老面孔,这根Win平台原生GUI编程太困难有很大关系。对比之下Mac、ios/安卓编写GUI程序都简单的多。

除非,你用.net框架。
.net框架不能编写原生程序,用c#编写,跟c++关系不大了。

所以如果你是一个学生,我不建议你学这个,你可以学习下苹果/安卓手机平台编程、或者web编程、或者c++/COCOS2Dx游戏编程,都比学windows gui编程有意义的多,win平台已经到顶了,已经不是未来最大的趋势了。


网友白云峰[windows程序设计]有一定基础的 C++ 学习者该如何学习 Windows 编程?给出的答复:
Windows GUI不要从C++入门,会有很多细枝末节的东西弄的人心烦。我建议从C#和WPF/Xaml开始,跳过MFC或者Win32 API。语言上C#相比C++更适合开发普通应用程序,会C++学C#也不会很难。Xaml也比mfc更接近其他更流行的GUI framework,关键MFC太难用了。


网友蒙面大侠[windows程序设计]有一定基础的 C++ 学习者该如何学习 Windows 编程?给出的答复:

学Windows编程,最好是将C#和C++结合起来。

现在的Windows上,主流的开发方法是:界面和大部分不影响效率的功能是用C#实现的。非常影响效率的部分功能用c++的实现,并作为程序的动态链接库调用。


最好不要用C++来编写界面和普通的功能,事倍功半!


网友匿名用户[windows程序设计]有一定基础的 C++ 学习者该如何学习 Windows 编程?给出的答复:
硬着头皮 独立使用api 写个窗口的 h w , 那恭喜你win gui大门已入


网友Kong Ben[windows程序设计]有一定基础的 C++ 学习者该如何学习 Windows 编程?给出的答复:
看顶楼的回答很明显是学院式的回答,理论为主,却忘记了读万卷书不如走万里路的道理。学院出来的科班学生大部份无一例外是理论知识基本过关,实践能力却不行。能理论和实践结合的人不多,我倒是见过不少非科班出来,只因对电脑痴迷和热爱编程,通过不断实践,不断的挫败中反推出正确的理论,要知道很多东西从学校或书本中根本获取不到,只能靠个人实战总结得到


网友匿名用户[windows程序设计]有一定基础的 C++ 学习者该如何学习 Windows 编程?给出的答复:
@滇狐 这是总结作业吗?

我记得当时滇狐给了一个很出名的教程, theForger's Win32 API Tutorial。教程里面很详细地记录了怎么写带 GUI 的 Windows 小程序。学习这个教程之后,基本上就可以独立做一些 Windows 的小项目了。在做的过程中,遇到问题可以查查 MSDN 这个官方网站,上面详细记录了各个函数,各种类型等等的说明,基本上 90% 的问题都可以得到解答。比如上面给出了函数的使用环境,有些函数只能在 Vista 下使用,有些支持 XP,等等。注意,刚刚那个教程,用的是纯 C,但这不妨碍学习。如果是 C++ 的话,MSDN 上也有个入门小教程 Learn to Program for Windows in C++ (Windows),但说实在的还不如之前的那个教程,毕竟那个教程更详细,更丰富,更容易理解些。

至于 《Windows 程序设计》这本书,用的也是 C,而且作者也建议使用 VC++6.0,当然你拿 VS2010 来写里面的程序基本上也没啥问题。我记得我在看完前面的教程之后,对里面一些问题存在困扰,当时也下了这本电子书,只看了几章,的确解决了我不少似懂非懂的困惑。但书中 UNICODE 那一章是有问题的,正如滇狐所说,并不是所有的 UTF-16 字符都一定是 16 位,如果是落在基本多语言平面(BMP Unicode字符平面映射)之外的字符,就不只 16 位了。我不是做 Windows 的,所以读了几章,就没继续读下去,不知道是否还有其他问题。顺便说一句,现在已经有第 6 版,但不是 C/C++。

最后,你觉得 VC++6.0 太陈旧,但实际上 VS2010 有 VC++6.0 没有的那些强大功能,如果没有一个团队规范的话,我相信你也用不上。我以前就买过一本书叫《移山之道》,里面用的是 VSTS,当然也包括了 Visual Studio 200X,我记得里面讲解了团队开发的各种逼范,以及怎么使用那些工具,看完了,杂耍了一两下,自觉高端大气上档次。然而在念书时与同学做项目,大家都不乐意没有采用那本书的规范,自然而然地,也就停留在表面了,逐渐淡忘。所以涉及到软件工程那一些,最好大家都有共识,一起遵循并且学习,学而有用(这真是一件奢侈的事情),那就好多了,否则也就是装逼用。

写的十分拙计,凑合着看吧。

总结完毕。

四 : 谈谈新手如何学习PHP编程

谈谈新手如何学习PHP?从默默自己向别人问怎么学PHP开始,到后来不少人又来问默默怎么学PHP,不管默默是新手,还是老鸟,似乎总是感觉摸不出一条清晰的脉络来,不过,默默既然学会了PHP,那么我走的这条路或多或少的有一定借鉴性。(www.61k.com]

PHP的背景恐怕就不用默默赘言了,我相信大家选择一种语言,并不是看它的背景和悠久历史,更重要的是看它的实用性,华而不实的语言哪怕是再辉煌的历史,也毕将步向没落,可喜的是PHP经受住了考验,也因此,它确实是一种值得学习的语言。

默默一直是听从别人的经验长大的,也因此在前辈们的经验里让默默少走了许多的弯路,更快的步入了正规,在此向那些我至尽不知道其名字的前辈们道声谢谢,在默默的眼里,帮助不分大小,只要是帮助,总会让默默的心里暖融融的,我想,前辈们帮助我,并不是为了得到我的一句谢谢,更多的是出于一种责任感和对默默的期望,所以我想,只有学好PHP,才能对得起前辈们的汗水。

正如我所说的,默默也终于感觉到了一种责任感,默默不知道自己的经验到底能帮助新手多少,但是默默明白,现在到了履行责任的时候了,我有必要把自己的经验告诉给所有希望学好PHP的人,只有这样才能让中国的PHP不断的进步,不断的发展,在世界上占据一席之地。

默默学习PHP的这段期间,感觉国内的PHP环境越来越成熟,规范也在逐渐的健全,PHPCHINA的成立,标志着与官方直接挂钩的PHP机构在中国正式落户了,在此献上迟到的掌声!还有我们最靠谱的PHP100中文网,是我们学习交流最好的PHP网站。 好的,切入正题:

我想在讲述自己的学习方式前,对那些期望能从我的文章中获得有用信息的人说一句心里话:

默默的文章不会对您的学习起到实质性的作用,您能否成功,还得靠自己的,坚持,坚持,再坚持,就是步入成功的不二法门。

我先把我自己学习PHP的过程做一下概括:

(1)熟悉HTML/CSS/JS等网页基本元素,完成阶段可自行制作完整的网页,对元素属性达到熟悉程度

(2)理解动态语言的概念,运做机制,熟悉PHP语法

(3)学习如何将PHP与HTML结合起来完成简单动态页面

(4)接触MYSQL,开始设计数据库程序

(5)不断巩固,摸透大部分PHP常用函数,并可理解OOP,MYSQL优化,以及模板

(6)完成一个功能齐全的动态站点

我的这套线路可能跟许多学习PHP的爱好者不谋而合,这也算是一个循序渐进的学习过程,不过新手不要看到上面的概括就以为学习蛮简单的,默默在此不得不对您稍微泼一下冷水,任何东西其实都不简单,即使是小吃部的烧饼也不是一下子就会做成的。 我先解释一下我的学习思路。

首先,理解网站这一概念之后不难看出,任何网站都是由网页组成的,也就是说想完成网站,必须先学会做网页,因此必须要掌握了HTML,才能为今后制作网站打下基础。 在学习HTML中我想边学边做是最有效的方式,当然这一方式对于学习PHP同样是最有效的。

HTML中的任何元素都要亲自实践,只有明白了什么元素会起到什么效果之后,你才会

php编程 谈谈新手如何学习PHP编程

记忆深刻,而一味的啃书,绝对是不行的,我想大部分新手之所以觉得概念难学,大部分是一个字“懒”,懒是阻止进步的最大敌人,所以克服掉懒的习惯,才能更快的学好一样东西。(www.61k.com)

也许您在学习PHP的时候只想尽快的开发一个网站,也就会想我做网站,干嘛要学什么网页这些小儿科?不难看出,眼高手低的新手不在少数,这种思想无疑于建造空中楼阁,你不建地基,何来的房顶呢?

OK,掌握静态网页的制作技术是学习开发网站的先决条件,这一点就讲到这里,因为这篇文章不是教程文章,也就不对技术进行深入的刨析了。

我假设你目前已经可以完成一个静态页面了,当然,做的好看难看是另外一说,默默的第一个网页也没好看到哪去,但是“孩子”再丑,咱们做“爹妈”的也不能嫌弃不是?这毕竟是咱的成果。

那么咱们就开始学习动态语言的概念吧,刚一接触动态语言,可能很多人都会蒙了,怎么这乱七八糟的东西,在网页里显示的时候却是另外一码事?其实这并不算乱七八糟,你写的HTML代码不也一样是一堆堆的字符吗?毕竟,代码并不是作为直接输出的,而是经过处理的,说白了,HTML是经过HTML解析器,而PHP当然也就通过PHP解析器了,跟学习HTML一样的道理,想让任何的解析器完成操作,就必须使用它们专用的语法结构,所以PHP长相奇怪也就不足为奇了。

对于PHP的理解是新手最难迈过的一道门槛,不过你应该感到幸运的是PHP已经最大极限的为了新手而努力了,如果你学过其他的语言,也许会觉得PHP的确相当的简单,但是如果你之前什么都没学过,那么阿弥陀佛,硬着头皮琢磨吧。

书过三遍自然熟,这个简单的道理告诉我们,即使你理解不了PHP,但是也必须先跟它混个脸熟,看,一遍遍的看,看的同时一边琢磨,一边按照它所教的打代码,即使你搞不清楚那些代码到底是干嘛的,但是起码你应该找找感觉。

在一段挣扎之后,聪明的你,显然已经逐渐的开悟了,慢慢的理解了编程的概念,那么祝贺你,你已经迈出了成功的第一步。

搞清楚HTML和PHP的概念,那么PHP和HTML混合编程应该不成问题,在这期间,你完全可以让PHP给你算算 一加一等于几,然后在浏览器输出,不要觉得幼稚,这的确是跟阿波罗登月一样,你打的是一小段代码,但是对于你的编程之路,可是迈出了一大步啊!兴奋吧?但是不得不再给你泼点冷水,您还是菜鸟一个。

高兴一段时间就必须继续努力了,接下来就是学习数据库了,MYSQL可算是PHP的黄金搭档了,不过,虽然话是这么说,你也可能恨不得把MYSQL给生吞活剥了,因为这一行一列的东东简直让自己头晕目眩。有问题加我的Q是105200998。头晕归头晕,目眩归目眩,你不可能吃饭的时候咬了自己一下舌头就从此不吃饭了不是?放下畏惧,继续努力,咱们是来征服它的,而不是被它征服的,振奋起来吧同志。

在一番搏斗之后,你终于理解了数据库的概念,而且让你兴奋不已的是你终于可以通过PHP来连接数据库了,这期间你是怎么学会的,我们不去考证了,但是事实证明,你已经可以了。

学会了PHP和数据库的你,无疑是左手拿着MOTOLOLA右手拿着NOKIA,要多潇洒,有多潇洒,哈哈,终于学会了,但是可能这个时候,又会有人不经意的拍拍肩膀对你说:哥们,别高兴的太早,你还是菜鸟,离学会还差着一大截呢!

61阅读提醒您本文地址:

等到你发奋努力的学会了用PHP成功的插入,删除,更新数据的时候,显然,你已经距离成功指日可待了。

这个时候的你也许是这种状态:

你会HTML吗?会,我能编好几个大表格排板的网页啦!

你会PHP吗?会,我会把一加一的运算写在函数里,然后调用啦!

php编程 谈谈新手如何学习PHP编程

你会MYSQL吗?会,我会把我的信息在数据库里插入删除啦

那,接下来你该怎么做呢?我觉得,小试一下身手,大概是没问题了,那么交给你个任务,做个留言本吧,这和HELLO WORLD有一比啊!^_^,同是新手面临的第一道关。[www.61k.com)

花了一段时间,你终于学会把表单的数据插入数据库,然后显示出来了,应该说一个程序的雏形已经诞生了。

但是,你可能瞅瞅东,看看西,人家这个编论坛,那个CMS,还有那啥CRM,我啥时候写一个呢?

不要急,可以说你的马步已经扎的差不多了,接下来就要开始练把势的时候了,如果有条件的话,用笔或者打印一个简易的PHP手册在身上,时不时的摸出来看看,记得,去WC也不能放过(^2^)。

再有条件的话,买本书看看吧,《PHP+MYSQL WEB开发(第三版)》号称圣经级,(也许是个不错的选择(声明:作者没给我啥好处费,我也不是书托,隔着大老远,我连他老兄的面都没见过的说-_-)

巩固了自己的知识,熟悉了PHP和MYSQL开发的要领之后,再回头看你写的那个留言本,你也许会怀疑那真的是你写的吗?当然,如果屋里还有鬼的话,也许是它写的-_-

这个时候,你的留言本应该加入注册以及分页功能了,而如果你更强的话,UI(用户界面)也可以加强,完成之后,感觉是不是特有成就感?不管怎么样,咱好歹是写了一个动态网站程序了,放在自己的网站上耍耍吧,让好朋友来看看,嘿,看咱写的多棒,然后再在网上宣传一下。

几天之后你再打开留言本,哎?哇,一下弹出N多页面!很明显,你的留言本并没有做好安全防范,被人用JS代码小小的耍了一下,我很同情你这个时候的感受,但是没有别的办法了,继续努力吧!

你发奋努力,熟悉了安全方面的问题,然后又设计了一些程序,感觉还不错。

那么接下来,这就算学会啦?NO,NO,NO,还早呢,你至尽还没碰过OOP之类的吧?模板呢?有问题加我的Q是105200998。恩,学!加紧学呀学,学会了这些之后,你又学会了生成静态网页,现在你应该接触一下XML了,恩,XML也了解了,那么AJAX你也得接触接触吧?AJAX完了....然后...

总而言之,你绝对不会发现你全部都学会了,一些真正的强人总会搞出新玩意来丢给你,你不学就落后了,也印证了前人的经验,果然是学无止境啊!

我想通过我的一番YY,你也应该大致熟悉了一些学习过程,也许我的过程和你的有些出路,但是不管怎么样是殊途同归,我写这么多,也只是给大家一个借鉴的机会,至于好与不好,默默不敢打包票^0^

看完之后你发现,罗嗦这么多,对我一点用处没有啊,我知道该怎么学,但是我想如何才能更快的学,一周速成,啊不,24小时速成那种,默默你有没?

我.......我没有,但是2分钟之内把你扁进医院里,我倒是有把握-_-

学东西,永远不要妄想有速成这一说,告诉你了一个方式,但是缺少努力这一环节,那也是白搭。

但是有一点我可以给你保证的就是,你学会了PHP,那么学其他的语言,肯定速成,反过来也一样,如果你之前学过其他的语言,那么学PHP肯定快。

不过语法好学,但是怎么用语法来实现每个人都有每个人的方式,几乎是各有千秋。然而借鉴别人成功的代码,绝对是有益无害,因此,多看那些经过千锤百炼凝出来的经典代码,是进阶的最好方法。

讲了这么多,无非是想说:学习PHP不仅要掌握方法,更多的是付出汗水,我不希望看到中途放弃的人,相信自己,相信自己的选择,更要相信自己的能力,如果自己想放弃,

php编程 谈谈新手如何学习PHP编程

暴力一点的话,就自己抽自己一个嘴巴,然后大吼:别人可以,我为什么就不可以?(是不是有点阎罗教练的味道,默默的确是电影看多了,抽嘴巴是会痛的,各位其实明白这个道理了就行了)

另外要叮嘱各位的是,抵御诱惑,ASP/PHP/JSP/.NET的对比也许会让你无所适从,你也许学了一半PHP,又开始打C#的主意,或者有人说JAVA很强,这个时候的你绝对不能动摇,哪怕你真想学,也得学会了PHP。(www.61k.com)然后再学,见异思迁是最不可取的,狗熊掰玉米就是这个道理,如果经常中途放弃,只能是一无所获,还浪费了N多的时间和经历,得不偿失,最重要的是,你会被别人瞧不起,没有人会喜欢和见异思迁的人交朋友,因为这种人太不安分,太不可靠,因此,你必须要强迫自己完成自己的目标,哪怕可能会很难受,也得坚持,毅力就是这么锻炼出来的。

61阅读提醒您本文地址:

五 : 如何让Windows 7程序窗口更加听话

鼠标悬停,窗口随即激活

 

在日常的电脑应用中,我们经常会碰到这样一些情况:在系统桌面上打开多个程序窗口,需要在这些窗口之间反复切换,要激活某个程序窗口的话,通常还得在某个窗口上点击一下才能激活,要是能够将鼠标放到窗口上就激活的话那不是更好?在Windows XP系统中要实现还很麻烦,需要借助于Tweak UI之类的辅助工具来实现,而在Windows 7中只需简单设置即可。

 

点击“开始”按钮后选择“控制面板”打开控制面板,点击“轻松访问”后在“轻松访问中心”下选择“更改鼠标的工作方式”,在打开的“使鼠标更易于使用”窗口中,勾选上“通过鼠标悬停在窗口上来激活窗口”,应用确定后退出。

 

好了,以后遇到在多个重叠的程序窗口之间切换的时候,只需将鼠标悬停在某个窗口即会自动激活该窗口,是不是很方便呢?

 

拖动窗口,最大化勿自作主张

 

遇到在多个程序窗口之间切换的时候,有时候需要将某个窗口移到一边去,这样便于观察。但如果是不小心将该窗口拖动到了屏幕最顶端的话,该窗口就会自动最大化,这本来是Windows 7系统的一个人性化的设计,但最大化的窗口反而会阻挡住其他窗口,那么如何避免拖动窗口到顶端自动最大化呢?非常简单,只需在如图所示的窗口中取消“防止将窗口移动到屏幕边缘时自动排列窗口”前的钩,确定退出后,就可以随意移动窗口而不用担心移动到边缘而自动最大化了。 

本文标题:如何学习windows编程-谈谈新手如何学习PHP编程
本文地址: http://www.61k.com/1082718.html

61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1