最近微信小程序比较火,我赶快在书架上拿出三年前买的书,把上面的土擦干净,压压惊。
作为一个并不是资深的程序员。 从程序员的角度分析一下微信小程序,欢迎指点。
首先吐槽
微信小程序只发了200个邀请号,和我预想的一样,张小龙并没有翻我牌,难道就不能雨露均沾吗?
先来了解下什么是微信小程序。 转自知乎
微信也许重申了"我们是一款约炮软件"
微信还提供了一大堆接口和组件(不好意思,说了句废话)。
下面是禅叔的观点:
小程序原理就是用JS调用底层native组件,和React Native非常类似。恰恰又证明了,凡是能用JS开发的最终都会用JS开发。
证明:凡是能用JS开发的最终都会用JS开发
解:
据我多年经验,这句话是一个真命题。
语言的设计者是有两个派系的,有些人认为程序员语言应该防止程序员干蠢事,另一些认为程序员应该可以用编程语言干一切他们想干的事。 C/Java语言是前一个阵营的代表, JS是后一个阵营的代表。
往往第一个阵营的语言强调性能, int就是int,double就是double 还第二个阵营就是强调便利性 ,int是var , double还是var。
选择语言的时候,其实就是在做选择题。是选择便利还是选择性能。
往往新出的语言便利性都很强,是因为硬件性能提高了,从而可以为了便利性放弃性能要求。
编程语言的主要矛盾就是程序开发的便利性和硬件水平的矛盾。
如果能够穿越回到70年代(首先在中南海西面买块地), 那时候你坐在庞大的计算机面前写代码的时候,无意间小手一抖,多敲俩空格,然后程序oom。
不要感觉上面的事情不可思议,那时候内存低的可怜,每一个字符都是严格定义的,不允许任何浪费。能运行java虚拟机都是天方夜谭,怎么可能会有java语言。
节俭是一种美德,浪费不一定是坏事情
随着硬件性能的提高,出现了越来越多的编程语言,新出的语言往往性能上浪费,便利性上提高。要是按照几十年前的标准衡量,有一些使用新语言开发的热门应用程序对硬件资源浪费非常惊人。
不仅编程语言有这种现象,这实际是一种普遍的历史趋势, 随着技术的发展,每一代人都在做上一代人觉得浪费的事情。你可以想象下30年前打个长途电话,而现在,别说长途电话了, 有的人都就坐飞机去约炮了,这个在以前很难想象。
浪费可以分成好的浪费和坏的浪费。用更多的浪费换来简单的设计,并不是什么坏事。
如何才能充分利用新硬件更强大的性能最有利地“浪费”他们?
这时候问题就回到了开始, 证明:凡是能用JS开发的最终都会用JS开发
JS这种语言扩展性极强, 性能比起其它语言只能呵呵了。 但是硬件速度会提高很快。
Paul Graham算过,如果摩尔定律一直成立。一百年后计算机的运行速度是现在的74乘以10的18次方倍。(准确地说是73 786 976 294 838 206 464倍)
终有一天,你会在选择的时候忽略性能,选择便利性。
以前上学的时候,经常去网吧玩大话西游和传奇。而现在随便一个页游就能做出这种游戏效果。10年前你很难想象在网页上能玩这种游戏。
你现在就可以尝试想象一下若干年后,打开网页能玩魔兽世界。这并不是不可能实现的。
强调性能的语言还能否生存
我们都知道C/C++ 就是强调性能的语言, 我们做游戏或者视频播放的都是要求性能的。他们会不会被新的语言取代呢?
我可以郑重证明,不会的。
虽然上面我说的Java语言属于强调性能的第一阵营的语言。但是相对于C/C++ 它显然是增强了便利性。
语言是发展的,是迭代的, 随着硬件性能提高,基本上每个节点下都会产生新的语言,相对于之前的语言浪费性能,增强便利性。
但是很难取代之前的语言,对性能要求高的程序依然会出现的, 即使以后可以在网页上玩魔兽世界,但是还会出现 超级魔兽世界,泰坦世界, 宇宙世界 等等一大堆新的对性能要求较高的游戏。
微信小程序会取代其它APP吗?
问题回到我们的主题微信小程序上,微信小程序会取代其它APP吗?
我的观点很明确,
现在不会取代,以后会,但是以后会出现以后的微信取代不了的;以后的以后会取代以后的,但是以后的以后会出现以后的以后的微信取代不了的 .....
其实也不难解释,10年前我们不能在网页上玩传奇, 但是现在可以。但是现在又有了魔兽世界,也许10年后网页上就能玩了,但那时候肯定还会出现 超级魔兽世界之类的游戏不能在网页上玩。
作为一个程序员,我们需要学什么?
有的人会担心,微信小程序出来了, 做Android、iOS开发的会不会失业啊。
其实你大可放心,只要你会学习,永远不会失业,你不学习,就算微信小程序没有推出你也会失业。
就目前而言,小程序始终是小,场景有限。还不能完全取代APP , 还可以通过小程序引导用户下载APP。就像简书一样,网页端能浏览不代表不开发APP软件。
但是要认清大的趋势, 这段时间就是用来给你学习的。
具体怎么学啊?
看文档学习呗, 首先了解JS语法基础, 了解React Native原理,学习JS , RN,H5,CSS,运营,测试,产品设计规范,图形设计,神经网络,OpenGL.........
总之,根据具体文档,用到什么学什么。
作为一个程序员,你可以忘了学习的高数,可以忘了学习的英语,可以忘了学习的线性代数.... 但是千万别忘了学习。
在中国,程序员能干过三十五岁就不错了。外国的VB程序员可以做一辈子,在中国行吗?。。。不行,只会死路一条!
因为中国软件市场不规范,开发工具、平台都是盗版,使中国的通用软件变的很不值钱。软件开发者的最终产品,很可能会被盗版的血本无归。。。在产品不能给公司带来利润的同时,开发者又有什么价值呢?更为恶略的是,因为盗版开发工具,所以使得公司无忌惮使用最新,更新的工具。。。做为程序员的也就要不停的学呀学。。。结果就是什么工具都能用,但什么也用不精通!对用户来讲,也是不公平的,因为这样追新的产品根本没有可维护性。
在这样的环境下,你还指望程序员干多久呢?
记得有一次,在网上下载了一套流媒体点播软件,服务器端和客户端,运行前都会d出一个窗口提示一段文字,大意是说如今做程序员很可怜,希望大家能支持正版,让他们养家糊口!。。。。不过,我下载的依然是破解版。虽然它的正版只售299元。
最后我也感觉挺难过的,就把盗版给删了~~~
-------------------------------------------------------
所以,我认为,程序员最大的乱人,就是盗版!如果盗版得到控制了。我想我们的程序员别说60,就是80也没问题。而且在很多领域,会出现更多的大师级人物!
并不是所有的程序员都会在35岁的时候失业,但多数程序员确实会因为年龄的问题而变得非常尴尬。
之所以会这样说,主要是因为互联网行业的更新节奏速度非常快,同时也是一个高竞争的行业。在互联网公司里,每年都会有大量的年轻人到来,这就意味着很多年龄比较大的程序员可能会受到一定的挤压。特别是当程序员的工作本身需要加班的时候,当一个人年龄到达35岁之后,很少会有人能够坚持长期加班,所以35岁以后的程序员自然就没有那么吃香了。在此之后,有些人会选择转业,有些人都会选择返回自己的家乡。
并不是所有的程序员都会在35岁失业。
这个道理其实非常简单,即便很多程序员在35岁前后会考虑重新择业的问题,但如果一个程序员的工作能力非常强的话,这个程序员非但不会担心工作的问题,反而会做得越来越好。但对于多数程序员来说,35岁左右失业确实是一个客观的现象。
很多程序员会选择重新择业。
对那些离开互联网公司的程序员来说,因为他们本身已经有了一定的物质积累,同时有着一定的行业经验,所以他们可能会选择同心择业。有些人可能会选择继续在别的互联网公司上班,他们的工资待遇可能会相应缩减。对于那些人来说,有些人都会选择返回自己的家乡,并且从事更为基础的工作。不管怎么样,每个人的工作都是为了自己的基本生活,所以我们也没有必要去过分纠结工作形式的问题,只要一个人能够把自己的生活过好就可以了。
总的来讲,35岁不仅是程序员的一道坎,也是很多职场人士的一道坎。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)