【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

谷歌高级工程师:2022 年最值得学习的编程语言

  • 2022-02-02
  • 本文字数:1824 字

    阅读完需:约 6 分钟

谷歌高级工程师:2022年最值得学习的编程语言

作为谷歌-新加坡的高级软件工程师,我常常会收到“什么编程语言值得学习”一类的问题。到底该学什么呢?我的建议是,“随便”。

编程语言只是一种达成目的的手段

 

无论你是从 C++、Java、Python、JavaScript,还是其他语言起步,新语言的学习通常不会花费太多时间,也不应是你学习的首要关注点。

 

编程语言不过是一种达成目的的手段。因为在工作中,我们常常会根据需要在不同语言间切换。 

 

在高中时,我的编程入门语言是 C++。而大学时,我又在 JavaScript 上投入了大量的精力。在微软工作时,常常需要使用 C#/.Net 和 TypeScript。而我在谷歌所负责的安卓相机应用又需要我学会 Java。在转而开发相机的计算摄影后,我写了许多生产的 C++以及原型相关的 Python 代码。

 

纵观我的编程生涯,新语言的学习成本从未高出预期。

 

在时间的长河中,人们构建了许许多多的编程语言,并根据其不同的使用方式进行分类,有的纯粹用于标记,如 HTML 和 XML;有的则完全以脚本形式服务,如 shell 和 bat 脚本;有的语言则是功能型的,等等,不一而足。

 

在不同“种类”的语言间切换可能会涉及到一定的学习成本,但如果你对某种语言有基本的了解,那么新语言的学习难度将大幅下降。

训练解决问题的能力

 

那话说回来,我们到底应该把精力放在哪里呢?

 

坦率来说,最重要的应还是训练自己解决问题的能力。


  • 如果要做一个网页应用,怎么写?

  • 如果想要提高一款安卓应用的性能,怎么做?

  • 如果你要解决的问题可以通过训练后的神经网路解决,从哪里入手?

 

即使你是第一次接触这个问题,只要能将其解决,无论用什么语言,对你来说,都将是一种锻炼。

 

你大可放心学习各种新鲜技术,深入研究那些在你看起来很神奇的概念,尝试探索不同的流派,最后选择一项你真正喜欢的东西来进修。待你神功大成后就会发现万宗归一,所有的编程语言本质其实差不多。

 

那有什么具体点的建议吗?

 

下面,我将奉上为不同职业阶段的开发者们量身定做的两条攻略。

1.如果你是刚刚接触编程

 

你可以先从一门自己想从事的技术开始,无论是网页设计、安卓或 iOS 移动端开发、游戏开发、其他类型的应用开发、机器学习模型训练,还是桌面应用构建,但重点是一定要选择一种,并开始学习其相关的语言。如果有时间,可以通过随手编写小程序来学习,不断探究计算机魔法背后的原理。

 

下一步,你可以开始挖掘语言中已被抽象为库的基础概念,如并发或多线程、数据库、图形渲染、图像处理、网络连接等等。要知道,无论是什么编程语言,要么是直接编译为汇编指令,要么就先编译为中间字节码,再编译为汇编指令供硬件执行。一旦你接受这个事实,就会发现各种语言其实并没有什么差别。

 

举个例子,“将数组中每个数值都增加一”,根据不同语法,处理方式也不一样。

 

在 Python 中:

y = [i + 1 for i in x]## orfor i in range(0, len(x)):  x[i] = x[i] + 1
复制代码

 

在 JavaScript 中:

for (var i = 0; i < x.length; ++i) x[i]++;// Orvar y = x.map(val => ++val);// Orvar y = Array.from(x, val => ++val);
复制代码

 

在 Go 中:

for i:= range x {  x[i]++}
复制代码

 

这些或复杂或简单的语法最终都会被编译为这些:

increment(int*, int):  cmp     w1, 0  ble     .L1  mov     x2, x0  add     x1, x0, w1, sxtw 2.L3:  ldr     w0, [x2]  add     w0, w0, 1  str     w0, [x2], 4  cmp     x2, x1  bne     .L3.L1:  ret
复制代码

 

有趣的是,在这些例子中有的语言会复制数组,有的则不会。初学者可以先集中精力学习这类语言间的不同之处以及其对程序的影响。

2.如果你经验丰富并精通一种编程语言,但仍不满足

 

同样,你可以先退一步,仔细考虑看看到底哪种类型的问题更能引发你的兴趣,哪些方法可以带你走向学习的新方向。

 

举例来说,在开发相机应用时,我曾有幸参与“夜间模式”的研究。这一功能需要程序可以捕捉一系列的图像,并通过一定方式将其稳定地合并,以确保最终图像曝光良好且噪音不高。这些操作的计算成本高昂,意味着程序的算法需要在资源有限的硬件上运算,且延迟不能超出预计。

 

这意味着,我需要重新复习 C++和图像处理概念等内容。这个挑战是非常有意思的,相对而言,花费在学习上的精力完全算不上是麻烦事。希望各位可以找到这样的方向,并开始你们学习的步伐。

 

