リスキルテクノロジー

基本だけど注意が必要!演算子とは

From:リスキルテクノロジー 高坂一城 新宿本校にて ソフトウェア開発をする際、 ソースコード上で「演算(計算)」をすることが しばしばあります。 例えば、 ある品物の消費税込の価格を計算するには、 税抜き価格 * 1.08 ("*"は掛け算) といった演算をする必要があります。 上記の例で "*"という演算(ここでは掛け算)をするための記号を 「演算子」と呼びます。 掛け算以外にも、 一般的なプログラミング言語には、 +:足し算 -:引き算 /:割り算 といった演算子が存在します。

複雑な演算

先ほどの例では、 演算子が一つしかありませんでしたが、 4 + 8 / 4 * 2 - 6 このように複数の演算子が存在する場合、 どのように演算されるのでしょうか。 例えば、 左側から順番に演算をした場合、 答えは、「0」になります。 しかし、「0」という答えは正しくありません (正しくは2となります)。 つまり今回の例の場合、 左から順番に演算をしてはいけない、 ということになります。 では、 どういう順番で演算されるのでしょうか。

演算の順番

演算子には、 「優先順位」と「結合規則」という ルールがあります。 このルールに従って演算が行われます。

優先順位

優先順位は、 どの演算を先に行うのかを決定するために 使われます。 一般的なプログラミング言語では、 以下のようになります。 -------------------------------- 優先順位 演算子 --------------------------------   高   * /   低   + - -------------------------------- "*"と"/"は"+"と"-"よりも 優先順位が高いため、先に演算されます。 例えば、 3 + 5 * 4 の場合、 「5 * 4」が先に行われ、 その結果(20)が「3」と足し算される このようになります。

結合規則

結合規則とは、 優先順位の同じ演算子が複数存在する場合、 どの演算を先に行うのかを決定するために 使われます。 一般的なプログラミング言語では、 以下のようになります。 -------------------------------- 結合規則 演算子 --------------------------------   左   * /   左   + - -------------------------------- "*"と"/"は優先順位が等しいため、 同時に存在する場合は左側から順に 演算されることを意味します。 "+"と"-"の場合も同様です。 例えば、 8 / 4 * 2 の場合、 「8 / 4」が先に行われ、 その結果(2)が「2」と掛け算される このようになります。

演算子の間違いによる バグは見つけにくい

このように、 ソースコード上で演算を実施する場合、 演算子の「優先順位」と「結合規則」を 常に意識する必要があります。 また、ここでは 4種類の演算子しか取り上げていませんが、 一般的なプログラミング言語では、 「30種類」程度の演算子が存在します。 全ての演算子に 「優先順位」と「結合規則」が 定められています。

kohsaka

さらに、演算子の記述順序を間違えても、 (文法的な)エラーにはなりません。 そのため、演算子の記述間違いによる バグ(不具合)を引き起こさないように 「優先順位」と「結合規則」には 注意をしてみてください。 ------------------------------------- PS.Javaを基礎からしっかり学びたいなら、 社会人のためのプログラミングスクールで!! -------------------------------------

Pythonって何?

From:リスキルテクノロジー 高坂一城 新宿本校にて

kohsaka

ソフトウェア開発をする上で プログラミング言語はなくてはならないモノです。 そのようなプログラミング言語ですが、 何種類あるかご存知ですか? ある調査機関によると 世界には「約8,500種類」 のプログラミング言語が存在する、 という調査結果が出ています。 これだけの種類があるプログラミング言語ですが、 世の中ではどういう言語が よく使われているのでしょうか。

プログラミング言語ランキング

オランダにある TIOBE Softwareという会社は、 どのようなプログラミングが話題になっているのか、 という調査を毎月実施し、 その結果をホームページにて掲載しています。 インターネット上にある複数の検索エンジンで、 そのプログラミング言語がどれだけ多く 検索されたのかで調査・集計しています。 今年(2016年)2月の プログラミング言語ランキング上位5言語は、 以下のようになっています。 1位 Java 2位 C 3位 C++ 4位 C# 5位 Python やはりJavaの人気は高いのですが、 中でも注目すべきは 5位の「Python(パイソン)」です。

