この課題では、ユーザーは、プログラミング言語で3つのかなり単純なコーディングタスクを順番に完了します。
最初の回答では、2015年に作成されたプログラミング言語を使用する必要があります。2015年の言語から少なくとも1つの回答があれば、2014年に作成されたプログラミング言語を使用できます。少なくとも1つの2014年の回答があるまで。
一般に、Y + 1年の言語を使用した回答が提出されるまで、Y年のプログラミング言語の使用は許可されません。唯一の例外はY = 2015です。
あなたの言語の年を見つける
この質問に答えるには、プログラミング言語が「作られた」年を知る必要があります。もちろん、これは主観的な用語です。一部の言語は複数年にわたって開発され、多くの言語が毎年アップグレードされています。言語が「作られた」年を、その言語の実装が一般に公開された最初の年としましょう。
たとえば、Pythonは1991年に「作成」されましたが、その開発は1989年から進行中で、バージョン1.0は1994年までリリースされていませんでした。
今年がまだ主観的な場合は、常識を使用して最も適切な年を選択してください。年の選択についてわずかな意見の相違で動揺しないでください。言語がいつ作成されたかを示すソースへのリンクを提供してください。
プログラミング言語の異なるバージョンまたは標準(Python 1、2、3など)は、同じ初年度の同じ言語としてカウントされます。
したがって、言語の年が2015年でない限り、言語の年があなたの直前の年である回答が送信された後にのみ、回答を送信できます。
あなたと同じ年の有効な回答が既に存在する場合は、回答できます。あなたの言語がその年の早い時期に開発されたか、遅い時期に開発されたかは関係ありません。
タスク
タスク1〜3を完了する必要があります。タスク0はオプションです。
これらのタスクは、出力の提供(タスク1)、ループ(タスク2)、および再帰(タスク3)の3つの重要な側面に対応するために選択されました。
タスク0-言語履歴(オプション)
選択したプログラミング言語の歴史を説明する段落を少なくとも1つ書いてください:誰がそれを開発したのか、なぜ、どのように、など。言語があなたやあなたの仕事、またはそのようなものに与えた影響についての個人的な逸話をお気軽に伝えてください。
あなたが若すぎて多くの研究をせずにあなたの言語の歴史について多くを知ることができない場合、あなたの投稿を編集し、いくつかの直接の履歴を追加できると言うメモを高齢ユーザーに残すことを検討してください。
タスク1-「こんにちは、世界!」バリアント
印刷するプログラムを書く
[language name] was made in [year made]!
ご使用の言語の標準出力領域(最新の言語の場合は標準出力)。
たとえば、言語がPythonの場合、出力は次のようになります。
Python was made in 1991!
タスク2-アスキーアートN
ユーザーが奇数の正の整数を入力できるプログラムを作成し(入力は常に有効であると想定できます)、文字を使用して作成されたASCIIアート文字Nを出力しN
ます。
入力が1の場合、出力は次のとおりです。
N
入力が3の場合、出力は次のとおりです。
N N
NNN
N N
入力が5の場合、出力は次のとおりです。
N N
NN N
N N N
N NN
N N
入力が7の場合、出力は次のとおりです。
N N
NN N
N N N
N N N
N N N
N NN
N N
パターンはこのように続きます。出力には末尾スペースが含まれる場合があります。
タスク3- GCD
ユーザーが2つの正の整数を入力できるプログラムを作成し(入力は常に有効であると想定することができます)、最大公約数を出力します。これは、残りを残さずに両方の数値を除算する最大の正の整数として定義されます。ユークリッドアルゴリズムを使用して容易に計算できます。
例:
8
、12
→ 4
12
、8
→ 4
3
、30
→ 3
5689
、2
→ 1
234
、876
→6
組み込み関数を使用できますが、言語の最初のバージョンにあるかどうかを確認してください。そうでない場合は、使用しないでください。
ルール
- 複数回回答することもできますが、新しい回答では、最後の回答の言語より少なくとも5年前に作成された言語を使用する必要があります。したがって、2015年の言語で回答した場合、2010年の言語が許可されるまで再び回答できませんでした。2010年の回答から開始する場合、2015年は2010年以前ではないため、2015年の回答を2番目の回答にすることはできません。
- 可能であれば、言語の最初のバージョン(または可能な限り古いバージョン)で機能するようにコードを記述してください。(一部の言語の古いコンパイラー/インタープリターを見つけるのは難しいため、これは要件ではありません。)
- 投稿された回答に重大なエラーがないか、タスクを完了する方法がまったく異なる場合を除き、既に投稿されている言語を投稿しないでください。
- コードをゴルフしても問題ありませんが、必須ではありません。
- プログラムの出力の末尾の改行は問題ありません。
- タスク2および3の場合、2 16のような合理的な最大値以下のすべての入力値が機能するはずです(少なくとも256)。
- この質問が投稿される前に、あなたの言語が存在していなければなりません。
- 非常に古いプログラミング言語は、現在考えているものとは異なる形式の入力と出力を持っている場合があります。これは大丈夫です。あなたの言語の文脈であなたの能力の最大限までタスクを完了してください。
得点
提出のスコアは次のとおりです。
upvotes - downvotes + (2015 - languageYear) / 2
したがって、2015年以前の毎年の投票数には0.5が加算され、古い言語に有利になります。最高スコアの提出が勝ちです。
回答リスト
以下のスタックスニペットには、言語年ごとに有効な回答がすべてリストされています。
正しくリストされていることを確認するには、このMarkdown行で投稿を開始する必要があります。
#[year] - [language name]
例えば:
#1991 - Python
言語名はリンクに含まれている場合があります(回答リストでは同じリンクになります)。
#1991 - [Python](https://www.python.org/)
この形式に従わない回答、まだ許可されていない年、または過去5年間に既に回答したユーザーからの回答は無効としてマークされます。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><script>$(function(){function e(e,r){var a="https://api.stackexchange.com/2.2/questions/48476/answers?page="+e.toString()+"&pagesize=100&order=asc&sort=creation&site=codegolf&filter=!YOKGPOBC5Yad160RQxGLP0r4rL";$.get(a,r)}function r(e){if(e.items.forEach(function(e){var r=e.link,a=e.owner.display_name,i=e.body.match(/<h1\b[^>]*>(\d{4}) - (.*?)<\/h1>/);if(i&&i.length>=3)var h=parseInt(i[1]),u=i[2];h&&u&&n>=h&&h>=t&&(!d.hasOwnProperty(e.owner.user_id)||d[e.owner.user_id]-h>=p)?(d[e.owner.user_id]=h,h==t&&--t,o.hasOwnProperty(h)||(o[h]=[]),o[h].push({language:u,user:a,link:r,score:e.score+(n-h)/2})):s.push(' <a href="'+r+'">'+a+"</a>")}),e.has_more)runQuery(++a,r);else{for(var i=n,h=[];o.hasOwnProperty(i);){for(var u=$("<tr>").append($("<td>").text(i.toString())),l=$("<td>"),c=$("<td>"),g=$("<td>"),f=0;f<o[i].length;f++){var v=o[i][f];l.append(v.language),c.append($("<a>").html(v.user).attr("href",v.link)),g.append(v.score),f+1<o[i].length&&(l.append("<br><br>"),c.append("<br><br>"),g.append("<br><br>"))}u.append(l).append(c).append(g),h.push(u),--i}$("#answers").find("tbody").append(h),s.length>0?$("#invalid").append(s):$("#invalid").remove()}}var a=1,n=2015,t=n-1,p=5,o={},s=[],d={};e(1,r)})</script><style>html *{font-family: Helvetica, Arial, sans-serif;}table{border: 4px solid #a4a; border-collapse: collapse;}th{background-color: #a4a; color: white; padding: 8px;}td{border: 1px solid #a4a; padding: 8px;}div{font-size: 75%;}</style><table id='answers'> <tr> <th>Year</th> <th>Language</th> <th>User (answer link)</th> <th>Score</th> </tr></table><div id='invalid'><br>Invalid Answers:</div>