从 BASIC 到 Ruby：入门编程语言的体悟
BASIC

> 
> 为什么 BASIC 是一种备受喜爱的入门语言？下一代该如何学习编程？
> 
> 
> 


![Listen to the Command Line Heroes Podcast](/data/attachment/album/201907/14/131843zs9eh4nnk3sexvnb.png "Listen to the Command Line Heroes Podcast")


《[Command Line Heroes](https://www.redhat.com/en/command-line-heroes)》 第三季的第二集今天抵达了，它对我的入门编程的怀旧让我回到了过去。


（LCTT 译注：《Command Line Heroes》 是红帽公司制作的播客，讲述了开发人员、程序员、黑客、极客和开源反叛者如何彻底改变技术前景的真实史诗。其第一季制作于 2017 年，邀请到了谷歌、NASA 等重量级企业的技术专家担当嘉宾，讲述操作系统战争风云、美国航天局如何开源等等，涉及开源、操作系统、容器、DevOps、云计算等话题。）


### 语言会影响可访问性


这一集告诉我，BASIC 是计算机的理解力民主化的一次巨大飞跃。我很难想象，在一个不太遥远的、计算机尚且是稀罕之物的时代，是 BASIC 改变了世界。正如 [Saron Yitbarek](https://twitter.com/saronyitbarek) 提到的那样，“在早些年编程，你几乎得有个博士学位才行。”BASIC 是一个巨大的飞跃，它专注于可用性（适合初学者的命令）和资源共享（单个计算机的分时操作）。它使得编程不在局限于当时的“计算机玩家”（我喜欢这集中的这句话），并帮助了新一代人参与了进来。进入编程领域的壁垒得以下降。


### 入门编程语言


这一集的核心话题是围绕学习入门语言展开的。关于学习什么编程语言以及如何学习，有很多建议。关于这个问题[在这里](/article-8379-1.html)已经写了很多。我喜欢听到 Saron 以 Ruby 作为她的介绍的故事，以及它以一种几乎意想不到的方式变得有趣。我有一些类似的经历，因为我在一些项目中用到了 Ruby。它的灵活性让我感到开心。当我（对编程）感到紧张时，正是这种快乐让我重新回到它的身边，并且它有一些能够使语言如此充满情感的强大功能。


我第一次体验编程是用 HTML 和 CSS，但我第一个重型编程语言是 Java。我永远不会忘记在课堂的第一天被告知要记住 `public static void main`，但没有告知我关于它意味着什么的任何信息。我们花了很多时间在面向对象编程的上下文环境中探讨它是什么，但它从未像我在 Ruby 中使用 `.each` 迭代列表，或者像在 Python 中用 `import numpy` 做一些数学魔术那样感到兴奋。然后我听说孩子们正在学习如何使用 Python 编写 [Minecraft](https://opensource.com/life/15/5/getting-started-minecraft-pi) 或使用像 [Scratch](https://opensource.com/education/11/6/how-teach-next-generation-open-source-scratch) 这样的可视化编程语言，我因此而悟，BASIC 的遗产正在以新的方式存在。


我从这一集中获取到的内容：


* 请记住，没有人出生就是程序员。每个人都没有这样的背景。你并不孤单。
* 学习一门语言。任何一种都行。如果你有选择的可能，那么请选择能带给你最大乐趣的那个。
* 不要忘记所有语言都可以构建一些东西。请为人类创造有意义的事物。


《Command Line Heroes》整个第三季将涉及编程语言。[请在此处订阅来学习你想要了解的有关编程语言的起源](https://www.redhat.com/en/command-line-heroes)，我很乐意在下面的评论中听到你的想法。




---


via: <https://opensource.com/19/7/command-line-heroes-ruby-basic>


作者：[Matthew Broberg](https://opensource.com/users/mbbroberg) 选题：[lujun9972](https://github.com/lujun9972) 译者：[wxy](https://github.com/wxy) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


OK
The second episode of this [Command Line Heroes](https://www.redhat.com/en/command-line-heroes) season 3 drops today and it sent me back through a nostalgic look at the idea of first programming languages.

## Languages affect accessibility

This episode taught me that BASIC was a huge leap in the democratization of computer comprehension. It's hard for me to imagine a time when computers were scarce, but that not-so-distant past was when BASIC changed the world. As [Saron Yitbarek](https://twitter.com/saronyitbarek) mentions, "In the early days of programming, you pretty much needed a Ph.D. to do anything." BASIC was such a monumental leap with its focus on usability (beginner-friendly commands) and resource sharing (timesharing of a single computer). It helped programming get beyond the "computer jocks" of the time (I love that phrase from the episode) and helped a new generation of people participate. The barrier of entry dropped.

## First programming languages

The heart of this episode rests on the topic of learning the first language. There is so much advice out there about what to learn and how to learn it. Quite a lot has been written on the subject [on here](https://opensource.com/article/17/1/choosing-your-first-programming-language). I love hearing Saron's story of Ruby being her introduction, and how it was fun in an almost unexpected way. I had a similar experience as I dug into Ruby for a few projects. It's wildly flexible in a way that makes me happy. It's that happiness that keeps me coming back to it when I'm in a pinch, and there's something powerful about how languages can be so emotionally charged.

I first experienced programming with HTML and CSS, but the first heavy-duty language was Java. I will never forget being told on day one of class to memorize **public static void main** without any context on what it meant. We took a good bit of that semester to explore what it in the context of object-oriented programming, but it never made me feel as excited as when I iterate over a list using **.each** in Ruby or **import numpy** and do some mathematical magic in Python. Then I hear about how kids are learning to program with Python for [Minecraft](https://opensource.com/life/15/5/getting-started-minecraft-pi) or visual programming languages like [Scratch](https://opensource.com/education/11/6/how-teach-next-generation-open-source-scratch) and I am inspired. The legacy of BASIC lives on in new ways.

Which leads to my takeaways from this episode:

- Remember that no one is born a programmer. Everyone starts with no background. You're not alone there.
- Learn a language. Any of them. Choose the one that brings you the most joy if you have the luxury of choosing.
- Don't forget that all languages are there to build something. Create meaningful things for humans.

Command Line Heroes will cover programming languages for all of season 3. [Subscribe here to learn everything you want to know about the origin of programming languages](https://www.redhat.com/en/command-line-heroes), and I would love to hear your thoughts in the comments below.

## 6 Comments