动态性的哲学——我对编程的一点点思考

简介:

 时代在进步,但不见得程序员的平均水平比以往更高,因为总是有大量像我这样的菜鸟走进这扇门。但不可否认,现代程序的总体质量比10年前强大很多,不论是用户体验,还是功能,鲁棒性都是如此。自然这拜于当前越来越高级的语言和设计模式。我非软件专业,但我愿意就软件的“动态性”做一些有必要的讨论。

     我认为,编程在满足基本要求的基础上,要实现所谓的“动态性”。而程序员水平的发展,从一个角度上看,也是动态性观念的提高。

    超级菜鸟阶段:

    第一阶段:HELLOWORLD,非常胆战心惊的打开VC6.0,一步一步的按照书中的操作新建工程,一个标点和空格的都不敢出错的敲下了HELLOWORLD,编译,运行,在那黑色的窗口上出现了那段你期待已久的字符!这个阶段,你甚至不敢为程序付出一点点的动态性。

    面向过程阶段:

    第二阶段:你学会了写函数,void task1(),void task2(),在一个switch语句中,你可以让用户自行选择,哇!我实现计算器功能了!

    第三阶段:大量的常数让你在修改程序时候变得狼狈,于是你学会了预编译和常量,通过#ifdef 方法来设计自己的程序走向,当修改功能时仅仅需要改几个参数了。自身的动态性进一步提升。

    面向对象阶段:

     第四阶段:你开始学会写类了,总算可以实现基本的代码重用了。但为别人编了一个小型程序,赚到了一顿饭钱。可是,这个哥们的要求变化多端,让你不得不更改每个类的功能来符合要求,于是你思考着,如何设计每个类,才能更好地响应这种变化?哦,我听说,让一个类实现其尽可能少的功能,将类和类的耦合度尽可能降低!

     第五阶段:你的团队耗时三个月,完成了一个公司的项目。公司将其使用了将近半年,但突然由于业务变化,要求增加新的功能,但不能改变原来的功能甚至配置。甚至,要求你的程序在不停止的情形下完成升级! 这下难倒了你。于是,你在思考,设计一些接口(interface),实现基本的框架,而需要增加新功能时,为其提供满足这些接口的插件即可。而且你的程序可以自动识别加入的插件,在运行时添加功能!你在加入新功能时,都不需要对原来的代码做任何的修改!你觉得,动态性真是太重要了!

      第六阶段:你觉得以上的方法还不过瘾,添加和修改起来还是复杂。于是,你将程序框架大刀阔斧的修改和升级,通过MVC结构,比如WPF,实现界面,逻辑,算法,数据的全面分离。对整个软件的框架,你把它们设计成了“很多桥连接的小岛群”。小岛可以看成数据类,可以通过抽象类,重载等方法实现,你可以随时加入新的小岛。桥可以看成方法接口,通过抽象接口和其继承,实现随时更换桥~当然桥必须实现必要的“接口”!

      动态自适应高级阶段:

      第七阶段:可自适应环境的代码!你的代码随着火箭上天了!星际通信允许你对代码远程升级?太搞笑了吧。环境变化了,你的程序必须依照环境自适应的修改参数和方法,来实现对环境的适应性。当出现错误,它还可以自行检查异常,回到正轨。 这需要怎样的编程技术呢?神经网络?但可以认定,模式识别和人工智能将在这个阶段非常重要!   这让我们想起了人,人可以适应环境,同时可以在可控的范围内实现自恢复。

      第八阶段:可思考和进化的程序! 你制造了一个机器人,强大无比,但它同样配合了最先进的软件技术,它可以通过对环境的学习,动态的学习和思考,与人交流。判断哪些是有益的,哪些是有害的,并建立自身的行为准则。它可完全脱离你的控制,实现自我学习和升级。很酷吧?强大的动态性!终结者啊。

      第九阶段:能生孩子的程序(笑~)!你的代码不仅可以进化自身,而且还可自己编写程序,实现更多的小程序!这让我们想起了《星舰战将》的大臭虫。 自我繁衍,从而可以自己演化出一个大的“程序家族”出来。这是人类之幸?还是人类之不幸?不可否认,达到这种目标,人类几乎已经不是其对手了!

     无敌阶段:      

      第十阶段: 有感情的程序!能思考,能生孩子,有智慧,能自我演进的程序,还是打不过人类,因为人类有“爱”(摘自终结者4)。我相信,情感才是超越一切智慧和能量的终极。技术和智慧能让人类极度发达,但却不一定幸福,而情感却能做到这一点。    “有爱的程序”这是怎样的动态性啊!

  

       让我们回到现实。

       就如我最近编写的一个框架一样,我希望它能尽可能满足我未来的要求,并动态的加载功能,于是我花了很多时间,研究了各个组件之间的接口和交互方法,而并不着急做实现。我想努力地达到我上面说的“第六阶段”的水平,但实在太难了,因为我毕竟不是软件科班出身,但我也会努力的。

       作为一个通信界人士,讨论下移动通信的动态性。导师牛老师所著的《移动通信原理》中提到,“移动通信的发展核心就是为了满足动态性.....",第一代系统满足了信道和用户的动态性;二代系统(2G,如GSM,CDMA)进一步的提升了效率,通过蜂窝和时分技术提升容量;第三代系统,实现了业务类型的动态选择特性,并加入了自适应调制和编码,以更大的提升效率;第四代系统(LTE?)引入了网络拓扑和网络运行的动态性,实现扁平接口,三网融合。   而移动网络的发展,说白了就是为了更好地满足这四类动态性的!

       最后,打一个不恰当的比方,我们宿舍没有独立卫生间,只有集体的。有人认为好,有人认为不好。我觉得还是公共卫生间比较爽,不会因为有人在独立卫生间导致你没法用厕所。对公共卫生间来说,所有位置都满的概率是相当小的。这也就是资源的动态分配的最好体现。  移动通信也是这样,其实资源还是那么多,我们更好地动态分配了,所以看起来,通信容量在高速的发展!

      欢迎讨论,本人不是软件科班,有些概念有误,轻拍~

