9

Smalltalk や Lisp のような?

編集

制御構造は次のようになります。

     Java                 Python               
 if( condition ) {     if cond:           
     doSomething           doSomething     
 }                                         

または

     Java                Python                  
 while( true )  {        while True:            
     print("Hello");        print "Hello"      
 }                                            

そしてオペレーター

 Java, Python
 1 + 2  // + operator 
 2 * 5  // * op

Smalltalk では (私が正しければ)、次のようになります。

condition ifTrue:[
   doSomething
]

True whileTrue:[
   "Hello" print 
]
1 + 2 // + is a method of 1 and the parameter is 2 like 1.add(2) 
2 * 5 // same thing
4

18 に答える 18

7

Lispについて聞いたことがないのはなぜですか?

于 2010-04-28T19:15:17.267 に答える
7

同じことを達成するための特別な構文がないということですか?

多くの言語には、再定義可能なメッセージパッシングまたは機能呼び出しシステムの「実際の」何らかの形式である制御構造と演算子があります。ほとんどの「純粋な」オブジェクト言語と純粋な関数型言語は、この条件に適合します。しかし、それらはすべてあなたの「+」と何らかの形式のコード ブロック (SmallTalk を含む) をまだ持っているので、あなたの質問は少し誤解を招くものです。

于 2010-04-28T19:20:38.980 に答える
6
  1. 組み立て
  2. ベフンゲ
于 2010-04-28T20:17:11.903 に答える
4

純粋なラムダ計算?言語全体の文法は次のとおりです。

e ::= x | e1 e2 | \x . e

あなたが持っているのは、変数、関数の適用、および関数の作成だけです。チューリングマシンと同等のパワーです。次のような構造には、よく知られたコーディング (通常は「教会エンコーディング」) があります。

  • If-then-else
  • している間
  • 再帰

および次のようなデータ型

  • ブール値
  • 整数
  • 記録
  • リスト、ツリー、およびその他の再帰型

ラムダ計算でのコーディングはとても楽しいものです。私たちの学生は来春、学部の言語コースでそれを行う予定です。

于 2010-04-28T23:45:51.210 に答える
4

プロローグ*

*私は、この技術を理解しようとしたことによって引き起こされたフラストレーションや頭痛について責任を負うことはできません。デスクのスクリーンや頭の形をしたへこみに。

于 2010-04-28T20:20:11.863 に答える
3

「制御構造や演算子がない」という言葉の意味によっては、Fore が適している場合があります。For にはそれらがあるように見えるかもしれませんが、実際にはそれらはすべて単なるシンボルであり、「制御構造」と「演算子」はプログラマーによって定義 (または再定義) できます。

于 2010-04-28T19:06:24.443 に答える
2

ロゴ、より具体的にはタートルグラフィックスはどうですか?PEN UP、PEN DOWN、FORWARD10などを覚えていると思います。

于 2010-04-28T19:01:33.657 に答える
2

それから私は最初に脳****に言及します。

于 2010-04-28T19:39:14.087 に答える
2

SMITH プログラミング言語:

http://esolangs.org/wiki/SMITH

http://catseye.tc/projects/smith/

ジャンプがなく、チューリング完全です。私は数年前に、この悪い子のために Haskell インタープリターも作成しました。

于 2010-04-28T20:09:55.580 に答える
2

Tcl には制御構造がありません。コマンドだけがあり、それらはすべて再定義できます。最後のすべて。また、オペレーターもいません。in 式を除いて、それは言語自体の一部ではないインポートされた外国の構文にすぎません。(完全なCFortranなどをインポートすることもできます。)

于 2010-04-28T20:22:45.190 に答える
1

フラクトランはいかがですか?

FRACTRANは、数学者のジョン・コンウェイによって発明された、チューリング完全な難解なプログラミング言語です。FRACTRAN プログラムは、初期の正の整数入力nを含む正の分数の順序付けられたリストです。プログラムは、次のように整数 ( n ) を更新することによって実行されます。

  1. nfが整数であるリストの最初の分数fについて、 nnfで置き換えます。
  2. nを掛けたときにリスト内の分数が整数にならなくなるまでこの規則を繰り返し、その後停止します。

もちろん、ルール 2 には暗黙の制御構造があります。

于 2010-04-28T19:19:45.767 に答える
0

D(DTraceで使用)?

于 2010-04-28T18:59:36.890 に答える
0

APT - (Automatic Programmed Tool) は、NC 工作機械のプログラミングに広く使用されています。この言語には IO 機能もありません。

于 2010-04-28T19:05:50.480 に答える
0

いつでもどうですか?

プログラムは、ランダムな順序で実行される一連のステートメントである「to-do リスト」で構成されます。各ステートメントには前提条件を含めることができます。前提条件が満たされていない場合、ステートメントは後で (ランダムに) 延期されます。

于 2010-04-28T20:08:05.973 に答える
0

Makefile 構文には、演算子や制御構造がないようです。それはプログラミング言語だと思いますが、チューリング完全ではありません(とにかくPOSIX標準への拡張なし)

于 2010-04-28T23:56:47.957 に答える
0

XSLT (または XSL と言う人もいます) にはifforのような制御構造がありますが、一般的にはそれらを避け、適切なレベルの具体性でルールを記述してすべてに対処する必要があります。したがって、制御構造はそこにありますが、翻訳エンジンが行うデフォルトのこと、つまり潜在的に再帰的なルールを適用することによって暗示されています。

Forおよびif(およびその他のいくつか) は存在しますが、多くの状況でそれらを回避することができ、また回避する必要があります。

于 2010-04-28T19:55:26.217 に答える
0

私はその概念について完全に明確ではありませんが、PostScriptは基準を満たしていると思いますが、PostScript はすべての関数を operator と呼びます (LISP がすべての operator 関数を呼び出す方法)。

于 2010-04-28T22:28:55.963 に答える
-1

それで... 超単純な言語をお探しですか? バッチプログラミングはどうですか?Windows の任意のバージョンを使用している場合は、バッチ コンパイラにアクセスできます。また、基本的なファイル機能 (コピー、名前の変更、ディレクトリの作成、ファイルの削除など) を実行できるため、思ったよりも便利です。

http://www.csulb.edu/~murdock/dosindex.html

  1. メモ帳を開き、Windows ボックスで .Bat ファイルを作成します。
  2. メモ帳で .Bat ファイルを開きます
  3. 最初の行に「echo off」と入力します。
  4. 2 行目に「echo hello world」と入力します。
  5. 3 行目に「一時停止」と入力します。
  6. ファイルを保存して実行します。

非常に基本的なプログラミングを学習する方法を探している場合、これは開始するのに適した方法です。(削除コマンドとフォーマット コマンドには注意してください。これらを試してはいけません。)

于 2010-04-28T20:04:07.637 に答える