c 语言编程框架_使用此框架选择您的下一种编程语言

c 语言编程框架

Human capital is our greatest asset.

人力资本是我们最大的财富。

Like financial capital, the all-powerful force of compound growth means that a small difference in the rate of skill acquisition can lead to massive differences in career outcomes over time.

像金融资本一样,复合增长的强大力量意味着,随着时间的推移,技能获取率的微小差异会导致职业生涯的巨大差异。

Choosing which skills to hone is therefore one of the most important keys to professional growth and success.

因此,选择磨练哪些技能是职业发展和成功的最重要的关键之一。

Among various forms of human capital, technical aptitude is quickly becoming a mission-critical skill for 21st century knowledge work.

在各种形式的人力资本中,技术能力正Swift成为21世纪知识工作的一项关键任务技能。

However, there are any number of technologies that one could dive deep into and attempt to master. They have varying usefulness and practical applicability.

但是,有许多技术可以深入研究并尝试掌握。 它们具有不同的用途和实用性。

So how do you decide where to “invest” your time among a sea of options?

那么,您如何决定在众多选择中将时间“投资”到哪里?

A mental model I’ve found surprisingly helpful for this task is the growth-share matrix. This is a framework invented 50 years ago by the Boston Consulting Group.

我发现一个令人惊讶地对这项任务有用的思维模型是增长份额矩阵 。 这是波士顿咨询集团50年前发明的框架。

The framework was originally conceived as a tool to help executives prioritize different businesses. It is based on their respective relative market shares and growth. The two dimensions separate the market landscape into quadrants, each with certain characteristics:

该框架最初被认为是帮助高管确定不同业务优先级的工具。 它基于它们各自的相对市场份额和增长。 这两个维度将市场格局划分为多个象限,每个象限具有某些特征:

  • “Stars” have high growth and high market share

    “明星”具有高增长和高市场份额
  • “Cash cows” have low growth but high market share

    “摇钱树”增长低但市场份额高
  • “Question marks” have high growth but low market share

    “问号”增长快但市场份额低
  • “Dogs” have low growth and low market share

    “狗”增长低,市场份额低

BCG advised clients to invest in the “stars” and exploit the “cash cows” for their cash flow. They should evaluate the potential of the “question marks”, and exit or sell the “dogs” ASAP.

BCG建议客户投资“明星”,并利用“摇钱树”获得现金流。 他们应该评估“问号”的潜力,并尽快退出或出售“狗”。

The growth-share matrix was originally intended to apply to product lines or business units — an asset a corporation could own.

增长份额矩阵最初旨在应用于产品线或业务部门,即公司可以拥有的资产。

In that respect, you might imagine this framework has limited applicability to programming languages. No single person “owns” any given language.

在这方面,您可能会想到此框架对编程语言的适用性有限。 没有任何一个人“拥有”任何给定的语言。

Not so fast!

没那么快!

I argue that we each do own a little piece of a programming language. Not in the form of equity or stock, but in the form of human capital.

我认为我们每个人都拥有一小部分编程语言。 不是以股权或股票的形式,而是以人力资本的形式。

Through careful curation of a “portfolio” of useful skills, we earn a return on our learning efforts — rewards for our time and effort.

通过精心策划有用技能的“档案袋”,我们可以获得学习成果的回报,这是我们付出的时间和精力的回报。

Learning a programming language is a perfect example of this.

学习编程语言就是一个很好的例子。

But what makes a programming language useful, from a career perspective?

但是,从职业角度来看,什么使编程语言有用呢?

The career value of any given programming language is directly related to the number of other individuals who know that language, and the number of companies using that language.

任何给定编程语言的职业价值都与知道该语言的其他个人数量以及使用该语言的公司数量直接相关。

That may sound obvious to some, but it is in fact quite counter-intuitive.

对于某些人来说,这听起来似乎很明显,但实际上是违反直觉的。

In most of life’s skills we seek to master the rare things — the things no one else can do.

在生活的大多数技能中,我们力求掌握稀有事物-其他人无法做到的事情。

We think that having a unique set of talents will let us shine brighter in an increasingly competitive world. Learning rare skills will pay meaningful dividends, or so the thinking goes.

