哈哈,人家发展了大几十年的国的国外东西你想十几年赶上超越?怕是失了智,哥们,计算机科技领这要慢慢来的域发依旧,别看不起外国人啊。
我是做智能家居操作系统的,写了将近20年软件,错过了无数次发财的机会,也错过了将疼寻干掉的一次机会,我说说为何落后。的确是落后,就看智能家居这个行业,软件也是大把的需要,但是为何没有国内佳作,主要原因是一个快字害了大家,为了大干快上立刻要效益,就很急,所有人都急,老板急,官员急,学生急,毕业生急,有工作的急,没工作的也急,软件行业就是个深山打铁的行业,出来拼刺刀最后都剩王八拳了。以前开发数据库软件,单位急着要上项目批预算,领导要结果要规模要数字,供应商要盘子要利润,唯独没有人关心这个软件是怎么写的,软件这个事儿不简单也简单,就是耐下心来,做一些基础工作,不要想着发财,疼寻在这个年代里起了特别不好的作用,大家都急着发财,拿开源改个名字就叫原创,要不然就是骗点钱收购,而没有人看长线,甚至看半年都被说成神经病,而软件的基础在于底层的积累,就是那些库,那些模块,那些小软件小工具,才能堆积起微软,甲骨文这样的软件巨头。因为没有这些积累,都在拼名头,拼背景,拼补贴,然后上市,骂街,而且我觉得一句话说的特别好,国人唯一一个能从历史中吸取的教训,就是我们从不从历史中吸取教训。
发牢骚完毕,多谢观看。
外行路过强答,回答有错见谅。
首先,最简单的一点就是,你再发展,别人就不努力了?题主的话其实和大多数父母的想法一样的,你天天学习,怎么还是赶不上人家呢。似乎你只要努力,别人就会止步不前一样似的。很多时候你努力只是保证差距不被拉开而已。
其次,和学习一样,很多时候成绩好坏反而与脑子无关,往往是和一些附加因素有关,例如家庭,例如成长经历啥的。我们发展的最大毛病不就是朝“钱”看么。
直白的说就是,国外发展比我们早,一直在发展没有停止,全面而又成熟,而计算机领域有太多规范是外国人制定的。
不是说绝对,至少国外会出现一些人不以盈利为主要目的去做一件事,而我们这种人很少很少,或者一开始有,但是没多久就被现实打败。
操作系统就是最好的例子,操作系统出不来,它难是次要的,主要的是你出来了,只要不是更好,就没人关注,而正是知道这一点,就没有多少人愿意去搞。
而计算机领域往往不是你做的好就能有市场,先进入的往往有极大优势。当市场优势出现,你做的最好,也只能成为配角。
不明白怎么定义落后的,我们是必须从ENIAC开始重新造一遍,然后让美国人等着我们一路研发一百年开发出来i9,才算不落后吗……
这真是个好问题。
以互联网为例,我一直在互联网行业,我们这个行业看似巨头林立,市值甚至能进入全球排行榜,但其实底层技术基本为0。
中国的互联网公司大多在应用层做商业创业,底层的技术创新基本没有,我们可以做出来电商、社交、外卖、社区团购、p2p、各种o2o,但是在底层技术上,中国互联网公司近乎集体缺席。
几种技术含量最高的软件:操作系统(微软&苹果)、浏览器内核(谷歌)、游戏引擎、编译器IDE、各种专业开发工具(CAD, PS, 3DMax, Maya, Houdini),在这些领域完全看不到中国互联网公司的身影。
不想攻击面太广、抨击太多,就拿在腾讯的经历继续聊一聊这个问题。
腾讯的市值几万亿,研发人员几万人,做出来的产品成千上万,这么来看技术应该很牛逼对吧?
毕业第一年在腾讯工作,做QQ游戏大厅,当时用的IDE是VC6,用的版本控制工具,叫 ClearCase(估计用过的人不多),IBM 开发的。特点是极其严谨、非常强大,但流程极为繁琐,用起来简直让人抓狂,这还是腾讯花了3000万找IBM买的。而业务的代码量几十万行,dll就有几十个,工程编译一次需要20分钟以上。
离开腾讯多年后,问了问,他们还在使用VC6.0,还在使用CleaerCase,原因很简单,更换新版IDE需要解决大量技术问题,而业务又在高速迭代,只好不了了之,更换版本控制工具?历史的各种Log就会丢掉,要是出现什么稀奇古怪的突发问题,还得去看CLeaerCase。
在腾讯工作的时候不明白公司的技术建设为什么这么落后,之后在360工作一段时间才明白,腾讯的核心问题在于两点:CTO缺位、产品业务导向太严重。
这两点导致以下问题:
1.没人牵头做底层技术规划
各个部门各自为战,互不往来,部门之间技术栈的差距比公司和公司的差距还大。每个部门都搞一套自己的轮子,且沉迷其中、沾沾自喜,殊不知早已落后行业水平一大截。
2.缺乏统一规范
大部分bu的代码,随便编译下几百上千个warning,反正不影响产品运行,谁管?优化下搞出新问题谁负责?
更令人发指的是,每个bu都有一套独立的代码规范,有的是自创的、有的用google、有的不知道是哪搬来的。。。
再举个栗子:
很多部门的服务编译只支持C++98,你敢信?
据说是因为老板认为:升级编译器会影响服务稳定性,当然不能瞎升级!
3.绝不分享
这点真是很牛逼,bu和bu之间就像防贼一样,当年看QQGAME的代码,游戏中的聊天室居然都没用QQ团队的即时通讯,是硬生生拿Tcp/ip写的,那个水平真是叹为观止。
问了问组长,为啥QQ团队不做一个公共dll给我们调用。。。组长说:你想的美。
想了想,可能的原因是腾讯内部经常搞赛马,一个新点子4,5个部门同时做,谁做得快谁享受流量支援,就好比微信吧,也是内部赛马,张小龙团队第一个做出来,好了!那就是你了!
在这种情况下,bu的老大都想往上爬,凭什么给你分享技术?
4.代码管理工具严重落后
Git?你想多了,最先进的要算svn,差一点的是CleaerCase,再差点的就不知道是什么稀奇古怪的东西了,反正能用,你管这么多干吗?
5.技术Leader低位较低
既然是产品业务导向为主,那技术就是干活的,腾讯是几家巨头中,技术人低位最低的公司。阿里就不用说了,各种高P在互联网的江湖猛刷存在感,就连百度的技术人的地位也比腾讯高一大截。
技术总监在大老板心目中远没有产品总监、运营总监重要,这真的很要命。
技术建设的严重匮乏,会导致基础同学浪费大量时间在一些简单的问题上,可以说腾讯的技术很多加班都是在人肉填坑。这一点在我跳槽去了360之后才有了深刻体会,别看360相比腾讯是家小公司,但在技术底层建设上要先进太多,在这种环境下编码是一种轻松愉悦的心情。
当然,腾讯的技术建设虽然烂的不行,但丝毫不影响腾讯的产品业务和用户体验,尤其是用户体验,世界一流。
最后说下我对腾讯技术建设严重落后的总体看法:并不是腾讯技术员工能力问题导致某些技术落后,完全是业务和商业市场的选择导致。
另外,我不后悔在腾讯做过技术,我认为程序员职场初期(前五年)进大厂是非常必要的,先不管技术建设如何,最起码完善的技术培训体系、薪资福利、更人性化的管理、人才密度等等,完全碾压小厂。
其实不管是腾讯还是阿里或者百度,程序员能去这样的公司工作,无论是对职场发展还是从镀金的角度,都非常完美。
另外给大家送一份硬核资料,算法是计算机大厦的基石,算法好的人学其他计算机体系基础知识非常轻松,大厂面试都会考核算法,有的面试官甚至要求手写。
这里给大家送一本阿里P8撰写的算法刷题笔记,身边不少朋友通过它加入腾讯阿里:Github 疯传!史上经典!阿里大佬「LeetCode刷题手册」免费下载了!
祝大家前程似锦,在编码的道路上一马平川。
码字不易,如果大家觉得我的分享有用的话,请帮我
@findyi
点个赞,一键三连呗,笔芯~