zoukankan      html  css  js  c++  java
  • 我为什么开发新语言

    为什么有这么多的编程语言

    1 改革换代,适应时代发展需求

    2 特定的领域需要特定的语言

    3 没有一个语言可以完美适配各种场景

    4 个人习惯

    所有语言都有一个发明初衷

    Lisp - 一切抽象为数学符号,利用公式自动计算结果

    C - 汇编太繁琐,我能更简洁地写逻辑

    C++ - C 只能写普通逻辑,我能用面向对象编程

    Java - C++ 兼容性差,代码复杂,还容易出错,我能做更稳定的服务

    C# - Java 你说的对,但咱爹有钱不想认干儿子,所以我就诞生了,我在 C++ 和 Java 基础上做了一些改进,理论上应该是最强大的语言了

    Python - 我只想做一个运维的小工具,你还让我写个类先?写你妹啊,我能飞速的写好代码下班走人,而你还在等编译结果...另外,这么多括号看得我眼花...能不能让我少敲几个字...很累的

    Ruby - 一切都是对象,一切都能点,是不是很爽

    JavaScript - 领导让我做个脚本引擎,那我就参考 Java 做一个好了,时间有限,先做一个凑合吧,至少能用,咦,居然还挺好用

    Swift -  你们谷歌认领了 Java,微软养活了 C#,而相比我的儿子 Object C 好像确实搓了些,算了,我生个二胎吧,肯定比你们简单很多

    Kotlin - 我给这么多语言做了 IDE,不想终生为人服务,就冲着我阅人无数的优势,我把你们的优点集中一下...发明个新语言,功能我一顶仨

    虽然语言种类繁多,但还是可以分为以下几类

    1 以 C 为代表,适于性能要求非常高,不常更新的系统编程,同分类还有 C++,汇编

    2 以 Java 为代表,适于性能有一定要求,稳定,适合大型企业项目开发,同分类还有 C#,Swift,Kotlin

    3 以 JavaScript 为代表,适合频繁更新,没有性能要求的中小项目开发,同分类还有 PHP,Python,Ruby,Lua

    4 以 Lisp 为代表,适于特定领域的,同分类还有 ML,SQL,CSS

    为什么开发者热衷于某个语言后就不想看别的

    1 学习需要精力,有这时间还不如来一盘王者荣耀

    2 我已经习惯现有语言了,有些不一样的地方改改也就算了,但完全一样的东西也要改就太不习惯了,比如以前一直用 null,你告诉我要用 nil,凭啥不用 null,大家都用 null 不好吗,有区别吗?

    3 别的语言确实有一些先进的功能,但没有这些功能也可以接受,就像我现在已经掌握的语言一样

    4 学别的语言好找工作吗?工资高吗?

    在知道以上这些道理的同时,我为什么想做新语言

    1 我精通 C++,C#,JavaScript/TypeScript,排名前 10 的语言也都会写,更习惯于 C 风格的代码,和大部分人,特别是一线码农习惯差不多。所以新出的一些和 JavaScript 风格上有明显区别的语言都不怎么喜欢,比如 Kotlin,Groovy。所以我希望做一个尽量和 JavaScript 相似的语言,毕竟 JavaScript 是目前所有程序员都会接触到的交集

    2 我喜欢 JavaScript 的简洁,但也希望拥有接近 C++ 的性能,毕竟写的代码如果慢的要死,和刚毕业的实习生有啥区别。所以我希望语言的性能可以有保证

    3 JavaScript 虽然好,但是坑也挺多的,这可不利于在大型项目中使用,所以我希望语言可以规避掉其中的坑,毕竟语言是工具,工具最重要的是稳定。

    4 我希望一门语言可以做前后端,手机和桌面端。

    综上,我决定开发这样一个新语言

    1 总体类似 JavaScript,原来会写 Java/C# 的人也可以很快习惯。

    2 性能好,但又不能让用户写和 C++ 一样复杂的代码,所以怎么办:利用高智能算法自动优化性能,比如可以自动类型推算,合并循环,删除用不到的代码,自动寻找合适的数据结构和算法

    3 稳定为首,去坑,在保证功能前提下尽量简单

    4 实用,毕竟是冲着实际项目去的,一定要更好满足项目需求。还需要很强大的 IDE 和社区支持

    5 一期主要考虑生成能在浏览器跑的 Javascript,二期考虑生成 JVM 等其它环境。

    开发语言是一个大工程,如果你有兴趣参与这个开源项目,共创国产编程语言品牌,请留言

  • 相关阅读:
    防删没什么意思啊,直接写废你~
    绝大多数情况下,没有解决不了的问题,只有因为平时缺少练习而惧怕问题的复杂度,畏惧的心理让我们选择避让,采取并不那么好的方案去解决问题
    Java 模拟面试题
    Crossthread operation not valid: Control 'progressBar1' accessed from a thread other than the thread it was created on
    一步步从数据库备份恢复SharePoint Portal Server 2003
    【转】理解 JavaScript 闭包
    Just For Fun
    The database schema is too old to perform this operation in this SharePoint cluster. Please upgrade the database and...
    Hello World!
    使用filter筛选刚体碰撞
  • 原文地址:https://www.cnblogs.com/xuld/p/8338501.html
Copyright © 2011-2022 走看看