HN 写作课

工程师们二十年里聊过的写作。

工程师、作家、编辑和创业者在 Hacker News 上聊了二十年“怎么写”:怎么写得清楚、怎么讲好一个故事、技术文档怎么写、小说和出版是怎么回事。这里把其中关于写作与讲故事的帖子挑出来,配上中文导读、可以直接用的写作要点和评论翻译。

从必读开始
  • 2,600+篇关于写作的 HN 讨论

Writing tips

写作锦囊

正在抽一条写作要点…

Essential

必读 30 篇

在讨论库里看全部精选

编辑精选里 HN 讨论最热的 30 篇,每篇都有中文导读和写作要点。

  1. 正在载入…

Archive

讨论库

按发帖年份分布,点柱子筛选。

排序

    About

    这些讨论是怎么挑出来的

    1. 01

      从全量里捞

      读取 Hacker News 自 2006 年以来的全部帖子,用关键词先捞出 40 分以上、可能和写作有关的约 1.1 万篇。

    2. 02

      只留真正讲写作的

      由 AI 逐条判断是否和写作、讲故事、文风、出版有实质关系,剔除“写代码”“编辑器”这类字面撞车,并分进十个类别。

    3. 03

      提炼可用的要点

      为值得读的帖子写中文导读,提炼 2-4 条可以直接用到自己写作里的要点,并精选翻译 HN 高赞评论。内容由 AI 生成,可能有误。

    出版与作家生涯2017arthur-johnston.com

    一位黑客写了一本儿童书

    A Hacker Writes a Children's Book

    阅读原文 HN 讨论
    171HN 得分
    68条评论
    4条写作要点

    导读

    一位程序员记录自己创作儿童书的经历,评论区则围绕“编程童书该讲什么”和自出版现实展开。对写作者来说,它提醒两件事:把专业概念转译给孩子时要抓住普适内核而非术语趣味;小众或自出版作品要提前想清商业预期与营销路径。

    关键词 儿童写作编程启蒙自出版类比教学

    可以直接用的写作要点

    1. 01

      写给孩子看的专业题材,先问“孩子能带走什么”,少用行业黑话和成人觉得有趣的梗,多提炼数学、循环、递归等普适概念。

    2. 02

      把抽象算法转成孩子熟悉的流程(如做菜),用输入—步骤—输出搭骨架,再故意制造“顺序错、材料错、漏步骤”的问题让孩子推演。

    3. 03

      类比要允许孩子实验和复述:选择他们能动手、能教给同伴的场景,比从继承、组合等术语讲起更容易建立直觉。

    4. 04

      自出版或小众写作要管理商业预期:销量常靠亲友和本地社群,营销最难;可把成书当作纪念品、赠阅样本或社群连接点。

    HN 评论精选

    批评童书停留在行业术语表面,主张用数学、循环、递归等普适计算概念启发孩子。

    我觉得这本书相当令人失望。它似乎过于集中在编程的表面,比如软件工程师在家偶尔会提到的行话。对成年家长来说可能有趣、有吸引力,但孩子能学到什么?也许可以多讲数学(哪怕只是 1+1=2 的水平)、把重复过程当作循环、递归的概念、计算机不能做超出人用纸笔能做的事——这些更普适的计算层面,对孩子可能很有启发性。

    a-nikolaev查看英文原文

    To me the books looks quite underwhelming. It seems focused too much on the superficial aspects of programming, like jargon a software engineer may mention occasionally at home. It may look fun and appealing to their adult parent. But what can a child learn from it? Maybe doing more with math (even if at 1+1=2 level), repetitive processes as loops, idea of recursion, idea that a computer cannot compute more than one can do with pencil and paper.. More _universal_ aspects of computation can be really illuminating to kids, I think.

    自出版儿童书商业回报低、营销难,更适合当作纪念品或赠阅,而非投资。

    很好的书和写作记录。我大约两年前自出版过一本儿童书,也遇到同样挑战。我有很多以前写好的手稿,在孩子们的催促下决定出版一本。我用了插画师提供的编辑和设计套餐,通过 Amazon CreateSpace 出版(亚马逊似乎在逐步淘汰它)。最终的书很不错,但从商业角度看不是好投资。幸好我一开始没抱太大野心。我有一阵没查了,但通过亚马逊每卖一本我赚不到 1 美元(因为费用和印刷成本)。大多数销量来自亲友,其他很少。我试过亚马逊促销、GoodReads 赠书等。除非你已经有大量粉丝,否则自出版作者很难卖书。这本书仍是很好的纪念品,送给学校并得到积极反馈也不错。

    neovive查看英文原文

    Great book and write-up. I self-published a children's book about two years ago and experienced the same challenges. I had many previously written manuscripts and decided to publish one at the urging of my kids. I used the editing and design packages offered by our illustrator and published via Amazon CreateSpace (which Amazon seems to be phasing out). The final book was very nice. However, business-wise, it's not a good investment. It's a good thing I didn't go into the process with any major ambitions. I haven't checked in a while, but I earn a little less than $1 per sale through Amazon (due to fees and printing costs). Most sales were from friends and family and little else. I tried the Amazon promotions, giveaways on GoodReads, etc. It's very hard to sell as a self-published author, unless you already have a huge following. The book is still a very nice keepsake and it's nice to give away copies to schools and get positive feedback.

    小众自出版可借本地社群和线下活动销售,口碑营销最有效。

    这是一篇关于作者经历的好记录。我也自出版过一本小众书——一本现代数学图案涂色书,从彭罗斯铺砖开始,再到完全对称自补平面分割、阿兹特克菱形多米诺铺砖、完全填充环图、交替链图。大多是统计力学相关的好玩东西,是我看数学朋友们在做的。我学了点 Adobe InDesign 自己排版,用 Python、Sage、Tikz 生成所有图像,或用 Inkscape 画。然后找本地印刷店印刷。这意味着前期投入,但定好价格后,卖完能赚一点小钱。印 100 本的单价明显低于单本。另一个不同:我与本地艺术圈有联系,能在几个艺术爬行活动上卖。人们觉得这是对现场其他艺术的新鲜对照——给书呆子准备的书呆子东西,可以送给对数学兴奋的侄女或当数学老师的表亲。营销仍是最难的,脸书口碑最好。

    kaitai查看英文原文

    This was a great write-up about the author's experience. I, too, have self-published a niche book -- a coloring book with patterns from modern math, starting with Penrose tilings and then heading through totally symmetric self-complementary plane partitions, domino tilings of Aztec diamonds, fully packed loop diagrams, and alternating strand diagrams. Just fun stuff related mostly to statistical mechanics that I see my math friends working with. I learned some Adobe inDesign to lay it out myself, generated all the images myself with Python, Sage, Tikz, or just drew them in Inkscape. Then I had it printed at a local print shop. That means there was an initial investment, but once I set the right price I could make a (small) profit by just selling them all. The per-price cost when printing 100 is substantially lower than individual copies. Another difference for me: I have some connections to the local art scene and was able to sell at several art crawls. I think people found it a refreshing counterpoint to the rest of the art -- something nerdy for the nerdy folks, something they could get for a niece who is excited about math or a cousin who is a math teacher. Marketing is still the hardest thing, for me as for this author. Facebook word-of-mouth has been the best.

    用做饭等日常流程类比算法,通过故意制造错误和变化,让孩子在实验中理解抽象概念。

    怎么让孩子理解算法或编程范式这么抽象的东西?我的方法是从他们熟悉的事物开始,比如做饭。你有食材(输入)、有序步骤(算法)和输出(食谱的预期结果)。如果你先炸土豆再削皮呢?如果你漏了说土豆要削皮呢?如果你用胡萝卜代替土豆呢?如果土豆过期了呢?土豆形状或大小对食谱重要吗?……可以继续往下问。这样能让孩子理解:有些指令不能重排,食材的某些属性重要、有些不重要(从而得到能接受更多食材的通用食谱),存在合适的细节和啰嗦程度,需要对食材做验证,也有要遵循的最佳实践(比如洗手、洗食材)等。然后,孩子可能不喜欢做饭,可以试别的,比如给狗搭房子。最后可以试 Snap Circuits 这类电子套件,我强烈推荐。我认为这比从类型继承和组合、或“键盘是什么”开始好得多,因为孩子能围绕它建立直觉、做实验,甚至教其他孩子。最重要的是这能……(原文截断)

    partycoder查看英文原文

    How do you get a kid to understand something as abstract as an algorithm or a programming paradigm? My approach is to start from something they are familiar with, like cooking. You have the ingredients (input), a sequence of ordered steps (algorithm) and the output (the expected result of the recipe). What if you fry potatoes before you peel them? what if you omitted mentioning that potatoes had to be peeled? what if you use carrots instead of potatoes? what if potatoes are expired? does the potato shape or size matter for your recipe?... and you can continue from there. That takes you as far as understanding that some instructions cannot be rearranged, that some attributes of the ingredient are important while some others aren't (leading to generalized recipes that accept more ingredient types), that there is a proper level of detail and verbosity, that there are validations that are required for your ingredients, that are best practices to be followed (e.g: washing your hands and your ingredients), etc. Then, maybe the kid doesn't like cooking. You can try something else, like constructing a house for the dog, etc. Finally, you may want to try an electronics kit like Snap Circuits. I highly recommend it. This approach in my opinion much better than starting from something like type inheritance and composition, or what a keyboard is... the reason being, the kid can build an intuition around it, experiment with it and even teach it to other kids. Most importantly, this knowledge can be applied directly into programming. The key however, is to emphasize the concepts that can be translated into programming, otherwise it's just going to be wasted opportunities.

    同类还值得读

    1. 写书:值得吗?

      Writing a book: is it worth it?

      Martin Kleppmann(《设计数据密集型应用》作者)复盘写书到底值不值:金钱回报低、耗时极长,但带来了可见度、信任和职业机会。

      出版与作家生涯2020 · 642 分 · 287 评4 条写作要点编辑精选
    2. 写书并不是个好主意

      Writing books is not really a good idea

      这篇文章讨论靠写书谋生的现实难度,评论区从版税数学、收入预期和写作目标三个角度补充了作者视角。

      出版与作家生涯2021 · 577 分 · 609 评4 条写作要点编辑精选
    3. 如何自助出版一本书:实用资源清单

      How to self-publish a book: A handy list of resources

      这是一份关于「如何自助出版一本书」的资源清单帖,涵盖从编辑、排版到 ISBN、销售渠道的实操工具与花费。

      出版与作家生涯2018 · 558 分 · 88 评4 条写作要点编辑精选
    4. 我自助出版一本Ruby on Rails书,赚了7万美元

      How I Made $70k Self-Publishing a Book about Ruby on Rails

      这是一篇 Ruby 开发者自述:他把一套 Rails 性能课程(书+视频+答疑)自出版,一年毛收入约 7 万美元,并总结了选题、定价、营销等经验。

      出版与作家生涯2017 · 539 分 · 175 评4 条写作要点编辑精选
    5. 石黑一雄警告年轻作家因“恐惧”而自我审查

      Sir Kazuo Ishiguro warns of young authors self-censoring out of 'fear'

      石黑一雄提醒年轻作者因“恐惧”而自我审查,即这条帖子讨论的核心。

      出版与作家生涯2021 · 396 分 · 641 评5 条写作要点编辑精选

    打赏支持

    打赏二维码

    觉得有用,请作者喝杯咖啡。

    WeChat

    关注向阳乔木

    微信公众号「向阳乔木推荐看」

    微信公众号「向阳乔木推荐看」二维码

    微信扫一扫;在微信里打开本页时,长按二维码识别。