TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

J Has the Best Development Environment (2009)

84 点作者 epsylon超过 10 年前

8 条评论

james_hague超过 10 年前
I&#x27;d like to clarify that I was using J6.02 for Windows when I wrote that. You can still download it from jsoftware.com.<p>Since then the priority has been for J to be platform independent, but it&#x27;s resulted in some big steps backward for beauty and usability. That&#x27;s for the environment only--not the language.
wyc超过 10 年前
I have some thin (read: incomplete) notes that hint at how math-oriented the J verbs are: <a href="http://wycd.net/notes/jlang/jlang.pdf" rel="nofollow">http:&#x2F;&#x2F;wycd.net&#x2F;notes&#x2F;jlang&#x2F;jlang.pdf</a><p>Among my favorite parts of the language is the sole set of vocabulary[0] that you have to learn to be proficient in J. It&#x27;s daunting at first, but after this &quot;alphabet&quot; is internalized, you can understand most code. Just as our integral symbols save us from writing out &quot;Integral()&quot;, J&#x27;s operators are shorthand for fundamental computational functions. For example, here&#x27;s a very naive kNN implementation in J, without pulling in any &quot;jlearn&quot; external libraries or anything:<p><a href="https://github.com/wyc/snippets/blob/master/j/knn.ijs" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;wyc&#x2F;snippets&#x2F;blob&#x2F;master&#x2F;j&#x2F;knn.ijs</a><p>One of the stated purposes of J is the clear expression of algorithms. How are you supposed to clearly do that with layers upon layers of abstractions? The language excels at matrix and statistical operations on sets of homogeneous data. Many financial institutions deploy J&#x27;s close sister, K (also a descendant of APL) coupled with KDB[1].<p>Does it have potential for use on &quot;Big Data&quot;? Maybe. It&#x27;s not SMP, but the interpreter is rather light, so it can be spun up in multiple processes. Cutting up the data correctly is still a problem. I would also not use J to write a webapp; CRUD isn&#x27;t its strong point.<p>Some more examples of J: <a href="https://github.com/wyc/snippets/blob/master/j/jtalk/examples.txt" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;wyc&#x2F;snippets&#x2F;blob&#x2F;master&#x2F;j&#x2F;jtalk&#x2F;examples...</a><p>Come hang out at #jsoftware on freenode to find people much more knowledgeable than me. :P<p>[0] <a href="http://www.jsoftware.com/help/dictionary/vocabul.htm" rel="nofollow">http:&#x2F;&#x2F;www.jsoftware.com&#x2F;help&#x2F;dictionary&#x2F;vocabul.htm</a><p>[1] not the kernel debugger, but the time-series K database: <a href="http://kx.com/kdb-plus.php" rel="nofollow">http:&#x2F;&#x2F;kx.com&#x2F;kdb-plus.php</a>
评论 #8342432 未加载
评论 #8341657 未加载
minikomi超过 10 年前
I&#x27;ve been dabbling with learning J recently and, yes, it&#x27;s really really humbling. However, I think it can be much easier. The thing I have the most trouble with is, predictably, unfamiliarity with the large amount of verbs.<p>So, what to do?<p>I&#x27;m beginning to think approaching it more like a foreign language will make more sense - i.e., reading &amp; spaced repetition of phrases (short programs - J&#x27;s specialty!) &#x2F; vocab (useful hooks, forks) using a flash card system.<p>It&#x27;s a compelling language to learn (even just for the fact you can pretty much program using a pen and paper while waiting for the bus - short little rows of verbs you build out gradually as you reason about it or type them in your iphone), and I hope my approach has merit.
评论 #8339636 未加载
评论 #8339868 未加载
评论 #8339733 未加载
S4M超过 10 年前
&gt;&gt; The IDE is more akin to Python&#x27;s IDLE than monstrosities which may come to mind. There&#x27;s a window for entering commands and seeing the results, and you can open up separate, syntax-colored editor windows, running the contents of each with a keypress. It&#x27;s nothing groundbreaking, but it&#x27;s something that most languages don&#x27;t provide.<p>What? I have considered that standard for all the languages that have an interpreter (which is roughly, everything except C,C++,C#, Java).
评论 #8341819 未加载
adamnemecek超过 10 年前
Speaking of exotic languages, I&#x27;m somewhat intrigued by Rebol and Red. How bad of an idea is investing any time into learning either of these?
评论 #8339750 未加载
评论 #8339744 未加载
评论 #8340635 未加载
chubot超过 10 年前
I like vectorized languages -- I know R fairly well, and used to use Matlab.<p>J&#x27;s syntax, where everything is a single character, kind of turns me off. Is that incidental or is the syntax essential to the language? (In the case of Lisp, the &quot;weird&quot; syntax isn&#x27;t incidental but rather essential, since code is data)<p>If it&#x27;s incidental, I&#x27;d like to see some elegant J programs &quot;written out&quot; with some more friendly syntax.<p>EDIT: If you want a laugh, download the source for J, and run wc -l <i>.c </i>.h.<p><a href="http://www.jsoftware.com/source.htm" rel="nofollow">http:&#x2F;&#x2F;www.jsoftware.com&#x2F;source.htm</a>
评论 #8339725 未加载
评论 #8339597 未加载
kevinSuttle超过 10 年前
I&#x27;d love to see screenshots or videos of the more visual parts of the environment. Especially the Labs.
ww2超过 10 年前
one hurdle of J is that the verb train approach is too raw.