目录
打赏
0
0
0
0
9
分享
相关文章
从代码到哲学:编程中的思考与启示
【10月更文挑战第34天】在数字世界的编织中,每一行代码都蕴含着深邃的逻辑与创造的火花。本文通过探索编程的本质、代码与生活的关联、以及技术发展带来的社会影响,揭示编程不仅仅是技术的堆砌,更是人类智慧与哲学思考的体现。我们将一起走进代码的世界,发现那些隐藏在逻辑背后的哲理与人生启示。
从代码到哲学:编程中的人生启示
【9月更文挑战第35天】在代码的世界中,我们不仅是在编写程序,更是在书写生活。每一行代码都蕴含着逻辑与美,每一个算法都承载着智慧与挑战。本文将通过编程的视角,探讨人生的意义、选择的重要性以及面对困难的态度,带你领略技术背后的深刻哲理。
编程之旅:从代码到哲学
在这篇文章中,我们将踏上一段独特的旅程,探索编程不仅仅是一门技术,更是一种思考世界的方式。通过个人的技术感悟和代码示例,我们将一同发现如何将编程的原则应用于日常生活,以及这些原则如何帮助我们更好地理解周围的世界。这不仅是一个关于代码的学习过程,更是一次心灵的成长之旅。
探索编程之美:从代码到哲学的启示
在数字世界的深处,编程不仅仅是一系列指令的排列组合。它是思考的艺术,是解决问题的舞蹈,更是人类智慧与创造力的体现。本文将通过浅显易懂的语言,带你领略编程的魅力所在,并结合个人技术感悟,探讨编程如何影响我们的思维方式和世界观。让我们一起跟随代码的脚步,发现那些隐藏在逻辑背后的哲理与美。
从代码到哲学:我的编程之旅
在这段旅程中,我从一个对代码一无所知的新手成长为一个能够用代码解决问题的开发者。这不仅仅是技术的成长,更是我对生活、对世界理解的深化。编程,对我来说,已经超越了技术层面,成为了一种思考问题、解决问题的方法,甚至是一种生活方式。
从代码到哲学:探索编程中的思考与实践
【10月更文挑战第37天】在编程的世界里,我们不仅是在编写代码,更是在编织思维。每一行代码都是对问题解决方案的深思熟虑,每一个算法都是对逻辑思维的锻炼。编程不仅是一种技术活动,它同样是一种哲学的实践——通过代码来体现我们对世界的理解与改造。本文将带你走进编程的世界,探索那些隐藏在代码背后的深刻哲理。
探索编程之旅:从代码到哲学的思考
【10月更文挑战第38天】在数字世界的编织中,代码是构成万物的基石。本文将带领读者穿梭于编程实践与人生哲学之间,探讨如何通过技术实现自我提升,并反思在技术追求中我们究竟寻求的是什么。从一个简单的代码示例出发,我们将逐步展开对编程艺术、生活选择和宇宙意义的思考,最终回到甘地的名言,“你必须成为你希望在世界上看到的改变”,以此来启发读者找到自己技术之路上的初心与方向。
43 3
探索编程之美:从代码细节到技术哲学
【10月更文挑战第28天】在这篇文章中,我们将一起走进编程的世界,探索那些隐藏在代码行间的艺术与哲理。通过深入浅出的讲解和实际的代码示例,我们不仅能够学习到技术层面的知识,更能体会到编程作为一种创造性活动所带来的乐趣和启示。无论你是初学者还是资深开发者,都能在这段旅程中找到新的视角和灵感。
58 11
|
2月前
从代码到哲学:编程中的思维模型与生活智慧
【10月更文挑战第35天】在编程的世界里,代码是构建数字宇宙的基石。本文将通过浅显的语言和实际代码示例,探讨编程思维如何影响我们的日常生活决策,并揭示技术背后的哲学思考。我们将一起探索代码的逻辑结构如何映射到生活的选择中,以及如何通过编程提升问题解决的能力。
47 2
编程之旅:从代码到哲学的探索
【10月更文挑战第31天】在数字世界的编织中,每一行代码都是我们与机器对话的语言。本文将带领读者踏上一段从编写第一行代码到深入理解编程哲学的旅程。我们将探索编程如何不仅仅是技术的实践,更是对问题解决、逻辑思维乃至生活哲学的一种体现。通过深入浅出的例子和反思,本文旨在启发读者思考编程背后的更深层次意义,以及它如何塑造我们对世界的认识。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等