我们认为拥有独特的人才集合将使我们在竞争日益激烈的世界中更加光彩照人。 学习稀有技能将带来有意义的收获,或者想法就这样了。

Yes, knowing an obscure language that few others know might carve out a nice niche in the market for you.

是的,知道一种很少有人知道的晦涩的语言可能会为您开拓市场上的一个利基市场。

But I would argue that, for most, it is actually more valuable to know a language that lots of other people also know.

但是我认为,对于大多数人而言,了解很多其他人也知道的语言实际上更有价值。

Most people think that programming is how you speak to computers. Really, it’s how you speak to other developers.

大多数人认为编程是您与计算机对话的方式。 确实,这就是您与其他开发人员交流的方式。

Due to network effects and the increasing size, scale, and scope of software development projects and teams, knowing the “lingua franca” can be much more valuable than being an expert in some endangered language.

由于网络的影响以及软件开发项目和团队规模,规模和范围的不断扩大,了解“ 通用语言 ”比成为某些濒临灭绝的语言的专家更有价值。

Paradoxically, having low personal market share in a high market share language is actually not such a bad thing.

矛盾的是,以较高的市场占有率语言拥有较低的个人市场占有率实际上并不是一件坏事。

建立矩阵 (Building the matrix)

To construct the growth-share matrix for programming languages, we will leverage StackOverflow’s annual developer survey.

为构建编程语言的增长份额矩阵,我们将利用StackOverflow的年度开发人员调查

For the 2018 edition, they surveyed over 100,000 developers from around the world, covering a wide range of topics from job satisfaction to salary. Here we’ll focus on US-based developers.

2018年版中 ,他们对来自全球的100,000多名开发人员进行了调查,涵盖了从工作满意度到薪水等众多主题。 在这里,我们将重点关注美国的开发人员。

The key question for our purposes is:

对于我们而言,关键问题是:

“Which of the following programming, scripting, and markup languages have you done extensive development work in over the past year?”

“过去一年中,您在以下哪些编程,脚本和标记语言中进行过广泛的开发工作?”

Answers to this question should give us a rough proxy of the popularity of any given language, as defined by the proportion of developers who have worked with a particular language.

对这个问题的回答应该使我们大致了解任何给定语言的流行程度,这取决于使用特定语言的开发人员的比例。

For growth, we can compare the answers to this question across 2017 and 2018 to come up with an estimate of the growth of each language.

为了增长,我们可以比较2017年和2018年该问题的答案,以估算每种语言的增长。

We’ll define growth as the % growth rate of the proportion of respondents who’ve worked with the language in the past year.

我们将增长定义为过去一年中使用该语言的受访者所占百分比的百分比增长率。

So, a language that went from 10% coverage to 13% would be considered to have grown 30% (rather than 3 percentage points).

因此,从10%的覆盖率增加到13%的语言将被视为增长了30%(而不是3个百分点)。

Quadrant boundaries will be set at the median growth rate and relative market share.

象限边界将根据中值增长率和相对市场份额确定。

One final piece — as is convention with the growth-share matrix, we will show market share relative to the language with the most market share.

最后一件-按照增长份额矩阵的惯例,我们将显示相对于拥有最大市场份额的语言的市场份额。

Therefore, the axis will end at 100% (representing the most popular language). We will also show this on a log scale to better showcase the distribution, which tends to be quite crowded below 10% relative market share.

因此,轴将以100%(代表最受欢迎的语言)结束。 我们还将以对数刻度显示此内容,以更好地展示其分布,相对分布在10%以下的相对市场份额下往往比较拥挤。

We now have all we need to build our growth-share matrix!

现在,我们拥有构建增长份额矩阵所需的一切!

Take a look at the results:

看一下结果:

One striking feature that immediately jumps out — very few languages saw a net decline in popularity.

一个引人注目的功能立即消失了-很少有语言看到流行度的净下降。

Almost every language grew, which by definition implies that the average developer is using an increasingly wide array of languages in their work.

几乎每种语言都在增长,这从定义上暗示了一般的开发人员在他们的工作中使用了越来越多的语言。

