走在天上,走在寂静里,(后边的话被和谐了)

追暮 发布于 2012/11/13 18:29
阅读 202
收藏 2
看见你说了这么些我不懂得东西,真心想向七液请教。我懂一点C会一些Linux的操作,只是SHELL的。想跟你学学能不能指条你这一路走下来的路。练些什么?
生活没什么乐趣真心想动动脑子。真心喜欢编程,恳请你能带我入门。没别的虚的真心想学。等待您的回复
加载中
0
七液
七液

额。应该@宏哥@中山野鬼 这两位是大牛。

看你想学什么了。想赚钱就别学编程。就算学也往业务发展(记得以前看过《千王之王》这部片里面的一个赌X。以前嗜赌如命,后来发现赌也是为了赚钱,做生意也是赚钱。最后做生意去了。。。)

安全领域已经日落西山了。许多人说刚开始那是不懂行的原因。各大操作系统安全性都做得很好。嵌入式物联网能做的安全也不再软件方面。大部分都要涉及到硬件了。

软件行业发展。可以看一些权威的经济学论文。大部分指出。中国IT行业发展最快40%左右的速度增长但是。收入却最低。关键的底层和中间件技术没有掌握。这也是我一直觉得开源软件有猫腻的原因。

许多人不看重中间件技术甚至好多开发人员不知道什么是中间件。说白了就是框架。技术解决方案。IBM很少有直接面向用户的东西,他提供大量的中间件和底层硬件。

作为一个技术人员。我觉得掌握中间件技术的研发是最终目的。中国IT开发完全走了一个错误的路线。外包技术含量就高么?底层技术不掌握,用的都是人家的中间件技术。我们已经被国外的软件厂商堵到应用层了(应用层技术研发难度低,风险小,但是竞争对手多。你除了要面对大厂商的产品还要面对。各种新型微创新小公司-可能只有两三个人。他们有关系,做本土化经营。)

想做技术别死在一个平台上。现在微软都不盯着x86了,作为程序员跨平台才是王道。能赚大钱的都在企业级和工业领域,中国好多企业,工控都是空白。物联网概念提出后,许多人都等三网融合提高网速。你觉得这对么?这样的思维还是老的2G思维。

最近在帮朋友搞一个超声波通讯。我一直认为通讯不一定非要光电,我们最原始的就是声音通讯。超声波可以解决短距离通讯问题。再通过服务器和互联网通讯。

人脑和电脑最大的区别是人脑可以创新,电脑只是记忆力好。应试教育培养的是一群记忆力好的人。老外为什么提倡思维开阔引导思维创新。就是因为他们知道记忆力在电脑的帮助下意义不大了。

放开linux,他没有比windows高级多少,放开java,跨平台不是他的专利。linux底层在熟悉你能如何?微创新+高技术含量的模块+提高被抄袭山寨成本才是正路。(知识产权保护不知道要等到何年何月。现在还是靠自己吧)现在开发领域也逐渐往模块化走了。C+高级动态语言。很少再有新的开发人员往单一语言去了。程序是死的人是活的。无拘无束不被环境约束才是真正的高手。

你的目标是什么?赚钱还是做好技术?赚钱的话别玩IT其他领域比IT赚钱厉害,路边卖炒饭夜宵的一个月都好几万收入。做技术就往中间走(底层别想了暂时没那实力)每个人都应该有自己的各种工程库和框架。就算别人有你也得把它抽成自己的。放开操作系统,和中间件的成见。这个是很关键的一步。

人生规划别人没办法帮你做。每个人的目标不一样,起跑线也不一样。走得路自然也不一样。只能给你仅做参考。做技术的不要在乎手中的技术,做到这点了你就是一个真正的技术人才了

0
七液
七液

好多人都不肯学习历史,中国软件发展到了现在的十字路口每个人都在艰难的选择,这些事情欧美早就经历过,最后存活下来的公司都是成功选择对的路线的人。好多经验值得借鉴和学习(当然我是说技术领域),人生规划还得自己来。别人只能给意见。我也是刚刚知道自己自己要做什么。这个选择很难以前总是想,技术做好了商业自然好了(看看SGI,SUN就知道了)现在觉得技术只是第一步,技术和商业搭配才能产生最好的效果。

对了建议学习一下SAP,BEA,IBM,甲骨文,Borland,这些公司你就发现其中的奥秘了。

做中间件的公司不要做应用层软件(apple为什么一直不想三星代工芯片的原因。谁都想找个纯粹的零件提供商。只是没办法只能找三星)人不要太贪婪,你太贪了自然大家就针对你。微软的许多项目,甲骨文也开发过ERP,CRM但是最后都做的不怎么样。

SAP不做中间件使用IBM的他却业务做到世界第一。各个行业都看得到。抛开技术专注于业务实现。可以做得更好。

人生如何规划这个和程序设计有点类似。选择好自己的路线很重要。人不要过于贪婪什么都想做最后一事无成。对于三星的制裁马上就要开始了

0
宏哥
宏哥

引用来自“七液”的答案

