zoukankan      html  css  js  c++  java
  • VB 不应该是这副模样出现

    和同时代的其它语言比,VB 设计的太烂了,应景之作,充满了各种小聪明。

    当时有 JS, 有 python,VB 的设计者不懂参考借鉴,给出的是一个连继承都没有的设计。
    VB 的语言设计问题极多,

    • 首选当推没有继承。一个没有继承的语言能干什么呢?缺乏继承,没有包管理,注定它不能走多远。同时代的 JS 都有漂亮而容易实现的 prototype 继承,其它语言也各有特色,VB 可以说起步就落后。
    • 没有继承,因此也没有单根 Object。在多重继承还是单根继承的年代,争议倒是没有了,但没有明智的判断也就没有了优势
    • 靠 Variant 混合值类型和对象类型,导致大量函数参数类型不明
    • 大量依赖语句,继承了BASIC的语句,比如MID语句、文件语句等等
    • 没有结构化错误处理机制。
    • 默认成员导致大量歧义。默认成员这种小聪明理论上很难行得通。
    • 数组和函数共用括号 ()
    • Sub Function 两种过程,SubName args 调用形式存在歧义:a (b), c,你不知道是 a(b)(Missing, c) 还是 a((b),c)
    • Property Get Property Let Property Set

    当然,VB也有好的设计,比如WITH。但总体来说这就是一个应景之作,理念不通透,充满了各种投机取巧,和 Java, JS 甚至 python 比都不在一个时代,属于 80 年代的遗迹。

    商业公司包装的很好的东西,市面上很流行的东西,不见得就好。

    当年如果 VJ 不受诉讼影响继续发展,对于微软来说应该是更光明的场景吧。

    另一方面,如果 VB 当时不理睬公司部署去适应 .NET 平台,而是利用自身市场优势,快速梳理迭代,扬弃旧时代的特征,纳入更透彻的理念,可能也可以存活的很好。毕竟当时Java生态也不成熟,浏览器还有 VBS,大有可为。

  • 相关阅读:
    6大开源SIEM工具,安全信息和事件管理的“利器”
    数据库为何需要安全审计系统
    WEB漏洞扫描的开源工具
    12种开源Web安全扫描程序
    开源框架openresty+nginx 实现web应用防火墙(WAF)
    锦衣盾:开源WEB应用防火墙介绍
    20步打造最安全的Nginx Web服务器
    MySQL数据库审计系统
    数据库(分库分表)中间件对比
    Mysql调优基础、Mysql问题排查、Mysql优化、与hikari数据库连接池配合
  • 原文地址:https://www.cnblogs.com/inshua/p/13970984.html
Copyright © 2011-2022 走看看