Pythonって何?

「Python」というプログラミング言語は、 日本ではあまり馴染みが薄いかもしれません。 しかし、 このランキングを見ても分かる通り、 世界で5番目に注目されているプログラミング言語 ということになります。 なぜ、 Pythonは世界で注目されているのか。 なぜ、 日本ではPythonが注目されていないのか。 この理由について 考えていきたいと思います。

なぜPythonは 世界で注目されているのか

結論から言うと「Python」は、 プログラミングをこれから勉強しよう という初心者にとって勉強しやすい言語である、 という点が理由にあげられます。 それを裏付けるデータとして、 全米で最も優れた コンピュータサイエンス教育を行っている 大学ランキングがあります。 ランキングの上位39校中、69%にあたる27校が 「Python」を採用しています。 更に、トップ10校に限定すると、 なんと8校が「Python」の教育を 行っているのです。 このことからも「Python」が 初心者向けのプログラミング言語である、 ということが分かります。 「Python」がどれだけ勉強し易いか(簡単か)を 「Java」と比較してみましょう。 どのプログラミング言語でも 一番最初に実行するサンプルプログラムとして有名な 「Hello World」というプログラム (単に "Hello World" という文字列を画面に表示する) で比較します。

Java

Python

あるいは

ぱっと見ただけでも、 Pythonのほうが簡単そうにみえますよね。

なぜPythonは日本では あまり注目されていないのか

これだけ世界で注目されている「Python」ですが、 なぜ日本ではあまり注目されていないのでしょうか。 Pythonは、 「スクリプト言語」というカテゴリの プログラミング言語です。 日本ではスクリプト言語として、 Rubyという言語が普及しています。 実は、このRuby、 日本人が作ったプログラミング言語です。 そういった理由もあり日本では、 PythonではなくRubyが注目され、 使われるようになりました。 これが「Python」が日本であまり注目されない 理由の一つとなっています

Pythonの今後

ここまで、 Pythonが注目される理由を見てきました。 では、今後Pythonは ランキング1位のJavaに取って代わるのでしょうか。 恐らく PythonがJavaに取って代わる、ということは ないでしょう。 なぜなら、PythonとJavaでは プログラミング言語のカテゴリが違います。 また、全米の大学ランキングでは Pythonがトップですが、 ・Pythonは初級コース ・Javaは上級コース といった使い分けをしている大学もあります。 また、Javaも大学ランキングでは2番目に多い 39校中22校が採用しています。 更に、実際のITの現場では、 圧倒的にJavaが使われる頻度が高いのです。 しかし、 勉強し易い言語として君臨してきましたJavaを、 上回る勉強し易い言語が出てきたことも事実です。 この先、機会があれば Pythonプログラミングについても触れていきたいと 思います。 ---------------------------------------------- PS. とはいえ、仕事という面では、 日本でもっとも需要が多いのは圧倒的にJavaでしょう。 Javaスクールならリスキルテクノロジー ----------------------------------------------

バージョン管理ツール「Git」とは

From:リスキルテクノロジー 高坂一城 新宿本校にて

kohsaka

ソフトウェア開発ではソースコードを作成しながら ソフトウェアを作っていきます。 ソフトウェア開発の現場では、 バグ(不具合)の修正や機能の追加ごとに、 その時のソースコードの状態を記録し、 それぞれの版(バージョン)を管理することが 必要になります。 このソースコードのバージョンを管理するソフトウェアを 「バージョン管理システム」と言います。 「Git」とは、バージョン管理システムの一つで、 ここ数年で非常によく使われるようになってきました。 ちなみに「ギット」と発音します。

なぜバージョン管理が必要か

突然ですが、あなたはゲームをしますか。 「ドラゴンクエスト」に代表される 古典的なRPG(ロールプレイングゲーム)では、 プレイの途中でそこまでの状態をセーブ(保存) することができます。 なぜソフトウェア開発に バージョン管理が必要なのか、 その理由は、 ゲームをセーブする理由と同じなのです。 ゲームをセーブする理由は、 ①もう寝るから(今日はここまで) ②途中でプレイヤーが死んでしまっても  やり直しができるから この2つが大半だと思います ソフトウェア開発にバージョン管理が必要な理由は、 上記の②に相当します。 例えば、 あるソフトウェアに新しい機能を追加します。 しかし、その機能を使わなくなった。 そういった場合、このソフトウェアを 新しい機能を追加する前の状態に 一瞬で戻せると便利ですよね。