好多人都不肯学习历史,中国软件发展到了现在的十字路口每个人都在艰难的选择,这些事情欧美早就经历过,最后存活下来的公司都是成功选择对的路线的人。好多经验值得借鉴和学习(当然我是说技术领域),人生规划还得自己来。别人只能给意见。我也是刚刚知道自己自己要做什么。这个选择很难以前总是想,技术做好了商业自然好了(看看SGI,SUN就知道了)现在觉得技术只是第一步,技术和商业搭配才能产生最好的效果。

对了建议学习一下SAP,BEA,IBM,甲骨文,Borland,这些公司你就发现其中的奥秘了。

做中间件的公司不要做应用层软件(apple为什么一直不想三星代工芯片的原因。谁都想找个纯粹的零件提供商。只是没办法只能找三星)人不要太贪婪,你太贪了自然大家就针对你。微软的许多项目,甲骨文也开发过ERP,CRM但是最后都做的不怎么样。

SAP不做中间件使用IBM的他却业务做到世界第一。各个行业都看得到。抛开技术专注于业务实现。可以做得更好。

人生如何规划这个和程序设计有点类似。选择好自己的路线很重要。人不要过于贪婪什么都想做最后一事无成。对于三星的制裁马上就要开始了

很多人无法跳出技术来看 路径的问题.规划这个事情, 跟情商,运气,经历,见识很有关系. 

不能因为做了C就什么都得往C上扯. 如果一句话总结,就是:

为人民服务

服务好人民, 人民币就服务你.

想清楚你能用C如何服务人民, 路径就清楚了.


0
中山野鬼
中山野鬼

生活没乐趣?那就去死嘛。怕死或不甘心,就给自己找个活着的理由。哈。如我,活着就是要证明自己还有活着的价值。至于钱?送你两句话,价值是有需求确定的,但高低多少是由稀缺性决定的。

确认社会需要什么。尽可能做得更好,钱自然会来。至于做什么,看自己乐趣咯。如果自己没乐趣,重复一句,去死得了。记得别砸着花花草草。哈。

0
追暮
追暮

引用来自“七液”的答案

好多人都不肯学习历史,中国软件发展到了现在的十字路口每个人都在艰难的选择,这些事情欧美早就经历过,最后存活下来的公司都是成功选择对的路线的人。好多经验值得借鉴和学习(当然我是说技术领域),人生规划还得自己来。别人只能给意见。我也是刚刚知道自己自己要做什么。这个选择很难以前总是想,技术做好了商业自然好了(看看SGI,SUN就知道了)现在觉得技术只是第一步,技术和商业搭配才能产生最好的效果。

对了建议学习一下SAP,BEA,IBM,甲骨文,Borland,这些公司你就发现其中的奥秘了。

做中间件的公司不要做应用层软件(apple为什么一直不想三星代工芯片的原因。谁都想找个纯粹的零件提供商。只是没办法只能找三星)人不要太贪婪,你太贪了自然大家就针对你。微软的许多项目,甲骨文也开发过ERP,CRM但是最后都做的不怎么样。

SAP不做中间件使用IBM的他却业务做到世界第一。各个行业都看得到。抛开技术专注于业务实现。可以做得更好。

人生如何规划这个和程序设计有点类似。选择好自己的路线很重要。人不要过于贪婪什么都想做最后一事无成。对于三星的制裁马上就要开始了

七液,其实昨天就看见您的回复了。非常感谢你给我回复这么多我感觉这真的让我开阔了视野,你知道对于我这样一个新手来说了解一个行业可能比翻几页书更有思考空间。受益匪浅。真的很想多了解你对编程学习的看法。是不是有点冒昧。。能否拜师   苦了心想入门您收我吧。

你可能把两位大牛的话都说了,或者大牛只是牛。其实我的乐趣两位牛哥不是太懂。思考人生,研究哲学我想鬼哥也充其量是晚辈。牛跟人的区别只是看的远近罢了。取之所长,去其糟糠。

0
七液
七液
对不起现在才回您,其实两天前就看到了,
但是我不知道应该如何措辞,怕自己的"错误思想"误人子弟.
仔细回想了一下觉得一路过来好多弯路和错的路线也值得说一下.

哲学,技术,书,思想.这些东西从本质上是一体的,什么思想设计什么样的程序,
本身不矛盾,技术的演进也和思想有绝对的关系.我喜欢探寻历史
从各种碎片中寻找演进的思想,当然套用二八定律,我这一帖贴出来
已经做好了八成人喷我的准备了,以二八定律来说八成的人是没有自己的思想,
随大流的人,看似自己有思想活的还不错其实就是没有思想的一群人.
有但是也觉得自己没能力实现,所以干脆选择随波逐流,随大流了.