最后的最后,不要再费心寻找什么 2022 年最值得学习的编程语言了,这一切都取决于你自己。

 

原文链接:

 

https://betterprogramming.pub/the-best-programming-language-to-learn-in-2022-senior-engineer-at-google-explains-5abcbc5f6556

2022-02-02 14:0011541

评论 15 条评论

发布
用户头像
这是个博客系统吗?
2022-02-17 08:34
回复
用户头像
听君一席话,浪费三分钟
2022-02-09 10:00
回复
用户头像
是地,虎头蛇尾
2022-02-08 20:43
回复
用户头像
需要一个投诉按钮
2022-02-08 12:27
回复
用户头像
最后的最后,不要再费心寻找什么 2022 年最值得学习的编程语言了,这一切都取决于你自己。
2022-02-08 12:27
回复
用户头像
听君一席话如听一席话
2022-02-07 18:50
回复
用户头像
听君一席话如听一席话
2022-02-07 18:50
回复
用户头像
听君一席话如听一席话
2022-02-07 18:50
回复
用户头像
听君一席话如听一席话
2022-02-07 18:50
回复
用户头像
听君一席话如听一席话
2022-02-07 18:50
回复
用户头像
听君一席话,如听君一席话。
2022-02-07 13:34
回复
用户头像
说了等于没说,标题党 +1
2022-02-07 10:25
回复
用户头像
熟悉语言不重要,熟悉语言常用的类库很重要。不要重复造轮子。
2022-02-04 10:13
回复
用户头像
说了等于没说,标题党 +1
2022-02-03 23:02
回复
用户头像
好一个标题党
2022-02-02 15:30
回复
没有更多了
发现更多内容

壳牌公司利用数字孪生推动绿色工厂计划和氢能经济

雨果

数字化转型

埃森哲《2022中国企业数字化转型指数》: 中国企业数字化进程五年间稳步推进,17%企业成领军者

雨果

数字化转型

企业选型必读:选择数据湖or数据仓库?

雨果

数据仓库 数据湖

Spring Boot「20」从 DispatchServlet 开始一个请求的处理过程

Samson

Java spring 学习笔记 10月月更 spring-web

精品方案|基于医疗机构的突发公共卫生多点触发监测预警系统 实现疫情精准防控

电子信息发烧客

腾讯升级云原生产品布局 助力企业数字化转型更进一步

科技热闻

九科信息RPA助力某大型航运企业财务部门降本增效,实现业务流程自动化操作

九科Ninetech

数字化转型如何成为增长和创新的工具

雨果

数字化转型

Spring Boot「19」WebApplicationInitializer源码分析

Samson

Java spring 学习笔记 10月月更 spring-web

倒计时3天!云栖大会龙蜥操作系统峰会最新议程一览

OpenAnolis小助手

开源 操作系统 倒计时 云栖大会 龙蜥社区

DataFrame 的拼接

智趣匠

Python ApplicationContext 10月月更

2022-10-31:以下go语言代码输出什么?A:map[];B:nil;C:Panic;D:编译错误。 package main import “fmt“ func main() {

福大大架构师每日一题

golang 福大大 选择题

C# 关于多态性学习

IC00

C# 学习 上位机 10月月更

再见 MySQL!这可能不再是一个哗众取宠的梗了

雨果

MySQL 关系型数据库 开源数据库

Hive基本架构

穿过生命散发芬芳

hive 10月月更

从“青铜”到“王者”,制造企业的数字化闯关记

脑极体

软件工程师的核心竞争力是什么?

老张

职场成长 核心竞争力

Pandas的介绍及 Series、 DataFrame的创建

智趣匠

pandas pyhton 10月月更

Gartner:通过数字投资缩短价值实现时间的必要性

雨果

数字化转型 CIO

Zepoch节点已售出500+,Zebec Chain市场反响激烈

股市老人

6种容器接入方式

阿泽🧸

10月月更 容器接入

和鲸 ModelWhale 入选《2022爱分析 · 数据智能厂商全景报告》

ModelWhale

机器学习 数据智能 数据科学 厂商

C#泛型协变和逆变概念学习

IC00

C# 上位机 10月月更

拳头产品|海泰虎讯,新一代安全即时通讯系统

电子信息发烧客

Java 字节码简介

Kian.Lee

Java JVM bytecode 字节码

如何选择数据

智趣匠

索引技术 DataFrame 10月月更

数字孪生与未来城市建设

雨果

数字孪生

如何查看 Series、DataFrame 对象的数据

智趣匠

Python serialVersionUID 10月月更

分层的电子签市场,被忽略的小微企业

ToB行业头条

让你的 Runner 可视化,使用 Prometheus + Grafana 实现极狐GitLab Runner 可视化

极狐GitLab

DevOps Grafana Prometheus runner 极狐GitLab

主导未来的前 5 大数据科学趋势,你知道几个?

雨果

数据科学 DaaS数据即服务

谷歌高级工程师:2022年最值得学习的编程语言_语言 & 开发_Minhaz_InfoQ精选文章