Gitの登場

そこで「Git」の登場です。 Gitは、 世界最大のオープンソースソフトウェアである Linuxカーネルのソースコードを 効率的に管理するために作られました。 Gitの特徴は、 ①動作速度が速い ②分散型である    です。

特徴① 動作速度が速い

Gitは Linuxカーネル開発で培われたノウハウを活かし、 大規模プロジェクトにも対応できるように 設計されています。 大規模プロジェクトでは 多数のソースコードを管理する必要があります。 ソースコードの変更点を抽出したり、 「リポジトリ」と呼ばれるソースコードや 変更履歴を保存する場所への操作が 高速にできる必要があるため、 動作速度に重点が置かれています。

特徴② 分散型である

Gitが登場する前は、 「Subversion(SVN)」に代表される 「集中型バージョン管理システム」が 広く使われてきました。 「集中型バージョン管理システム」では、 開発対象のソフトウェア一つにつき 「リポジトリ」を一つだけ持っています。 ソフトウェア開発に参加するメンバは、 この一つのリポジトリから ソースコードを持ってきて編集し、 編集が終わったらリポジトリに反映します。 これにより、 リポジトリが置かれたマシンに接続できない環境では、 最新のソースコードを取得したり、 編集したソースコードの反映ができないことになります。 この問題点を解決したものが、 Gitに代表される 「分散型バージョン管理システム」です。 「分散型バージョン管理システム」では、 メインとなるリポジトリ以外に、 自分のマシンにもリポジトリを持つことができます。 リポジトリをマシン毎に持つことができるので 「分散型」と呼ばれています。 自分のマシンにもリポジトリがあるため、 いつでもどこでも作業ができ、 かつ自分のマシンである程度作業が進んだ時点で、 メインとなるリポジトリに反映する、 といったことができます。

Gitはバージョン管理だけではない

Gitは分散型であることをメリットに、 近年、システム開発の現場で 広く使われるようになってきました。 このGitですが、 バージョン管理だけではとどまらず、 Gitの仕組みを利用した「GitHub」(ギットハブ) というサービスにも使われています。 「GitHub」とは、 世界中の人々が、自分の作品 (ソースコードやデザインデータ)を 保存・公開することができるようにした Webサービスです。 GitHubは GitHub社という会社が運営しており、 個人・法人問わず無料で利用できます。 あなたもぜひ使ってみては いかがでしょうか。 --------------------------------------------- PS.選ばれ続けて15年には理由があります。 卒業生5,000名以上! プログラミングスクールなら実績豊富なIT専門スクールで ----------------------------------------------

省略のルール

From:リスキルテクノロジー 高坂一城 新宿本校にて

kohsaka

前回、 間違えやすいHTMLのタグの読み方、 について書きました。 なぜ読み間違えやすいのか? これは、タグの表記が 英単語を省略した形になっている、 ことが要因の一つです。 そこで今回は、 この英単語の省略形について 書きたいと思います。 一見、 無造作に省略しているように見えますが、 実はあるルールに基づいて省略されています。

なぜ省略するのか?

そもそも、 なぜ英単語を省略するのでしょうか? それは、 全てを綴ると文字数が長くなるので、 短く簡潔に表現するためです。 歴史的な背景をみてみましょう。 インターネットやファックスが発達する前、 通信にはテレックスというものが 使用されていました。 テレックスの料金は文字数に比例します 文字数が少ないほうが料金が安い、 ということで省略形が使われていました。 テレックが一般的でなくなった今では 見やすさや覚えやすさのために 省略形を使うことが多いです。

省略系のルール

では早速、省略形のルールについて 見ていきたいと思います。

ルール1: 頭文字あるいは先頭の数文字で表現する

<a href=...>は、このルールに該当します。 「a href」は 「Anchor Hypertext REFerence」の省略形です。 このルールは、HTMLだけではなく、 一般的によく使われています。 例えば、銀行の「ATM」。 これは、 「Automated Teller Machine」 の省略形です。