从语言学习角度来说:
八成的人使用C++不是因为他们需要,而是C++看起来比C厉害,
学C++看起来比C高级很多,而且贪大求全,C可以做的C++都可以做,不如直接学C++好了
八成用STL的人不是因为需要,而是自己懒得写,觉得已经有了自己也写不出更好
的代码,所以就直接用STL了,STL的学习成本已经足够他自己实现一个STL了,
但是他们就是懒得写,八成说不要重复制造轮子的人根本不掌握制造轮子的技术
他们只是为了自己不想去实现而找借口.是不是这样大家自己心里清楚.
天天鼓吹各种库多好用的人八成数据结构和离散都没学好.
一些高手为什么只用C不用C++,他们难道不知道C++其实也可以不用OO,
直接OP编程么?想用OO的时候也可以用不是挺好的么?为什么他们非要选择C?
除了思想上的包袱外,其实他们更看重的是纯粹的工程思想,
C对他们来说已经足够了,而且实现个C编译器不难,C++的困难度就非常大了
(到现在也没有哪个C++编译器可以完全支持ISO C++所有标准的)
从工程角度来说,现在的编程语言其实好多东西都是可以舍弃但是没办法舍弃的东西,
人类的各种思维不是也是这样么?这个不多说了自己去体会好了

语言不可能从一开始就做得非常完美,他也和程序一样也是一步步做出来的,
工程实践后发现许多东西其实是没必要的,回顾一下C语言的历史你就可以看清楚一些东西,

1.C语言诞生:
C语言初诞生的时候,是为了UNIX创造的,当时没什么标准,怎么简单怎么来
而且代码当时需要打印,所以养成了许多不好的习惯,
比如说过分的简写i,j,k,n,p,cat,usr这样的写法几乎成为公认的了
看到i我相信绝大部分人都知道他是循环计数器吧?
当时由于就AT&T内部用,而且都是大神或者有内部文档所以也没什么必要弄个标准
由于当时编译器技术的拖后,所以没有泛型,动态类型等概念,为了减少编码和
函数之间的调用于是就出现了大量的预处理操作,编译器自己展开源码后
从而实现一次性编译,把大量的问题用软件去解决,硬件速度也不快,于是就出现了
各种奇怪的中间格式用来加速,当然现在几乎没有了都是一次性obj(o)了

2.C语言的混乱时期:
随着UNIX的代码散播到全世界各地了,有的人说一个操作系统有着能力?
看看ObjC就知道了.随着iOS和Mac OS X散播到全世界都是,由于大家都懒,
本着"不要重复制造轮子"的万能理由,所以都用UNIX了而且还是开源的,
由于各家的硬件设备不一样,所以底层机器码也不一样(CPU不一样),
好在UNIX是开源的,各大厂商觉得C语言不够强而且当时C语言也没有标准
几乎都是以K&R的<<C语言程序设计>>为标准的,加上自家的各种附加特性,
新的C语言就诞生了,这是一个相当混乱的时代,没有标准,更没有C语言的标准用法
当时UNIX也非常混乱,由于开源各种各样的UNIX系统都有.

3.C语言走向统一标准:
C语言由于没有监管乱作一团,UNIX也乱作一团,所以有人觉得这样不行,
同样是C语言和UNIX居然相互不兼容这太令人无语了,不利于交流,
于是成立了ISO来规范C语言标准(同样的UNIX也开始走向闭源和System V),
C89(C90)在大家的一片呼声中终于诞生了,但是制定标准是个很麻烦的事情,
由于已经很混乱了,所以你得兼容大部分已经有的特性,于是C语言出现了许多
重复的功能,看似差不多的功能居然能有好几种用法,甚至类型都不统一
同样是int居然有好几种宽度,估计这帮工程师也挺为难的于是干脆都加进来好了,
就成了我们现在大部分人用的C语言,这次标准制定花了数十年时间(其实每次都很久)
工业界终于安心了,至少有了一个公认的标准,看似一片和平

3.5 C99的一些说明:
C99这里给合并了说了,其实就是一些当初没说清楚的补充和一些新特性的加入,
由于硬件的进步C语言逐渐出现的分歧,主要几个方面:
字符,语言,CPU硬件环境,操作系统特性
早期的C语言是用来创造操作系统的.现在的C语言已经开始有平台化的趋势了.
多位(C语言可以用于8位机,16,32,64等多种CPU)自然需要对类型进行一定规范,
特别是整数类型,int在不同编译器下居然有不同的宽度.
加入了新的实数操作
字符和语言的兼容性,操作系统的一些信号等操作规范
从本质上也没啥太大的区别.从单纯的语言走向以操作系统为核心了...

