当前位置: 首页 > news >正文

为什么北欧的顶级程序员数量远超中国?

说起北欧,很多人会想到寒冷的冬天,漫长的极夜,童话王国和圣诞老人,但是如果我罗列下诞生于北欧的计算机技术,恐怕你会惊掉下巴。

52a03ff4720eb0769a81ca99b4d8f833.png

Linux:世界上最流行的开源操作系统,最早的内核由Linus Torvalds开发,芬兰人

a07482bbee13f2e7a655d37f0bd3ca35.png

MySQL:世界上最流行的开源数据库,主要的开发者是Monty,芬兰人

abbc300cc16d8fb3423597d43271f39e.png

Chrome V8 :世界上最流行的JavaScript引擎,主要作者Lars Bak ,丹麦人

8e11f74c068b95f079ae932c793c4218.png

MineCrfat:世界上最流行的沙盒游戏,主要作者Markus Persson,瑞典人

5b930526288b04c4476c3b0507b2ebd5.png

cURL :世界上最流行的,支持各种网络协议的数据传输工具和库,被全球有100亿台设备使用,作者Daniel Stenberg,瑞典人。

8e4c5db579daef0fb3519f19356e4a06.png

SSH世界上最流行的加密的网络传输协议,最早由Tatu Ylönen开发,瑞典人

fa326ae9e2b3f96fa422805e478ddada.png

QT :  流行的跨平台GUI框架,最早由Haavard Nord 由 Eirik Chambe-Eng开发,芬兰人

01ae9ab0dd48c8e370d8d78f587884c8.png

Unity: 世界流行的游戏引擎,由3个丹麦人发明

面向对象技术:Dahl 和 Nygaard 于上世纪60年代发明, 挪威人

这些技术哪怕在中国出现一个,绝对会吹上天。

更不用说北欧还诞生了Turbo Pascal(丹麦),即时通信软件Skype(瑞典+丹麦),在线流媒体平台Spotify(瑞典),浏览器Opera(挪威)......

要知道,北欧包括丹麦(587万人)、芬兰(554万人)、冰岛(37万人)、挪威(540万人)和瑞典(1042万),合计2760万人,还没有中国一个省人多。

北欧为什么能诞生这么多改变世界的计算机技术?

难不成是因为身处高纬度地区,长夜漫漫,总想着搞点儿发明创造?

这个问题我很好奇,搜索了一番,发现了这些可能的原因:

1. 教育优势

北欧的教育非常发达,拥有高质量的教育体系,许多人接受了高质量的教育,包括计算机科学和软件工程领域。

2018年,各国公共财政教育支出占GDP比例,按从高到低排名,前五名是挪威,丹麦,芬兰,冰岛,瑞典,北欧5国霸榜,遥遥领先。

e3b04dc5ed0a0119603549f8ebc06417.png

尤其是挪威和丹麦,超过了7%, 其他三国也在5.5%以上。

不仅投入高,北欧的教育特别注重学生的自主学习和实践能力培养,同时也致力于为学生提供多元的学科背景和跨学科研究的机会。

例如瑞典,从小就注重提高公民科学素质,小学课程设置以培养兴趣为主,除语文、数学和自然等必修课外,还有家政课和手工课等培养动手能力的课程。

高中毕业后的学生一般先工作1-4年后再读大学,由于学生具有了一定的工作经验和社会经验,知道自己需要学习什么,对什么感兴趣,所以学习起来思路和灵感就会很多。

2. 重视IT技术

像Linux之父,MySQL之父,还有很多其他北欧大佬,都是十几岁就有了自己的电脑,开始玩游戏,玩不过瘾自己写游戏,从此走上编程之路。要知道这是在七十年代末,八十年代初,电脑还属于贵重物品,北欧发达的经济为孩子们提供了接触最前沿IT技术的机会。

对于一些不富裕家庭,政府会承担起责任,例如瑞典在1998年推出了“每个家庭至少一台电脑”的政策,对推动IT技术发展影响极为深远。

政府鼓励企业付费给员工买家用电脑,就能减免税费,员工不论职位高低,连清洁工都包含在内。

