今天是2024.8.27号
很久没有写过文章,因为这一年脱离我所认为的“纯粹的技术”太远了,何为纯粹的技术,以前认为研究源码,就很纯粹。
但是这一年一头扎进业务里,小公司里面都是以业务为导向,简而言之,老板需要什么,我就需要学会什么,不过这也对于我的技术栈的完善也起到了一定的作用,很长一段时间麻木的做业务,对技术失去了钻研的想法,有问题就问gpt,完全成为了业务仔,虽然讨厌但是是一个很舒服的状态,可能这就是安逸吧。
言归正传,最近在做一个aigc相关的项目,第一次接触aigc相关技术,感觉很新颖,从0到1搭建了基于Python+langchain的rag ai问答服务,对于这种粗浅的学习,知识面的广度再次得到扩张。
但是对于深度,成为目前比较担心的问题。
这一年来,接触了很多技术和语言,从最开始的Javaer到Typescript+Node.js,到现在的Python。
唯一的感觉是web服务的设计和搭建,以及数据可靠性和一致性,这些真的是实打实的技术和经验,防御性编程似乎逐渐成为我的习惯。
以前觉得,我一定要把Java钻研到底,现在接触了几门新的语言,感觉Java的局限性太多了。很形象的,我要快速几分钟搭建一个web服务,Java那一套东西就太磨叽了,可能在有脚手架的情况搭建起来很简单,但是Java吃资源可是一等一的多。对于ts这种脚本语言,在语法方面没有那么严格,但又有类型检查(除非你是anycript),这种在快速搭建上既比Java省时间又更省事儿。
不过话说回来,Java好像真的更加适合大型项目,首先,项目从创建开始就是走向腐败的,对这句话我深信不疑:
- 语法严格,从语法层面上限制开发者的“自由发挥”,这种“自由发挥”往往是屎山的根源。
- web服务来说,有唯一真神spring生态,需要的东西应有尽有,国内又有阿里这种大厂加持,无论是多大的数据量以及流量都有大厂替你实践。
- 众多的开发者基础,社区活跃。
Java目前的版本已经更新到20+,有一个版本加入了虚拟线程,似乎对标Golang的携程。但我对此特性的加入持反对意见,什么都想要,只会越来越臃肿,虽然你越来越强大,但Java生来臃肿,这样只会越来越臃肿。
但是对于ts,刚开始接触的时候,依旧按照Java项目开发那样去建立项目结构,后来发现自己似乎困在了Java的框框里了,有些语言设计出来就是为了简化开发,可能在易维护性上是比较差,但应当着重发挥语言的优势去开发,而不是一心弥补这门语言的弱势,我所谓的弱势就是ts的语法相对更加自由,更容易变成屎山。但似乎有良好的内部规范,更加重要。
当发现自己接触的越多,似乎对某个技术的就没有那么执着了,毕竟最近这一年教会了我技术是绝对服从业务的。
但同样的,从工作中获取的成就感也没有那么多了,从0到1攻克问题后的反馈感也没有这么强烈了,至今也不太清楚,这是我变强了,还是对工作热情淡了。