4.C语言的反噬:
C++的诞生对C的底层地位造成了一定的冲击,OO思想的引入让编程界产生了天翻地覆的变化,
C++的目标是更接近自然语言将代码编写OO化
(当然一些C++er说你也可以不用OO的,你试试这样写代码看看,一样会被喷说你还是C思想,
没有领悟C++ OO的强大和泛型的威力,总之你没办法做到让所有人都说你的写法最好),
由于C语言诞生已经十几年了,小工程都做成大工程了,逐渐的有一些人发现,C语言由于
早期遗留的各种特性和设计的不够严谨导致的各种滥用的问题非常严重,于是开始出现
一些以工程设计思维角度去使用C语言的书,这些书被后世传为C语言经典
(自己搜索一下C语言四书五经)所谓的工程设计思维,无非就是以自己工程经验和重构了
N次代码以后发现C语言的一些最基本的用法和一些不能随便进入的危险地带,硬件在进步
一些当初没办法解决的问题,后来也逐渐开始解决了,七七八八的特性在后来看来也没什么必要了
比如register关键字,现在编译器几乎都可以不用设置这个标志就可以优化了,
当然绝大部分人不懂得这个历史遗留问题,于是认为这是一种高级特性,特别是初学者,
所以各种C语言详解,C语言深度探索,C语言专家编程,你需要知道的C语言xxx个问题的书就诞生了,
把这段历史套上进化论来看,这根本不是一种合理的进化,而是贪大求全的添加思想,
进化大多也伴随着退化,比如我们的盲肠,我们的尾巴.
但是总有一些人喜欢拿这种本应该退化掉的东西来装逼,你也一般人几乎用不到的关键字,或者
应该被取消掉的用法,重复的用法,或者一些其他的多重指针和指针的奇怪用法.
我可以用脚趾拿筷子(我不是张海迪,我们家遗传脚趾很灵活),大部分人脚趾都张不开,
本来也没什么必要这样,但是物以稀为贵的思想在那些没有思想的人脑子里,他们觉得这就是本事,
然后拼命的学习这些无关紧要的东西,而且还觉得了解这样的东西才能叫精通C语言.
关键的是还以这个来为荣,考试,比赛都出这样奇怪的题型.
C++,Java不也是这样么(由于语言功能的庞大,还有贪大求全的心理作祟,所以导致语言在设计的
时候就兼容各种各样奇怪的语法和功能,你说C++也要弄函数式编程,也要弄闭包,也要lambda,越来

越向动态语言走了,为了让自己看起来很牛逼,弄了一大堆装逼的特性在里面)
然后其他人就开始出各种,<<XX语言详解>>,<<XX语言深入浅出>>,<<XX语言编程思想>>,
<<XX Effective>>,<<More XX Effective>>
总之让人就觉得是这帮语言制定者和书商串通好的,一边复杂化编程语言,
一边写各种这个特性最好别用,这个功能要这么用

当然还是那句话绝大部分人是没有思维的码奴(又开始跟风了)大部分人无法理解语言的本质,
于是乎你看过<<XX语言编程思想>>没有?什么没看过?就你这样还敢用XXX语言呀...
这样的装逼言论到处都是...真的看懂的人有几个?做过几年开发的人都知道,什么该用
什么不该用,用自己熟悉的就好了,居然还有人用语言一些绝大部分用不到的特性或者
不应该保留或者为了体现自己很NB而开发出来的特性来装逼...

由于和某国文官体系一样(只增不减,只不要不犯错大部分公务员都可以终身制),
C语言特性越来越多(各种语法糖带来的问题也越来越多),于是开始许多人说坑多,
连C++的坑都算C语言身上,说C++好的时候就说C++兼容C,C的代码甚至可以直接用C++编译,
说C++不好的时候就把过错都算C语言身上,居然还大言不惭的说一句,
C++要当做全新的和C完全不一样的语言来学习...
(山寨别人的东西,出问题了就怪别人设计不好)

5.现代C语言(多位宽,多核心时代)
C语言也在与时俱进,早期的硬件大多数都是单核,不需要加锁也可以做许多事情,
比如说原子操作这个在单核下其实意义不大,反正同一时间只有一条指令可以执行,
由于多发,超线程,多核,并行等技术相继诞生,C语言在这方面也开始了新的进化,
C11中最重要的更新就是加入了关于线程,原子操作,
进一步规范了类型和一些其他的字符库之类的,
个人觉得这些特性其实就是为了多核准备的,C语言也发现了多核是未来的发展路线了

C语言目前就是这样了,未来的发展估计会开始尝试加入一些高级语言的特性(比如正则表达式),
而这些特性(比如闭包和函数式编程)是不是我们需要的?C语言也在改变自己当初设计的初衷么?
不甘于为一个底层语言么?未来会怎么走?我不敢妄下断言,可是可以看出来
通用化标准组织越来越疲软了.一个标准发布需要使用近十年的时间
//=================华丽且低调的分割线==============================================

说了这么多C语言的问题估计楼主也发现了问题,这是进化么?有点变味了吧.
C语言从工业界走向了学术界,C++更是如此,而且越走越远了.
C\C++本身就不是一个精准的算数编程语言(一些计算,比如浮点数是有误差的)
但是大家都喜欢当高手喜欢将思维抽象升华到艺术境界.(甚至抛出编程是艺术的理论)
绝大部分艺术作品都是一气呵成的,
达芬奇不可能画蒙娜丽莎的时候出alpha,beta,rc1,rc2迎合大众口味去画吧?
艺术家创作的艺术作品是为了表达自己的思想,不用考虑观众的,你喜欢我就看不喜欢我就别看.
没有BOSS逼你说你要做用户交互呀,你的UI要符合大众审美观呀.

程序设计就是工程设计,他需要精准精确的设计,根据场景不同的需求进行进化,一切都要和
战争一样都是设计好的,会出什么问题,出了问题怎么办,这些方方面面都要设计好.
基于这样的工程化流程思维去思考你就应该知道如何学习和使用语言了.
一切都以工程设计为主,语言按照需要去裁剪使用,比如Google,不用异常处理和RTTI
你要和别人说你学C++居然不会异常处理和RTTI他肯定会嘲笑你.我用不到难道也要学么?