Let’s spin through each quadrant and discuss some of the highlights.

让我们遍历每个象限并讨论一些重点。

星星 (Stars)

Python (Python)

Python has existed for decades, but only recently hit its stride as a go-to language for data analytics and machine learning use cases.

Python已经存在了几十年 ,但直到最近才成为数据分析和机器学习用例的通用语言。

Python is widely-regarded as one of the best languages for data-driven analysis. This is due to its relative ease of use and massive set of open source libraries that simplify and accelerate analytics.

Python被广泛认为是数据驱动分析的最佳语言之一。 这是由于其相对易用性以及大量简化和加速分析的开源库。

Python’s syntax is quite simple compared to other languages. Ease of use and speed are especially important in data science, as data scientists often run and re-run numerous iterations of a model before settling on a preferred specification.

与其他语言相比,Python的语法非常简单。 易用性和速度在数据科学中尤其重要,因为数据科学家通常会在确定首选规范之前运行和重新运行模型的多次迭代。

The growing popularity of interactive and replicable computing environments like Jupyter notebooks dovetails nicely with Python’s surging share among developers. I’m personally quite pleased to see Python’s high popularity given I’ve spent the past two years self-teaching myself the language!

交互式和可复制的计算环境(如Jupyter笔记本电脑)的日益普及与Python在开发人员中的份额不断上升形成了很好的契合。 考虑到我过去两年来自学语言,我个人很高兴看到Python的高人气!

Ruby (Ruby)

Ruby has historically been known for its extreme ease of use and strength within web development.

Ruby历来以其在Web开发中的极易用性和优势而著称。

Many a web developer wrote their first web app in Ruby. The Ruby on Rails framework only extended this user-friendliness further, making Ruby incredibly popular among developers who want a no-frills way to quickly develop and deploy functional web applications.

许多Web开发人员使用Ruby编写了他们的第一个Web应用程序。 Ruby on Rails框架仅进一步扩展了这种用户友好性,这使得Ruby在希望以一种简洁的方式快速开发和部署功能性Web应用程序的开发人员中异常流行。

For several reasons however, Ruby’s growth is slowing and has been for a few years now.

但是由于种种原因,Ruby的增长正在放缓,并且已经持续了几年。

No, Ruby is not “dead”. But it will likely migrate to the cash cow zone soon as the initial fanfare wears off. Ruby continues to be a great language that serves developers well.

不,Ruby不是“死神” 。 但是,一旦最初的狂热消退,它很可能会迁移到摇钱树区域。 Ruby仍然是一种很好的语言,可以很好地服务于开发人员。

(Go)

Go is a new language seeing rapid adoption among developers. It simplifies the process of writing code, thereby making developers more efficient.

Go是一种新语言,在开发人员中正在Swift采用 。 它简化了编写代码的过程,从而使开发人员更加高效。

Go was initially birthed at Google. It helps to solve engineering problems that only seemed to be multiplying in an era of increasingly large codebases, multicore processors, and network-aware applications.

Go最初出生于Google。 它有助于解决在日益庞大的代码库,多核处理器和网络感知应用程序时代似乎只会成倍增加的工程问题。

Go is built with concurrency in mind, making it relatively easy to build multi-threaded applications. Outside of Google, major companies making use of Go include Uber, Netflix, Adobe, IBM, Intel, Dropbox, CloudFlare, and more.

Go是在考虑并发性的基础上构建的,因此构建多线程应用程序相对容易。 在Google之外,使用Go的主要公司包括Uber,Netflix,Adobe,IBM,Intel,Dropbox,CloudFlare等。

打字稿 (TypeScript)

I debated including TypeScript as its own language here, given its strong similarities to and overlap with JavaScript.

考虑到它与JavaScript的强烈相似之处和重叠之处,我在这里讨论将TypeScript作为自己的语言。

But developers with experience in the language seem to be a distinct group worth highlighting.

但是具有该语言经验的开发人员似乎是一个值得强调的独特群体。

The language has also seen a surge of growth in the past few years.

在过去的几年中,该语言也出现了快速增长

