What is Pinecone
什么是Pinecone
相关项目
Pinecone JAVA https://docs.nutgit.com/docs/nuts_pinecone_java
Sauron(100TB分布式项目): https://docs.nutgit.com/docs/hazelnut_sauron_zh_cn
简介
Pinecone 是一个由JH.W及其团队(Nuts Digital Foundation), 是在他10岁时建立的,正式编写从他初中左右(2015)开始历经8年以上迭代开发的私有高级语言跨平台(Win/Linux)应用框架,最初作为他的个人工具代码集合,为了帮助他快速创建VB和VC-MFC程序,并将所有这些功能应用到其他程序,如SCM。然后在大学期间,他使用系统的面向对象方法将自己的代码集打包并扩展到不同语言的框架中,一些古老的语言版本的代码已经被放弃和重写(例如VB、ActionScript等),还有一些被扩展。
Pinecone经过数年的迭代和开发,从一开始他完全独立开发到后面进一步迭代和团队支持,结合完整的面向对象和设计模式等架构设计,目前具备较为完整的系统体系,该框架重点分为3大部分:
1). Dragon 版本,面向汇编基准语言如C/C++、ASM, 采用二进制库封装,使用C和C++ ABI接口提供支持,是最早支持的一代版本,功能最全,通用性最强,用于完全研究、学术和实验性目的;
2). Lupus版本,是Dragon版本的发布版本和扩展版本,进行二次二进制封装,同样面向二进制语言或支持动态链接库调用的语言,如Go和早期的易语言。
3). Ursus和Leo版本,是他于本科时期进一步扩展的部分,不再仅仅面向二进制库,同时他为了挑战自己(更多是他大一用惯了PHP用Spring不爽),最早从改写Java Spring、PHP ThinkPHP等框架开始,不仅迁移部分C++已有的模块(如JSON5)更进一步参考许多流行框架进一步编写面向的Java、PHP、JS的框架。其中Java主要是类似Spring序列框架,他推出了Summer框架(不仅支持Spring注解和自动装包范式,更支持类似PHP、Python、JS类动态语言的全动态语言风格),为了支持Sauron项目的分布式项目相关,参考和改写WebMagic、SpringBoot、Hadoop等框架体系,推出Hydra系列框架,支持多层架构的分布式爬虫、Map/Reduce操作、统一消息通信与控制等操作。
功能简介
这个框架究竟能干什么?
背景:这是一个历史悠久的框架系统,与他的技术成长密切相关,更像是他的一个技术笔记,记载了他的学习路线和挑战路线,他会试图了解他用过每一个工具并自己尽可能DIY一个简易版,于是这就构成了Pinecone,Pinecone更像是他写个的每一个项目的精华版本,每一个项目的精华都被加入到了Pinecone之中。最早这个设想源于Microsoft VC++ Runtime 支持库,一开始他对许多软件要安装这个支持库感到兴趣,为什么他不自己也拥有自己的运行支持库呢?
目的:于是这就是Pinecone了,他开发了 C/CPP,Java,JS等多语言应用框架和API库。
他喜欢Java JDK的体系统一和优雅、喜欢JS、PHP这种动态语言和面向Map的运行期继承体系,于是对C++ STL进行了重写并参考了其他语言和开源库如PHP源码、Boost等,不仅使得C++具有JDK的体系系统,能支持STL的模板库接口,还能直接支持动态语言的特性,更能友好的支持网络、后端等应用的开发。因此Pinecone C++ 类似 C/C++下的JDK和Spring。
Java下更多是对JDK的扩充(如增加LinkedTreeMap这类容器、JSON支持库等),支持PHP,JS风格的Spring,JS下类似JQuery。
Last editor:undefined Update time:2023-07-29 19:24