这个计划实施了3年,到2001年已经有85万个家庭购买了电脑,涵盖了瑞典将近25%的家庭。

Klarna(网络支付公司)的创始人西米亚特科夫斯基对此非常感慨,他说:像我们这样的低收入家庭,根本负担不起买电脑的开支,但是当政府一推出改革措施,我母亲第二天便买了一台电脑。

西米亚特科夫斯基在16岁起就可以在家中学习编程,20多年后,他的Klarna网络支付公司估值达到460亿美元。

瑞典还积极投资建设网络基础设施,1995 – 2005短短十年间,网络渗透率由5%暴涨到85%,手机渗透率由22%到超过100%(意思是平均每个人拥有超过一只以上的手机)。相比发明网络与手机的美国,在2005年的网络及手机渗透率却分别只有68%和69%。

网络的普及,成为信息科技创新企业的温床,这一点中国也应该深有体会,4G普及以后,中国移动互联网产业大爆发,一下子涌现出了大量的互联网公司,深入生活的方方面面。

3. 社会福利兜底

北欧五国是全世界著名的高税收高福利国家,丹麦72%的税收用于各种福利,挪威和瑞典社会福利支出占GDP的34%和38%,高支出建立了让人羡慕的福利体系,我这里不想再列举枯燥的数字了,总结来说就是:

不用担心生孩子,国家每月发钱,产假极长,亲子假机多。

不用担心上学,教育免费,还有补贴。

不用害怕生病,医疗完全免费或者费用极少。

不用害怕失业,失业补助非常可观。

在这样的环境中,人们不会那么焦虑,可以把更多的精力和时间投入到自己真正喜欢的领域,而没有后顾之忧。

新创业的太阳能公司 Trine 的创办人 Sam Manaberi 说:“良好的社会福利制度就像安全网,让我更能无后顾之忧地投入创业之中。(创业失败)最坏的情况就是我没有薪水,但是我的小孩还是能享有医疗及教育。”

Klarna的创始人西米亚特科夫斯基表示,自己的巨大成功可以归功于国家的福利制度。如果生意失败或者失业,也不用担心破产。

我时常会想,如果中国也能提供这样的福利,以中国的人口数量,会不会有大量的天才追随自己的兴趣,实现发明创造呢?

4. 鼓励创新的文化氛围

“创新者需要有独立的人格,而不是对权威惟命是从;他要有独立的思考能力和判断能力,而不是人云亦云;他要有平常心,而不是患得患失;他是一个安宁的、踏实的人,而不是心情浮躁,急于求成。”---易纲

北欧尤其是瑞典的教育从小学开始就是讲究和谐、平等,一切都任由天性和本能,从小就树立和培养出放松心态,让有创新能力的人基于个人兴趣,而不是带有功利思想,从容地进行发明创造。

瑞典上大学免费,基本想上就能上,但是瑞典青年上大学的比例在欧美国家并不算高,很多人更喜欢去职业学校学习自己喜欢的东西,

当然,这种心态也需要高水平的社会经济做支撑,需要和民族的文化积淀联系在一起,别的国家不一定有这样的土壤,更不能全盘照搬。

结语我写公众号这几年,遇到过不少小天才,有的在六年级就开始读《计算机程序设计艺术》,谈起C++编译优化头头是道;有的在初三写虚拟机,手搓操作系统...... 考虑到中国庞大的人口基数,这样的孩子应该还有很多,如果在成长的过程中如果有良好的环境,未来的生活没有后顾之忧,一定会迸发出强大的创造力,可以像北欧的程序员那样开发出众多世界流行的软件。

如果他们长大后还像如今程序员那样,被繁重的工作、高昂的房价、被医疗、教育等问题压得喘不过气来,恐怕我们只能继续去羡慕别人了。

参考资料: http://www.malaysiaeconomy.net/id_232321/d32vaa4z1a11/2016-02-11/37059.html

可以点击下方图片,进一步了解北欧各位大佬的故事

40f477b6a802dfbeaf4bf7e10aedf9ee.png

a82252940d82d07a2259012fd3048498.png

