前面也有过讨论,本次正式发布,保持每周更新一篇: https://www.v2ex.com/t/736407
将文章写短,节约读者的时间,而不是彰显作者专业度。通过简短、浅显的代码示例,讲解抽象且复杂编程模型,而不是掺杂大量术语或单词缩写。以客观程序的事实为基础,而不是过分表达个人主观理论,上述是我写这一系列文章的基本宗旨。当然,写文章和写代码一样,也需要不断的迭代和版本更新,同时也需要根据读者反馈调整一些文字的描述和框架结构,从而形成一套基础编程的方法体系,而不是对现有有理论或框架技术应用的解释。透过现象看本质,通过对基础编程方法的学习,掌握基本的技术发展规律和趋势,形成自身看软件编程世界独特的方法。
理解概念、灵活运用是一个层次,但发现背后遵循的规律是一个更高的层次。学习理论的结果是一个层次,学习理论背后的原理和发展的过程是一个更高的层次。学校老师或书籍教导我们的更多是结果,很少谈及“为什么?”,本系列有一个副标题“凡事就怕问为什么?”,这是本系列的主要线索,探寻更多“为什么”。
现实中,我们能够找到的编程知识,大多数告诉你:是什么?如何用?却不告诉你为什么?“怎么用”,“如何用”是表象,不同人有不同的理解,也会形成自身的理论体系。但不同人之间总是使用同样的方式解决问题,尤其是一些优秀的项目,潜在遵循的规律是什么?这是一个值得去深究的课题。
经济学提供了一种客观分析的视角,一套方法论体系,一种以边际为主的分析方法,以研究人类的活动和发展规律为主要线索。在程序设计领域,更多是偏主观的理论,总是带着强烈的个人色彩。虽然有价值,但同时也拉长了基础编程的学习路径。尤其是初学者,看到繁多的技术理论更是无从下手,这也就是我写这一系列文章的初始动力,通过哲学式的思辨,讨论程序设计中的各种元素背后所遵循的规律,以浅显的语言描述,简单直白代码示例讲解背后的原理。虽然有个人主观的认知,但更多是基于开源项目的代码总结的规律。
软件编程的历史并不长,理论体系的发展却很多,所谓的编程方法类的书籍,更多是讲各种编程语言的特性和语法,一本书里代码比概念的阐述还要多。再就是讲解流行的框架技术或软件工程理论,通过这类书籍的学习可以快速进入工作状态,也能在面试的过程中顺利通过,这只是基础工具应用的学习。而真正要写好每一行代码,是在进入不同公司后,学习特定领域下的编程范式,更确切的说是符合某个个人编程理论倾向,缺乏程序设计方法相对客观的认知,同时也会局限于当前的编程模型,久而久之,形成固有的思维方式,却忽视了背后存在的原理,即使写了很长时间的代码,灵活运用了各种工具,但对软件技术和理论的创新,显得力不从心,用一名常见的古文来表达:“事要知其所以然”来表达最为恰当。掌握内存的逻辑和背后的规律,才能对现有的技术提出挑战,创造出符合软件发展规律的项目或产品。
其实,所谓背后的原理和规律,是前人在一次次惨痛的 Bug 中积累的经验,是不同程序员在处理类似问题时采用的共性的方法,是软件发展过程中不知不觉演进的方向,“读史可明鉴,知古可鉴今”,同样了解软件的发展过程和最原始的动力,有助于我们更理性的看待今天的发展,更智慧的理解未来的趋势,更重要的是形成自身独特的方法体系,创造更优秀的软件项目。
第一阶段 Java 基础编程元素的理解
个人项目: https://github.com/braisdom/ObjectiveSql
同时本人正在求职,有合适机会的微信联系我:braisdom
关注微信,及时收到信息,V 站也会发:
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.