The fundamental goal of TypeScript is to ease development of large-scale applications that would otherwise be written in vanilla JavaScript. Accordingly, TypeScript is a superset of JavaScript that also compiles to simple JavaScript.

TypeScript的基本目标是简化大型应用程序的开发,否则这些应用程序将使用香草JavaScript编写。 因此,TypeScript是JavaScript的超集,也可以编译为简单JavaScript。

Why the distinction then? Typescript adds a number of features to core JavaScript common to other languages, such as classes and modules, in addition to strong typing, generics and interfaces. TypeScript is developed and maintained by Microsoft.

为什么要区分呢? Typescript除了强类型,泛型和接口之外,还在其他语言通用的核心JavaScript中增加了许多功能,例如类和模块。 TypeScript由Microsoft开发和维护。

带走 (Takeaway)

These languages are highly popular and would constitute a solid foundation any budding developer or product manager. If you don’t already have basic proficiency in at least some of the stars — I implore you: learn these growing tools of the trade.

这些语言非常流行,并且将为任何新的开发人员或产品经理奠定坚实的基础。 如果您至少在某些明星方面还没有基本的技能,请恳请您:学习这些行业的增长工具。

摇钱树 (Cash Cows)

JavaScript (JavaScript)

JavaScript has become the go-to language for modern web development, with a number of spin-off frameworks that leverage its core elements.

JavaScript已成为现代Web开发的首选 语言 ,它具有许多利用其核心元素的衍生框架

JavaScript is more popular than Java today, due to the ubiquity of web applications today and the move to SaaS and other web-based models for application consumption.

由于当今Web应用程序无处不在,并且为了应用程序使用而转向了SaaS和其他基于Web的模型,因此JavaScript今天比Java更为流行。

Here, JavaScript is leading the charge, and the numbers reflect that.

在这里,JavaScript领先了,数字反映了这一点。

However, it should be noted that, despite similar nomenclature, Java and JavaScript are not closely related (it’s a long story). Both are object-oriented, but the similarities end there.

但是,应该注意的是,尽管有相似的命名法,但是Java和JavaScript并不是紧密相关的 (这是一个很长的故事)。 两者都是面向对象的,但相似之处到此为止。

Java (Java)

Java has long been a popular language for cross-platform development. This flexibility has continued as new platforms have emerged, such as mobile.

Java长期以来一直是跨平台开发的流行语言。 随着诸如移动设备等新平台的出现,这种灵活性一直在持续。

One of Java’s many conventions is the idea of “write once, run anywhere”. This means that code written in Java can be run on any other platform that supports Java, with no recompiling.

Java的许多约定之一是“ 编写一次,在任何地方运行 ”的想法。 这意味着用Java编写的代码可以在任何支持Java的平台上运行,而无需重新编译。

When complete, Java applications are compiled into bytecode which runs on a Java Virtual Machine. It was originally built by Sun Microsystems, but through acquisitions it’s ended up in the hands of Oracle today.

完成后,Java应用程序将编译为在Java虚拟机上运行的字节码 。 它最初是由Sun Microsystems构建的,但通过收购,最终由Oracle最终掌握。

SQL (SQL)

SQL (Structured Query Language) is an old workhorse that needs no introduction. It has existed for a long time. It is the main means by which analysts query and pull data from relational databases and data warehouses.

SQL(结构化查询语言)是一种古老的功能,无需介绍。 它已经存在了很长时间。 它是分析人员从关系数据库和数据仓库查询和提取数据的主要方法。

Despite the popularity of “NoSQL” and other non-relational frameworks, SQL remains king. In recent years, many of these other frameworks have bolted on SQL-like interfaces in order to ease data extraction and transformation.

尽管“ NoSQL ”和其他非关系框架非常流行,但是SQL仍然是最主要的 。 近年来,许多其他框架都使用类似于SQL的接口来简化数据提取和转换。

As companies collect data from a greater range of sources and continue to store this information in central databases, SQL will only increase in importance.

随着公司从更广泛的来源中收集数据并将这些信息继续存储在中央数据库中,SQL的重要性只会越来越大。

C族 (The C Family)

No big surprise here. The extended family of C languages has held a strong position within the software development community for some time. It continues to serve as the backbone for many critical applications we know and love today.

