J:一周目(上)

先说下前提概要吧。

首先,如果也要学,大家可以跟着我做一遍(这里我假定大家跟我一样用的也是windows,有不会的留言戳我就好):

0. 安装J的运行环境:先去官网下载,如果系统不是很怪异的(比如server 2003 r2 x64这种),就对应CPU架构来装,如果搞不懂什么是x86,那就默认装x86好了。

0.1 如果你有VPS,还可以跑一个jhs,这样手机上也可以调试可以看(我就是这样的)。jhs有个好处就是,(在默认的profile下)只要你的server不宕机,REPL是单进程的,会保留进度。当然如果你不知道VPS是什么,那就忽略吧。

0.2 因为个人比较推荐用jhs,所以本机文档还是要装的。当然,对于新手来说,jconsole怎么用鬼才知道呢,这时候只能默默地打开jqt,然后安装package(这里推荐安装所有的包,毕竟只是学东西,怎么省事怎么来,毕竟全选安装也不会很占空间)。

从这进到package manager里面去,然后下面那个样子
然后select all再install,等一会就好

0.3 打开jhs,记下这个URL(默认是http://127.0.0.1:65001/jijx):

新手应该是不懂怎么改profile的,所以如果需要让外部网络能访问,还需要设置防火墙或映射端口之类的。也不是很麻烦,比如我就用了 netsh interface portproxy add v4tov4 listenport=2333 connectaddress=127.0.0.1 connectport=65001

1. 然后,打开对应的 J Primer 页面:官网,:本地(默认) 

到这里,我们可以进入正题了。

1.1 首先我们会看到有个目录,这里一周目我们只看这些:

Start here
Why J
Purpose of this book
Your background
How to use this book
Get started
Experiment
Standard profile
Terminology
Alphabet
Word
Sentence
Verb
Noun
Number
Negative number
Primitive
Name
Comment
Error
Ambivalence
Dyad
Monad
Vocabulary
Checkpoint A

和这些

Numeric constant
String
Word formation
Space
Precedence
Parentheses
Order of evaluation
Verb definition
Monad/dyad defined
Script file
Local
Global
Debug global
When =.and =:are alike
When they aren't
Locale
z locale
Script load
Checkpoint B

由于是上篇,所以这里我们只进行到checkpoint A就好。

How to use this book (前面的都是基本介绍,大概看看就好)里面有讲到,这本书建议读三遍:

This book is probably best read by reading it three times:

* Skim the whole book. Try some examples, but it is better to just plow on and get the big picture.

* The second time read it carefully and try all the examples.

* The third time try your own examples to clarify your understanding and to increase your comfort with the mechanics of actually using the system (instead of just reading about it and following instructions).

嘛,既然是学,就老实点咯,我是这么想的。

Get startedVocabulary 涉及到一些概念和知识点,这里做点记录。

1.2 J 里面有个概念,就是 Terminology(术语),即J里面的术语可能和大多数编程语言有所不同(更接近英语语法范畴内的术语),比如很多语言里面的函数(function)的概念,在J里面其实是动词(verb)。所以下面有必要列一下基本的几种术语及对应关系:

alphabet(字符集),类似传统编程语言里面的字符集和关键字。
word(词),有点类似最小语法单元的概念?
sentence(语句),一行代码。
verb(动词),函数。
noun(名词),类似函数的参数。
number(数字),和传统编程语言一致。
primitive(原语),j里面的系统自带函数(动词)。
name(别名),类似变量名。
comment(注释),形如其名。
error(错误),同上。
monad(单子),单目函数/运算符:f(a)。
dyad(双子),双目函数/运算符:f(a,b)。
ambivalence(结合体),类似erlang里面的同名不同目的函数,或者用OOP里面的多态也勉强可以类比。
adverb(副词),暂时没有涉及。
conjunction(连词),暂时不用涉及。

之所以要标注中文,主要是懒得打英文啊,毕竟还容易拼错。然后关于字符集(ASCII)嘛,其实挺恶心的,不过也方便,J里面的字符传统键盘都能打出来(可能九十年代的老外不太清楚输入法这类东西吧,不然可能APL会是另一种现状了)。

然后归纳一下checkpoint A之前所有涉及到的动词和指令:

+    取共轭(Conjugate)• 加(Plus)
+.  分割复数(Real/Imaginary)• 最大公约数(GCD) 和 或运算(OR)
+:  翻倍(Double)• 异或逻辑(Not-Or)

-    减号:取反(Negate)• 减(Minus)
_    下划线:负号(Negative Sign)• 无穷(Infinity)

CR    jhs里面的一个指令,目前没有过多涉及。

.    目前没有涉及太多,Determinant (?)• Dot Product(点积)
*  目前只演示了双子运算,Signum(?)• 乘(Times)
%  倒数(reciprocal)•除(Divided by)

=. 赋值(Copula(耦合),Is(Local))
NB.   注释,类似js里面 //

1.3 使用jhs的时候,正如 Experiment 里面所讲,可以使用 ctrl+shift+↑来调回上一次输入的语句,省得复制粘贴。

1.4 建议还是按照流程走一遍,多在ijx(就是jhs启动后的那个jijx网页版console)里试试。然后核对一下自己是否满足了checkpoint A的要求:

At this point you should understand:

- how to use the J Dictionary vocabulary
- terms such as word, sentence, noun, verb, ambivalence, dyad, monad

Check your understanding by doing the following exercises:

- look up the definition of the monads+: *: -: %:
- experiment with these new monads

1.5 休息一下,自己回顾总结一遍,然后再继续攻克checkpoint B。

正文

好吧,暂时没有什么要补充的,checkpoint A这一部分比较简单。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,719评论 0 33
  • NB. 一周目本来应该在7日内结束的,无奈这周事情有点多,只好延后一天了 = = 之前写完一周目上篇的时候也顺便往...
    NTFS阅读 388评论 0 1
  • 我将不向大地归还 我借来的尘土…… ——曼德尔施塔姆 一想到初六 你就笑了 春天进入加法 你开始学习歌唱 路人阿,...
    杨昊田阅读 317评论 34 30
  • 念着一片森林,森林里有个你…… (友情提示:本文略有剧透) 『时光总有一天,会把我们分开的吧……但是,即使如此,在...
    猎影娘阅读 248评论 0 0
  • 1、先看一个经典的例子 运行上面的代码 页面上就会输出 "Hello Vue.js! " 几个字,点击文字会变成"...
    guiLing阅读 501评论 3 6