ルール2 母音を消して表現する ※先頭の母音は消さない

<img src=...>は、このルールに該当します。 「img src」は 「IMaGe SouRCe」の省略形です。 大文字の部分(子音)だけで構成されています。 (先頭のIは省略しない) 英語を発音するときに、 母音よりも子音が単語の音を出します。 そのため、母音を消した綴りでも 単語が分かるという発想から生まれました。 また、このルールはIT系でよく 使われています。 例えば、 電子メールを送信する際のルールに SMTPというルールがあります。 そのルールにおいて、 宛先を指定するコマンドとして 「RCPT」というコマンドがあります。 「RCPT」とは「ReCeiPT」の省略形で 「受取り」という意味です。

何でも省略すればいいわけではない

今回は、英単語の省略ルールについて 書いてきましたが、 何でもかんでも省略すればいい、 というものではありません。 省略することで、 全く意味をなさないものもあります。 省略形は、意味が通じる範囲で 適切に使うようにしてください。 ただ、こうしたルールを知ることが、 HTMLだけではなく、 IT業界で多用される、いわゆる「略語」を 理解する手がかりになると思います。 ------------------------------------ PS.選ばれ続けて15年には理由があります。 卒業生5,000名以上! プログラミングスクールなら実績豊富なIT専門スクールで -------------------------------------

プロでも間違える!HTMLのタグの読み方

From:リスキルテクノロジー 木村和司
新宿本校にて

以前、プログラミング言語で良く使われる
読み間違えやすい英単語についてお話しをしました。

確かに読み間違えやすいのですが、
所詮、英単語。
調べればその読み方はすぐにわかります。

プログラミング言語の中には、
アルファベットではあるが
英単語ではない、
特別な文字列を使用したものも存在します。

その代表的な言語がHTMLです。

HTML(Hyper Text Markup Language)

HTMLとは、
ホームページを制作するための言語です。

言語と言っても一般的にHTMLは、
プログラミング言語ではなく、
マークアップ言語と呼ばれる
ホームページの構造を
記述するための言語です。

HTMLでは「タグ」と呼ばれる
特別な文字列を使い、
ホームページを記述していきます。

その「タグ」を正確に読めない、
あるいは、読み方が分からない、
という方が結構いらっしゃいます。

ホームページを制作するプロの方でも、
間違って読まれることがあるくらいです。

プロでも読めない意外な事実

では早速、読み方を間違えやすい
「タグ」を紹介していきます。

<img src=...>

これは、
ホームページ内に画像を掲載するときに
記述するタグです。

そのため、
世の中のほとんどのホームページには
このタグが使われています。

さて、なんと読むでしょうか?

「アイエムジー エスアールシー」
「イメージ エスアールシー」

実はこれ
「イメージ ソース」と読みます。

「image source」の省略形です。
imageは「画像」、sourceは「元」
という意味です。

<a href=...>

これは、
ホームページ内に「リンク」を記載するときに
記述するタグです。

「リンク」も多くの
ホームページで使われています。

さて、なんと読むでしょうか?

「エー ハーフ」
「ア ハーフ」
「ア ハレフ」

実はこれ
「アンカー エイチレフ」と読みます。

(実際には、エー エイチレフが多いでしょうか)

aタグのanchorとは「錨」という意味です。

錨というとイメージしにくいですが、
何かをつなぎとめるものという一般的な意味もあり、
aタグはここから来ています。

「href」は「hypertext reference」の略で、
Web上に存在する他のホームページへの参照
という意味です。

IT業界では省略形が多い

今回は、ホームページを制作するには
欠くことのできないHTMLで使われている
間違って読まれることが多い
タグについてお話しをしてきました。

これらのタグに共通することは、

どれも「元の英単語からの省略形」

ということです。

IT業界ではプログラミング言語に限らず、
このような省略形で表記されるものが
非常に多いです。

そこで、この省略のされ方を見ると、
一見やみくもに省略しているかのように
見えますが、

実は、ある程度のルールに従って
省略されています。

次回は、この省略のルールについて
お話をしていきたいと思います。

