#信息源
《79 个技术博客,提升你的系统设计水平》
https://open.substack.com/pub/bytebytego/p/79-engineering-blogs-to-level-up
《79 个技术博客,提升你的系统设计水平》
https://open.substack.com/pub/bytebytego/p/79-engineering-blogs-to-level-up
Bytebytego
79 Engineering Blogs To Level Up Your System Design Skills
Manage GraphqQL APIs Using the Postman GraphQL client (Sponsored) The Postman GraphQL client offers a simple yet powerful way to work with GraphQL APIs. With Postman's GraphQL client, you can: Explore GraphQL schemas easily Create code-ready queries
❤1
PSF 一年一度的年终筹款活动和会员活动🎉
参与方式:
- PyCharm 7 折优惠,所有收益将捐给 PSF,活动持续到 11 月 27 日
- 直接捐赠给 PSF
- 注册成为 PSF 的支持成员
https://pyfound.blogspot.com/2023/11/support-python-q4-2023.html
参与方式:
- PyCharm 7 折优惠,所有收益将捐给 PSF,活动持续到 11 月 27 日
- 直接捐赠给 PSF
- 注册成为 PSF 的支持成员
https://pyfound.blogspot.com/2023/11/support-python-q4-2023.html
👍3
#Python潮流周刊
Python 潮流周刊#27:应该如何处理程序的错误?
🦄文章&教程
1、将 Python 错误作为值:比较 Go 和 Rust 的使用模式
2、调试 Django 中的 CSRF 失败/403 禁止错误
3、对 Python 环境和包管理工具的公正分析
4、让我们一起创建一个 Python 调试器
5、揭开 Python 3.12 的面纱:Python 世界有哪些新东西?
6、Python 的哈希表指南
7、运行不可信的 Python 代码
8、了解 Linux cp 命令并用 Python 编程实现
9、初学者应该用 Django,而不是 Flask
10、PEP-733:对 Python 公共 C API 的评估
11、让我们做一个类 JSON 语法的解析器
12、一门编程语言应该有多大?
🐿项目&资源
1、CogVLM:多模态预训练模型
2、movis:用于生成与编辑视频的库
3、mirror:基于摄像头内容,实时回答问题
4、vimGPT:使用 GPT-4V 和 Vimium 浏览网页
5、twitter_user_tweet_crawler:无需调用 Twitter API,爬取用户推文
6、RSS-OPML-to-Markdown:将 OPML 文件转化为易读的 Markdown 格式
7、MyHeyGen:视频翻译工具
8、awesome-python-repo-stats:统计“awesome-python”列表中项目的信息
9、outlines:引导式文本生成
10、marimo:下一代 Python notebook
11、Finance:150+ 量化金融 Python 程序
12、tacticalrmm:一个远程监控和管理工具
🐢播客&视频
1、CPython 的 JIT 编译器
2、The Python Show 第 21 期:Sanic - 异步 Web 框架
👀 全文 👀 合集 🤝投稿 🐱频道
订阅:微信 (可加群) | RSS | 邮件 | Twitter
Python 潮流周刊#27:应该如何处理程序的错误?
🦄文章&教程
1、将 Python 错误作为值:比较 Go 和 Rust 的使用模式
2、调试 Django 中的 CSRF 失败/403 禁止错误
3、对 Python 环境和包管理工具的公正分析
4、让我们一起创建一个 Python 调试器
5、揭开 Python 3.12 的面纱:Python 世界有哪些新东西?
6、Python 的哈希表指南
7、运行不可信的 Python 代码
8、了解 Linux cp 命令并用 Python 编程实现
9、初学者应该用 Django,而不是 Flask
10、PEP-733:对 Python 公共 C API 的评估
11、让我们做一个类 JSON 语法的解析器
12、一门编程语言应该有多大?
🐿项目&资源
1、CogVLM:多模态预训练模型
2、movis:用于生成与编辑视频的库
3、mirror:基于摄像头内容,实时回答问题
4、vimGPT:使用 GPT-4V 和 Vimium 浏览网页
5、twitter_user_tweet_crawler:无需调用 Twitter API,爬取用户推文
6、RSS-OPML-to-Markdown:将 OPML 文件转化为易读的 Markdown 格式
7、MyHeyGen:视频翻译工具
8、awesome-python-repo-stats:统计“awesome-python”列表中项目的信息
9、outlines:引导式文本生成
10、marimo:下一代 Python notebook
11、Finance:150+ 量化金融 Python 程序
12、tacticalrmm:一个远程监控和管理工具
🐢播客&视频
1、CPython 的 JIT 编译器
2、The Python Show 第 21 期:Sanic - 异步 Web 框架
👀 全文 👀 合集 🤝投稿 🐱频道
订阅:微信 (可加群) | RSS | 邮件 | Twitter
👏7❤1👍1
关于编程语言对错误的处理,分享四篇文章:
1. Error handling patterns
https://andreabergia.com/blog/2023/05/error-handling-patterns
译文:https://pythoncat.top/posts/2023-05-08-error
2. Python errors as values: Comparing useful patterns from Go and Rust
https://www.inngest.com/blog/python-errors-as-values
3. 两种风格的错误处理
https://frostming.com/error-handling/
4.Musings about error handling mechanisms in programming languages
https://www.amazingcto.com/best-way-to-handle-errors-for-a-programming-language/
1. Error handling patterns
https://andreabergia.com/blog/2023/05/error-handling-patterns
译文:https://pythoncat.top/posts/2023-05-08-error
2. Python errors as values: Comparing useful patterns from Go and Rust
https://www.inngest.com/blog/python-errors-as-values
3. 两种风格的错误处理
https://frostming.com/error-handling/
4.Musings about error handling mechanisms in programming languages
https://www.amazingcto.com/best-way-to-handle-errors-for-a-programming-language/
👍2
CPython Steering Council 提名 (2024 任期)
将于 2023-11-22 00:00:00 AoE 结束(美国东部时间 2023-11-23 07:00:00)
目前提名情况:
1. Steering Council Nomination: Thomas Wouters (2024 term)
2. Steering Council Nomination: Pablo Galindo Salgado (2024 term)
3. Steering Council nomination: Emily Morehouse (2024 term)
4. Steering Council Nomination: Donghee Na (2024 term)
将于 2023-11-22 00:00:00 AoE 结束(美国东部时间 2023-11-23 07:00:00)
目前提名情况:
1. Steering Council Nomination: Thomas Wouters (2024 term)
2. Steering Council Nomination: Pablo Galindo Salgado (2024 term)
3. Steering Council nomination: Emily Morehouse (2024 term)
4. Steering Council Nomination: Donghee Na (2024 term)
#信息源
Ask HN: What's the best lecture series you've seen?
问HN:你看过的最好的系列讲座是什么?
https://news.ycombinator.com/item?id=34591291
Ask HN: What's the best lecture series you've seen?
问HN:你看过的最好的系列讲座是什么?
https://news.ycombinator.com/item?id=34591291
🥰2❤1
#Python潮流周刊
第 28 期:两种线程池、四种优化程序的方法
🦄文章&教程
1、四种优化程序的方法
2、两种线程池,以及为什么需要这两种线程池?
3、是时候改变了:datetime.utcnow() 现已被弃用
4、Python Web 应用的线上部署
5、Python GIL 作出的不断变化的“保证”
6、使用 pip-compile 和 pip-tools 作 Django 的依赖项管理
7、Python 程序的 bug 分类
8、有多少 Python 核心开发者使用类型提示?
9、记一次用 Python 的 ast 模块将 Flask 项目转为 Quart 的尝试
10、Python NumPy 库的可视化解释
11、用组合还是继承?我有不同看法
12、选择正确的数据仪表板工具:Streamlit 和 Shiny 的独特优势
🐿项目&资源
1、screenshot-to-code:利用截图生成 HTML/Tailwind/JS 代码
2、sqlalchemy_data_model_visualizer:将SQLalchemy数据模型转换为漂亮的SVG图表
3、aiconfig:配置驱动的 AI 应用开发框架
4、PyNest:基于 FastAPI 构建的框架,遵循 NestJS 的模块化架构
5、StyleTTS2:近乎人类水平的文本转语音库
6、pyjokes:程序员的一句话笑话(笑话即服务)
7、gTTS:用于与 Google 的文本转语音 API 交互
8、chatfairy:极简的网页版聊天室,只依赖 Flask
9、streamlit-shadcn-ui:在 streamlit 中使用 shadcn-ui 组件
10、video-subtitle-remover:用 AI 去除图片/视频的硬字幕/水印
11、flowty-realtime-lcm-canvas:使用 LCM 和 gradio 库的草图到图像演示
12、pyephem:科学级的天文学计算库
👀 全文 👀 合集 🤝投稿 🐱频道
第 28 期:两种线程池、四种优化程序的方法
🦄文章&教程
1、四种优化程序的方法
2、两种线程池,以及为什么需要这两种线程池?
3、是时候改变了:datetime.utcnow() 现已被弃用
4、Python Web 应用的线上部署
5、Python GIL 作出的不断变化的“保证”
6、使用 pip-compile 和 pip-tools 作 Django 的依赖项管理
7、Python 程序的 bug 分类
8、有多少 Python 核心开发者使用类型提示?
9、记一次用 Python 的 ast 模块将 Flask 项目转为 Quart 的尝试
10、Python NumPy 库的可视化解释
11、用组合还是继承?我有不同看法
12、选择正确的数据仪表板工具:Streamlit 和 Shiny 的独特优势
🐿项目&资源
1、screenshot-to-code:利用截图生成 HTML/Tailwind/JS 代码
2、sqlalchemy_data_model_visualizer:将SQLalchemy数据模型转换为漂亮的SVG图表
3、aiconfig:配置驱动的 AI 应用开发框架
4、PyNest:基于 FastAPI 构建的框架,遵循 NestJS 的模块化架构
5、StyleTTS2:近乎人类水平的文本转语音库
6、pyjokes:程序员的一句话笑话(笑话即服务)
7、gTTS:用于与 Google 的文本转语音 API 交互
8、chatfairy:极简的网页版聊天室,只依赖 Flask
9、streamlit-shadcn-ui:在 streamlit 中使用 shadcn-ui 组件
10、video-subtitle-remover:用 AI 去除图片/视频的硬字幕/水印
11、flowty-realtime-lcm-canvas:使用 LCM 和 gradio 库的草图到图像演示
12、pyephem:科学级的天文学计算库
👀 全文 👀 合集 🤝投稿 🐱频道
❤5👍3
#Python潮流周刊
第 29 期:Rust 会比 Python 慢?!
🦄文章&教程
1、Rust std fs 比 Python 慢!真的吗!?
2、Python 中性能最快的时间戳函数是哪个?
3、Python 是 Easy,Go 是 Simple,但 Simple != Easy
4、使用 Numba 提升 pandas.DataFrame.apply 的 C 级别性能
5、一份杂乱的 Flask 维护任务清单
6、用子解释器运行 Python 并行程序
7、新的开源库 VS. 旧的开源库
8、在 Pandas 的世界中使用 Polars
9、Python 的软关键字有哪些?
10、用 Python 实现机器人爸爸
11、如何(以及如何不)设计 REST API
12、如何调试 Asyncio 程序?
🐿项目&资源
1、marker:高效将 PDF/EPUB/MOBI 转换为 Markdown
2、awesome-django-performance:精选资源,用于分析和优化 Django 项目
3、datamodel-code-generator:将 JSON/YAML 转换为 Pydantic 模型
4、fastapi-code-generator:用 openapi 文件创建 FastAPI 程序
5、kanban-python:终端中的看板应用程序
6、saq:简单的异步队列
7、pyqtgraph:用于科学/工程应用的数据可视化及 GUI 工具
8、toga:Python 原生、OS 原生的 GUI 工具包
9、autometrics-py:函数级的指标监测工具
10、compiled:Python 标准库的编译后的变体
11、transpyler-gpt:GPT 驱动的 Python 转译器,让代码在旧版本上运行
12、clone-voice: 一个带 web 界面的声音克隆工具
🐢播客&视频
1、Talk Python To Me #439:Pixi 一个高性能的包管理器
2、Mouse Vs Python #23:与 Charlie Marsh 聊 Ruff Formatter
🥂讨论&问题
1、你用 Python 做过最酷的事情是什么?
2、鼓励使用命名参数的语法糖
👀 全文 👀 合集 🤝投稿 🐱频道
第 29 期:Rust 会比 Python 慢?!
🦄文章&教程
1、Rust std fs 比 Python 慢!真的吗!?
2、Python 中性能最快的时间戳函数是哪个?
3、Python 是 Easy,Go 是 Simple,但 Simple != Easy
4、使用 Numba 提升 pandas.DataFrame.apply 的 C 级别性能
5、一份杂乱的 Flask 维护任务清单
6、用子解释器运行 Python 并行程序
7、新的开源库 VS. 旧的开源库
8、在 Pandas 的世界中使用 Polars
9、Python 的软关键字有哪些?
10、用 Python 实现机器人爸爸
11、如何(以及如何不)设计 REST API
12、如何调试 Asyncio 程序?
🐿项目&资源
1、marker:高效将 PDF/EPUB/MOBI 转换为 Markdown
2、awesome-django-performance:精选资源,用于分析和优化 Django 项目
3、datamodel-code-generator:将 JSON/YAML 转换为 Pydantic 模型
4、fastapi-code-generator:用 openapi 文件创建 FastAPI 程序
5、kanban-python:终端中的看板应用程序
6、saq:简单的异步队列
7、pyqtgraph:用于科学/工程应用的数据可视化及 GUI 工具
8、toga:Python 原生、OS 原生的 GUI 工具包
9、autometrics-py:函数级的指标监测工具
10、compiled:Python 标准库的编译后的变体
11、transpyler-gpt:GPT 驱动的 Python 转译器,让代码在旧版本上运行
12、clone-voice: 一个带 web 界面的声音克隆工具
🐢播客&视频
1、Talk Python To Me #439:Pixi 一个高性能的包管理器
2、Mouse Vs Python #23:与 Charlie Marsh 聊 Ruff Formatter
🥂讨论&问题
1、你用 Python 做过最酷的事情是什么?
2、鼓励使用命名参数的语法糖
👀 全文 👀 合集 🤝投稿 🐱频道
❤7👍2
分享一篇短文《技术写作的“坎”》
程序员在开始写作前,心理上难以克服的问题:
- 写不好作文,如何能写出文章来
- 同类文章很多,为什么还要写一遍
- 个人观点未经时间的验证,怕误导读者
作者解释的很好。
最后的结语——
“任何一次认真的思考都值得被尊重,程序员可以把技术写作当做一个加速自我学习和提升的工具,借助写作构建自己的知识体系,借助写作锻炼自己的深入思考能力,借助写作来和文章的读者切磋技术,借助写作打造自己的影响力,借助写作强化自己的心脏,抛开那些无谓的“坎”。”
程序员在开始写作前,心理上难以克服的问题:
- 写不好作文,如何能写出文章来
- 同类文章很多,为什么还要写一遍
- 个人观点未经时间的验证,怕误导读者
作者解释的很好。
最后的结语——
“任何一次认真的思考都值得被尊重,程序员可以把技术写作当做一个加速自我学习和提升的工具,借助写作构建自己的知识体系,借助写作锻炼自己的深入思考能力,借助写作来和文章的读者切磋技术,借助写作打造自己的影响力,借助写作强化自己的心脏,抛开那些无谓的“坎”。”
码猿外 | 麻广广的博客
技术写作的“坎”
对于还没开始写作的程序员来说,开始动笔总是很难的,有各种心理的坎需要过: 作为理工科学生,以前作文写得就很差,现在还让我写技术文章,快算了吧 网上有大量类似的文章,我再写一篇没有任何意义,何况我写的还不如人家好 我的观点不一定完全正确,会误...
👍4
《Google 如何消除代码审查的痛苦,获得 97% 的开发者满意度》
文章深入探讨了:
- Google’s guidelines for efficient code review(Google 的高效代码审查指南)
- Critique, their code review tooling, and AI-powered improvements(Critique、他们的代码审查工具和 AI 驱动的改进)
- Internal statistics on Google code reviews(关于谷歌代码审查的内部统计数据)
- Why Critique seems to be so loved by Googlers(为什么 Critique 如此受 Google 员工喜爱)
文章深入探讨了:
- Google’s guidelines for efficient code review(Google 的高效代码审查指南)
- Critique, their code review tooling, and AI-powered improvements(Critique、他们的代码审查工具和 AI 驱动的改进)
- Internal statistics on Google code reviews(关于谷歌代码审查的内部统计数据)
- Why Critique seems to be so loved by Googlers(为什么 Critique 如此受 Google 员工喜爱)
Engineerscodex
How Google takes the pain out of code reviews, with 97% dev satisfaction
A study of Google's code review tooling (Critique), AI-powered improvements, and recent statistics
pythoncat.top
聊聊技术周刊的变现 - 豌豆花下猫
👍26👏6😁4
#Python潮流周刊
🐬🐬第 30 期
🦄文章&教程
Python 非洲:致 Python 软件基金会的一封公开信
Django 5.0 发布了!
56 行代码用 Python 实现一个 Flex/Lex
如何在 FastAPI 正确地使用依赖注入?
为什么不应该在 Python 中过度使用列表解析式?
非类型化的 Python:曾经的 Python
用 django-watson 给 Django 项目添加全文搜索
解析 Celery 的扇出模式
Python Asyncio 的 7 个替代库
解密 CPython:当执行 a+b 时,背后发生了什么?
如何使用 Python 播放 GIF?
用 Python 开发一个微型的 REPL
🐿项目&资源
self-operating-computer:使多模态模型能够操作计算机
marko:具有高扩展性的 markdown 解析器
WeChatMsg:导出微信聊天记录成 HTML/Word/CSV文档
PyWxDump:获取微信账号信息、导出聊天记录
mlx:适用于 Apple 芯片的阵列框架
DSAlgo:数据结构和算法的面试题集锦
Python 在线编译器网站
aio-libs:65 个基于 Asyncio 的库/项目
kolo:查看 Django 应用的执行过程
dnsteal:DNS 渗透工具,通过 DNS 请求隐秘发送文件
github-trends:使用自定义卡片美化 GitHub 个人主页
Depix:还原打了马赛克的截图信息
👀 全文 👀 合集 🤝投稿 🐱频道
🐬🐬第 30 期
🦄文章&教程
Python 非洲:致 Python 软件基金会的一封公开信
Django 5.0 发布了!
56 行代码用 Python 实现一个 Flex/Lex
如何在 FastAPI 正确地使用依赖注入?
为什么不应该在 Python 中过度使用列表解析式?
非类型化的 Python:曾经的 Python
用 django-watson 给 Django 项目添加全文搜索
解析 Celery 的扇出模式
Python Asyncio 的 7 个替代库
解密 CPython:当执行 a+b 时,背后发生了什么?
如何使用 Python 播放 GIF?
用 Python 开发一个微型的 REPL
🐿项目&资源
self-operating-computer:使多模态模型能够操作计算机
marko:具有高扩展性的 markdown 解析器
WeChatMsg:导出微信聊天记录成 HTML/Word/CSV文档
PyWxDump:获取微信账号信息、导出聊天记录
mlx:适用于 Apple 芯片的阵列框架
DSAlgo:数据结构和算法的面试题集锦
Python 在线编译器网站
aio-libs:65 个基于 Asyncio 的库/项目
kolo:查看 Django 应用的执行过程
dnsteal:DNS 渗透工具,通过 DNS 请求隐秘发送文件
github-trends:使用自定义卡片美化 GitHub 个人主页
Depix:还原打了马赛克的截图信息
👀 全文 👀 合集 🤝投稿 🐱频道
👍4
强烈推荐这篇文章:《深入探索:AI 驱动的 PDF 布局检测引擎源代码解析》
系统的分析了最近很火的 PDF 转 Markdown 开源程序 Marker 的工作原理,比我想象的要复杂不少,用了好几个开源库。Marker 主要通过以下六个阶段来工作:
1. 准备阶段: 利用 PyMuPDF 工具,可以把各种格式的文档转换成 PDF 文件。
2. 文本识别(OCR): 使用 Tesseract 或 OCRMyPDF 进行文字识别;也可以选择用 PyMuPDF 进行基本的文字抓取。
3. 布局识别: 运用专门定制的 LayoutLMv3 模型 来识别文档中的表格、图表、标题、图说、页眉和页脚。
4. 列的检测和排序: 再用一个定制的 LayoutLMv3 模型来识别文档中的列,并按照正确的顺序(上到下,左到右)进行排列。
5. 公式/代码处理: 通过 Nougat 工具,把公式图片转换成对应的 latex 代码,并利用启发式方法准确识别和调整代码及表格内容。
6. 文本清理与优化: 使用定制的 T5ForTextClassification 模型进行文本清理,比如去掉不必要的空格和奇怪的字符,确保以一种保守且保留原意的方式进行优化。
借助这六个阶段,Marker 能够把任何文档转化为格式整洁的 Markdown 文件。
原文:Inside Marker: A Guided Source Code Tour for an AI-powered PDF Layout Detection Engine
以上转载自 X @宝玉
系统的分析了最近很火的 PDF 转 Markdown 开源程序 Marker 的工作原理,比我想象的要复杂不少,用了好几个开源库。Marker 主要通过以下六个阶段来工作:
1. 准备阶段: 利用 PyMuPDF 工具,可以把各种格式的文档转换成 PDF 文件。
2. 文本识别(OCR): 使用 Tesseract 或 OCRMyPDF 进行文字识别;也可以选择用 PyMuPDF 进行基本的文字抓取。
3. 布局识别: 运用专门定制的 LayoutLMv3 模型 来识别文档中的表格、图表、标题、图说、页眉和页脚。
4. 列的检测和排序: 再用一个定制的 LayoutLMv3 模型来识别文档中的列,并按照正确的顺序(上到下,左到右)进行排列。
5. 公式/代码处理: 通过 Nougat 工具,把公式图片转换成对应的 latex 代码,并利用启发式方法准确识别和调整代码及表格内容。
6. 文本清理与优化: 使用定制的 T5ForTextClassification 模型进行文本清理,比如去掉不必要的空格和奇怪的字符,确保以一种保守且保留原意的方式进行优化。
借助这六个阶段,Marker 能够把任何文档转化为格式整洁的 Markdown 文件。
原文:Inside Marker: A Guided Source Code Tour for an AI-powered PDF Layout Detection Engine
以上转载自 X @宝玉
👍5❤1
#Python潮流周刊
从 2023.05.13 到 2023.12.09,30 期周刊正好花了 210 天!我们分享了:
文章/教程:378 篇
项目/资源:270 个
播客/视频:54 则(有不少是视频列表)
热门讨论:20 个
为了方便老读者们回看及检索,也为了方便新关注的读者从第一季内容中寻宝,我把全部 30 期周刊的正文汇总成了一篇,共 6.2 万字:https://pythoncat.top/posts/2023-12-11-weekly
从 2023.05.13 到 2023.12.09,30 期周刊正好花了 210 天!我们分享了:
文章/教程:378 篇
项目/资源:270 个
播客/视频:54 则(有不少是视频列表)
热门讨论:20 个
为了方便老读者们回看及检索,也为了方便新关注的读者从第一季内容中寻宝,我把全部 30 期周刊的正文汇总成了一篇,共 6.2 万字:https://pythoncat.top/posts/2023-12-11-weekly
pythoncat.top
Python 潮流周刊第一季精华合集(1~30) - 豌豆花下猫
👍7
《十年开发一门编程语言》
作者开发了一门编程语言 Inko,文章分享了一些经验。
“多年来,Inko也发生了很大变化:曾经是一种逐渐类型化的解释型语言,现在它是静态类型的,并且使用LLVM编译成机器码。而且,Inko以前主要受到Ruby和Smalltalk的启发,但现在更接近于Rust、Erlang和Pony,而不是Ruby或Smalltalk。”
- Avoid gradual typing 避免渐进式类型化
- Avoid self-hosting your compiler
避免自行托管编译器
- Avoid writing your own code generator, linker, etc
避免编写自己的代码生成器、链接器等
- Avoid bike shedding about syntax
避免关于语法的无谓争论
- Cross-platform support is a challenge
跨平台支持是一个挑战
- Compiler books aren't worth the money
编译器书不值得花钱购买
- Growing a language is hard
发展一门语言很困难
- The best test suite is a real application
最好的测试套件是一个真实的应用程序
- Don't prioritize performance over functionality
不要将性能置于功能之上
- Building a language takes time
建立一种语言需要时间
作者开发了一门编程语言 Inko,文章分享了一些经验。
“多年来,Inko也发生了很大变化:曾经是一种逐渐类型化的解释型语言,现在它是静态类型的,并且使用LLVM编译成机器码。而且,Inko以前主要受到Ruby和Smalltalk的启发,但现在更接近于Rust、Erlang和Pony,而不是Ruby或Smalltalk。”
- Avoid gradual typing 避免渐进式类型化
- Avoid self-hosting your compiler
避免自行托管编译器
- Avoid writing your own code generator, linker, etc
避免编写自己的代码生成器、链接器等
- Avoid bike shedding about syntax
避免关于语法的无谓争论
- Cross-platform support is a challenge
跨平台支持是一个挑战
- Compiler books aren't worth the money
编译器书不值得花钱购买
- Growing a language is hard
发展一门语言很困难
- The best test suite is a real application
最好的测试套件是一个真实的应用程序
- Don't prioritize performance over functionality
不要将性能置于功能之上
- Building a language takes time
建立一种语言需要时间
🤔3👌1