没什么大惊喜。 扩展的C语言家族在软件开发社区中占据了很强的位置。 它继续充当我们今天所知道和喜爱的许多关键应用程序的骨干。

Further, C has found its way into other languages as well.

此外,C也已找到进入其他语言的途径。

For example, the reference implementation of Python, CPython, is written in C and Python. Significant chunks of the core Python codebase are actually written in C due to it being a compiled (rather than interpreted) language and thus having faster performance at runtime.

例如,Python的参考实现CPython用C和Python编写。 核心Python代码库的大部分实际上是用C编写的,因为它是一种编译(而不是解释)语言,因此在运行时具有更快的性能。

C is a hugely influential language that will not be going away any time soon.

C是一种很有影响力的语言 ,不会很快消失。

PHP (PHP)

PHP just barely squeaks by into the cash cow category. PHP is a server-side scripting language primarily suited for web development. This is evidenced by its original meaning of “personal home page”.

PHP几乎勉强进入摇钱树类别。 PHP是一种服务器端脚本语言,主要适用于Web开发。 这由“个人主页”的原始含义证明。

Numerous popular websites and web applications are built on PHP, including, perhaps mostly famously, WordPress.

许多流行的网站和Web应用程序都基于PHP构建 ,其中包括WordPress(可能最有名)。

However, the language has stagnated in terms of popularity. This is in part to due to its clunkiness and security vulnerabilities. PHP has historically suffered from a number of severe exploits (ex: SQL injection).

但是,该语言的受欢迎程度已停滞不前。 这部分是由于其笨拙和安全漏洞。 从历史上看,PHP遭受了许多严重的攻击(例如: SQL注入 )。

That said, this is another language with incredible market share that will continue to see broad use for quite some time.

也就是说,这是另一种具有令人难以置信的市场份额的语言,并将在相当长的一段时间内继续得到广泛使用。

Swift (Swift)

The popularity of Swift derives directly from the underlying popularity of macOS and iOS devices. Although a minority of overall smartphone shipments, they represent a massive install base — especially among more affluent western populations.

Swift的流行直接源于macOS和iOS设备的潜在流行。 尽管在智能手机总出货量中占少数,但它们代表了庞大的安装量,尤其是在富裕的西方人群中。

Launched in 2014, Swift initially saw massive growth, becoming one of the fastest growing languages in history. Swift is heavily influenced by Objective-C, another cash cow, which it recently surpassed in popularity. As the brainchild of Apple, Swift will live or die by Apple’s own success, so plan accordingly.

Swift于2014年推出,最初见证了巨大的增长, 成为历史上增长最快的语言之一 。 Swift受到另一款摇钱树Objective-C的强烈影响,最近它越来越受欢迎。 作为Apple的创意,Swift会因Apple自身的成功而生死攸关,因此请制定相应的计划。

带走 (Takeaway)

These languages really pay the bills. If you are already proficient in any of the above languages, great — leverage that saved time to pick up some skills in the rising stars.

这些语言确实付账。 如果您已经精通以上任何一种语言,那就太好了-利用节省的时间来学习后起之秀中的一些技能。

If you do not know these languages well today, evaluate how practical or necessary they are for the projects you want to work on in the near future.

如果您今天对这些语言不太了解,请评估它们对于您要在不久的将来从事的项目的实用性或必要性。

问号 (Question marks)

(Rust)

Rust is a relatively new programming language that only appeared on the scene in the last decade.

Rust是一种相对较新的编程语言,仅在最近十年才出现。

Rust is technically a general-purpose language. But, due to its low-level nature, it is best used for embedded systems running close to bare metal.

从技术上讲,Rust是一种通用语言。 但是,由于其低级别的特性,它最适合用于接近裸机运行的嵌入式系统。

Comparisons are often made between Rust and C++, in part driven by their syntactic similarities.

通常在Rust和C ++之间进行比较,部分是由于它们的语法相似性。

Rust is known to inspire great loyalty among its users. Though far from being one of the more popular languages, it is truly loved by the people who use it most.