--------------------------------------------------------------------------------------
PS.選ばれ続けて15年には理由があります。卒業生5,000名以上!
SEを目指すなら、実績豊富なプログラミングスクール
--------------------------------------------------------------------------------------

ソースコードの記号の意味

From:リスキルテクノロジー 高坂一城 新宿本校にて

kohsaka

ソースコードには英単語だけではなく、 様々な「記号」が登場します。 この記号の中には、 普段の生活で使っている記号とは 表現が異なるものがあります。 今回は、そのような間違いやすい記号と その用途についてお話します。

間違いやすい記号

「*」

「アスタリスク」と発音します。 この記号は多くのプログラミング言語で 「乗算(掛け算)」の記号として使用されます。 数学では乗算として 以下のような記号が使用されますが、 5 × 3 プログラミングの世界では、 5 * 3 と表現します。 キーボードで 「×」の記号が入力できないため、 見た目が近い 「*」が使用されてます。

「/」

読み方は 「スラッシュ」 と発音します。 この記号は、 多くのプログラミング言語で 「除算(割り算)」 の記号として使用されます。 数学では除算として 以下のような記号が使用されますが、 5 ÷ 3 プログラミングの世界では、 5 / 3 と表現します。 これも「×」同様、 キーボードで「÷」の記号が 入力できないためです。 三分の一を1/3と 表現することがありますが、 1/3は1 ÷ 3と同じことなので、 「÷」の意味として「/」が使用されます。

「%」

読み方は 「パーセント」 と発音します。 この記号は、 多くのプログラミング言語で 「剰余算(余りを求める)」 の記号として使用されます。 数学では剰余算として 以下のような記号が使用されますが、 5 mod 3 プログラミングの世界では、 3 % 5 と表現します。

記号の用途

今回お話しました 「*」や「/」という記号は、 プログラミングの中で数値の 計算に使用するため、 使用頻度が比較的高い記号です。 しかし、 「%」はどういったときに 使用するのでしょうか。 例えば、 キーボードから入力された数値が 偶数なのか奇数なのかを 判定するには、 どうしたらよいか考えてみましょう。 偶数は2で割り切れる数、 奇数は2で割り切れない数です。 2で割り切れるということは、 2で割った余りが0である、 ということです。 逆に、 2で割り切れないということは、 2で割った余りが0以外である、 ということです。 ここで「%」が登場します。 キーボードから入力された数値 % 2 上記の答えが0なら、 入力された数値は偶数である。 上記の答えが0以外(実際には1)なら、 入力された数値は奇数である。 ということになります。 このように、プログラム中に登場する記号は、 単に数値を計算するだけではなく、 今回のようなアルゴリズムとしても 使用することがあります。 -------------------------------------------------------------------------------------- PS. 業界未経験からIT業界へ就職するには 社会人のための" プログラマースクール"で夢をかなえませんか --------------------------------------------------------------------------------------

ソースコードを”発音”する

From:リスキルテクノロジー 高坂一城 新宿本校にて

kohsaka

前回、ネーミングについてお話しをしたときに、 「プログラミング言語の多くは"英語"  で記述するものがほとんどです」 と書きました。 世界的に見ても日本人は英語が 得意な人種ではありません。 しかし、ソースコードを書くには 英語は避けて通れません。 最初は英語と格闘しながら ソースコードを書くことになるかもしれませんが、 徐々に慣れていきますので安心してください。

ソースコードを"読む"

こうして、ソースコードを書くことに慣れてくると、 次は"読む"ことにも慣れたいものです。 読むと言っても、 目で追いかけて読むのではなく、 声に出して読む(発音する)のです。 ソースコードを"発音"する? どういうことでしょうか。 プログラマ同士で打ち合わせをするときなど ソースコードの一部を発音することが しばしばあります。 そのときに 英語の読み方を間違えて発音してしまう、 あるいは、 読み方が分からなくて言葉に詰まってしまう、 という状況を目にすることがあります。 そこでソースコードによく登場するが、 間違って発音されることが多い英単語を いくつか紹介します。

読み間違えやすい英単語

「height」と「width」

