展开讨论

经验与复盘经验摘录 · 机器翻译

VB6经常被低估为一种编程语言,但它确实有一些很酷的特点,至今仍然……

VB6经常被低估为一种编程语言,但它确实有一些现在其他编程语言中还没有的巧妙功能。(这些功能在VB.NET中被舍弃了。)从某种意义上说,VB6仍然超前于它的时代。其中之一是与COM对象的透明集成,允许你以与在进程内对象相同的方式访问另一个进程(可能是不同可执行文件)中的对象。所有的封送处理都在后台完成。这个问题在于,单个语句的执行可能会与另一个线程中的另一个语句混合。我曾经遇到过一个棘手的错误,这个错误正是由于使用了一个全局变量,而该变量本应作为方法参数。另一个是很好的事件机制,无需(取消)注册事件处理程序。它们会自动注册和取消注册。这是一个非常强大的机制,我在使用VB6的时间越长,就越开始频繁地使用它。

源讨论美丽而正确:Visual Basic的历史与遗产原帖 259 条评论 · 导入时统计
3

社区评论 0

还没有社区评论,来聊聊你的看法。

原讨论中的回复 3

仅展示本次导入中包含的直接回复。中文为机器翻译,可查看英文原文。

TE

> 一个是与COM的透明集成 我认为这是VB的批评者常常忽略的一点。你可以构建相当复杂的软件来利用COM/DCOM,而无需完全转向C/C++和IDL。 我之前工作的公司开发了运行在Microsoft Transaction Server(后来称为COM+)中的软件,以利用分布式事务。 还有在VB中可以做的真正“高级”的事情,正如Matthew Curland在他的优秀著作《Advanced Visual Basic 6: Power Techniques for Everyday Programs》[0]中所写的那样。 手握Curland的书和Don Box的《Essential COM》,你可能会变得非常危险:) [0]: https://www.amazon.co.uk/Advanced-Visual-Basic-Programming-D...

完整原文
JL

我用Python与COM合作过,效果不错。虽然有些粗糙的地方,但足够好用,甚至可以在REPL中自动补全方法和访问器。 这里有一个旧的例子,是与Catia一起工作的:https://gist.github.com/jl2/2704426

完整原文
ME

集成的调试器也非常出色。除了Lisp之外,很少有语言对“编辑并继续”有良好的支持。 https://blog.codinghorror.com/edit-and-continue/ 我认为Java和.Net非常接近。当Python和JavaScript认为自己是开发者友好的语言时,它们的调试器仍然需要在本地状态被修改时重新加载,这简直令人羞耻。在互联网泡沫破裂之前,Common Lisp就已经有了“编辑并继续”(他们在调试器中的等效功能)。 Vercel和微软的产品经理,如果你们看到这段话,请在Next.js、VS Code和Typescript中实现这个功能。

完整原文
在 Hacker News 阅读

尊重不同观点,分享具体经验。

登录后即可发帖、评论、转发和引用。