众所周知,Rust可以激发用户的忠诚度 。 尽管它远不是最受欢迎的语言之一,但它确实受到了使用它最多的人们的喜爱。

Development on Rust is quite active today, ensuring the language will stay on the bleeding edge for the foreseeable future.

今天,Rust上的开发非常活跃,可确保在可预见的将来该语言将处于最前沿。

Scala (Scala)

Like Go, Scala is a language oriented towards improving developer productivity.

与Go一样,Scala是一种旨在提高开发人员生产力的语言。

The name Scala is a portmanteau of “scalable” and “language”. This hints at original intent of the language to enable high performance of large-scale applications and userbases.

Scala这个名字是“可扩展”和“语言”的组合。 这暗示了该语言旨在实现大型应用程序和用户群高性能的初衷。

Scala is built on the JVM and combines elements of object-oriented and functional programming. Due to these strong connections, Scala is often seen as “next-gen” Java.

Scala建立在JVM之上,结合了面向对象和函数式编程的元素。 由于这些紧密的联系,Scala通常被视为“下一代” Java。

Scala is uniquely suited for parallel and distributed computing, providing a level of future-proofing that many legacy languages lack.

Scala特别适合并行和分布式计算,提供了许多传统语言所缺乏的面向未来的水平。

Though popular among a certain subset of developers, its growth appears to have prematurely slowed relative to languages like Go or Rust. Its boosters hope that Scala may one day overtake Java, but this won’t happen for some time, if ever.

尽管它在某些开发人员中很受欢迎,但相对于Go或Rust这样的语言,它的增长似乎过早地放慢了速度 。 它的推动者希望Scala有一天可以超越Java,但是即使有一段时间,这种情况也不会发生。

