1.前端之魂HTML+CSS+JAVASCRIPT
虽然大家都不把HTML看成是编程语言,毕竟单独来看确实作为标记语言的HTML本身是不具备图灵完备的,比如循环和递归,但是如果HTML+CSS的话,也许大家可以认为是图灵完备的。但是由于这三门语言的极大相关性,大家依然把他们放在一起看作是一个编程语言体系来说,希望大家不要纠结于这些细节和理论上的东西,不要更多的去技术的钻牛角尖,而是更多的关注于技术本身和技术所创造的价值。
相信绝大多数人,尤其是普通的互联网用户来说,接触互联网最直观的层面就是用户界面,在技术开发领域通常被叫做前端开发。而这就毫无疑问离不开这三大语言,大家姑且都称之为语言。通常大家把html作为主体,这个主体装载了各种各样的dom元素,而css则主要修饰这些dom元素,然后通过JavaScript去操作这些dom元素。
这就是大致的关系,前端语言是最接近用户的层级,是直接完成用户交互、实现用户和系统之间桥梁作用的核心支撑,近几年来,前端技术变得越来越火。一些优秀的前端开发框架例如vue,react/react native变得越来越普及,并且类似于react native的技术的催生,进一步解放了很多移动端的开发人员,web app的理念,极大的减少了技术投入,适用于多平台,比原生开发不同的平台需要配置不同的开发人员来说,简直是省掉了一大部分人力物力的投入。并且随着微信小程序的诞生,前端技术再一次迎来了新的变革,不过web app目前跟原生应用还有很多地方存在着差距,不过大家有理由相信会越来越好。
2.为web而生的PHP—毕竟PHP是世界上最好的语言
当然Java依然是当之无愧的第一大语言,尤其是在复杂的后台业逻辑方面Java还是具有交大的优势,相对来说更加的严谨,但是对于web开发来说,无疑PHP是当之无愧的王者。PHP语法相对简洁,而且开发效率高,并且对于业务开发具有得天独厚的优势,要知道Facebook、腾讯、微博都是PHP领域的超级大户,如果一个企业更多的愿意做底层的东西,那么底层之外的应用级别的开发选择PHP无疑是最佳选择。还是那句话,PHP就是为web而生的。
当然PHP依然存在着很多缺陷,缺乏规模支持,缺乏多层结构支持,比如大型电子商务网站的话,难度相对较大,因为解决问题最好的办法往往是分布计算、层级分开,在这一点上,PHP无论是跟ASP和JSP来说都存在着较大的差距。不过随着PHP的发展,这些肯定会逐渐得到解决,最后要说的一点是,PHP目前三大核心开发者之一,大名鼎鼎的鸟哥惠新宸应该算是中国编程语言界最大的佛了,当年微博能搞定PHP,鸟哥无疑起到了巨大的作用,不过其实鸟哥是个C程序员,哈哈!
3.跨平台、开源的最佳示范—Java
毫无悬念,对于Java来说虽然最近近10年都是编程语言的榜首语言来说,最近几年一直都在走下坡路,这里面跟C#、PHP的进一步壮大,想必也有比较直接的关系。也许在这个时代,Java的优势比如说跨平台也许已经显得不那么明显了,但是Java的劣势,比如代码臃肿、为了跨平台JVM的存在无疑是伟大的,但是却也导致Java几乎已经成了最耗费系统资源的编程语言。但即使是这样,Java还是当之无愧的第一语言,比如阿里巴巴就是Java技术的坚定支持者,Java的优势在于,处理复杂的业务逻辑、数据几乎是第一选择,比如大型的电子商务网站Java毫无疑问是最佳选择,并且Java拥有大的商业公司支持,并且拥有最为活跃稳定的开源社区,毫无疑问,在这点上,Java具有先发优势。
除此之外,目前移动互联网领域的开发,Android这一最大移动生态,主力开发语言也是Java,所以毫无疑问,Java是目前第一市场语言毫无疑问的。在大型的企业级、金融开发领域,Java更是拥有绝对的统治地位。
不过最近几年oracle公司在对待Java的问题上犯了很多错误,笔者作为一个Java程序员,经常会觉得Java有一天也许会毁在oracle手里,不过不管如何,祝福吧,Java9以后oracle改变了Java的发行方式,希望Java可以解决好既有问题,然后能够更进一步。
4.不可忽视的神秘力量—C#
不管你承不承认,微软的产品你终归是不能忽视的,C# native几乎有了接近C++的原生开发能力,可以说目前至少在桌面开发领域,C#已经是绝对的王者。当当,京东商城,csdn,58同城,凡客,招商银行等等知名网站都和C#有着极大的渊源。大名鼎鼎的程序员问答社区,ASP.NET技术功不可没。
同时微软也渐渐拥抱开源,未来.net也将开源,C#将解决发展最大的阻碍之一,并且随着xamarin被微软收购,C#开源、跨平台有了开源支持,虽然对比Windows平台的银河系最强集成开发环境visual studio,跨平台的VS还存在较大的差距,但是至少大家看到了更多的可能性。visual studio如今已经支持C#开发Android、iOS应用,毫无疑问这也可能是另一个机会,在游戏开发领域,unity3D已经把C#作为默认语言。跟Java比起来,Java具有更好的平台优势,而C#的语言更优秀、更严谨,况且还有VS的支持。
但就形式而言,B/S还是Java更具优势,C#的优势目前更多集中在C/S,但是未来如何,未可知,毕竟Java这几年一直在被蚕食份额,甚至是生态级别的蚕食。
当然互联网还在不停的发展,还有很多语言在发展和进步当中,这两年随着人工智能的火热,python语言、函数式编程也变得更热了,而且python语法更加简洁,变得也越来越强大,Google的Go语言、Apple的新语言swift语言,其实从语言的角度来说都是非常不错的语言,只是目前来说应用场景局限,并且平台支持还不够强大,但是未来的事情也未可知,毕竟事物都是发展的,编程语言也不例外。
mysql性能分析工具,mysql 取第n,mysql只读不写,mysql 正在运行sql,mysql 备份选项,mysql 订单与商品例子