謎のプログラミング言語『DNCL』 118
ストーリー by nagazou
もやもや 部門より
もやもや 部門より
日経クロステックの記事によると、利用するプログラミング言語で多いのはJavaやPythonだが、こうした多用されるプログラミング言語でトップ10にも入っていないプログラミング言語が、毎年50万人近く受ける試験に採用されるているという。その「謎」のプログラミング言語が「DNCL」だそうだ。DNCLは「共通テスト手順記述標準言語」と呼ばれるプログラミング言語で「大学入学共通テスト」に採用されているという。主な用途は試験で、プログラムの開発には通常使われないとのこと(日経クロステック、共通テスト手順記述標準言語 (DNCL) の説明[PDF])。
DNCLが試験で使われたのは2002年のセンター試験からで、受験生が取り組んでいたプログラミング言語によって受験の有利・不利の差が開くと問題になるとして、大学入試センターが用意したのがDNCLだという。なおDNCLの略称は「Daigaku Nyushi Center Language」の略と言われるが正式には決まっていないとのこと。
DNCLが試験で使われたのは2002年のセンター試験からで、受験生が取り組んでいたプログラミング言語によって受験の有利・不利の差が開くと問題になるとして、大学入試センターが用意したのがDNCLだという。なおDNCLの略称は「Daigaku Nyushi Center Language」の略と言われるが正式には決まっていないとのこと。
DNCL Ver.2 (スコア:4, 参考になる)
Python風インデント式の Ver.2 も登場するらしい。
DNCL2(仮称)の学習環境の実装に関する考察 [watayan.net]
元ネタ:令和7年度以降の試験に向けた検討について [dnc.ac.jp]よりサンプル問題『情報』 問題 [dnc.ac.jp]
わからん (スコア:2)
例えば、
hoge ← べき乗 (2, 0.5)
とすると、どうなるのだろうか。
Re:わからん (スコア:1)
hoge = 1 だと思います!
Re:わからん (スコア:2)
なので、それはなさげ。
Re: (スコア:0)
hogeに2の2乗根が代入されるんじゃね?
ところでDNCLを実装した処理系ってもう出来てるのかな?
…って色々出来てた(その1 [t-daimon.jp]、その2 [eplang.jp])。さすがだわ。
Re: (スコア:0)
2の0.5乗だから、ルート2ですよ。
約1.414ぐらいの値が変数hogeに代入されます。
なぜ変数はアルファベット (スコア:1)
kosuとかgokeiとかローマ字で表すなら日本でもいいんじゃない?
#とあえて重箱の隅をつついてみるテスト
---------+---------+----------+
年をとるのは素敵なことです。
Re:なぜ変数はアルファベット (スコア:2)
> 大文字で始まる変数は配列を表します。また,
> すべて大文字の変数は実行中に変化しない値を表します。
変数 A は、const array ?
¶「だますのなら、最後までだまさなきゃね」/ 罵声に包まれて、君はほほえむ。
Re: (スコア:0)
ぴゅう太の日本語G-BASICでも変数名はアルファベットだったから……
Re:なぜ変数はアルファベット (スコア:2)
可読性という意味だと変数は英字のほうが見分けやすい気もする(逆でもいいけど)
コメントは日本語でコードは C とかでも英語のコメントに比べると見やすいんだよなぁ
最近(?)はシンタックスハイライトで色つくけどね
類似物 (スコア:1)
----------科学は思考の柔軟剤
今頃何を言ってるんだという感じの記事でした (スコア:1)
私はDNCLで書いたプログラムが動く環境をずっと開発していますが,そっち方面にいる者の立場からすると,日経の記事は今頃何を言ってるんだという印象でした。
たとえばDNCLで授業をするのは好ましくないということは高校の情報教育に関わる人が複数言っていますし,私自身もあちこちでそれを言っています。実際,Python,JavaScript,VBA,Scratchのどれか(クラスによって変えた)を授業では使い,DNCLで書かれた試作問題を解かせたらどういう風だったかという研究 [researchmap.jp]もあります。
CASLIIじゃないんだ (スコア:0)
日経も実務のプログラマーが大勢「プログラムの開発には通常使われない」言語で資格取って情報処理技術者でございとか言って会社によっちゃあ手当まで貰ってることを問題にした方がいいぞ。
それに比べたら学生が架空言語で試験受けることくらいどうでもいいだろ。
Re: (スコア:0)
逆だよ、情報処理技術者なら言語のフォーマットで左右されるような奴じゃあかんってこと。
本当の問題は選んだ言語で難易度の差が出ることだよ。
Re: (スコア:0)
でも、言語仕様に、変数のスコープやエクステントがどうなるかさえ明示されてないんだぜ、この言語。
これじゃあ、使えないよ。
# ちなみに、チューリング完全です。
Re: (スコア:0)
> 変数のスコープや...
多分元ネタのなでしこにはあるんでしょうけど、試験にはそういったレベルの問題は出ないと判断していいのかと思う。
Re: (スコア:0)
CASLはアセンブリ言語(を模した架空言語)だから大学入試で採用するのは無理があるんじゃないかな。「情報」で教えてるのは高級言語でしょ
Re: (スコア:0)
通常使わないというのはPL/Iのことでしょうか?
初めて見る言語にわくわくしながら情報処理技術者試験の参考書を開いたら、誰も選択しないので割愛しますと書いてあった。
CASLIIはすくなくとも試験で使うのが違う。
Re: (スコア:0)
PL/IはほぼIBM専用だし、ベンダー依存のある言語はまず使われないでしょ
と思ったら過去では使われてたのか……
# PL/Iからの移植プロジェクト、もうやりたくねー
Re: (スコア:0)
CASLIIで基本情報取ったけど、仮想機械で動く、簡素な言語使用であるCASLIIでも
アセンブリ言語の基本の基本がわかってるかどうかというだけでも試験としての
意味があると思うけどねえ。
まあそれはともかく、今年の基本情報試験から疑似言語に統一されたようですよ。
CでもJavaでもPythonでも受けられない。以下の疑似言語覚えなきゃダメ。
https://www.jitec.ipa.go.jp/1_13download/shiken_yougo_ver5_0.pdf [ipa.go.jp]
の4ページ目と5ページ目
まあ何の言語でもある程度使いこなせる人なら、1日あれば脳内調整できると思う。
少数ユーザ数言語のユーザにはむしろ易しくなった??
「受験生が取り組んでいたプログラミング言語によって受験の有利・不利の差が開くと問題になるとして」 (スコア:0)
プログラムではない言語についても同様に人工言語で試験すべきでなのではないか。
Re:「受験生が取り組んでいたプログラミング言語によって受験の有利・不利の差が開くと問題になるとして (スコア:1)
英語なんかも帰国子女や、幼少時から取り組んでいた人が有利になるから試験は廃止ということにしなければならない。
Re: (スコア:0)
Re:「受験生が取り組んでいたプログラミング言語によって受験の有利・不利の差が開くと問題になるとして (スコア:1)
日本語や英語は人ならざるものが作った……?
Re: (スコア:0)
# 言語は全部人工だと思う……。
Re: (スコア:0)
プログラミング言語と同じ理由(特定の自然言語の知識を問うているわけではない・学んでいた自然言語により有利・不利が生じる)から、大学入試センターが開発した人工言語で行うべきでは?
Re:「受験生が取り組んでいたプログラミング言語によって受験の有利・不利の差が開くと問題になるとして (スコア:1)
政府組織が公用文で使用している言語は我々が日本語だと思っている言語とたまたま似ているだけの人工言語の可能性がある。
Re: (スコア:0)
受験生が取り組んでいたBASIC, PASCAL, COBOL等のプログラミング言語によって受験の有利・不利の差が開くと問題になるのなら、由緒正しきいにしえのALGOLを使えばいいじゃないか
わざわざ半端な新言語を作る必要は無い
公金チューチュー (スコア:0)
ここでもやってるんか。
別に世界規格にのし上がれた言語でいいやん。
曖昧表現のできる日本語をコンピュータ言語にあえて使用しなくても。
Re: (スコア:0)
「ひまわり」言語ってのがありましたが (スコア:0)
ちょっと仕様モディファイしたものらしいですね。
で、ひまわりの処理系にDNCLモードってのがあるらしいです。
フリーソフトだし興味のある方は弄ってみてはどうでしょうか。
# 英語ネイティブな方にはプログラム言語がこんな風に見えているのでせうかね。
# ちょっと違うか。
Re: (スコア:0)
ちゃった、いまは「なでしこ」でした。
記憶が古かった。
web上でもスクリプトよろしく動くそうです。
Daigaku Nyushi Center Language (スコア:0)
ワロタ
Re:Daigaku Nyushi Center Language (スコア:1)
DHC (Daigaku Honyaku Center) ってのもあったな
Re: (スコア:0)
TDK(Tokyo Denki Kagaku)も追加で
Re: (スコア:0)
Re:Daigaku Nyushi Center Language (スコア:1)
日本発条株式会社は、NHK SPRING CO.,LTD。
日本放送協会より先。
Re: (スコア:0)
前半2つは日本語(ローマ字表記)なのに後半2つは英単語なのが味わい深いな
Re: (スコア:0)
湯桶読みに近い感覚かも・・・。
Re: (スコア:0)
組織が変わって大学入試センターじゃなくなったらどうするんだろう
Re:Daigaku Nyushi Center Language (スコア:3)
DNCL is Not daigaku nyushi Center Language になる
代入演算子 (スコア:0)
`=`にしなかったのは英断かも。
Re:代入演算子 (スコア:2)
Ruby の elsif については perl が元なので、独自演算子の例として挙げるのは不適当。
もっとこう、 &:to_s とか String#strip! とかなんだよって感じのがあると思う。
また、 elif などがあるような言語は else if と書けない場合が多いと思う(python とか Cのプリプロセッサディレクティブとか)。
(厳密にいうと、 ruby は else if と書いて end end で閉じることで書けなくはないがこれは無視する。)
svn-init() {
svnadmin create .svnrepo
svn checkout file://$PWD/.svnrepo .
}
実用性皆無=役に立たないプログラム言語 (スコア:0)
日本の(学習)生産性低下をもたらすこれを、大学入試に使う事の妥当性・是非、どう考える?
# そりゃ、大学入学共通テストの点数勘定から情報関連が排除されるのも当然。
Re:実用性皆無=役に立たないプログラム言語 (スコア:3, すばらしい洞察)
まともにプログラム出来るやつなら、事前に知らずぶっつけ本番でも、ああ何らかのアルゴリズム記述用擬似言語かー、とか思いながらさらっと解けるので問題無し。
これは問題だー、とか言ってる非プログラマが多いことの方が大きな問題。
Re: (スコア:0)
皆無でもなんでもないが
いつもサインなんて無駄だとか言ってだろうなぁ
COBOLでいいじゃん (スコア:0)
> 受験生が取り組んでいたプログラミング言語によって受験の有利・不利の差が開くと問題になる
COBOLでいいじゃん。
COBOLに取り組んでる受験生なんかいないよ。
Re:COBOLでいいじゃん (スコア:1)
小学校の頃から数セミを愛読しているような人がいる(?)ことを考えると、数学もまったく別の記述体系を使って出題すべき、となったりするんかな?
国語だとどうなんだろうか?
関数型言語 (スコア:0)
LISPでプログラミングを勉強していた高校生にも配慮が必要ではないか
Re:ループ脱出後の値が問題なんだよな。 (スコア:1)
PyPENという環境を作っていますが,forがrangeをなぞるのかfor nextを踏襲するかはいまだに結論が出きってないです。