[R (R)

R slightly missed the cutoff for star status. But, given its incredible ~40% growth rate, the language will easily cross the boundary next year.

R略微错过了明星身份的临界值。 但是,鉴于其令人难以置信的约40%的增长率,该语言明年将很容易越过边界。

R is exploding in popularity for the same reasons as Python. However, most consider Python to be superior in terms of speed, ease of use and general applicability.

出于与Python相同的原因,R的爆炸式增长。 但是, 大多数人认为Python在速度,易用性和一般适用性方面具有优越性

R’s historical strength in data science and statistical analysis is now powering a major renaissance for R. Enthusiasts celebrated R’s 25th anniversary earlier this year, and the language shows no signs of slowing down.

R在数据科学和统计分析方面的历史实力现在正在推动R的重大复兴。发烧友在今年早些时候庆祝R成立25周年 ,而该语言没有丝毫放缓的迹象。

哈斯克尔 (Haskell)

Function over form, or in the case of Haskell, have both.

功能胜过形式,或者就Haskell而言,两者兼而有之。

Haskell is a purely functional programming language. It focuses on functions that take immutable values as input and produce the exact same output every single time.

Haskell是一种纯函数式编程语言。 它着重于将不变值作为输入并每次产生完全相同的输出的函数。

It’s also lazy, which simply means results are not evaluated until absolutely necessary.

它也很懒 ,这意味着直到绝对必要时才对结果进行评估。

These and other features make Haskell a very powerful and efficient language in the right hands — but also potentially limit its applicability.

这些和其他功能使Haskell在右手手中成为一种非常强大和高效的语言-但也可能限制其适用性。

Haskell’s cult following is growing rapidly from its small base, but it’s hard to say how long this will continue.

Haskell的追随者从一小部分开始Swift增长,但是很难说这将持续多久。

带走 (Takeaway)

They’re called ‘question marks’ for a reason. No one really knows how the future will play out for these languages. They are probably not worth betting the farm on today. But they are also prime candidates for becoming the next “must-know” tools among forward-looking dev teams. Keep an eye on them.

由于某种原因,它们被称为“问号”。 没有人真正知道这些语言的未来将如何发展。 他们今天可能不值得将农场投注。 但是,它们还是成为前瞻性开发团队中下一个“必备”工具的主要候选人。 注意他们。

小狗 (Dogs)

Visual Basic(所有口味) (Visual Basic (All Flavors))

VB.NET, VBA, VB6 — whichever your flavor, the Visual Basic ecosystem has clearly fallen from grace. VB.NET is one of only two languages in the growth-share matrix to actually lose share in 2018.

VB.NET,VBA,VB6-无论您使用哪种口味,Visual Basic生态系统显然已从宽限期下降。 VB.NET是增长份额矩阵中仅有的两种语言之一,在2018年实际上失去了份额。

Significant chunks of VB’s functionality exist in C# now. Microsoft’s stance towards the languages has not been 100% clear. They had originally planned to end support for the language in 2008. But they recently declared that Windows 10 will support the VB runtime for the lifetime of the OS.

现在,C#中存在大量的VB功能 。 微软对这些语言的立场尚未100%明确。 他们最初计划在2008年终止对该语言的支持。但是他们最近宣布Windows 10将在OS的整个生命周期内支持VB运行时

This is great for legacy applications built using Visual Basic, but these will inevitably need to be rewritten in a modern language, or be end-of-lifed.

这对于使用Visual Basic构建的旧应用程序非常有用,但是这些应用程序不可避免地需要以现代语言进行重写或报废。

带走 (Takeaway)

Unlike real dogs, “dogs” within the growth-share matrix are bound to be controversial. Developers and development teams need to seriously grapple with the current state of affairs these languages face. They should decide whether or not to spend significant time and resources building applications powered by these less popular languages.

与真正的狗不同,增长份额矩阵中的“狗”注定是有争议的。 开发人员和开发团队需要认真应对这些语言面临的当前状况。 他们应该决定是否花费大量时间和资源来构建由这些不太流行的语言提供支持的应用程序。

(人力)资本分配 ((Human) Capital Allocation)

The moral of the story — think critically about where to invest your time.

故事的寓意– 认真思考在哪里投入时间

To be clear — it’s not the end of the world if you pick the “wrong” language. In fact, there really aren’t any wrong choices here, even the “dogs”. Use the best tool for the job.

需要明确的是,如果您选择“错误”的语言,这还不是世界末日。 实际上,这里真的没有任何错误的选择,甚至是“狗”。 使用最好的工具完成工作。

However, it certainly helps to avoid the transition costs inherent in trying to reposition oneself or play catch up later on.

但是,它无疑有助于避免尝试重新定位自己或稍后追赶时所固有的过渡成本。

If anything, don’t try to reposition yourself per se. Rather, seek to enhance your overall value and breadth of capabilities by acquiring at least intermediate mastery in several different languages.

如果有的话,不要试图重新定位自己 相反,通过至少掌握几种不同语言的中级知识,寻求提高您的整体价值和能力的广度。

Similar to spoken languages, people who can converse in multiple valuable languages often gain disproportionate value from their learning efforts. These tend to compound on one another, especially when the basic features form the building blocks of many dialects.

与口语相似,可以使用多种有价值的语言进行交流的人通常会从学习中获得不成比例的价值。 这些趋于相互叠加 ,特别是当基本特征构成许多方言的基本组成部分时。

Remember, this mental model, though imperfect, is arguably flexible enough to accommodate many skills — not just programming.

请记住,这种思维模型虽然不完善,但可以说足以适应许多技能,而不仅仅是编程。

I hope this framework is useful to you as you decide where to grow your human capital as a technically savvy individual.

我希望这个框架对您很有帮助,因为您可以决定将您的人力资本培养为技术精明的个人。

You can find the full backup to this analysis in both Jupyter notebook and .py script format at my GitLab or GitHub.

您可以在我的GitLabGitHub上以Jupyter笔记本和.py脚本格式找到此分析的完整备份。

If you enjoyed this post, please show your support with some claps ??? or share it with a friend.

如果您喜欢这篇文章,请鼓掌表示支持。 或与朋友分享。

Enter your email below if you’d like to stay up-to-date with future content ?

如果您想随时了解最新内容,请在下面输入您的电子邮件?

Originally published at whoisnnamdi.com

最初发布在whoisnnamdi.com

翻译自: https://www.freecodecamp.org/news/how-the-growth-share-matrix-of-software-development-can-help-you-decide-which-language-to-learn-d457593709a5/

c 语言编程框架

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值