不说C++就用C来说吧,异常处理从工程角度来说就是没有用的,C语言作为底层语言,应该保证
根本不能出现自己无法预知的错误,底层必须保证绝对的正确性(哪怕出错了也要知道怎么出错)
同时要保证效率和间接性.异常处理就是完全没必要的存在,
如果底层抛出一个异常上层没接到就崩溃了?说的过去么?一个异常抛了好几层能好控制么?
而且抛出了异常那底层怎么办?出现了大量的半初始化的代码.
函数1->函数2->函数3
函数3在第十行出错了,函数2没有捕获函数3的异常,被函数1接到了.
这个时候函数3执行了一半,函数1怎么办?处理完异常再回到函数3去执行么?
万一有个资源清理什么的工作没做呢?
可是那八成的码奴确认为,你用不到也得学(应试教育的填鸭式让他们看什么都填鸭)
那二十几种设计模式都得要倒背如流才行,否则你就不是一个高手.
高手是记忆力好?还是思维特别,逻辑严谨呢?
应试教育培养的就是记忆力好的学生,那些不寻求标准答案的被当做异类放逐了.
还是有许多人把这套应试教育理论又弄到编程这种应用远大与理论研究的领域来了.

设计可以复杂也可以简单,但是实现必须越简单越好,是个人都会做最好,
一切都要按照工业化流程走,由于实现简单,所以除错,优化,重构,测试等等都会变的更容易.
复杂的公式大家都会算错,简单的事情哪怕有重复劳动也不太容易出错.就算出错也容易排查,
真正能从头设计一个新的,高效又简单的算法,这样的人毕竟少之又少.
在没有这样的思路诞生以前,简单实现是最好的办法,
重复性劳动可以用许多其他的办法来替代.一切变得简单了自然也就看得清楚了.
水至清则无鱼(Bug)在这里不是一样适用么.
学会按照自己的需求裁剪任何一种所谓的"泛型技术"
//=================华丽且低调的分割线==============================================

我们的生活越来越复杂了,也越来越跨度大,大家需要接触到的东西也越来越多.
程序设计自然也是遵循人的需求而发展,生活中各种混搭,软件设计也开始大量的混搭开发了
不要为了一种语言而死追到底,语言可以变,设计思想不会变,
如果你都遵循实现简单化的原则,换一种语言对你来说应该是很简单的事情.
多接触一些你的上游和下游的产业和技术.了解软件的宏观设计.
客户大多不懂技术,更多的也不知道自己需要什么.
他们提出的各种需求许多都是看其他软件有于是觉得自己也需要.不一定是最好的.
福特汽车当初如果听从那些大富豪的需求的话他现在只能成为一个养马的农场,
他们认为自己需要的是一匹更快的马.只要更快更有效率是不是马又有什么关系呢?
不少人一看到别人谈论国家大事就说我们平民百姓管不到的,谈来干什么.
我们每个人都是国家的一个组成部分,国家发生的任何事情对于我们来说都是重要的,
当然能不能管得到我们不谈,至少知道如何看准机遇.
技术是第一步,但是技术不是全部,这点一定要知道.
SUN,SGI的技术在当时都是最顶尖的,可是后来随着风向的改变他们没有抓住于是都...
没死也半死不活了.

想要行业做得好就要了解整个全局的发展,摩尔定律总会终结的,功耗问题总是个大问题,
在石墨烯,钻石等一些新型芯片制造技术还没有完善以前,低功耗几乎是每个人都要面临的问题
以前做优化的时候,总有大牛出来说,优化适合而止,大部分服务器都用动态or脚本语言开发
极致的优化只有在硬件受限的情况下才需要.当时也觉得这样想没错
可是反观一下我们现在的移动领域,是不是在背道而驰?
手机和平板算是最典型的硬件受限领域吧?大家都在做薄,电池自然越来越小,
CPU性能不敢太强,否则功耗过高,如果你问手机你最想要的一个功能是什么?
估计绝大部分人会说.续航时间!核电池,无线传输这些暂时都不靠谱.
为了迎合广大脑残开发者的喜好,居然上了虚拟执行平台...

移动终端也算是嵌入式设备,绝大部分嵌入式设备都走的是低功耗,高效率,强优化的路线,
移动设备居然彻底反过来,大家都寄希望于工艺技术的提高和电池技术的突破.
目前来说不靠谱,工艺技术总会走到瓶颈的.为什么不回到原生开发上?
即使是PC下大部分游戏也都是走的是原生开发,移动终端这样的发展真的正确么?
还是为了一次性拉广大程序猿下水而走的一次错误的路线呢?
点错科技树也不是没可能的事情呀.
当然把动态语言做成原生编译器也可以真正的做到鱼与熊掌兼顾,
在大家都没有把思维转变回来的时候,个人觉得原生开发应该成为移动终端的主流
过五年在看看技术是不是会向这方面发展...