9ddc9478fd11f61d0bfd188855b34102.png

b03120761ce4ad078d40aceeffce8d37.png

相关文章:

为什么北欧的顶级程序员数量远超中国?

说起北欧,很多人会想到寒冷的冬天,漫长的极夜,童话王国和圣诞老人,但是如果我罗列下诞生于北欧的计算机技术,恐怕你会惊掉下巴。Linux:世界上最流行的开源操作系统,最早的内核由Linus Torvalds开…...

vuex getters的作用和使用(求平均年龄),以及辅助函数mapGetters

getters作用:派生状态数据mapGetters作用:映射getters中的数据使用:方法名自定义,系统自动注入参数:state,每一个方法中必须有return,其return的结果被该方法名所接收。在state中声明数据listst…...

20230311给Ubuntu18.04下的GTX1080M安装驱动

20230311给Ubuntu18.04下的GTX1080M安装驱动 2023/3/11 12:50 2. 安装GTX1080驱动 安装 Nvidia 驱动 367.27 sudo add-apt-repository ppa:graphics-drivers/ppa 第一次运行出现如下的警告: Fresh drivers from upstream, currently shipping Nvidia. ## Curren…...

2023腾讯面试真题:

​【腾讯】面试真题: 1、Kafka 是什么?主要应用场景有哪些? Kafka 是一个分布式流式处理平台。这到底是什么意思呢? 流平台具有三个关键功能: 消息队列:发布和订阅消息流,这个功能类似于消息…...

23种设计模式-建造者模式(Android应用场景介绍)

什么是建造者模式 建造者模式是一种创建型设计模式,它允许您使用相同的创建过程来生成不同类型和表示的对象。在本文中,我们将深入探讨建造者模式的Java实现,并通过一个例子来解释其工作原理。我们还将探讨如何在Android应用程序中使用建造者…...

English Learning - L2 语音作业打卡 双元音 [ʊə] [eə] Day17 2023.3.9 周四

