magic starSummarize by Aili

How I Became a Python Programmer—and Fell Out of Love With the Machine

🌈 Abstract

The article discusses the concept of abstraction in programming, tracing the author's journey from working with high-level abstractions like HTML and Flash to delving deeper into the programming stack by learning Python and the Django web framework. It explores the idea that the "bare metal" of programming is not necessarily the ultimate goal, and that the true essence of programming lies in the possibilities and the community, rather than just the depth of the stack.

🙋 Q&A

[01] The Age of Abstraction

1. What is Oswald Spengler's view on the age of abstraction, and how does it relate to programming?

  • Oswald Spengler, a German historian, considered the current age to be the "age of abstraction".
  • This is particularly evident in programming, where abstraction is not just a conceptual convenience but an absolute necessity.
  • Programmers often talk about their tools as a "stack", with higher-level abstractions like HTML at the top and lower-level "bare metal" languages at the bottom.
  • The further down the stack one goes, the less abstract and more difficult the programming becomes.

2. How does the author describe the "bare metal" of programming?

  • The "bare metal" of programming is not actually metal, but rather impossibly thin layers of silicon dioxide that conduct electrical impulses in ordered patterns, which we experience as a screen showing text, images, and other digital content.
  • Despite this, programmers often seek to reach the "bare metal" in the belief that it will make their world more "real".

[02] The Author's Journey

1. How did the author's programming journey begin?

  • The author started with high-level abstractions like HTML, Geocities, Angelfire, and the marquee tag.
  • The author then moved on to Flash, which was initially an animation app, but later incorporated a scripting language.
  • The author was drawn to the elegance and simplicity of writing code in a text file, rather than clicking and dragging things around.

2. How did the author discover Python and the Django web framework?

  • While working in a restaurant kitchen, the author's dishwasher, Aaron, recommended that the author learn Python if they wanted to go deeper in the programming stack.
  • The author later discovered the Django web framework, which was a Python-based framework for building websites, and decided to use it for a project, which led to the author building a small business around Django-based websites.

3. What did the author discover about the depth of the programming stack?

  • The author never felt the need to go deeper than Python, as it provided the ability to work at both high and low levels of abstraction.
  • The author realized that the "bare metal" can be wherever the programmer finds themselves, with their language of choice and community, and that this is where they can build their world.

[03] The Essence of Programming

1. How does the author view the quest to "de-abstract" everything and reach the bottom of the programming stack?

  • The author suggests that the urge to reach the "bare metal" is an impulse from bygone times, and that the true essence of programming lies in the possibilities and the community, rather than just the depth of the stack.
  • The author argues that the "bare metal" can be found in the language, tools, and community that the programmer chooses to work with, and that this is where they can build their world.

2. What does the author find at the first Django conference?

  • The author finds a welcoming group of fellow nerds and programmers all working together to solve problems and build cool stuff, which the author describes as "concrete", "tangible", and arising from abstractions.
Shared by Daniel Chen ·
© 2024 NewMotor Inc.