跳出程序开发领域,以宏观的角度去思考整个行业,你就很容易知道你应该抓住那些重要的关口了
那些做生意投机取巧的人不都是因为看到了行业的弱点才大发一笔么.
一个行业刚兴起的时候,那些简单的技术很容易受到别人追捧,
但是当行业成熟的时候,大家比拼的就是真正的技术和运营方式了.
软件行业中国刚兴起,大部分人的人不是单纯的追求技术的,就是单纯的追求出产品的.
现在市场逐渐开始饱和了.靠这种小聪明就不行了.
欧美,日就是最好的例子,上个世纪七八十年代,是软件起步时期,
由于这个行业没有发展经验,所以诞生了许多新的小公司
(我经常拿来吐槽的一个图片就是电影<<超人3>>里面想要赚大钱来做程序员.这句台词,
然后超级电脑也是那个程序员造出来的,当然这是科幻可以无视)
而且游戏行业刚刚兴起(fc,sfc,各种街机.那个时候一两个人的小公司做了一个xx软件,
xx游戏都可以赚到钱)在现在是不敢想象的,当然了iOS上开发游戏赚钱的人也有.
我们的历史就是重复重复再重复的发展的.而且中国人不擅长学习别人的历史,
总觉得自己五千年历史呀,五千年呀...当今中国走的是社会主义初级阶段(资本主义)路线,
中国从改革开放到现在才走了四十年不到,西方资本主义已经发展了好几百年了,几乎我们现在
遇到过的问题西方都遇到过,而且我们根本不学习...

抄袭,山寨的问题很多很多,看一下<<Doom启示录>>你能发现刚开始IdSoft起家也是以山寨游戏
起家的,而且当时市场上奇奇怪怪的软件,游戏遍地都是,软件版权也没有保护.
西方盗版其实也是很严重的,要知道各大0day warez组织几乎都是外国的,中国的破解组织
已经木有了(当初的CCG,BCG,DFCG,FCG,XXXXCG几乎都已经销声匿迹了),
即使是今天现在我们玩的盗版游戏也都是国外流出的.人家的正版意识也是一步步建立起来的,
当然了现在我们有了网络自然运作方式可以不同一些...

说回来了,造成今天这样局面的就是我们自己,自己不尊重别人的知识产权,
却希望别人尊重自己的劳动果实,借助大量的开源软件迅速的占领市场,
但是又没有在这个基础上进行更高级的产业链升级,而且大家一看你火了纷纷抄袭,
说到底还是抄袭成本太低,而且产品过于单薄,完全没有形成产业链.
ARM现在直接威胁到Intel靠的就是群狼战猛虎产业链战略,
中国都讲垄断,什么都垄断,做到一定规模就垄断.某些公司就是不想给别人活,
只是目前来说技术跟不上(早年ARM战不过Intel不也是技术跟不上么),
只要有一家公司站出来提供完善的技术支持.某公司的抄袭战略就全部瓦解
(某些高端黑甚至会反向抄袭,你什么火就抄袭你什么)
ARM可以达到今天的市场规模也就这样的战略,
为大家服务,大家才会为你服务.完善产业链是对抗抄袭的很重要的一步,

中国现在大部分企业家的思维是拥有国外的工具和代码就等于拥有国外的技术,
他们拼命的上开源软件就是可以不花钱马上占有别人的技术,然后自己的产品就高端了,
真的是这样么?中国动画也拥有日本的技术,但是你看看效果就知道了.
拥有相同的技术就能做出一样棒的东西?

现在中国软件刚刚起步,有公司靠技术垄断行业的是有可能,但是总会技术达到瓶颈,
或者技术相同的一天,如果真的是这样了,大家靠的是什么?
这个思路可以套在任何领域.我们一边过分的夸大技术的重要性,
一边又不重视自身的技术研发.不是有自相矛盾么?

即使某宝,某浪都一样,看似开源其实都是低端的东西.
套用一个好听的名号开源就上马了,缝缝补补的工作,
说得再好听也还是缝缝补补.国外技术比国内发达的原因是重视基础研究,
国内是借助开源工程的名号打自己的名气.

他们所作的开源真的对技术有推动作用么?使用者多就是有技术推动作用?
推动和推广是不一样吧?奉劝一句别自欺欺人了,通过开源软件的学习提高自己的技术
这句话其实绝大部分人做不到.想学习技术直接去看论文好了,更直截了当.
开源软件上学到的东西大部分就和linux的shell脚本一样,只是一个技巧
技术进步是思维上的进步,技巧总会过时的,但是技术思维永远都有用得到的地方.

看基本技术书籍学到的也不过都是一堆技巧性的东西,技术思维的本质只能靠自己理解,
然后技术只是基本功,如何用好技术就得看对行业的了解,对需求的了解,
最终还是要回到业务需求上(当然这个需求不一定是客户提出的),
个人觉得软件架构师应该比客户更了解他们需要什么才对,
你只有比你的客户更精通业务和运作方式你才能开发出他们需要的东西,
大部分客户是不知道自己需要什么,就是不知道自己需要什么才想借助软件来改变自己的目前状况

什么性格的人选择做什么行业.但是更要学会运作自己的事业
一帮做技术的可以请一个专业的职业经理人来管理公司的业务
一个做业务的高手也可以请一帮做技术的来给做自己打工(中国主要是这个)

