推荐理由：这个项目是个 C# 游戏引擎，它不仅具备了该有的 UI 可视化编辑和场景编辑等等各种基础功能，还支持有关 VR 的测试预览，各种动画粒子效果也没有落下。如果有使用 C# 的朋友想玩游戏开发的话，这个应该是一个很好的选择。
今日推荐英文原文：《Why developers should know how to write》作者：Derek Mei
Why developers should know how to write
I recently came across an article by John Maeda about how writing — not coding — is design’s unicorn skill. That got me thinking about how writing plays a role in the life of developers.
In today’s data-driven, data-heavy world, there’s so much content to consume. We’re constantly bombarded by videos, pictures, advertisements, podcasts, and articles. Each of these media has a different type of appeal, and it always seems like there’s strong competition to try to attract and retain our attention.
With the proliferation of different media channels in the past several decades, there has been a less of an emphasis on written content and more on the visual — specifically videos and images. According to this memo from 3M from 1997, people can process visuals 60,000 times faster than text.
However, knowing how to write is still an important skill. Words can be one of the purest forms of expressing one’s thoughts. Words can be presented as letters, articles, or text messages. A writer will disseminate and share their thoughts in the form of ink on paper or digitized pixels on a screen.
I’ve learned that writing well can be a catalyst for success, whether it be in the realm of personal growth, professional development, or social prosperity. A lot of the skills I’ve developed from writing dozens of articles in the past few years have translated over to my new full-time role as a software engineer at Putnam Investments.
As a developer, here are five benefits I’ve come across by learning to write.
1. Writing well makes you a better communicator
The most obvious benefit I’ve realized from writing frequently is that writing well has made me a better communicator. As humans, we rely primarily on our words to convey our thoughts and feelings to others. By writing often, I’m able to express my thoughts easier, without having to worry about whether I’m using the right words, writing too much or too little, or being too vague or convoluted.
At work, I can draft concise emails or send instant messages without having to resort to a dictionary for the correct spelling of a word or a thesaurus to make myself sound smarter. When thoughts can flow freely from your mind to your hand, the words that come out on paper flow fluidly and don’t have to be manipulated to achieve a specific purpose.
Writing, like many other crafts, takes years of practice to hone. The best part of writing is that the improvement is detectable. You can look at previous works and see visible improvement over time.
2. Writing for an audience helps you write better documentation
Part of the criteria for being a good developer is knowing how to communicate technical requirements and specifications to other stakeholders. Knowing your audience is an important part of writing — the same applies when communicating with stakeholders or writing any type of documentation.
When working with less technical team members, you have to explain technical terms and concepts in a way that makes sense and resonates to whoever you’re working with. For example, when working with product owners and designers, I usually try to provide a high-level overview of whatever I’m working on without getting bogged down in the details. For designers, I try to communicate how the feature should be implemented from a UX or UI perspective. For product owners, I try to frame my work from the perspective of the business.
In addition, developers also have to communicate their work to other developers. Whether it be naming variables or function names, writing inline comments, or documenting how the system should work from a high-level, developers need to know how to write good documentation so that code is understandable and maintainable. Whenever I write documentation, I try to make it as complete as possible. Any developers working on my codebase will be able to understand the high-level structure, and also be able to contribute instantly without having to deconstruct and reverse-engineer the code.
3. Writing makes you appreciate the idiosyncrasies of programming
Back in 2011, a Redditor posted in the /r/programming subreddit about the differences and similarities between writing and programming. Some say that programming is akin to writing in that it’s a skill that isn’t conceptually difficult, but is something that is refined over time. Others state that writing is completely different than programming in that writing is a creative endeavor, whereas programming is a more involved science that requires a deeper understanding of the fundamental concepts.
The general consensus, with minor disagreements in the nuances of each, is that both writing and programming require basic knowledge of the fundamentals — syntax, structure, and semantics. However, what differentiates an amateur from a veteran in each field is the ability to be creative and deal with the complexity of the system or topic at hand.
Writing teaches developers to think differently. For developers, writing code can feel restricted as there are a limited number of keywords, functions, and libraries that can be used. However, written languages allow for complete freedom in expression in a way that programming languages usually don’t allow.
Ted Kaminski brings up another interesting point around the purpose of words as we use them in code and in other mediums.
“For one, writing is meant to be read. Code is meant to be read and changed.” -Ted Kaminski
Within the realm of writing, it appears as if a strict dichotomy has been created over time to separate the concerns of the writers from the readers. Writing seems to be set in stone, whereas code is an ongoing endeavor that seeks to improve upon the old.
In many ways, writing “creatively” and writing code share many similarities, but knowing their differences makes me appreciate both much more.
4. Writing gives you a chance to apply what you learn
When I write, it always feels like I’m having a conversation with myself. Upon finishing a book or discovering something significant, I try to let my thoughts ruminate by writing an article on what I’ve learned. For me, I’ve found the best way to nudge my knowledge forward in a particular area is to write about that topic.
On freeCodeCamp and so many other websites that provide basic development tutorials, authors write about a variety of different topics and concepts. Part of the reason why so many volunteer their time to write articles is not only so they can share their experiences and help others, but also so they can reinforce their learned knowledge of the topic they’re writing about.
When I write about topics I learn about, I usually conduct additional research that often results in me coming across snippets of information I wouldn’t otherwise be exposed to. When I write, I’m more inclined to remember what I’ve learned for the long term. Additionally, I sometimes also come across different perspectives and viewpoints that challenge my initial outlook. The whole process of writing is a living and ongoing conversation that allows me to process the information I come across and make my own judgments.
Writing is a great way to digest and process the information we take in. However, erudition and intellect stem not from the quantity of information that we take in, but from our ability to process that information and draw meaningful conclusions from it.
5. Writing as a form of catharsis
This last reason why I think writing is important might not be as directly relevant to the role of a developer as the last four reasons. But I think it’s just as, if not more, important. A big part of the reason why I choose to write is because writing is a great outlet for my emotions and feelings. I don’t like keeping my feelings and thoughts bottled up, so I seek out writing as a form of catharsis.
When I was younger, I used to write journal entries in a diary. Now I write about a variety of topics and publish them for the world to read. But every now and then, I’ll return to pen and paper to express my personal thoughts. I keep a private journal that I write in occasionally when I have doubts about my professional goals, personal life, social relationships, and everything in between.
There’s nothing to writing. All you do is sit down at a typewriter and bleed.
When I write about my feelings, it feels like I’m talking to a friend who is really good at listening. It’s a way for me to purge negative emotions and speak to an empty page without the fear of judgment.
Writing has a lot of benefits, and although it might not be your preferred way to express your thoughts, it’s a needed and useful skill even in today’s cacophonous and chaotic world. Even if you’re a beginner to the world of writing, I recommend that you try sitting alone with your thoughts and let your mind flow freely. It’s amazing what you can come up with.