Nobiq
Nobiq

プログラミングってなに?

プログラミング未経験からの第一歩

この講座は、プログラミングをまったくやったことがない人のための Solidity(ソリディティ)入門です。Solidity は、ブロックチェーンの上で動くプログラムを書くための言語です。

むずかしい理屈は後回しにして、まず「書いて、動かして、変えてみる」を体験しましょう。

:::tip 料金は一切かかりません この講座のハンズオン(実習)はすべて Nobiq の実習環境「Lab」で行い、無料です。くわしくは Lab をはじめる の冒頭をご覧ください。 :::

プログラムってなに?

プログラムとは、コンピュータへの指示書です。

たとえば自動販売機を思い浮かべてください。「お金が入ったら」「ボタンが押されたら」「ジュースを出す」——こういう「〜したら、〜する」という決まりごとの集まりで動いています。この決まりごとを、コンピュータが読める形で書いたものがプログラムです。

そしてプログラミングとは、この指示書を書くこと。特別な才能は要りません。書き方のルール(文法)を少しずつ覚えていくだけです。

コードを見てみよう

プログラムの文章のことをコードと呼びます。これが Solidity のコードです。

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

contract Hello {
    string public message = "Hello Nobiq!";
}

今は 1 行も意味がわからなくて大丈夫です。「英語っぽい何かが数行書いてあるな」くらいで OK。この講座を進めると、1 行ずつ全部読めるようになります。

ひとつだけ先に: これは「Hello という名前の、messageHello Nobiq! という文字を記録している入れ物」を作るコードです。

書いたら動かす、が基本サイクル

プログラミングは、次のくり返しで進みます。

  1. 書く — コードを書く(写すだけでOK)
  2. 変換する — コンピュータが実行できる形に変換する(これをコンパイルと呼びます)
  3. 動かす — 実行して、結果を見る
  4. 直す — 思いどおりでなければ直して、また 1 へ

このサイクルを回す場所が Nobiq の実習環境 Lab です。ブラウザだけで 1〜4 の全部ができます。

やってみよう: 写して、動かして、1行変える

Lab の準備(ログイン〜ファイル作成)がまだの人は、先に Lab をはじめる を済ませてください。ここからは Lab の開発画面がある前提で進めます。

  1. エディタに上のコードをそのまま打ち込みます(コピーでも OK。まちがえても壊れないので安心してください)
  2. 「コンパイル」ボタンを押します。ログ欄に成功のメッセージ(✅)が出れば、あなたの最初のコードが機械の読める形に変換されました
  3. 次に "Hello Nobiq!" の部分を、好きな言葉に変えてみましょう(例: "My first code!")。半角の英数字と記号で、"" のあいだを書き換えます
  4. もう一度「コンパイル」。成功したら、あなたはもうプログラムを書き換えられる人です

:::note 日本語を入れたいときは "..." の中に日本語を書くときは、頭に unicode を付けて unicode"こんにちは!" のように書くルールがあります。理由は先の講座で触れるので、今は「日本語のときは unicode を付ける」とだけ覚えれば OK です。 :::

エラーは怖くない

わざと失敗もしてみましょう。行末の ;(セミコロン)をひとつ消して、コンパイルしてみてください。ログ欄に赤いエラーメッセージが出ます。

これは故障ではありません。「ここが読めなかったよ」という、コンピュータからのお知らせです。エラーメッセージには「何行目のどのあたりか」が書いてあるので、そこを直してまたコンパイルすれば OK。何度失敗しても料金はかからないし、誰にも迷惑はかかりません。

エラーメッセージの読み方は コンパイルとデプロイ にまとめてあります。

今回覚えたこと

  • プログラム = コンピュータへの指示書。コード = その文章
  • コンパイル = 書いたコードを、実行できる形に変換すること
  • エラー = 「ここが読めなかった」というお知らせ。直せばいいだけ

次回は、さっき写したコードを 1 行ずつ読み解きます。「contract ってなに?」がわかるようになります。

:::tip Lab でやってみる 今回の「1 行変えて再コンパイル」がそのままハンズオンです。まだの人は上の手順をどうぞ。Lab の操作方法: Lab をはじめる :::