前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >X# 点滴(三):最初体验

X# 点滴(三):最初体验

作者头像
firstxinjie
发布2024-12-06 13:59:22
发布2024-12-06 13:59:22
1070
举报
文章被收录于专栏:X#(XSharp)X#(XSharp)

从前两篇的描述来看,X# 对于 VFP 程序员来说似乎是天然的亲近。下图展示了 VFP 和 X# 的“血缘关系”:

出处:Eric Selje 在 SW Fox 2019 发布的白皮书《Look at X Sharp!》 https://saltydogllc.com/wp-content/uploads/SELJE-Look-at-X-Sharp.pdf

由此,我们也就不难理解为什么在 X# 帮助文件中,对 VFP 的兼容性的描述始终为“部分完成”。当然,个人认为还有其他的原因:

Robert 在 2020年曾经说过:“We had hoped to see many new FoxPro faces in our community after SW Fox 2019, and there were indeed some new faces, but most people have chosen to download our product for free and not many people have shown their support by buying a Friends Of XSharp subscription.”

对于一个现实世界的商业实体的老板来说,能说出这样的话可见他也有他的无奈。(“只要我活着”和“雪崩时没有一片雪花是无辜的”在这一刻是那么的显眼)。

经过近十年的努力,X# 依然存在就是一个很了不起的事实。而且,在对 VFP 语法的兼容性方面有了很大的提高!

回到语言本身。

X# 从来都不是新的一种语言,它真的很古老;它也是一种新的语言,如果抛开它的历史渊源而站在 NET Framework 平台来看。

当这个新生事物呈现在 VFP 程序员面前时,它看上去就像一个迷宫。当试图从帮助文件入手对它进行了解时,刚开始的感觉就像在另一个迷宫中找寻这个迷宫的地图一样......看看我曾经翻译的 Ver 2.4.1 帮助就知道了......这个感觉直到 Ver 2.18.0.4 版本的发布(注:这是可以公开免费下载的最新的版本,对于订阅者,此刻应该拿到 Ver 2.20 的测试版)才有所明显的改善。

这个版本的帮助应该是经过了内容重组,看着比以前版本的帮助更加清晰和易于理解。这也是我翻译这个版本帮助的理由之一。

X# 语言,其实真正能称得上是根本的应该是其中 Core 方言。而 Core 方言是基于 C# 开发的一种 xbase 语言。而 X# 所标榜的“Visual Objects, Vulcan.NET, xBase++, Harbour, Foxpro and more”方言的支持,全部是建立在 Core 方言的基础上。因此,对于 Visual Foxpro 方言来说,在 X# 的范围内,完全可以使用一切支持 Core 方言的东西。至于 Core 方言编写的代码,对于 VFP 开发者来说,除了看着不是很习惯外,在自我认知的 VFP 水平上,看懂,应该还是可以的。

这并不是说,在使用 Visual Foxpro 方言时必须按照 Core 方言的语法格式,而是说,可以使用 Core 所提供的一切函数和命令。在 VS 2022 中,按模板新建一个VFP控制台应用程序,看看代码,就能理解我的说辞。ToDay() 是 Core 方言所提供的函数,而不是 VFP 固有的函数。

因此,对于帮助文件内容来说,站在一个 VFP 程序员的立场,完全可以忽略和 Core 方言、Visual Foxpro 方言没有任何关系的内容,甚至,仅仅关注 Visual Foxpro 方言的内容。

与其说语言本身是障碍倒不如说 VS IDE 是障碍。

VFP 程序员学习其他语言最最执着的一个问题是,它的 IDE 是哪个?对于 X# 来说,它提供了一个 IDE,是使用 X# 语言编写的,称为 XIDE。我打赌它不是 Visual Foxpro 方言写的。而且,据它的作者所说,他对 VFP 其实很陌生,因此 XIDE 在针对使用 Visual Foxpro 方言开发的项目时,支持不是很好。

X# 的开发团队肯定不如你那么聪明,它还借用了 VS IDE。VS IDE 才是学习这门语言最大的拦路虎。

宇宙最强IDE!这是 VS IDE 强悍的最佳解释。当然,如果你已经熟练使用 C# 或者 VB .NET 那是另当别论。我对它的经验,还停留在将近二十年前......

对于 VS IDE 来说,经常用用也就好了,就像 VFP IDE。其实,对于 VFP IDE 来说,又能有多少人敢自称对它了如指掌?还不是一样用 VFP IDE 写程序?还不耽误吹牛逼卖钱?

对待 VS IDE,完全可以采用同样的态度吗,没什么不好意思的,真的。

说到这里,顺带说一个 X# 语言的新特性:使用 Using 不仅可以链接到一个命名空间,而且可以链接到一个静态类。

多说无益,一图明了:

以下解释仅针对只会 VFP 的程序员:这个新特性,完全可以用你最熟悉的命令/函数这样的词汇来解释。NET Framework 库里静态类的方法,对于使用 X# 的程序员来说,就是一个函数。这个解释很粗糙但是很重要!因为它可能是你理解 X# 帮助内容的一把重要的钥匙!

如果你不明白什么是命名空间和静态类,可以关注本公众号,并关注本主题,会有答案的,我保证!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-05-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 xinjie的VFP 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档