技术型公司高瞻远瞩.掌握技术发展和产业质量占据中上游市场
业务型公司只能靠自己的关系和对行业的了解来发展占据中下游市场

但是不代表技术型公司做不大,在国外大公司几乎都是技术型公司,
大公司反而最注重基础技术研发,反观国内几乎都是套开源工程玩技巧的,
开源也是那些封装的技术,说到底还是人家的东西.当然你可以说好东西都没拿出来过
所以说是不是真开源一眼就看出来了...

可是为什么中国的技术人员都是给别人打工自己不搞个公司聘请个职业经理人来打理公司呢?
这就是僵化思维的问题了.没钱不是借口,而是没有自己真正的核心竞争力.
这点非常重要.技术人员不在乎手中的技术的时候就是一个真正的高手了.
(就和武林高手.做到手中无剑心中有剑,人剑合一一样,手头有什么不重要)
不说最高层了.可以做到这层已经是非常优秀的公司了.
那些业务型公司就基本上无法竞争了.
当然你要知道一点如何让客户买你的账这点也是技术人才需要关心的.
(技术人员应该比客户更了解客户需要什么!)

你做出了客户需要的东西,客户就会给你钱,当然什么私下关系什么的,这个各个公司都这样,
你掌握技术你的研发成本就比别人的低,质量更好.这样你可以拿来搞关系的钱就更多.
业务也就更多..这些是做业务型公司无法比拟的
有钱就有关系,大家的关系也都不是生下来就有的,有钱了自然就有关系,就看谁给的钱多了.
掌握人的本质和掌握技术的本质其实是一样的方法.

//=================华丽且低调的分割线==============================================

每个人都有哲学观,这就是每个人的世界观,抽象成一个思想就是这个人的哲学观了.
不同的哲学观诞生了不同的技术.不同的实现方式.

图灵也许是因为自己不善于与别人交流,于是花了大量的时间用于人与人状态思考上.
发明了图灵架构.
冯诺依曼以数学结构的思维去思考,将所有理论都公式化,什么都应该是可预测的,
可以分析可以有一定运作模式的.于是发明了冯诺依曼体系

同样是科学怪人,有的科学家是要复活死去的亲人,于是开发的那种有思维的怪人
有的只是想开发一个陪伴自己的人.比如剪刀手爱德华
还有人因为不相信人类所以把大量的时间都放在人工AI方面的研究,以至于取代人类,
某岛国科学家因为满脑子都是...所以开发仿真机器人
不同思维的人创造了不同的技术

包括工业化流程如何诞生的?本身就是一个将人视作零件的一种设计,
的确人在许多生产中都是不靠谱的.也许某些体系最大的漏洞就是人类

我不是苏格拉底,不是柏拉图,也不是亚里士多德.
同样是师生,这三位算是最有名气的三种哲学观的代表人物了,
可是我们一直自以为伟大的导师孔子呢?他有哪个学生值得后人称赞了?

学会自己思考比看什么书都有意义,大部分我们所谓的技术都是死的,一种实现方式而已.
设计和应用这些东西的技能才是我们需要掌握的.
个人自己因为家庭关系从小就喜欢一个人玩想东西画画,也许和别人玩是一种幸福吧,
但是现在看来学会自己独立思考也不是什么坏事.

关于学习方面简单的说一下,我不知道你要做什么所以我就说一下这些年自己的经验.
学习是为什么?首先你要是为了考试的话我我就不多说了.
我想说我们应试教育这么多年我们还是没有学会如何应付考试!
应付考试是很容易的事情,只是大部分人都从来没有认真的去学会考试.
当然我也是后来才突然领悟了.考试原来很容易.可是我已经不再需要应付考试了

思维导图开始流行的时候许多人开始神话思维导图,即使是今天思维导图方式的介绍
几乎已经成为标准PPT文档的制作方式了,
许多人无法掌握,或者没有毅力掌握.仔细想一下为什么?因为我们不知道自己需要什么
我们的思维是乱七八糟的.而且思维导图是死的.
建立思维导图很麻烦,更多的东西还是需要背,这些等等的问题.
当然思维导图很有用是真的,只是建立思维导图很麻烦,
比如最早应用于思维导图的就是警察,白板上贴各种线索来关联思考.
其实大家也擅长于这样的思考方式.
人脑比电脑强的地方就是思维和创造能力.不要在乎记忆方式.
反过来思考一下你就知道如何去应付考试了(很简单,许多人没说破而已)

某天我在看图灵机的论文的时候我就在想,如果我要是设计AI的话会如何设计.
以思维导图方式来设计么?我如何来思考问题,总觉得想法很多但是
一到关键的时候我就忘记那些学到的技巧.
举个例子比如厚黑学,估计大家都看过吧,我就不多说了.
刚看的时候觉得好好运用一定有效,但是实际上思考一下,几乎没几个人可以
完全做到一交流就满脑子那种东西,就算有也需要长期锻炼.可是如果你真的是那样的思维了
你失去的将比你得到的多得多得多.
你不想把自己变成那样的"人"吧?最好的办法就是思维可以切换状态.
这个也是每个人想做,但是做不到的.那就用程序化来规范自己的思维好了.

