惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Security Latest
Security Latest
P
Palo Alto Networks Blog
AWS News Blog
AWS News Blog
NISL@THU
NISL@THU
T
Threatpost
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Latest news
Latest news
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
WordPress大学
WordPress大学
J
Java Code Geeks
P
Privacy International News Feed
阮一峰的网络日志
阮一峰的网络日志
S
Schneier on Security
博客园 - 聂微东
Project Zero
Project Zero
美团技术团队
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Scott Helme
Scott Helme
I
Intezer
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
H
Hacker News: Front Page
S
Security @ Cisco Blogs
博客园 - 司徒正美
O
OpenAI News
Last Week in AI
Last Week in AI
L
LINUX DO - 热门话题
酷 壳 – CoolShell
酷 壳 – CoolShell
SecWiki News
SecWiki News
月光博客
月光博客
S
Security Affairs
The GitHub Blog
The GitHub Blog
P
Privacy & Cybersecurity Law Blog
S
Secure Thoughts
V
V2EX
S
Securelist
F
Fortinet All Blogs
W
WeLiveSecurity
D
Docker
博客园 - 三生石上(FineUI控件)
Simon Willison's Weblog
Simon Willison's Weblog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
C
Cyber Attacks, Cyber Crime and Cyber Security
V
Visual Studio Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Webroot Blog
Webroot Blog
Engineering at Meta
Engineering at Meta

Vim

请教一下 VIM 怎么做到类似 idea ide 一样识别函数,自动跳转,查看引用? - V2EX 现在 vim 为啥要默认进入鼠标那种模式 在 Vim 中优雅使用 Git:一种高效工作流 - V2EX [插件] step-search.nvim,一个更符合直觉的多关键词聚合搜索工具 - V2EX 请问是否能修改 GVim 标题栏的颜色 - V2EX 插件: nvim-dap-unity - V2EX IdeaVim 新插件推荐: 优化搜索/命令执行框 https://github.com/yelog/ideavim-cmdfloat - V2EX vscodevim 中英文切换异常 - V2EX 写了一个 Neovim 国际化插件 i18n.nvim - V2EX Lazyvim grep 搜索,弹出来的右侧窗口怎么设置内容自动换行? - V2EX 只会:q?关于 Vim 退出方式,不会还有人知道的比我还多吧? - V2EX 求问 VS Code 中使用 Vim 插件, Normal 模式下 Tab 被接管了(Insert 模式下可以),没办法接受 AI 的代码提示,有无解决方法? - V2EX 不知道为什么存在的 vim 快捷键 - V2EX 有无公司要求开发用 Vim 编辑器? - V2EX coc.nvim 近期的主要更新 - V2EX vim 执行外部 shell 命令时卡顿,求解决方式 - V2EX 十分尴尬,被导师推荐去使用 JetBrains - V2EX Nvim 输入法的自动切换 - V2EX 写了一个 flash.nvim on ideavim 的插件 vim-flash, 有兴趣的可以试试 - V2EX 请教 Debian 12.6 的 vi 和 vim.tiny 指向同一文件却执行效果不同疑问 - V2EX nvim 无法粘贴到转存到系统剪切板 - V2EX nvim 复制改键 - V2EX 使用 Vim 的时候遇到了一点问题 - V2EX vim 无法设置无名寄存器作为系统剪切板 - V2EX awesome-nvim-conf:中文用户 nvim 配置仓库 - V2EX 请问有办法将 nvim 当成临时草稿本使用吗? - V2EX NeoVim 可以实现远程开发么? - V2EX Leaderf git: 在 vim 中优雅高效的使用 git - V2EX 想找一个好用的 vim 剪切板的快捷键 - V2EX 关于 vim 中一次复制粘贴的询问 - V2EX 配置 nvim-lsp 自动补全有点复杂 - V2EX 今天我去 neovim 官网找图标的时候, 顺手点了一点 donate 的 btc 地址 - V2EX 轮子更新: NeoVim 主题模板 - V2EX 用了一段时间 neovim,感觉良好 - V2EX 鼠标选中文字,输入字符时能直接覆盖掉选中的文字 - V2EX lunarvim 如何修改提示的位置 - V2EX vim 有没有插件像 nvim 那样每个 buffer 右上角都有关闭按钮 - V2EX vim 的字体配色是怎么设置的? - V2EX VSCode vim 插件在 o 换行后,退出插入模式会丢失所有缩进的问题 - V2EX 各位用 vim 键位的, 是怎么解决 esc 频繁按键的问题的呢? - V2EX 有用 nvim 写 protobuf 的吗,大家用哪个 lsp ? - V2EX 用 vim/nvim 写 Python 用什么插件? - V2EX 安利一下我的键盘修改按键,解决小拇指按 shift 的困境 - V2EX VIM & Python - V2EX Vim 上远程开发有什么方案? - V2EX 除了使用方向键 vim insert mode 下如何快速前进一个字符? - V2EX wincap.vim 让你的 gvim 标题栏应用 buffer 的背景色 - V2EX (补图) vim tab 和 buffers 问题 - V2EX
The ObjectSense Programming Language : An object-oriented reincarnation of VimL - V2EX
codigger · 2024-08-20 · via Vim

ObjectSense is a superset of VimL8, and has all the main features of a modern object-oriented language, such as data encapsulation, polymorphism, inheritance, etc. On top of the language implementation, rose - a module manager is provided, which is also built into the language runtime. It's very developer friendly, especially for those who already have a working knowledge of VimL8 can effortlessly expand their skills to code in ObjectSense.

As a bonus feature, polyglot programming is easily doable in ObjectSense. Currently vim8 and vim9 are supported, with minimal work the list can grow longer to include other languages, such as, python, ruby, lua, etc. However, as far as the operating system is concerned, only Linux and MacOS are supported at the moment. There is a user-defined command, UT, for doing unit tests of the current class. It's very convenient for accessing class data in unit tests. No need for finding workaround to the language barrier when accessing such data in white box testing. Every component can be properly tested! Pure and simple! By following a few simple conventions and thanks to the built-in modular mechanism in the language runtime, ObjectSense programs are very scalable and development work can be distributed comfortably among team members.

In a more programming linguistic point of view, ObjectSense is of imperative paradigm on the surface, but carries functional programming abilities. In the language runtime, each object has its own data and functions, there's nothing shared. An object is entirely in its own universe just like functional programming. Because the lack of time, we haven't explored such property of the language much. Hopefully, the community can shed new lights on such nice combination.

This is a strong demonstration of what VimL8 is capable of. ObjectSense takes less than 5000 lines of code for the core of the language implementation. Although it's a superset of an existing language, it's very hard to imagine using such little code for implementing a non-trivial programming language. VimL8 has a lot of unrealised potentials, people really shouldn't jump off the bandwagon too quickly.

The best argument for vim9 is performance. We have found a way kind of 'compile' or speedup the load time for ObjectSense. In practice, we could really compile such code into binary and wire it with the language runtime, and without asking developers to learn a completely new language, i.e., being 100% compatible with existing VimL8 syntax and have the acclaimed performance at the same time. However, in our scenario ObjectSense performance issues have been tackled by the semi-compile approach, so no effort was directed to do the real compiling work which could bloat the code base exponentially.