julia应该缺什么补什么,比如----->


#1

实现WYSIWYG(所见即所得原则)是编程语言发展的主要动力:

  1. 一些对人而言多此一举的关键词会在将来的编程语言中消失。 比如关键
    字’function’ ,‘end’对人而言增加视觉成本, 应该用背景色取代它们。出于嵌
    套函数格式化考虑,语句右边背景色没尽头。函数结束符兼具换行功能,
    该行是否是函数结尾由IDE左边栏是否出现黄色原点确定。

  2. 编程对象不可有歧义。用字符颜色。unicode字符前后缀或字体(花体,斜
    体,粗体或组合)去表示不同的编程对象。

  3. 像中国人用谷歌拼音或搜狗拼音一样,编程语言要有专属的输入法。比如
    julia官网应该有一个julia输入法提供下载。通过该输入法,编程者可以方
    便的输入各种unicode符号。


#2

我建议Julia的关键字应该使用UUID彻底杜绝歧义


#3

CLASS_NAME:仅由全大写构成,且 >=2字符
Variable_name:首字母大写
function_name:字母全部小写
**作为动态语言这三个名字间不允许重名,终端模拟器自动推断输入的
小写字符串是否匹配屏幕中已有字符串,如有则自动改写形式。
**作用域也用字体、颜色、前/后缀其中之一表示
**常规数据类型由字体颜色定义,非常规的可以用前缀比如int1024类
型变量名以带方括号的int1024作为前缀。 赋值后终端模拟器自动对
编程对象添加字体颜色或前缀。
**运算符用数学符号。常用的全局函数有两种表现形式,其中之一是图
形字符形式。有了编程输入法,图形字符函数既能快速输入又能更加
好的格式化代码。
**下图是设想的终端模拟器。白色粗线为class结束符。 将函数结束符
和换行符功能合一,左侧黄点显示该行是否是函数尾行。

对类名、变量名、函数名、模块名、命名空间名称、数据类型、作用域等等编程对象在视觉上的【所见即所得】的呈现,将会大大提高对未知代码的理解程度。 另一方面对编程对象的图形化字符改良也将提高阅读效率。

在有数百个编程语言轮子的时代,还用老套的方法造编程语言轮子,个人很怀疑许多人是在变相写求职简历或炫富(当然不是指julia)。


#4

请问下那个->是thread-first吗,这个好像在lisp中挺好实现的
说到歧义,我想起用到引用变量时,对变量解引用是ref[],当初看的时候一脸xx,我想他怎么没有一个deref函数来消除歧义


#5

我觉得吧,你说的我完全不懂。
我的观点一般只在人机交互便利性上。说到箭头,数字在绝大多数语言中都描述为上升下降(包括英语汉语),所以向上的箭头是直觉似地表示,甚至连for都没必要用,因为人眼得辨识3个字符, 如果用一个明显的直觉化的大图形取代for关键字就更好了。
同样的目的,考虑到字母和图形的明显差异,如果if 条件句用一个好的图形符号表示也更加醒目,打比方勉强用横着的或竖着的交通灯表示if/ elsif / else 更有格式化效果。
至于歧义,并非只局限于一词多意,ruby里的双冒号多用途或变量/函数都小写难以辨你我, 但python里的下划线用太多组合方式也能搞晕人。相似度高是不该出现的语法BUG,尤其是对少用的编程对象。

与其搞个难以普及的免费编程语言,然后别人出个**charm卖钱,倒不如编程语言到IDE全做了卖钱。银弹有了,人体工程学也有了。


#6

我觉得最有想象力的解决方案是用深度学习自然语言处理的技术来造编译器,随便你写啥用什么语言写,编译器都给你自动生成出合乎你所设想的逻辑的二进制码


#7

楼主的想法太赞了!
3. 中提到的编程语言专属输入法会很有用。比如,人打字输入“循环”,电脑根据当前编程语言插入合适的代码,就如code snippet一样,但是可以更全面,更细致,更精准。如此一来,人脑就不必记那么多无谓的语法细节。


于关闭 #8