コーディングとは、開発言語のコードでプログラムを記述することを指します。
以下は、Pythonのコードです。
x = int(input("Please enter an integer: ")) if x < 0: x = 0 print('Negative changed to zero') elif x == 0: print('Zero') elif x == 1: print('Single') else: print('More')
テキストエディタなどを利用してコードの打ち込みを行い、入力時に簡易的なコードチェックをおこなうことで、打ち間違いなどを減らすようにするのが一般的です。
例えば最新のVisual Studio Codeのエディタなどは、次に入力する行を予測してサジェスト表示するなど、打ち込みの手間を削減する仕組みが搭載されています。コーディング省力化のためにもエディタ選びは重要です。
プログラムのビルドやデバッグ機能を備えた、統合開発環境に組み込まれたエディタもあります。ビルドは、コンパイルやリンクをおこない、実行モジュール化するします。デバッグは、想定通りに動かないプログラムをソースコードに対応させてステップバイステップで実行して、誤りの発生している箇所を見つけるためのツールです。
この記事では、現代のプログラム開発に欠かせず、プログラマーの生産性に直結するほど重要なエディタや統合開発環境について紹介します。
- 統合開発環境はコードを編集するエディタ、ビルド・実行(デバッグ)が全部できるツール
- エディタによる作業効率は、エンジニアの生産性に直結する
- コーディング不要の開発ツールもあり、SQLや簡単な処理ならコードを書く必要がない
目次
統合開発環境は、ツール一式が揃っている
コーディングは、打ち込み終わったソースコードをコンパイル、ビルド、デバッグをおこなったあとに修正するなど、コード記述作業以外と手順と連携することが多いです。
そのため、Visual Studio Codeのような統合開発環境(IDE)を使うことで、コーディングの効率を上げることが可能です。
統合開発環境の代表的なものは以下の通りです。
Visual Studio Code – コード エディター | Microsoft Azure
Visual Studio Codeは、Microsoft系の開発言語、Visual BasicやVisual Cなどの.NET系と親和性が高いIDEです。専用の高機能なエディタが容易されています。
Enabling Open Innovation & Collaboration | The Eclipse Foundation
Eclipseは、IBMによって開発されたIDEです。多彩なプラグインが公開されていて拡張性が高く、C++やPHP、Perl、C#、D言語、TeX、Python、Ruby、JavaScript、COBOL、AspectJ、Mathematica など多様な言語に対応することが可能。プラグイン記述はJavaで、開発することが可能。WTPと呼ばれるプラグインにエディタ機能が含まれますが、vimキーバインドやemacsキーバインドなど好みのエディタ風に使うことも可能です。
アップル社のIDEで、macOSでMac用やiPhone用のアプリケーションを開発する際に必要となります。C、C++、Objective C++、Java、AppleScript、Objective-C、Swiftのソースコードをコンパイルできます。専用のエディタが付属しています。
プログラミングとコーディングの違い
プログラミングとは、処理ロジックの設計をしてプログラムコードを記述し、テストをおこなって、想定通りの処理が行われるように設計修正やバグ修正をおこなう手順を指します。
コーディングは、ロジックの設計に従って、プログラムコードを記述すること。
コーディングは、プログラミングの一工程と言えるでしょう。プログラムのコーディングは、プログラマーがおこなう作業のひとつです。
コーディングは、JavaやPHP、Pythonなどの一般的なプログラム言語以外でも使われます。
web製作の現場では、指定の通りのデザイン・レイアウトを実現するためのHTMLやcss(スタイルシート)を作成することをコーディングと呼ぶんですね。HTMLやcssも、指定通りの表示をさせるためのフロントエンド向けプログラミング言語と言えるでしょう。
HTMLやcssのコーディングは、Webデザイナーやマークアップエンジニアがおこないます。
コーディングの基礎は、サンプルコードの実行と修正
コーディングの基礎を学ぶには、実際に動作するサンプルコードを実行したり、一部を変更して動作を確認するのが上達への近道です。
公式サイトのドキュメントページ等から、コピペで使えるコードを実行してみるのが良いでしょう。
また、paizaやTop coderなど、コーディングスキルのレベルをチェックできる学習サイトもあります。
【関連記事】
▶レベルアップを目指せる、コーディングスキルチェックと学習方法
コーディングをある程度学習しても、プログラムをゼロから記述するのは難しいものです。そのため、目的の動作に近い動きをするサンプルコードを入手して、少しづつ修正を加えていく方法がおすすめです。
Githubというサイトには、Java、Javascript、PHP、Python、C言語など多彩なプログラム言語のソースコードが公開されています。
もともとオープンソースのプロジェクトでソースコードを共有管理しながら開発するためのプラットフォームです。
本格的に利用するにはgitという管理用コマンドの使い方を覚える必要がありますが、参考用にソースコードを入手するだけなら、ウェブから簡単に参照が可能です。関連ソースコードをzip形式でダウンロードすることも可能です。
なお、gitを利用する場合は、GitHub Desktopというビジュアル化されたアプリケーションがあるため、初心者にはこちらがおすすめです。
【関連記事】
▶GUIで簡単操作!GitHub Desktopを解説します
コーディングの効率は、エディタによって大きく変わる
コーディングの効率をあげるエディタには、下記のようなメリットがあります。
- 便利な編集機能を備えている
- 対象言語のコードが色分けされる
- 入力中のコードがサジェスト表示されて、入力が省力化できる
- 自動的にコードチェックされ、打ち間違いがすぐにわかる
- メモ帳アプリなどで扱えない、サイズの大きなソースコードを編集可能
Visual Studio Code
Microsoftが提供するエディタ兼統合開発環境。オープンソースで無料で使えます。
エディタのほか、ビルド(コンパイル)やデバッグ環境など開発に必要な機能が揃っています。.Net開発用途には必須と言えるエディタ。最近では、有料版のVisual Studioとの差がなくなりつつあります。
サクラエディタ
国産の日本語インタフェースのテキストエディタ。無料で利用できて、広告や課金の催促もなく使えます。
コーディング用というわけではありませんが、言語ごとの色分け表示やキーボードマクロの登録などが可能です。キーワードの強調表示、アウトライン解析、コードの補完入力のほか、複数エンコードやGrep機能も備えています。
オープンソースではありますが、現在でも一部コードのライセンスが明確になっていないため、企業の開発環境には導入しにくいというデメリットがあります。
Terapad
1999年に開発されたシンプルなテキストエディタ。
最終更新は2012年ながら、いまでも利用されています。基本的な編集機能、行番号表示やコードの色分け機能などを備えていて、動作が軽いのが特徴です。
複雑な設定なしで、INI、Delphi、Visual Basic、HTML、CSS、JavaScript、Perl、PHP、Ruby、C/C++、Java、HSP、BATの構文色分けが可能です。
vi
Linux系では、OSにもともと付属しているテキストエディタ。
日本語入力との相性は良いとは言えませんが、Linux系開発では必須になるエディタです。
最新のlinuxに搭載されているviha,vimやnviなどの上位互換バージョンであることが多いです。完全なテキストベースで動作し、コマンドの実行結果などをエディタ内に簡単に取り込めるなど外部コマンドの連携が享禄なのが特徴。
マウスもカーソルキーも使わないため、熟練すると効率的にコードを打ち込むことが出来ますが、多彩なコマンドを覚える必要があるなど初心者には敷居が高いエディタです。
no coding tools コーディング不要の開発ツールが登場
2018年ごろから、コーディング不要でアプリケーションを開発できるという、no coding toolというカテゴリのソフトウェアが話題になっています。シリコンバレーでは、ノーコード・スタートアップと呼ばれるベンチャー企業が多額の資金を集めているというのです。
現在、もっともコーディングの自動化が成功している言語はSQLです。ビジュアライズされたワークベンチというツールを操作することで、データを操作するSQL言語コードを自動的に出力します。
【関連記事】
▶MySQLの入門には、GUIツールで慣れ、サンプルDBを使った学習が効果的
SQLは、データ操作に特化した言語ですが、徐々に一般的なアプリケーション開発にもコーディングの自動化の動きが出てきています。
【関連記事】
▶進むプログラミングの自動化、将来について考えておくべきこと
ただし、今はどんな分野のアプリでも作れる汎用的なものではなく、特定分野のビジネスロジックを非IT部署の社員がアプリ化できるようにしたものです。
参考)Nintex
コーディング不要ツールのコード出力例
Blocklyは、googleが提供するビジュアルプログラミングツールです。
参考)Blockly | Google Developers
スクラッチに似た操作感でプログラミングが出来ます。スクラッチは、小学生からのプログラミング学習に最適なヴィジュアルプログラミングツールです。
ジグソーパズルのピースに似たブロックを組み立てていくことで、画面右に対応するコードが表示されます。
Hello World!と出力するブロックを組み立て、各言語での出力を見て行きましょう。
JavaScriptのコードを出力した例。Javascriptは、ブラウザ上で実行できるHTMLやCSSと親和性の高いスクリプト言語です。入力フォームのバリデーションチェックやエラー表示のほか、バックグラウンドでサーバサイドプログラムと連携させるために使われます。
var Count; Count = 1; while (Count <= 3) { window.alert('Hello World!'); Count = Count + 1; }
Pythonのコードを出力した例。Pythonは、記述ルールに独特の制限があり、自然に見やすいコードが書けるスクリプト言語。科学分野や深層学習(Deep learning)や実行知能(AI)分野などに多彩なライブラリがあって、少量のコードで目的の動作を実現できるのが特徴。
Count = None Count = 1 while Count <= 3: print('Hello World!') Count = Count + 1
PHPのコードを出力した例。PHPは、動的にウェブページを生成することができるサーバサイドのスクリプト言語。MySQLなどのデータベースとの連携も容易で、比較的文法が理解しやすいため、初心者にも習得しやすい言語と言われています。
$Count; $Count = 1; while ($Count <= 3) { print('Hello World!'); $Count = $Count + 1; }
Luaのコードを出力した例。Luaは仮想マシンで動作する汎用性の高い言語。Perl、Python、Rubyと比較しても高速に動作すると言われています。Unityをはじめ、cocos2dやNScripterなどゲーム開発環境でのイベント記述言語として良く使われています。
Count = 1 while Count <= 3 do print('Hello World!') Count = Count + 1 end
Dartのコードを出力した例。Dartは、Googleにて開発されたウェブ向けのプログラミング言語で、Javascriptの代替となる目的で作られましたが、普及が進まず、今ではあまり使われていません。FlutterというAndroid向けアプリのフレームワークで使われています。
var Count; main() { Count = 1; while (Count <= 3) { print('Hello World!'); Count = Count + 1; } }
未経験でエンジニアを目指すなら「ポテパンキャンプ」がおすすめです。最短5か月でエンジニアになれるプログラミングスクールです。もちらん、プログラミング以外にも、使いやすいエディタや統合開発環境についても、どんどん質問を投げることができます。
まとめ
エンジニアの仕事ではエディタを頻繁に使用します。また、エディタ次第で生産性も大きく変わってくるのがエンジニアの仕事です。色々ためして共に作業するエディタを探してみましょう。
この記事のまとめです。
- コーディングはプログラム言語で処理を記述することで、プログラミングの一工程。
- 使用するエディタで、コーディングの効率が変わってくる
- コーディング不要なツールも出てきている