English Learning - L2 语音作业打卡 双元音 [ʊə] [eə] Day17 2023.3.9 周四💌发音小贴士:💌当日目标音发音规则/技巧:🍭 Part 1【热身练习】🍭 Part2【练习内容】🍭【练习感受】🍓元音 [ʊə…...

【动态规划】多重背包问题,分组背包问题

Halo,这里是Ppeua。平时主要更新C语言,C,数据结构算法......感兴趣就关注我吧!你定不会失望。 🌈个人主页:主页链接 🌈算法专栏:专栏链接 我会一直往里填充内容哒! &…...

JAVA面向对象特征之——封装

4.封装 private关键字 是一个权限修饰符 可以修饰成员(成员变量和成员方法) 作用是保护成员不被别的类使用,被private修饰的成员只在本类中才能访问 针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作 提供 “get变量名()…...

【数据结构】二叉树相关OJ题

文章目录一、单值二叉树二、检查两颗树是否相同三、判断一棵树是否为另一颗树的子树四、对称二叉树五、二叉树的前序遍历六、二叉树中序遍历七、二叉树的后序遍历八、二叉树的构建及遍历一、单值二叉树 单值二叉树 题目描述 如果二叉树每个节点都具有相同的值,那…...

Windows安装Hadoop

当初搭建Hadoop、Hive、HBase、Flink等这些没有截图写文,今为分享特重装。下载Hadoop下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/以管理员身份运行cmd切换到所在目录执行start winrar x -y hadoop-3.3.4.tar.gz,解压。配置…...

ICG-Hydrazide,吲哚菁绿-酰肼,ICG-HZ结构式,溶于二氯甲烷等部分有机溶剂,

ICG-Hydrazide,吲哚菁绿-酰肼 中文名称:吲哚菁绿-酰肼 英文名称:ICG-Hydrazide 英文别名:ICG-HZ 性状:粉末或固体 溶剂:溶于二氯甲烷等部分有机溶剂 稳定性:-20℃密封保存、置阴凉干燥处、防潮 分子…...

【论文阅读】浏览器扩展危害-Helping or Hindering? How Browser Extensions Undermine Security

本文来源于ACM CCS 2022; https://dl.acm.org/doi/10.1145/3548606.3560685 摘要 “浏览器扩展”是轻量级的浏览器附加组件,使用各个浏览器特定的功能丰富的JavaScript api,为用户提供了额外的Web客户端功能,如改进网站外观和与…...

线性和非线性最小二乘问题的常见解法总结

线性和非线性最小二乘问题的各种解法 先看这篇博客,非常好:线性和非线性最小二乘问题的各种解法 1. 线性最小二乘问题有最优解 但是面对大型稀疏矩阵的时候使用迭代法效率更好。 迭代法 有Jacobi迭代法、 Seidel迭代法及Sor法 【数值分析】Jacobi、Se…...

数据库知识点

数据库是指按照一定规则存储、组织和管理数据的系统。在现代化的信息化社会中,数据库已经成为了各种应用系统中不可或缺的一部分。因此,对于数据库的知识掌握不仅是计算机专业人员必备的技能,也是各个行业从业者必须具备的基本素质之一。 数…...

Maven打包构建Docker镜像并推送到仓库

Maven打包构建Docker镜像并推送到仓库 文章目录Maven打包构建Docker镜像并推送到仓库一,服务器Docker配置二,本地项目maven配置2.1 pom.xml2.2 dockerfile2.3 验证2.4 统一dockerfile对于开发完成的服务要发布至服务器Docker时,我刚学习了解D…...

TypeScript 基础学习之泛型和 extends 关键字

越来越多的团队开始使用 TS 写工程项目, TS 的优缺点也不在此赘述,相信大家都听的很多了。平时对 TS 说了解,仔细思考了解的也不深,借机重新看了 TS 文档,边学习边分享,提升对 TS 的认知的同时,…...

《数据分析-JiMuReport04》JiMuReport报表设计入门介绍-页面优化

报表设计 2 页面优化 如上图所示的报表,仅仅是展示数据,不过这样看起来似乎太草率了,所以再优化一下吧 保存报表后,在积木报表中就可以看到对应的报表文件 此时我们如果还需要编辑报表,就点击这个报表即可 2.1 居中…...

带头双向循环链表及链表总结

1、链表种类大全 1、链表严格来说可能用2*2*28种结构,从是否带头,是否循环,是否双向三个角度区分。 2、无头单向循环链表一般不会在实际运用中直接存储数据,而会作为某些更复杂结构的一个子结构,毕竟它只在头插、头删…...

(八十)MySQL是如何基于各种规则去优化执行计划的?(中)

今天我们来讲一下子查询是如何执行的,以及他的执行计划是如何优化的。比如说类似于下面的SQL语句: select * from t1 where x1 (select x1 from t2 where idxxx) 这就是一个典型的子查询 也就是说上面的SQL语句在执行的时候,其实会被拆分为…...

第一章:命题与命题公式

1.命题与命题联结词 1.命题与命题的表示 1. 命题 由一个或几个已知的前提,推导出来一个未知的结论的思维过程称为推理,推理的基本要素就是表达这些前提的一些陈述句,可以将这些陈述句理解为命题。 (1)地球是行星 (2)8不是素数 (3)1 + 2 = 22. 命题真值 一个陈述句不…...

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...

ES6从入门到精通:前言

ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

【Oracle APEX开发小技巧12】

有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...

前端导出带有合并单元格的列表

// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

微信小程序 - 手机震动

一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注&#xff1a;文档 https://developers.weixin.qq…...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要&#xff1a;设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP&#xff08;Work-in-Progress&#xff09;弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中&#xff0c;设立专门的紧急任务通道尤为重要&#xff0c;这能…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持&#xff0c;都是在为未来积攒底气。 案例&#xff1a;OLED显示一个A 这边观察到一个点&#xff0c;怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 &#xff1a; 如果代码里信号切换太快&#xff08;比如 SDA 刚变&#xff0c;SCL 立刻变&#…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例&#xff0c;其中使用的是 Module Federation 和 npx-build-plus 实现了主应用&#xff08;Shell&#xff09;与子应用&#xff08;Remote&#xff09;的集成。 &#x1f6e0;️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...