「height」は「高さ」、「width」は「幅」を 表現するときによく用いられる英単語です。 さて、みなさんどう発音しますか? 「height」は 「ヘイト」ではなく「ハイト」と発音します。 また「width」はよく 「ワイズ」とか「ウィドス」と発音されますが、 正しくは「ウィッズ」と発音します。

「allow」と「deny」

これもよく間違って発音される英単語です。 「allow」は「許可」、「deny」は「拒否」 を表現するときに用いられます。 「allow」は「アロウ」ではなく「アラウ」、 「deny」は「デニー」ではなく「ディナイ」と発音します。

プログラマに発音の能力は必要か

ソースコードの「発音」を間違えても プログラムの動作に影響はありません。 しかし、 一つのプログラムを作成するときに、 一人で全て作成することはほとんどありません。 プログラムを作成するには数人から数十人、 場合によっては 数百人というチームで作成することがほとんどです。 つまり、他のプログラマとコミュニケーションを取りながら ソースコードを書くわけです。 その際に 自分の書いたソースコードを読み間違える、 というのは 恥ずかしいこともさることながら、 プログラマとしてのスキルレベルも 疑われる可能性があります。 そのため「たかが読み間違え」と思わずに プログラミングを勉強する際には、 ソースコードの読み方も勉強していきましょう! ---------------------------------------------- PS. ITエンジニアを目指すのは今からでも遅くない!! 社会人のための" IT専門校"で学習を始めませんか? ----------------------------------------------

わかりやすいコードと”ネーミング”

From: リスキルテクノロジー 高坂一城
新宿本校にて
kohsaka

以前「綺麗なコードの書き方」について
お話をしました。

統一感があるソースコードは、
非常に見やすくなります。

さて、綺麗なコードを書けるようになったら、
次のステップとして
「分かりやすい」コードを書くことを
心掛けましょう。

分かりやすいコードとは、
一体どういうものでしょうか。

ネーミング

プログラミングには、

「ネーミング(名前付け)」

と呼ばれるものがあります。

皆さんも、コンピュータ上で
新しいファイルやフォルダを作成するときに、
適切なファイル名やフォルダ名を付けますよね。

これと同じように、
プログラマがソースコードを書く際に、
ソースコード中に自由に名前を付けることができる
場所がたくさんあります。

そういった場所に適切な名前を付けることを
「ネーミング」と言います。

ネーミングの難しさ

プログラミング言語の多くは
「英語」で記述します。

そのため、ネーミングも英語で行います。

例えば、
「日本語で"削除する"という意味のネーミングをしたい」

皆さんなら、どういう英語を使いますか?

プログラミングにおいて、
「削除する」という意味を表す
ネーミングとしてよく使われる英語が

「delete」と「remove」 です。

この違い分かりますか?

・delete
 完全に消し去る

・remove
 取り除く(消し去っていはいない)

という意味の違いがあります。

つまり、
あるものを完全に消し去る場合には「delete 」、

あるものをそこから取り除くだけで、
どこかにまだ存在する場合には「remove」、

というネーミングを使います。

その他にも、
日本語で"見つける"という意味を表す
ネーミングとして、

「find」と「search」という英語があります。

・find
 見つかることが前提

・search
 見つからないかもしれない

という意味の違いがあります。

「ネーミング」の重要性

ネーミングはコメントと同様、
適当に付けてもプログラムの動作には
影響を及ぼしません。

「delete」とすべきところを
「remove」と記述しても
プログラムは動きます。

それでは、
なぜ「ネーミング」が大切なのでしょうか。

それは、コメントと同様にネーミングも、
ソースコードをメンテナンスする人への
大切な情報源だからです。

「プログラミングとは名前を付けること
 そのものである」

という人もいるくらいです。

最初はネーミングを考えながら
プログラミングをすることは
時間が掛かり大変かもしれません。

しかし、ネーミングを考えながら
より多くのコードを書くことで

プログラミングをする時間も徐々に
短くなっていきます。

--------------------------------------------
PS.プログラミングやJavaを身につけたい方へ
これまでに5000名以上の卒業生を輩出の
社会人のためのIT専門校なら" LAプログラミングスクール"
---------------------------------------------

未経験からの育成制度も充実
IT講師に興味はありませんか?

リスキルテクノロジーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する