一开始接触C语言,老是对着一个黑洞洞的框,容易使人丧失兴趣。这些黑框和大家常见的QQ、Office等桌面程序相差实在太远了。而且往往在初学的时候没有人告诉大家控制台应用和图形界面的应用之间的关系。如果对Web感兴趣可以先学点基础的HTML和CSS虽然这在严格意义上不算是编程语言,但是却可以在一开始让你做出一个可以看的到的界面,而且掌握基础还是很简单的,然后在学点后台开发语言,偶推荐PHP或者python。
记住,新手最重要的是保持热情!
学习一段时间之后可以自己尝试做一个简单的留言板,别小看这个老土的小东西,这个可是能让你立刻充满成就感。而如果你一开始就上手C这样的成就感就需要更久才能获得,而往往很多新手都躺在了前进的路上。然后,可以在留言板的基础上做出一个简单的博客系统。
记住一定要在每一阶段都做出一个看上去”正常”的东西,而不是一堆代码一执行出来一行行字符那种。这也是偶推荐学习HTML和CSS的原因,因为这可以让你简单地搭建一个拥有用户界面的程序。
当你把这些都做完了,如果感到对编程还是有很大兴趣,而且感到自己在渐渐地从心底里喜欢上了编程,那么你再面对那些黑框的时候,就会感觉好很多,而且感到自己真的很酷,你会喜欢把自己想成电影里的黑客。
至于说算法数据结构,等有了兴趣,需要这些知识了,再去慢慢学习,都不会是障碍,而且会变得有趣许多。但是一开始没有任何程序基础,就给你学这些,只能使你迷糊,根本不了解这又什么用。这也是偶讨厌现在的大学教育的一个方面,完全违背认知规律。先给你讲一大堆理论,不告诉你为什么,有什么用,让人感到厌恶,但当后来大家真正需要了,却也记不得了,只能从头再学。
快速迭代的信息社会,技术前进的速度远超人类历史上的任何时期,技术攫取呈现出碎片化的特征,开发者更倾向于通过网络搜素寻求问答。然而,这种浅尝辄止的阅读方式,会给人深沉的浮躁感,难以做到为自己切实所用。
新语言、新工具持续更替,让人目不暇接,学习过程中必定伴随着各种琐碎的问题。事实上,许多伟大的技术人在以前就遇到过同样的难题,并且提出了相应的策略和解决方法。虽然具体问题具体对待,但其中蕴含的思考方式,所凝结的智慧成果,只会历久弥新,给开发者们以新的启迪,提纲挈领,助力自身的技术升级。
本文总结了业界的十本经典书籍,大家来一一探索吧。
《The Pragmatic Programmer》
Andrew Hunt,David Thomas 著
《The Pragmatic Programmer》,即程序员修炼之道。这本书直击编程陈地,适用于所有编程语言,创建用户乐于接受的、可工作和易维护的代码。它不仅会改变你的编程习惯,还会改变你的性格。Andrew Hunt在多个行业工作过,电信、银行、金融服务和公用事业,还有一些外来领域,如医学成像、图形艺术、网络服务。他擅长于将已验证的技术实践和前沿技术相结合,创造新奇而实用的方法。所以,这本书的见解涉及了许多有趣的领域,从个人责任到职业发展,直至保持代码灵活和易于改编重用的架构技术,开发者能够从中学到防止软件变质、消除复制知识的陷阱、编写灵活、动态和易适应的代码、避免出现相同的设计、用契约、断言和异常对代码进行防护等内容。
“程序员入门书、终极书、DRY、KISS···从做人到做程序员,这本书教给了你一切,你所需的只是遵循书上的指导。”——知乎,萧井陌“程序员技艺具备的古老特点,此书表达的很清楚。此书涉及了软件工程角度,个人技艺如何配合的方方面面。”——豆瓣读书,皂角菌
《The Mythical Man-month》
Frederick Brooks 著
《The Mythical Man-month: Essays on Software Engineering》,即《人月神话:软件项目管理之道》。这本出版于1970年的书被奉为软件行业的《圣经》,即使在现在看来也是字字珠玑。Frederick Brooks是1999年的图灵奖得主,致辞中曾提到,“今天大家所看到的计算机体系结构、软件工程,以及三维计算机图形,均受惠于布鲁克斯的开创性工作,是他改变了这些领域的面貌。”他在软件工程领域的最广为人知的经典著作《人月神话》,让软件工程学真正进入人们的视野。
《人月神话》对软件开发过程的几个重要关键点,提出了独到的见解:提倡外科手术式的团队组织;软件项目的核心概念要由很少的人来完成,以保证概念的完整性;软件开发中最大的风险往往不是技术的缺陷,而是缺少沟通;在开发中,要保持适度的文档;在软件开发的过程中,只有适度改进,没有包治百病的银弹。
“书中记述的前辈们在解决这些窘迫所体现的才智和热情,是永远值得后人借鉴的,也将启迪大家开拓未来之路。”——豆瓣,pythia“Software Development 的圣经。如果只能读一本书,那么是这本书。”——豆瓣,浪人BabyL
《Clean Code: A Handbook of Agile Software Craftsmanship》
Robert C·Martin 著
《Clean Code: A Handbook of Agile Software Craftsmanship》,即《代码整洁之道》。软件质量,不但依赖于架构及项目管理,而且与代码质量紧密相关。这一点,无论是敏捷开发流派还是传统开发流派,都必须承认。Rober C.Martin,Object Mentor公司总裁,也是面向对象设计、模式、UML、敏捷方法学和极限编程领域的资深顾问。作为编程领域的佼佼者,他给出了一系列行之有效的整洁代码操作实践,并提出一种观念:代码质量与其整洁度成正比。本书阅读对象为一切有志于改善代码质量的程序员及技术经理,内容涵盖从命名到重构的多个编程方面,虽然书中所有的例子都用的Java,但其经验适用于任何编程语言。
“用整理代码的决心替代创造废话的冲动。你会发现自己成为更优秀、更乐观的程序员。”——豆瓣,陈“本书中提倡写代码犹如写文章,对此观点偶印象深刻!如何才能写出整洁代码呢?总的原则无非是KISS(Keep It Simple Stupid)。”——豆瓣,Wuqifu
《The Clean Coder: A Code of Conduct for Professional Programmers》
Robert C·Martin 著
《The Clean Coder: A Code of Conduct for Professional Programmers》,即《代码整洁之道:程序员的职业素养》,这是本列表中Robert C·Martin的第二本书,建议在上一本书之后阅读。成功的程序员在以往的工作和生活中都曾经历过大大小小的不确定性,承受过永无休止的压力。Robert C. Martin以自己40余年编程生涯的心得体会,介绍了真实软件技艺中的各项原则、技术、工具和实践,展示了怎么以自豪、自尊和自信的心态进行软件开发,怎么取得卓越表现和丰硕成果,怎么做到有效沟通和确切估算,怎么以坦诚的心态面对困难,助力专业软件开发人员具备令人敬佩的职业素养。这本书探讨的主题可能不是你希望的,但一定是你需要的。
“创造性的输入,产生创造性的输出!这本Bob大叔定义专业程序员为目的的书,从个人的精进练习到时间管理,测试,需求,压力,到理想的团队,描述作者的程序员修炼之道。”——豆瓣,liuwill“这本不厚的书,给了普通程序员走向“专业”的灯塔。知易行难,“专业”的路上总有各种各样的拦路虎,也许偶会再走作者标明了的错路,偶也并不孤单,但心里知道这是错误的,不要走远。每看到这种书,低沉的士气会再次振奋。”——豆瓣,银光
《Refactoring: Improving the Design of Existing Code》
Martin Fowler 著
《Refactoring: Improving the Design of Existing Code》,即《重构:改善既有代码的设计》。Martin Fowler,世界软件开发大师,在面向对象分析设计、UML、模式、XP和重构等领域都有卓越贡献,现为著名软件开发咨询公司ThoughtWorks的首席科学家。本书揭示了重构的过程,解释重构的原理和最佳实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了70多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法的动机和技术。其中提出的重构准则将帮助开发者一次一小步地修改代码,从而减少开发过程中的风险。
“大师Martin Fowler的经验之谈,看后有种醍醐灌顶、欲罢不能的感觉。重构也是当今敏捷开发一项不可或缺的技艺,建议所有有设计和项目开发经验的开发者都应读一下。”——豆瓣,Kiwi
《Working Effectively With Legacy Code》
Michael Feathers 著
《Working Effectively With Legacy Code》,即《修改代码的艺术》。即使是最训练有素的开发团队,也不能保证始终编写出清晰高效的代码。如果不积极地修改、挽救,随着时间流逝,系统的腐化程度会日积月累。Michael Feathers是世界级的面向对象技术专家,以丰富的软件项目开发经验著称。他以独到的洞察力,以及多年开发和指导软件项目所积累的丰富经验和深厚功力,针对大型的、无测试的遗留代码基,提供了从头到尾的方案,让开发者能够更有效地应付它们,将遗留代码基改善得具有更高性能、更多功能、更好的可靠性和可控性。本书是一部里程碑式的著作,更是代码修改技术的集大成之作,可以大大提高对代码和软件开发的领悟力。
“许多似曾相识的代码不断地出现在书中,而作者举重若轻的处理手法,正是让偶有拍案惊奇的地方。实际上,每个手法都不是什么很高超的技法,但正是因为见识过类似的代码,才能体会到这种手法的价值所在。”——豆瓣,dreamhead
《Code Complete: A Practical Handbook of Software Construction》
Steve McConnell 著
《Code Complete》,即《代码大全》。真正的一本百科全书——960页的最新修订,让人真切感受到沉甸甸的知识。这是一本完整的软件构建手册,涵盖了软件构建过程中的所有细节:从软件质量和编程思想等方面论述了软件构建的各个问题,并详细论述了紧跟潮流的新技术、高屋建瓴的观点、通用的概念,还含有丰富而典型的程序示例。书中所论述的技术不仅填补了初级与高级编程技术之间的空白,也为开发者们提供了一个有关编程技巧的信息来源,大有裨益。
“作者的写作风格很客观很务实。作者把每个章节最吸引人的地方,用巧妙的方法展现出来。并且代码构建其实也可以变得非常具有艺术性。现在偶很庆幸当初自己看完了它。”——豆瓣,Joshua
《Head First Design Patterns》
Eric Freeman/Elisabeth Freeman/Kathy Sierra/Bert Bates 著
《Head First Design Patterns》,即《深入浅出设计模式》。这本书是大多数非技术人员所选择的编程书籍,以诙谐、幽默、图文并茂、打破传统著书的方式,由浅入深地详解了设计模式的精神及重点。这本书涵盖了解决现实问题所需要的主要模式,帮助开发者创建功能性的、优雅的、可重复使用和灵活的软件,明确权衡每个模式的利弊。除去大多数书籍都谈论到的模式实现方法,本书也解释了模式设计缘由。全书以Java程式语言为范例,是程式设计课程的最佳教材,其最新版本包括了Lambda中的Java 8更新。
“作者把原本属于设计模式的来源还给设计模式的学习和应用过程,让读者能够从生活中的例子随着论述的展开,逐步深入设计模式的核心,这个也是这本书能够不负其初衷的重要原因。”——豆瓣,Jarod“读这本书不仅仅是学习知识,而是在学习一种思考的方法,学习一种认知的技巧,学习一种成长的阶梯。总之,用你闲暇的时间来读这本书,并不亚于你专注的工作或学习。”——豆瓣,曹操
《Peopleware: Productive Projects and Teams》
Tom DeMarco/Tim Lister 著
《Peopleware: Productive Projects and Teams》,即《人件:脑力密集产业的人才管理之道》。《人件》和《人月神话》被誉为软体书中「两朵最鲜艳的奇葩」。前者关注的是「软体开发」本身,后者关注的是软体开发中的「人」。以往不认为是问题的领导问题、开会文化、由不同世代所组成的混合团队,以及,最常用的工具不见得是助力,反而可能是阻力。以辛辣而幽默的笔触,加上务实的建议、丰富的专案经验,这本书一出版就引起轰动,一针见血地指出了团队管理的问题点──脑力密集产业的核心是人,应该给予这些工作者充分的自由与信任。
“管理,不仅仅是技术,更是充满人文精神的艺术。《人件》中的一些很精辟的箴言远远超过了软件管理的范畴。没有大量的数字、精密的论证,也不需要这些。这正是《人件》深入浅出的长处。”——豆瓣,QingRen
《Soft Skills: The Software Developer’s Life Manual》
John Sonmez 著
《Soft Skills: The Software Developer’s Life Manual》,即《软技能:代码之外的生存指南》。同样,这不是一本关于编程的,却是每个开发者都应该读的书。John Sonmez是“Simple Programmer”网站的创始人,也是软件开发人员的人生导师,帮助软件工程师、程序员和其他专业技术人员推动事业进步,过上更充实的生活。这本书涉及开发者的生活习惯,又包括思维方式,凸显技术中“人”的因素,全面讲解软件行业从业人员所需知道的所有“软技能”:从揭秘面试的流程到精耕细作出一份杀手级简历,从创建大受欢迎的博客到打造自身,从提高自己工作效率到与如何与“拖延症”做斗争,甚至包括如何投资不动产,如何关注自己的健康。
偶的公众号:daimajiqiao 有问题留言给偶,希望能帮助到你们
最后,偶还是要补充一下,对于新接触编程的童鞋,或许保持兴趣是最重要的,但是在你对编程有一定了解之后,你会发现自己还有很多困惑,这时候就需要恶补基础知识了,对底层了解的越清楚越有助于你消除困惑和对编程更深层的理解。
计算机编程难学吗?
最近看到许多人都在问计算机编程入门难吗?作为一个0基础开始的程序员,偶想说,其实计算机编程入门真不难,如果你是真心想学计算机,不是那种
三天打鱼两天晒网的人,学好肯定是没有问题的。关于如何入门,这里偶谈谈自己的经验。
1、你要选一种自己喜欢的语言,如果还不知道自己喜欢什么语言,可以从编程语言的排名来考虑,即哪种语言最火就学哪种语言。偶是比较喜欢Java的,当然Java也是编程语言中很火的一种。
2、接下来就是为入门做准备了,买一本关于自己所学语言的书(基础书),一开始不要看太难的,循序渐进,先看一遍,打好基础。而且一开始也不建议就逛那些编程类的网站、论坛(如果是在学习中遇到难题而又无法解决另当别论了),里面的资源虽然很多,但是也很杂乱,对于一个新手来说,很容易扰乱思绪的。在学习的时候要注意一些重要的概念,掌握编程思想。一本程序设计的书看到的无非就是变量、函数、条件语句、循环语句等概念,但要真正能进行编程应用,需要深入理解这些概念,在理解的基础上应用,不要只简单地学习语法、结构,而要吃透针对这些语法、结构的应用例子,做到举一反三,触类旁通。
3、边学边练。学编程少不了敲代码,而且掌握编程思想也是在编程实际工作中去实践和体会得到的,在学习的初期,看书的时候,不仅是课后习题,就算是书中所讲的事例也要动手敲一遍,运行一遍,只有动手写过、运行过才能更好的融会贯通,之后就可以有机结合事例或是仿照事例来编写一些程序。
4、多调试。有人就会问,没有问题也调试吗?答案是肯定的。代码调试能够让大家更了解代码运行的过程,明了编程思路。当时自己学的时候就会经常调试代码,看看它的具体运行过程,而且也会找别人的代码来进行调试,这样对掌握编程思路特别有用。
5、最后一点就是要坚持了,学习编程是一个既痛苦又幸福的过程,在痛苦时要懂得坚持,在幸福时要懂得加油,遇到一点困难就打退堂鼓的,那是永远都无法学成的。
6、java不是很难学,关键也看带你的老师怎么教你,老师搞的明白,深入浅出的讲解,学生自然也学的好,学的快了,教给学生的都是在工作中实用的java技术及项目经验。
7、学习软件编程是一个漫长而痛苦的过程,需要持之以恒的耐心,千万不能急于求成。对于一名初学者来说,最重要的还是打好基础,建议从C语言开始入门,C语言作为基础语言,大多数的高级编程语言都是在C语言的基础上演化而来的,学好了C语言,有助于掌握其他的高级语言,并掌握软件编程。
总之,计算机编程入门不难,难在坚持。当然,如果想自学的话,多多少少还是要看一点天分的,没什么基础的话,建议去找个好的计算机编程入门培训机构学习,这样会比较容易上手。
flash动画设计学习心得?
就学下面3大软件,其他的软件可以做辅助
FLASH
3DMAX
辅助软件Photoshop等
这个去学校的话,可以教你怎么使用软件,如果一点都不懂的话,就去学学,要是会那还要自学,这个是要自己钻研的。
动画设计是包含的比较多,象数字传媒啊,广告里的动画啊,都是动画设计
动漫设计就是单纯的与动画、漫画、游戏之类相关的设计了
一.FLASH
Flash是美国的MACROMEDIA公司于1999年6月推出的优秀网页动画设计软件。它是一种交互式动画设计工具,用它可以将音乐,声效,动画以及富有新意的界面融合在一起,以制作出高品质的网页动态效果。
为什么用FLASH
大家知道,HTML语言的功能十分有限,无法达到人们的预期设计,以实现令人耳目一新的动态效果,在这种情况下,各种脚本语言应运而生,使得网页设计更加多样化。然而,程序设计总是不能很好地普及,因为它要求一定的编程能力,而人们更需要一种既简单直观又功能强大的动画设计工具,而Flash的出现正好满足了这种需求。
FLASH的特点
1. 使用矢量图形和流式播放技术。与位图图形不同的是,矢量图形可以任意缩放尺寸而不影响图形的质量;流式播放技术使得动画可以边播放边下载,从而缓解了网页浏览者焦急等待的情绪。
2. 通过使用关键帧和图符使得所生成的动画(.swf)文件非常小,几K字节的动画文件已经可以实现许多令人心动的动画效果,用在网页设计上不仅可以使网页更加生动,而且小巧玲珑下载迅速,使得动画可以在打开网页很短的时间里就得以播放。
3. 把音乐,动画,声效,交互方式融合在一起,越来越多的人已经把Flash作为网页动画设计的首选工具,并且创作出了许多令人叹为观止的动画(电影)效果。而且在Flash4.0的版本中已经可以支持MP3的音乐格式,这使得加入音乐的动画文件也能保持小巧的‘身材’。
4. 强大的动画编辑功能使得设计者可以随心所欲地设计出高品质的动画,通过ACTION和FS COMMAND可以实现交互性,使Flash具有更大的设计自由度,另外,它与当今最流行的网页设计工具Dreamweaver配合默契,可以直接嵌入网页的任一位置,非常方便。
总之,Flash已经慢慢成为网页动画的标准,成为一种新兴的技术发展方向。面对这么不可多得的设计工具,你还等什么,赶快加入Flash的行列吧!
二.3DMAX简介
数年前,AutoDesk公司推出了可在个人计算机上运行的三维动画软件 3D Studio(3DS)。它的全称是 3-Dimension Studio,译成中文应该是“三维影像制作室”。 3D Studio MAX(以下简称 MAX)是以 3DS 4.x为基础的升级版本,它以全新的 Windows界面及更强大的功能展示在大家面前。用MAX来制作三维动画就像是当一个大导演——一切的角色、道具、灯光、摄像机、场景(包括如云、雾、雪、闪电等特效场面)及配音、镜头的剪辑合成等等都任你来安排处理。如果你是一位设计家,用MAX来设计产品模型的感觉就像是雕塑家和魔术师,复杂的模型几乎是在瞬间就奇迹般地建立起来了。而用MAX修改创建的模型更是轻而易举的事,完全可以把宝贵的时间和精力集中用在使设计更加完美更加理想上。无论是出于何种目的使用 MAX,一定会充分体会到用计算机工作时的那种“工作就是玩,玩就是工作”的快感。
可以毫不夸张地说,哪里需要三维设计、哪里需要三维动画,哪里就需要MAX。MAX适合于从事下列任何一种职业的专家或业余爱好者:电影特技、立体和影视动画广告设计、工业设计、建筑和室内装潢设计、包装与装潢设计、三维游戏开发、软件开发程序员(制作软件片头)、教学多媒体演示制作、军事科学研究和物理、化学或生物化学研究以及所有对三维动画和立体造型感兴趣的广大电脑玩家等。
三.Photoshop
Photoshop是平面图像处理业界霸主ADOBE公司推出的跨越PC和MAC两界首屈一指的大型图像处理软件.它功能强大,操作界面友好,得到了广大第三方开发厂家的支持,从而也赢得了众多的用户的青睐.
ADOBE PHOTOSHOP最初的程序是由Mchigan大学的研究生Thomas创建,后经Knoll兄弟以及ADOBE公司程序员的努力ADOBE PHOTOSHOP产生巨大的转变,一举成为优秀的平面设计编辑软件。它的诞生可以说掀起了图象出版业的革命,目前ADOBE PHOTOSHOP最新版本为6.0,它的每一个版本都增添新的功能这使它获得越来越多的支持者也使它在这诸多的图形图象处理软件中立于不败之地。
Adobe产品的升级更新速度并不快,但每一次推出新版总会有令人惊喜的重大革新.Photoshop从当年名噪一时的图形处理新秀.经过3.0,4.0,5.0,5.5的不断升级,直到目前最新的6.0版,功能越来越强大,处理领域也越来越宽广,逐渐建立了图像处理的霸主地位.
Photoshop支持众多的图像格式,对图像的常见操作和变换做到了非常精细的程度,使得任何一款同类软件都无法望其颈背;它拥有异常丰富的插件(在Photoshop中叫滤镜),熟练后您自然能体会到”只有想不到,没有做不到”的境界.
而这一切,Photoshop都为大家提供了相当简捷和自由的操作环境,从而使大家的工作游刃有余.从某种程度上来讲,Photoshop本身就是一件经过精心雕琢的艺术品,更像为您度身定做的衣服,刚开始使用不久就会觉得的倍感亲切.
当然,简捷并不意味着傻瓜化,自由也并非随心所欲,Photoshop仍然是一款大型处理软件,想要用好它更不会在朝夕之间,只有长时间的学习和实际操作大家才能充分贴近它.