只是为了好玩 (2022)
Just for Fun (2022)

原始链接: https://justforfunnoreally.dev

软件开发是一种激情:本文重点介绍了许多开发人员编写代码所带来的快乐和兴奋。 与普遍看法相反,并非所有程序员的目标都是创建下一个价值数百万美元的应用程序; 有些人只是喜欢构建软件的艺术和挑战。 这些开发人员被称为“黑客”。 他们乐于创造,即使很少有人使用他们的作品或从他们的作品中受益。 这篇文章还讨论了消费者文化心态,即软件主要被视为一种商品,而不是表达或学习的手段。 这些人可能会质疑看似不必要的项目背后的目的。 然而,这些黑客沉迷于创作过程本身,而不考虑经济利益。 最后,作者强调,编程是一种艺术追求,类似于诗歌,思想的构建是在体现为有形的创作之前进行的。 因此,该流程具有内在价值,而不仅仅是生产力或盈利能力。 总之,本文鼓励读者再次拥抱编程,尤其是那些因外部因素或压力而对编程热情逐渐减弱的读者。 这篇文章邀请那些将疯狂创意编程视为排他性或精英主义的人重新考虑这一观点并参与其中。 最后,作者分享了几个标有“只是为了好玩”的项目,展示了编程的无限潜力和创造力。

用户更喜欢简单的项目而不是复杂的项目,在投入实施之前重点关注理解基本概念。 他们不喜欢使用大型库或框架,更喜欢通过阅读参考资料和 Git 存储库来探索代码。 用户认同游戏开发者约翰·卡马克早期因限制而导致技能发展的经历。 用户反映了将生产力和收入潜力置于个人享受和成长之上的社会压力。 他们质疑“为了好玩”而编码的价值,并担心他们的创作可能会在没有得到认可或补偿的情况下被盗用。 尽管存在这些担忧,他们仍然继续追求小型的、令人愉快的项目。 他们对那些仅仅根据头衔或职位就认为他们比软件开发人员“更重要”的人感到沮丧,并感到被那些可能对员工显得虚伪的高层人士误解。 总体而言,用户在个人贡献软件开发中寻求满足感,并对当前对生产力和收入而非创造力和享受的重视提出质疑。
相关文章

原文
Just for Fun. No, Really.

We like to write software! Coding is a zigzag journey of problem-solving, and the destination is less important than some might think.

We often get asked questions like:

  • “Why are you doing this?”
  • “What is the purpose of this project?”
  • “What does this project do better than X?”

Silicon Valley Cutthroat

If one spends a lot of time on Hacker News, or other startup-oriented news sites, they might believe that everyone is working on their next multi-million-dollar startup and/or exit strategy. It may be hard to imagine that people work on open source code purely for the fun of it.

There are hackers who just love the art of building software. They do it for the challenge, for the fun of it. They aren’t trying to make a million dollars.

Consumer Culture

Or, if one is used to consuming other software only, and rarely creating any, they might get stuck in a mindset of thinking “what can this project do for me?” (And if the project isn’t relevant to them, they wonder why it exists.)

There are hackers who don’t need lots of people to consume their software. Of course, they would love it if others enjoyed/admired/appreciated their work, but that's not strictly necessary. It's just fun to create.

We do it just for the fun of it. No, really.

Lastly, if one has learned enough programming technique to do their day job and not a lot more, then they might not appreciate programmers who are always trying new things.

There are hackers who live and breathe code, and the idea that every line of code must prove its monetary value, that every hour spent toiling away at the keyboard must be accounted for, is a damn shame.

The process itself, flaws and all, has value—not just the final product.

I'll end with my favorite quote about programming:

The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures.... Yet the program construct, unlike the poet's words, is real in the sense that it moves and works, producing visible outputs separate from the construct itself.

—Fred Brooks, The Mythical Man-Month

Try it!

If you, dear reader, think you may have lost your way—that coding used to be fun for you, but now it's just a slog of clocking in and out to get a paycheck, then allow us to invite you back!

Or, if you were conditioned to think that wild-idea programming is only for professionals and academics, this page is for you. You have the right to tinker, and have fun doing it!

Think of something that you might like to build, learn, experience inside the computer, and just jump in. Without looking or researching first. You might just have a bit of fun. No, really.

The Club

In no particular order, here are some projects who proudly own the “just for fun” label.

Name Description
Natalie a Ruby compiler, for fun
ZigSelf a Self implementation in Zig, for fun
php-parser-rs a PHP parser in Rust, for fun
ex6502 a 6502 processor emulator in Elixir, for fun
Piko-piko OS an x86 16-bit toy OS, for fun
Folders2kt an esoteric programming language, for fun
GCC Rust a Rust compiler, for fun
Soul an SQLite REST and realtime server, for fun
hssp an http status codes CLI, for fun
PyCraft a minecraft launcher in python, for fun
hashsearch a reverse image search engine, for fun
quackspeak a text-to-speech engine using ducks, for fun
Quark a high performance lisp dialect, for fun
Whitecat a CLI for PHP development, for fun
eClient a minecraft launcher in python, for fun
CascadeOS a general purpose OS, for fun
Kiesel a JavaScript engine in Zig, for fun
github-pewpew a CLI tool to delete repos, for fun
dt a concatenative AWK-like language, for fun
grab a lightweight and simple grep clone, for fun
math-with-regexps math with regexps, for fun
noro a text editor with window manager, for fun
Vox a static site builder made with Elixir, for fun
jimson a JSON parser, for fun
txt2tufte a Tufte-esqe website builder, for fun
Azure Storage web explorer an Azure Storage web explorer, for fun
renam a blazingly fast file renaming utility, for fun
Funciton a programming language consisting of boxes, for fun

Join us!

  1. Add the badge to your project README: justforfunnoreally.dev badge
    [![justforfunnoreally.dev badge](https://img.shields.io/badge/justforfunnoreally-dev-9ff)](https://justforfunnoreally.dev)
  2. Add your project to this repo.
联系我们 contact @ memedata.com