有的时候我们在看书看前面忘记后面,然后每个课程都做笔记,这样效果是不错,
可是真正思考的时候我们用得到么?所以改变思维模式很关键.当然单单靠大脑是没办法做到的.
我们需要的事情思考方式一般都是.经历过的事情,可参考的经验,或者各种可能性的预测
更多的是数据统计得出的结论.然后再做运筹思维.

知识和思维方式真的就和课本一样是每章不相关可以独立记忆的么?
我自己觉得不是,我觉得学习下来的经验应该是一种思维条件,事件发生的一种可能性,
如何把我们遇到的事情套上已有经验来辅助思维呢?
比如<<福尔摩斯全集>>我们在看完一段时间后,总是会情不自禁的去看别人的小动作,
眼神,说话神态,观察他周围物品的摆设,推断他心理变化,但是过了一段时间后热情过了
我们就放弃这样的思考方式了.因为觉得没什么用.或者是累了烦了,
我们的思维经不起这样高度观察每个细节的思考方式.除非你就是侦探每天就干这个事情.
可是商场和战场一样每个条件都要分析.人生其实就和商场模式上是一样的.
可以一起发财的就是好朋友,有利益冲突的就是对手.这些种种条件和复杂的人际关系,
信息收集和管理,统计和预测.这样的辅助思考系统暂时没有,
(当然你会觉得我怎么再说钢铁侠的那个人工智能AI.)即使是那个AI也是给出大量的辅助
意见,这些信息和意见都是经历过的事情,人类来管理这些重复性劳动的事情很麻烦,
所以我一直想自己设计一款适合自己思维,学习,关联各种条件,数据和知识的动态思维软件.
可是一直没有找到一种设计方式.不是太复杂了软件不好设计就是不知道怎么下手开发.
当然最近越来越清晰了.其实给您回这贴的时候我也思考和学习了好多东西.

有人说运筹学太理论化了实际不使用,运筹学是二战诞生的,战场的变化难道不比你一般人遇到的
事情更复杂?人为因素也是运筹的一种条件.
诸葛亮运筹帷幄,他不可能去过高估计自己手中的各种"筹码",蜀中无大将的确也很悲剧,
但是牌不好也应该用最合适的打法去打,这才是运筹学研究的东西不是么?

思考这种东西很有趣也很无趣,有些人说你太理论化了不实际,当然了还是那个说法
八成的人都是没有思维的人,只是顺大流的人,他们的哲学观就是
别人做什么我就做什么,哪怕失败了,反正大家都失败我也心理平衡.成功了大家都成功
那些整天跟风的人不是就是这样么,复制成功者的脚步,就会成功.大部分人没有自己的思维
当然这个世界没有绝对的对和错.运气好也就让他成功了的事情也经常发生.
两者兼顾不是更好么?当然如何做看自己的思维方式.

得到多少和付出不成比例,但是大部分付出总有回报,可能不会立即回报给你,
放开自己的那些不成熟的成见,虽然现在牌不好至少你还有赢的机会,
(某些人天生一把好牌也会输.)不到最后一刻不要轻易放弃.
学会自己的思考方式,了解宏观的才能知道自己微观的要怎么走.
优秀的企业家和大师是不同的,也许有的人一辈子都很优秀,但是他成不了大师.
大师除了要懂得宏观和微观的知识,
不但知道抓住机遇,他们还知道如何创造机遇.

书我不知道要推荐你什么,技术方面的书我想你应该有不少,或者听过了许多,
但是真正教你如何工业化流程和设计思维的书却非常非常少
不是工业化设计流程大家都不想公开
要么就是。设计思维方面的书写的太笼统,而且告诉你架构许多人也不会去反思
为什么他们要这么设计?你只有去了解历史才行...
人如果不去了解历史你是不知道他怎么产生这样的思维的.
所以以前朋友问我,如果你失意了你还是你么?
我觉得就不会是自己了,经历过的事情叫做记忆,那记忆没有了,你以前经历过的事情
积累下来的经验也就没有了.那样的话你的世界观也就不存在了.
所以许多杀手失意后反而成好人了...

我觉得多看点历史书和推理方面的书,学会别人是如何思考的,晚上一个人
沉浸在那种别人思考方式里面观察历史去执行他的每一步操作然后去思考自己的思想变化.
突然觉得...有些缓存数据库保留执行操作不也是这个目的么?
缓存数据库保存了使用最多的数据.刚开机的时候是空的.所以效率非常低,
当你执行了几个礼拜甚至好几个月,你的数据库才达到最佳状态.信息量满了
连古人都知道出本<<贞观政要>>以方面后人去学习前人的执行步奏.
我们现代人不是更要去学会学习这些东西么.

有点长扯淡的东西很多.但是希望对你有帮助...私人联系方式用私信发给你
0
吉迪恩
吉迪恩
真敬仰楼上几位,追看过之前的好多帖子,都擅长于用商业的角度看技术, 用研发的角度看市场。
返回顶部
顶部