最近我发现我公司的一位朋友共同拥有4D,这是我以前从未听说过的.他们发誓,但他们是非技术性的,他们对此的看法听起来像是记忆的营销模糊.不幸的是,4D网站似乎也没有任何实际信息,而是充满了"综合","解决方案","平台"和"集成"等字样.
既然这个东西相当昂贵并且使用了我不太愿意只为一个项目学习的自定义语言,我对它很谨慎,我想知道是否有人有过这方面的经验?你会推荐吗?到底有什么好处呢?通过学习程序员或将其作为公司使用,我将获得哪些竞争优势?
Sim*_*mon 25
4D已经存在了很长时间(〜25年),所以它比MySQL早得多.将其视为Microsoft Access的专业版本:它拥有自己的Pascal启发主机语言,自己的关系数据库引擎,用于快速GUI开发的非常成熟的IDE以及允许真正"一次编写,随处运行"的自定义运行时(任何地方都是Mac OS(X)和Windows,即).如今,它还了解SQL,有服务器版本,甚至是集成的Web服务器.它相当强大,因此与Access的比较可能并不公平.
今天,我相信它主要用于与4D一样古老的旧应用程序.我不认为我今天会再次学习它,更不用说用它开始新的项目了,因为你可以通过堆叠开源组件来获得相同的功能,然后是一些.
And*_*ent 14
我曾经做过一些非常严肃的4D工作,我写的一个系统大约16年后仍然被用作企业系统.我感到很沮丧,因为他们需要花费数年的时间来推出新的面向对象的语言版本,而且我正在编写数千行代码来使用第三方表格控件.
4D使用专有服务器提供跨平台,高性能的客户端 - 服务器系统.数据库模型比SQL更加面向集合,并将集合一直拉入核心语言.它为客户端提供代码做得很好,因为它将所有过程编译为本地代码,本地代码在本地缓存并在过期时按需更新.
语言和GUI环境有他们的怪癖,但另一方面是,支持它作为传统平台可能会有一个良好的生活.如果你可以让其他人拿起工具的标签,它可能是你的咨询工具箱的一个有用的补充.您必须考虑具有特定业务代码的代码,以获得具有悠久历史的独特产品!
最近,4D聘请了一位我非常尊敬的工程师,他说了很多关于他们对未来的承诺,聘请了这样的人.
我最近在遗留系统上做了很多工作,从旧的Mac东西到WPF的端口,Visual Studio和旧Mac工具的大多数未使用的复杂性之间的对比让我想起了4D.我也将我的OOFILE C++数据库和报告框架移植到REALbasic - OOFILE面向集合的操作直接来自我喜欢的4D,这也让我觉得我在这个答案中太苛刻了.
关于4D需要记住的是它从一开始就是面向集合的(由数学家编写),并且比SQL更容易用于许多事情.4D Server的部署模型是桌面应用程序和网络配置的完美组合 - 已编译的组件缓存在服务器上,并在需要时自动发送到客户端.无需关闭或主动推送或部署更新.4D的GUI模型令人沮丧,但今天看到该网站,他们解决了我多年前使用第三方解决方案时遇到的大部分问题.
在我看来,没有理由开始学习4D,除非你想要一个简单的数据库应用程序,并且不能或不愿意学习如何用更大的语言创建GUI.4D的主要优点是UI和数据库之间的内置功能可以处理大部分需要.如果你想要快速,小巧和内部的东西,你可以使用4D,但如果你需要开发一个强大的商业应用程序,你会遇到一些问题.如果你需要的东西,4D不会自动提供这将是非常困难的得到它的工作.
我认为这种语言完全过时了.它适用于它的功能,但我们的产品受到语言和数据库本身的限制.我们一直在遇到奇怪的怪癖,并且必须围绕它们编写代码.
我有2003年和2004年4D的经验,但由于成本原因,我们还没有升级到最新版本.它非常昂贵.每个客户都需要为每台需要运行该软件的计算机购买许可证.由于许可证,我们的产品在新办公室的成本超过1000美元.当发布新版本的4D时,每个客户都必须付费才能升级其许可证.
在查看https://www.4duk.com/products/ataglance.html之后,我建议你保持清醒 - 看起来这些产品之一无处可去.
它让我想起了我使用一个名为Witango的开发平台- 绝对的噩梦使用的时间,并且很快就会在.NET中重写所有应用程序.
把时间花在学习更主流/可就业的东西上.
小智 6
不惜一切代价避免.二十年前,4D曾经是一个很好的Mac数据库,但今天已经过时了.部署非常昂贵且支持不足.我已经使用了很多年,之后转移到Real Studio进行跨平台数据库开发,它具有更现代的语言和更活跃的开发人员社区.