今天开始推理.. –天河著 2018/10/31
如何构建 一门 无需编译的脚本语言呢.
int a =10 ;
这个怎么做呢 ,
1,compare 数据类型表 int 匹配 这是整形数据类型的
2,n个空格将作为分隔符.
3, a 是个变量名 ,先缓冲着.
4, = 证明这语句是赋值语句,
5, value =10;
解析
可以把a 先存在一个类型数组,默认先2048字节数组
Variables [] variables=new Variables[2048];
class Variables
{
string 变量名;
dataType dt;
object value ;
public string this[string key]
{
}
}
解析
int b=a+b;
等效于
variables[Key] //这个key 就是分析文本的时候得到的.全部存到一个 doc.Vars 数组里.
variables[doc.Vars] 那么就能得到对应的变量名值以及type.
以此类推, 你也应该一个实时解释器的设计蓝图了吧.
–天河推理~.
然后再找一个 C# 的类库.类名,字段名,方法名,事件名,接口名,命名空间名,全部 转换成字典就好.
或封装成所有调用和访问的代码..这可能需要很长的时间。
然后就如反射一样。C#本来就自带反射,因此C# 开发出脚本系统是非常简单的。
而更高级的脚本系统,完全可以使用.net 库.
然后win32 ,nuget 那网站里也有 封装好的所有win32 ,dx api 接口.
因此你基于 C# 之上开发的脚本语言也几乎万能.
==========================================
最终或许你会思维 ,C#这么强大为啥还要重塑它自己呢.
还不如直接C#就好.
我说实话吧, 确实那样子,但我为啥渴望 开发一个全新的语言呢.
其实是为了 更好地管理代码.因为我在2年不停开发C#经历里体验到.
弱者代码碍眼,虽然还是有必要.但不善于管理查阅.
然后有些地方希望可以 智能生成代码.通过自己的脚本.生成更加复杂或大量的有规律的C#代码.如 1000个for嵌套.
重点是 可以按蓝图生成 类文件,接口文件,以及一大堆字段.
如大公司一般直接通过UML架构图来生成类以及层次结构的.
而不是逐个建立的.
还有 未来完全可以实现人工智能写代码.弱智代码将变得毫无价值.
必须提升高度.更加宏观的管理方式.
而且 现在程序开发最大的问题是, 关注性能问题,关注是否并行处理数据的问题,还有大量模型未被标准化,老重复造轮子浪费大量时间。
虽然还是有必要保留造轮子能力的编程语言,但我希望 的是
可以简化 常见的模型,常见的使用方式。
还有就是 有些模型会让你感觉非常难使用,因为每一句代码里面包含了大量的代码,而且模块的粒度很小,似乎是一大堆无关重要的细节耦合在一起构成的系统。
我就是一直在思考有啥方法可以达到不琐碎却使用的是最先进的框架,自动细分粒度,控制复杂度。适应各种规模的程序开发。
这应该是最理想的,但你学了不少企业级框架就会发现这么做细节都在黑箱子里,出了问题几乎无法解决。关于框架自动处理的细节,难以窥探,毕竟你不是框架的设计者,无法完全通晓。
如果你通晓了,你也没必要使用它的框架了。非常矛盾。
=================================================
这里先不管了。好到 企业架构研究。
我就希望 整个项目开发所需的人员配备标准化,需要多少人来支持一个中小规模的项目开发。
然而该类型的人员该又相关的机构来培训,年审来支持。
这是最理想的。
然后我想到的是,未来将会又有大量类似的框架,组织来支持。甚至取代。然而还有一些保守主义支持过去的编程方式,坚持回归最原始的编程方式,而不是跟人员知识面技能相匹配组建开发组来开发。
过去的那种开发方式 确实 根本不可能达到大型规模的。
中等规模就需要天才来支持了。
我的世界很理想,我也很想把现实世界理想化,标准化,简单化单一化。连C++ 都分成 VC++ ,纯C++。。你就明白根本不可能存在绝对的纯粹。。抽象理论是唯一的,却衍伸出来的实例就很多。
全非你很多钱把大半个地球的相关企业都听你的!!
才能实现真正的简单高抽象的编程世界,但相对来说,编程也只是普通人享受生活的一种方式而已。价值也相对降低。
因此我没见过任何改进是绝对有益处的。
难度高,自由度高,就形成混乱,任何人都可以学习,却并非 任何人都能达到开发大型项目的境界。