読者です 読者をやめる 読者になる 読者になる

浜村拓夫(・∀・)作品集

頭の中にあるイメージを表現できるデザイン力が欲しいです(><)

Swift入門 プログラミングの基礎知識

Swift

iPhoneアプリを開発するために、Swiftを習得しよう!

教科書は「iPhoneアプリ開発講座 はじめてのSwift」という本です。

 

hamamuratakuo.hatenablog.com

 

今日は第1章の「プログラミングの基礎知識」を学んでみます。

 

●第1章 プログラミングの基礎知識

目次

  01 プログラムとは

  02 プログラミング言語とは

  03 コンピュータがプログラムを理解する仕組み

  04 iPhoneアプリ開発のためのプログラミング言語「Swift」

    モダン

    安全

    高速

    インタラクティブ

  05 プログラミングに必要な準備

    Mac

    Xcode

    iOSバイス(iPhone / iPod touch / iPad

 

●学習メモ

01 プログラムとは

コンピューターへの指示を、特定の形式で書いたもの。

pro(前もって)+gram(書いたもの)=プログラム

 

どのような順番で処理を実行させたいかを考え、実際にプログラムを作っていく作業のことをプログラミングと言います。

 

02 プログラミング言語とは

コンピューターに対して指示を行うには、指示の内容を「特定の形式」で書かなければいけません。

この特定の形式をプログラミング言語と呼びます。

プログラミング言語はコンピューターが理解できる言語です。

「特定の形式」というのは、日本語や英語を話すときの文法のようなものです。

つまり、コンピューターに指示するためには、プログラミング言語と呼ばれるコンピューターが理解できる形式(文法)で書く必要があります。

プログラムは、どんな書き方でも通用するわけではなく、必ず決められたルールに従って正確に書かなければいけません。

 

プログラミング言語 - Wikipedia

プログラミング言語はコンピュータプログラムを記述するための形式言語である。

コンピュータが理解できる言葉は、固有の機械語だけである。

機械語は一見無意味な数字の羅列で、人間には理解しにくい。

(コンピュータ)プログラミング言語は、おもに英語の単語と記号を組み合わせた、特殊な文法(正確には「構文」)で記述される。

その意義は、人とコンピュータの意思疎通を容易にするため、数字の羅列に代えて人間に扱いやすい言語形式を提供することにある。

プログラミング言語があれば、人は扱いやすく理解できる言葉でコンピュータへの指示を書くことができる。

プログラミング言語で書かれたコードは、アセンブラコンパイラインタプリタなど「プログラミング言語処理系」と呼ばれるソフトウェアを使用して機械語に変換され、コンピュータに与えられる。

  

03 コンピュータがプログラムを理解する仕組み

そもそもコンピューターは機械語マシン語と呼ばれる言語しか理解することができません。

機械語は0と1の羅列(ビット)で表現でされます。

コンピューターに指示するには機械語を使う必要がありますが、機械語はコンピューターには理解できても人間にとっては非常に読みづらいものになっているため、とてもじゃないですが機械語を書く気にはなれません。

そこで、人間が日常で扱う自然語に近い、読みやすい言語が作られました。

これを高級言語と言います。

Swiftは高級言語の1つです。

 

高級言語で書かれた文書はソースコードと言います。

機械語で書かれた文書はバイナリ―コードと言います。

 

バイナリ - Wikipedia

バイナリ (binary) とは二進法のことであるが、コンピュータが処理・記憶するために2進化されたファイルまたはその内部表現の形式(バイナリデータ)のことを指して用いることが多い。

コンピュータが扱うすべてのデータはバイナリデータ(バイトの並び)であり、プレーンテキスト(または単にテキスト)もバイナリデータの一種ではあるが、通常バイナリとテキストは対比して用いられる。

テキストとはデータの内容すべてを人間が読んで理解できる (human-readable) もの、バイナリとはそうでないものを指す。

human-readableに対する語はmachine-readableだが、これは(機械的に読むことが可能であるように)フォーマットが定められているもの、という意味である。

 

ソースコードは人間には理解できますが、そのままではコンピューターは理解することができません。

コンピューターが理解できるバイナリ―コードに翻訳する必要があります。

この翻訳作業のことをコンパイルと言い、コンパイルを行うソフトウェアをコンパイラと言います。

Swiftで書かれたプログラムはLLVMというコンパイラーが、ソースコードバイナリ―コードに変換しています。

 

compileの意味 - 英和辞典 Weblio辞書

(編集のために)集める、(資料をまとめて)編集する、

機械語に翻訳する、コンパイルする 

 

LLVM - Wikipedia

LLVM とは、コンパイル時、リンク時、実行時などあらゆる時点でプログラムを最適化するよう設計された、任意のプログラミング言語に対応可能なコンパイラ基盤である。

当初は、LLVM の名称の由来は、Low Level Virtual Machine (低水準仮想機械) の略であるとしていたが、現在は、何の頭文字でもないとしている。

LLVM自体はC++で書かれており、イリノイ大学2000年に開発が開始されたものである。

 

高級言語を使ってソースコードを書くためには、高級言語の書き方を正しく理解する必要があります。

 

04 iPhoneアプリ開発のためのプログラミング言語「Swift」

iPhoneアプリ開発では、SwiftまたはObjective-C(オブジェクティブシー)のいずれかのプログラミング言語でプログラムを書くのが一般的です。

Swiftは2014年に登場したばかりの新しいプログラミング言語です。

文法・構文がシンプルなので、読みやすいプログラムが書けるという特徴があります。

 

ダン

Objective-C

Rust (ラスト)

Haskell (ハスケル

Ruby (ルビー)

Python (パイソン)

C# (シーシャープ)

D言語 (ディーげんご)

CLU (クルー)

といったプログラミング言語を参考に設計されています。

既存のプログラミング言語の使いやすい機能や文法、構文が、Swiftに取り入れられています。

 

安全

Swiftは「バグを生みやすいコードが書けないような言語のルールになっている」という特徴があります。

 

高速

Swiftは処理が高速になるように考慮された設計になっており、既存のプログラミング言語であるObjective-Cよりも実行速度が高速です。

 

インタラクティブ

Swiftには、書いたプログラムがどのような結果になるかその場ですぐにわかる、プログラミングを気軽に試すことができる機能が用意されています。

このような機能を活用することで、対話的にプログラミングを行うことができます。

 

05 プログラミングに必要な準備

Swiftを使ったプログラミングを行うには、次の準備をしておく必要があります。

 

Mac

MacMacintosh)は、Appleが販売しているコンピュータです。

iPhoneアプリMac上でしか開発できないため、必要になります。

 

www.apple.com

 

Xcode

Xcode(エックスコード)は、アプリを開発するための統合開発環境です。

Mac App Storeから無料でインストールできます。

 

統合開発環境 - Wikipedia

統合開発環境(とうごうかいはつかんきょう)、IDE (Integrated Development Environment) は、ソフトウェアの開発環境。

 

iOSバイス(iPhone / iPod touch / iPad

アプリの開発中に動作確認を行うには、開発途中のアプリをiPhoneiPod touchiPadなどのiOSバイスにインストールします。

そのため、iOSバイスが必要になります。

iOSバイスが手元にない場合でも、アプリの動作を確認することができます。

Xcodeをインストールすると、iOSシミュレーターと呼ばれる、Mac上でiOSバイスを擬似的に再現するアプリケーションが利用できるようになります。

iOSシミュレーターの中でアプリの動作を確認することで、iOSバイスなしでアプリ開発を進めることができます。

iOSシミュレーターでは、カメラや加速度センサーなど、ハードウェアに依存する一部の機能は使うことができません。

カメラなどの機能を使うアプリの動作確認には、実際のiOSバイスが必要になります。

 

●まとめ

MacXcodeiOSバイス(iPhoneiPadなど)を用意する。

・とりあえず、Swiftを使ってiPhoneアプリを開発してみる。

・Swiftは、モダンプログラミング言語なので、使いやすいはず?

 

 

思い通りにアプリが作れるようになりたいな~★

みんなもアプリで一発当てよう!!!(・∀・)

 

 

iPhoneアプリ開発講座 はじめてのSwift

iPhoneアプリ開発講座 はじめてのSwift