所以像我们这些从C++转来的程序员,就会毫不犹豫地选择MVC架构,除了SQL用LINQ取巧之外,其他地方都用“相对笨拙”的方法实现。但是结果却是:一旦实现,就很容易维护、重构、改造,可保未来5年即使业务千变万化,架构依然稳定。
在嵌入式、移动互联里边也肯定存在同样的事情。
第二种则是引入新思想。
本篇延续了技术与语言I的内容(之十二),搜集了之后大家的一些评论和我的反馈,整理在这里。
比如C#是一种很灵活的语言,其特点在于可以让很多不太会编程序的人拿起控件就能使用,但缺点也就出来了:这些控件多数MVC不分离,极难重构,用一次造一次,灵活度有限。
老技术既然能存在这么久,自然有其道理。若从事新技术,应该多去学习老技术之神。
这种竞争的残酷性,不是来自于技术新旧,也不是来自于人的差异,而是来自于起跑线的不同。若想获得突破,就应该另辟蹊径。
我自己曾经是一个C++高手,心里很清楚如果自己亲自”无私地“带领一个徒弟,要让他学到我的水平,没有5年做不到;而如果一个人要自学超过我,那可能是10年的事情了(本人编程10年,当年也跟了个师傅才有今天);何况这5年和10年里边,我也在成长,所以几乎是一个无望的竞争。尤其是如果业务市场萎缩,一般水平的人退出,而只剩下高手的老技术。
“新人学老技术有风险”的实质
其实不是说老技术没有学习的价值了,而是指新人依托老技术存活,风险很大。
我们曾经有一次是软件服务器后台用C++,机顶盒则是使用C(相对较老)。后来机顶盒里边总是有问题,就让做后台C++的帮助看一下。
结果发现C由于不是面向对象的,里边有很多设计不合理的地方。帮忙的人就利用面向对象的思想,把整个结构重新整理了一下,立刻就干净多了。因此如果你到了一个C环境,就可以尝试学习一下比C更新一点的C++,来超过一直在用C的老手们。
曾经有一篇文章说MVC把Asp.net变复杂了,本来高中毕业生就能做的工作,弄成要有很深厚的根底才能做的工作了。不过对于老手而言,这种深技术思维反而更好,就不会因为转行到新的技术上,而与新手竞争;反而是利用更困难但更有效的架构能力,获取新的起跑线优势,拉开距离。
不想放弃老技术,怎么办?1. 若从事老技术(比如嵌入式,很多都是老技术)
比如360杀毒软件,其所用语言、业务领域,都与以往杀毒软件没有本质区别,但是其突破在于更人性化,更易用,更明白用户要什么。因此360在衡量人员的技术水平的时候,就不会单独看技术本身,从而给有想法的新人留下了空间。 2. 若从事新技术,应该顺便学习老技术 这是为什么我建议新人尽量学习新技术的原因,毕竟起跑线是公平的。这个在下面还有一种相反情况的介绍。
典型的,在技术中多融入应用的概念,也就是换应用领域,换用户体验。
免责声明:本站发布的内容(图片、视频和文字)以原创、来自互联网转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:ts@56dr.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
Copyright © 2009-2021 56dr.com. All Rights Reserved. 特网科技 版权所有 珠海市特网科技有限公司 粤ICP备16109289号
域名注册服务机构:阿里云计算有限公司(万网) 域名服务机构:烟台帝思普网络科技有限公司(DNSPod) CDN服务:阿里云计算有限公司 中国互联网举报中心 增值电信业务经营许可证B2 建议您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流浏览器浏览本网站