泰安营销型网站建设,辽宁省城乡和住房建设厅老网站,扬州市城乡建设局网站首页,西安有什么好玩的上个世纪#xff0c;数百种编程语言被发明出来#xff0c;但是进入21世纪#xff0c;当我们都进入互联网时代时#xff0c;只剩那么寥寥几个了。 如果你翻一下TIOBE得编程语言排行榜#xff0c;就会发现20年来#xff0c;上蹿下跳的就是那几张老面孔#xff1a;C , Java…上个世纪数百种编程语言被发明出来但是进入21世纪当我们都进入互联网时代时只剩那么寥寥几个了。 如果你翻一下TIOBE得编程语言排行榜就会发现20年来上蹿下跳的就是那几张老面孔C , Java, Python ,C , C#, JavaScript......80年代后期平均每个月就会出现一种新语言现在平均每年出现一个就不错了。 我有点好奇就去扒了扒其他编程语言的出现时间把他们分成了分为中生代、新生代和 老年代。 先看中生代的家伙们20多岁30出头正是编程的中坚力量。Python : 1991Visual Basic : 1991PHP : 1995Ruby : 1995Java : 1995JavaScript : 1995C# : 20001995年还真是神奇的一年啊几位大佬同时诞生。再看这些老前辈尤其是C语言老而弥坚屹立50年不倒把系统级编程吃得死死的。Lisp : 1958Pascal : 1970C : 1972Objective-C : 1984C 1985Object Pascal : 1986新生代则活力无限 锋芒毕露对老家伙们虎视眈眈。Go : 2009Rust : 2010Kotlin : 2011Elixir : 2011Julia : 2012TypeScript : 2012Swift : 2014新生代只是它们想挑战中生代的地位抢班夺权希望渺茫。 主要有这么几个原因1. 编程范型没有变化还是老三样面向过程面向对象 函数式。 在冯诺依曼架构下恐怕也不会出现什么新的范型了吧。 现在TIOBE排行前十的中生代语言完美涵盖了这些范型例如Java刚诞生的时候支持面向对象但是后来补上了函数式这一课。像Python、JavaScript一开始就支持面向对象和函数式编程。2. 开发领域开发领域有桌面开发、Web开发、系统级软件开发、后端开发数据分析人工智能等。 中生代的编程语言不但这些领域看得死死的还互相扩展侵入对方的领地。 其中最典型的就是JavaScript这个屌丝的逆袭一开始不过是寄居在浏览器中的一个小语言后来通过V8, Node.js竟然进入了后端还用Electron蚕食桌面开发Python也是本来用它写点儿小工具开发点儿小网站后来竟然傍上了人工智能这个大款从此发达了。3. 生态系统Java , Python, JavaScriptC C#等经过这么些年的发展哪个不是积累了海量的类库哪一个没有庞大的生态系统想动它们没有一场革命是绝对不行的。新语言即使很好但是看看那么多现有的代码谁敢轻易切换4. 时代的红利Java遇到了互联网Python遇到了大数据和AI JavaScript遇到了前端开发 时代的机遇让它们爆炸式发展。 Go的运气不错遇到了云计算强势崛起。其他几位想要出头那是相当难了。我曾经悲观地认为主流的编程语言已经都被发明出来了 以后新出现的语言都是改进改良没法闹革命翻身了。 举个不恰当的比喻 C, Java, Python, JavaScript,C# , C, PHP 就像现在的西方七国集团牢牢占据着最大的市场然后只要有新人冒出来就会受到无情的打击。就像现在中国想技术突破被美国和西方不择手段地打压一样。 点击下方漫画可以查看详情但是也并不绝对就像中国一定要向上突破一样我看到在系统编程领域也有一个新星冉冉升起Rust。Rust虽然没有发明新东西但是却融合了多种语言的特性和多种编程泛型它不但包含了上面说的三大编程范式还集结了泛型、底层内存管理、所有权等特性可以说是一个集大成者(这也恰恰是它学习曲线陡峭的原因)。Rust是一门同时追求安全、并发和性能的现代系统级编程语言有望挑战C语言的地位。当然编程语言少对程序员来说是好事程序员可以少学一点东西少掉几根头发。最后再聊聊人工智能时代的编程问题我在《天才程序员》中看到一个有趣的比喻说普通的编程就像循规蹈矩的机械装置机器会一板一眼地去执行程序员在逻辑的宫殿中穿行沿着头脑中的路线行走一切都有章可循。但是训练神经网络就完全不同程序员和程序之间更像园丁与田园的关系。豆角为什么突然不长了西红柿为什么不好吃园丁可能会换换土壤可能会调整一下作物之间的距离也有可能把豆角转移到阳光充足的地方或者少用些肥料成功了它们又开始茁壮成长了园艺技能的长进有赖于数之不尽的实验和来之不易的经验。很多新手园丁栽种的第一批作物要么长不好要么就死了。但最终经过不断试错和借鉴同行的经验园丁们会积累更多知识形成难以言传的直觉比如什么有效什么无效。此时如果你带他们去新的田园即便那里的土壤和光照条件完全不同他们也可以很快弄清楚哪些作物更适合在此处栽种。看到了吧虽然编程技能必不可少但是重点变成了收集数据不断训练不断调整然后“祈祷”程序奏效。不知道这是程序员的幸运呢还是不幸福利时间到免费包邮送5本书《软件平台架构设计与技术管理之道》作者由维昭清华大学2002级软件工程专业硕士研究生。本书以复杂平台顶层设计为线索作者使用接地气的技术语言轻松叙事的写作风格提炼近20年软件平台技术工作中的心得体会整理出如此多的锦囊执笔成书与读者分享。书中内容引经据典多处引用成语、谚语大量使用比喻写法期望带给读者原生态技术语言之感受体现软件平台技术工作中的情愫和品味。点击下面链接即可参与抽奖中奖者务必填写联系地址。