(Archived) About me
关于
- 对计算机和软件感兴趣,想结交更多在开发/PL/FP方面志同道合的好友。
- 很喜欢学习和使用设计良好的现代编程语言,例如Haskell、C#、Kotlin、Scala或者OCaml。
- 对OOAD之类的依托答辩没有任何兴趣,我更喜欢把不同的编程范式和设计理念结合起来,按照实际需求找到自己的工具箱可以组合出的最好的写法。
- 对现代化的面向对象编程设计有一定兴趣,不管是桌面/移动/跨平台终端应用,前后端或者全栈/devOps实践,或者是3D/游戏的开发。
- 很好奇编程和计算机可以提供什么样的可能性,还有实现具体的算法和想法的愉悦感。
- 喜欢讨论不同的编程范式和优雅的编程实践,并且也想要把它们用上。不过并没有很熟练吧。
总而言之是个废柴的家伙(
喜欢的东西
建筑设计、去偏远的地方旅游、吃好吃的东西、看到了好看的房子或者风景就想拿手机拍照。
喜欢玩各种游戏,不过主要还是在 Minecraft 里面盖房子规划城市。
对计算机的兴趣更多在于想要了解计算机理论的发展史,了解 PLT 和编译理论,并且试图寻找在具体项目里面的应用场景,也希望能找到与此相关的工作机会。
喜欢一切设计得很精美的东西,包括设计良好的现代计算机语言,仔细思考过交互设计的 web 或者客户端 app,或者是能够体现出设计感的海报/绘画/风景画/建筑……
讨厌的东西
官僚主义、糟糕过时的产品、不考虑用户体验的网站或者 app、臃肿过时沉重又累赘的技术栈,比如说 JavaEE 或者 WinForm 之类的。
996、007或者无处不在的PUA。对我来说,技术应该为了造福个人,社会和人类而被应用,而不是用来欺诈和制造谎言。
还有伤害别人的话语和行为。
有关计算机的信念
我相信抽象(Abstraction)和组合(Composition)是计算机和编程的基本原则。
对我来说,可扩展、可维护的软件,还有合理的抽象,都是软件设计的重要目的。我并不相信YAGNI之类的东西,也不认为「客户要求」是什么宗教信仰一样的信条。
现在在做什么呢
目前是在读CS的学生,主要感兴趣的方向有
- 现代化的OOP
- FP(函数式编程)
- 编译学理论
对跨平台有浓厚的(存疑?)的兴趣,但是还没找到一个明晰的方向。同时,也希望能找到一个可以把编译原理方面的知识应用到的场合。
很享受实现某个东西的乐趣,也期望可以发现不同的模式和规律。然而不幸的,不管是哪一个范式都没有熟悉呢。
一般来说,可以用主流编程语言(包括但不限于 Java/Kotlin/C#/OCaml/TypeScript/Python)来实现简易的项目,在实现过程中分析不同的技术可能,并且有限地考虑上有关性能调优、代码组织等方面。会努力用尽量清晰的结构来组织代码。但总的来说还是缺乏实践。
也对 C++/Haskell/Scala 有非常有限的了解,能够尽量 follow the modern way。
常用的语言
使用的工具
- IDEA
- Java, Kotlin, Scala
- ANTLR, Vert.x, Quarkus
- WebStorm
- TypeScript, React, Ant Design
- Vue, Nuxt, Svelte, Three.js
- Rider
- C#, .NET Core, Avalonia, MAUI
- Visual Studio Code
- OCaml, Haskell
- Sketch, Affinity Designer, Jupyter, Android Studio, WSL
- Docker, Kubernetes, Helm Chart
- Visual Studio, Unity, C++, GRPC, Flutter
代码风格
我会尽量把代码写得更好,但这其实也挺难的吧。
对我来说,类型安全,不可变的数据结构,函数组合还有组合优于继承,还有自解释的代码,算是我自己的设计准则了。我也尽可能在写代码的时候遵循这些规则,去想办法让自己的代码质量更高更可读(当然对于Clean的见解因人而异,有人还认为叠床架屋的class是一种干净代码呢)。
一般来说,我是更喜欢把函数式编程、声明式编程应用起来,并且伴以少量注释和文档的。
不过,我的代码库经常还是会发现很多面条代码的,我会尽量避免,但无法保证它们不会出现。比较典型的例子大概有:
- 耦合的项目结构
- 过早的优化或者一些奇怪的扩展设计
- 少量的代码片段的重复出现
喜欢什么呢
- MC建筑
- 音乐,包括Touhou,Hololive,Himehina等
- PLT
个人项目
- Simulatte 一个对Swift Playground(的前两章)的拙劣模仿的服务端实现
- Fubuki-lang 尝试去实现一个简单的命令式语言编译器前端
联系方式
顺便一提
kokoro and aya are from Hatano Kokoro 秦心 and Shameimaru Aya 射命丸文, two lovely characters from the Touhou Project :)