由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 随着规模增加,消耗资源跟着增加的玩意都没啥前景可言
相关主题
scala开发效率确实奇高[合集] 多线程程序的性能问题
招人过程中关于语言一点小经验放松一下:汉语是世界上唯一一种面向对象的高级语言
Java 和 .Net 到底哪个更有好一点的前景?汉语是世界上唯一一种面向对象的高级语言
[BSSD]rod johnson讲座的一点小感问一个进程调度的问题。 (转载)
C++程序运行内存消耗越来越大,怎么回事?如何测量最大内存消耗?
[合集] C++程序运行内存消耗越来越大,怎么回事?dba和程序员,哪个是青春饭? (转载)
怎样解决fortran程序中的common块的问题[技术问题] 修改一个php + mysql, 想换成其他的。
[合集] 二叉树的实现Smart Pointer
相关话题的讨论汇总
话题: 增加话题: 资源话题: 随着话题: 系统话题: 消耗
进入Programming版参与讨论
1 (共1页)
z****e
发帖数: 54598
1
因为一个系统规模增加,这本身是一个大趋势,永远都只会越来越大
不会越来越小,所以这个趋势是单向的,不可逆的
那么随着这个趋势,逐步增加消耗资源的东西,前景一律堪忧
比如,维护成本,这个在c类语言上体现得最为明显
c++就是典型,随着规模的增加,程序员互相之间看不懂对方写的代码
不停滴报错,最后随着越来越多程序员互相之间看不懂对方的代码
维护成本逐步上升,最后崩盘
再比如,动态类型,这个是对机器资源提出了要求
一个小程序的对象,跟一个很大规模系统的对象
这个对象到底是什么东西,是human还是animial还是神兽……
这个可能性会随着系统增大而逐步增多,最后在这上面消耗的资源将会越来越大
因为系统需要投入资源去准备各种可能性,最后无法承受之后崩盘
还比如,事务,事务所消耗的资源也是随着系统规模的增加而增加
也是一样的,db最后会因为系统规模过于庞大,而无法支撑如此消耗资源的事务
而不得不让位给不怎么支持事务的nosql,其实包括select也有类似的问题
不过select可以通过排序,找index等方式来优化,所以其实还好
事务很难优化,越大越麻烦,所以nosql一般把事务视作原罪
为什么要封装?封装很重要一点就是,你这块做完了,就完了
别人不需要看也不需要理解就是不需要后续继续投入资源去搞这一块的东西
否则随着这种东西的数量的逐步增加,哪怕很小很简单的一个资源的投入
都会随着系统增加而逐步放大,最后无法承受,压垮骆驼
因为人的精力是有限的,而系统则是理论上会逐步成长的一个东西
系统一定是越写越大的,而人的精力过了20年,估计也还是那样
一天也就只能投入8个小时到12个小时,再怎么发展,他一天也不可能投入25个小时
但是系统随着时间的增加,其代码量会越写越多,这个趋势不可逆
所以如何从这个趋势中survive下来,就是软件工程搞的东西
z****e
发帖数: 54598
2
人要承认一点,就是人的精力是有限的
哪怕你再努力,遇到一个几百人的项目,你也不可能把每一块代码功能都理解清楚
也就是总有人以为读了某一个cs的phd就无敌了,这个可能性是不存在的
该不会的时候,一样不会,这一点不会随着你的学历有多高,或者你有多努力而改变
这就是现实复杂性,哪怕很简单的一个东西,只要你事先不知道这是什么玩意
你要想知道,要想掌握,都需要时间和精力的投入
而同时,人们又在不停地创造出新的产品出来
所以产品本身是无法学习完的,那么在这个前提下
我们只能说,把握住主线,不要太过于关注细节
你知道这是个什么东西,它有什么特点,用来做什么,好,知道了这些,开始干活
至于丫的是如何实现的,真心很难有精力去把代码给看完
所以学习到最后一定是你自己把这些东西给抽象出来,变成一堆的顶层扯淡
至于下面的具体的实现的细节,各有各的不同,但是不影响理论依据,就行了
比如是db就应该做db该做的事,那这个db是mysql还是oracle,不管了
管不过来,就算学完了这两个,后面还有postgresql和firebird
现在又冒出了mongodb什么,光数都可以数上一天,这要是真投入下去
一辈子就耗在这里面了,所以,不懂,很正常,不影响上手干活就行了
x****u
发帖数: 44466
3
搞工程的本质就是make decision

【在 z****e 的大作中提到】
: 人要承认一点,就是人的精力是有限的
: 哪怕你再努力,遇到一个几百人的项目,你也不可能把每一块代码功能都理解清楚
: 也就是总有人以为读了某一个cs的phd就无敌了,这个可能性是不存在的
: 该不会的时候,一样不会,这一点不会随着你的学历有多高,或者你有多努力而改变
: 这就是现实复杂性,哪怕很简单的一个东西,只要你事先不知道这是什么玩意
: 你要想知道,要想掌握,都需要时间和精力的投入
: 而同时,人们又在不停地创造出新的产品出来
: 所以产品本身是无法学习完的,那么在这个前提下
: 我们只能说,把握住主线,不要太过于关注细节
: 你知道这是个什么东西,它有什么特点,用来做什么,好,知道了这些,开始干活

s*****V
发帖数: 21731
4
难道还有规模增加,消耗资源减少的玩意?

【在 z****e 的大作中提到】
: 因为一个系统规模增加,这本身是一个大趋势,永远都只会越来越大
: 不会越来越小,所以这个趋势是单向的,不可逆的
: 那么随着这个趋势,逐步增加消耗资源的东西,前景一律堪忧
: 比如,维护成本,这个在c类语言上体现得最为明显
: c++就是典型,随着规模的增加,程序员互相之间看不懂对方写的代码
: 不停滴报错,最后随着越来越多程序员互相之间看不懂对方的代码
: 维护成本逐步上升,最后崩盘
: 再比如,动态类型,这个是对机器资源提出了要求
: 一个小程序的对象,跟一个很大规模系统的对象
: 这个对象到底是什么东西,是human还是animial还是神兽……

z****e
发帖数: 54598
5
没有,但是有随着规模增加,消耗资源不跟着增长的玩意

【在 s*****V 的大作中提到】
: 难道还有规模增加,消耗资源减少的玩意?
1 (共1页)
进入Programming版参与讨论
相关主题
Smart PointerC++程序运行内存消耗越来越大,怎么回事?
关于big data[合集] C++程序运行内存消耗越来越大,怎么回事?
求助,如何才能将一个c++对象封装成一个函数指针。怎样解决fortran程序中的common块的问题
也问个python 问题[合集] 二叉树的实现
scala开发效率确实奇高[合集] 多线程程序的性能问题
招人过程中关于语言一点小经验放松一下:汉语是世界上唯一一种面向对象的高级语言
Java 和 .Net 到底哪个更有好一点的前景?汉语是世界上唯一一种面向对象的高级语言
[BSSD]rod johnson讲座的一点小感问一个进程调度的问题。 (转载)
相关话题的讨论汇总
话题: 增加话题: 资源话题: 随着话题: 系统话题: 消耗