カテゴリー
エンジニア全般 プログラム

初心者がプログラミングを出来るようにするために何をすれば良いのか?

プログラムを書いてみたい!という方は多いと思います。
そしてそのために何をすれば良いのか知りたい方も多いと思います。

そのためにするべき事は

作りたいシステムを決める

です。

まず自分がプログラムで何を作りたいのか探す事が重要です。
何故ならやる気がプログラミングを行う上で一番重要だからです。

作りたいものを作る時が一番やる気が出るのでその状態を目指しましょう。

次にやる事はプログラム言語が動作する環境を作ります。
これはインターネットでやり方を調べて下さい。
JavaScriptはブラウザでも動作するので比較的環境構築は楽かもしれません。

次によく言われる事ですがそのプログラム言語でHello World!を出力して下さい。
これが正常に動作すればプログラミングを行う環境は整っています。

プログラムを何に書くかですが、最初はテキストエディタでも何でもかまいません。

ここから何をすべきかわからなくなる方も多いかもしれません。
希望の動作をさせるためにどんな命令を書けば良いのか思いつかないという状態かもしれません。

いきなり最初からコードを思いつくという方は少ないのであきらめるのはまだ早いです。

プログラム言語というのは基本的に

・関数
・条件分岐(if等)
・ループ、反復処理(for等)

で構成されます。

この3のうちどれかをコードに書いていけばほとんどの動作を実現させる事が可能です。

ここからが重要なのですが、コードを書く前に

コンピュータにさせる動作を細かい単位で書き出す

ことが重要です。

例えば料理で野菜を切る時にはまず手を石鹸で洗うところから始めると思いますが、
手を洗う時も
→蛇口をひねる
→水が出ているか確認する→出ている→手を濡らす
→水が出ていない→もっと蛇口をひねる→水が出ているか確認する
といった動作を行うと思います。

このようにコンピュータにさせる命令を細かく書き出していく作業を行う事が重要です。

これはただ紙にずらずらと書いても良いのですが、プログラミングを行う時はフローチャートという形式で書く事が多いです。

このフローチャートを完成させる事がプログラムを正しく動作させるために必要な第一歩です。

フローチャートを何に書くかですが紙でも良いですしエクセルでも良いですし専用のツールでもかまいません。

カテゴリー
JavaScript プログラム

JavaScriptで半角英数字以外の文字を削除するコード

JavaScriptで半角英数字以外の文字が入力された時に削除するコードの一例を書いてみます

checkStr(str) {
  return str.replace(/[^A-Z^a-z^0-9]/g,"");
}

解説

今回はreplaceメソッドを使いました。

replaceメソッドは第一引数に正規表現を入れるとそれに当てはまるものを第二引数に入れた文字に置換します。

上記メソッドの正規表現は半角大文字の英字、半角小文字の英字、数字を意味します。

最後のgはオプションです。

gオプションを付けると正規表現に一致した文字列が複数ある時にその全てを置換するオプションです。

このオプションを付ける事によりstrに半角英数字以外の文字が含まれていた時全て置換する事が可能です。

第二引数に””を指定していますが、これは一致する文字列を削除するという指定の仕方になります。
“”に置換するという意味合いです。

このコードは正規表現の部分を変更する事により他の様々なパターンにも流用が可能です。

カテゴリー
エンジニア全般 プログラム

フリーランス、プロを目指すために初心者が学ぶプログラム言語は何が良いのか?

プログラミングを学ぼうという方が最初に疑問に思う事はどの言語を学べば良いのか?
という事だと思います

最終的にフリーランス、プロを目指したいという人はどの言語を学べば良いのか

ゼットは3つの観点から選ぶ事をお勧めします

1、作りたいシステムでよく利用される言語

2、稼げる言語

3、難易度

です
順を追って説明します

1、作りたいシステムでよく利用される言語

これは自分が作りたいと思っているシステムでよく使われるプログラム言語を学んだ方が良いという事です。

やる気というのはプログラムを学ぶ上でも仕事をする上でも非常に重要です。

自分が一番作りたいと思うシステムで使われる言語を学ぶのがやる気を出すためには効果的です。

システム別に使われる言語の例は
・Androidアプリ→Kotlin(コトリン)
・iOSアプリ→Swift
・Webアプリケーション→Python、PHP
・WebアプリケーションUI→JavaScript
・業務アプリケーション→Java、C++
・ロボット→C++
・人工知能(AI)→Python
という感じです

上記に上げたものは一例であり他の言語が使われる事もあります。
また、時代が変わると他の言語で書かれるようになる事もよくあります。

2、稼げる言語

フリーランスを目指したり、高収入を目指したい方は報酬が高いという観点から言語を選びたいという方もいるでしょう。

稼げる言語とは需要が多く供給が少ない言語です。

注意しないといけないのは需給というのは常に変化するため稼げる言語も日々変わっていくという事です。
ニッチな言語は稼げる事も多いですが、その言語が使われなくなると仕事も少なくなるというリスクも内包しています。

最近だとAI開発が盛んですが開発者はそこまで多くないので報酬が高めになっています。
AI開発にはPythonがよく使われます。

また、スマホアプリ開発者も需給が逼迫していて報酬が高めです。
・Androidアプリ→Kotlin(コトリン)
・iOSアプリ→Swift
がよく使用されています。

その他にも報酬が高めの言語は存在しています。
どの言語が報酬が高いのか知るためには随時インターネットで検索して調べたり、エンジニアの就職、転職を支援するエージェントに聞いてみると良いと思います。

3、難易度

プログラム言語には習得するための難易度が存在します。

一般的にはスクリプト言語、インタプリタ言語の方が習得が容易でコンパイラ言語の方が難しいと言われています。

スクリプト言語、インタプリタ言語の代表的なものはJavaScript、Python、PHP、Ruby等です。

コンパイラ言語の代表的なものはJava、C、Go等です。

個人的には難易度という観点ならばPythonやPHPを学ぶのが良いと思います。

プログラミングは一般的に1つの言語をある程度深く習得すると他の言語も早く習得する事が出来ます。
ですので学びやすい言語をある程度自在に書けるようにしておくのが上達のポイントですし早く稼げるようになる近道になると思います。

最終的にどれを選べば良い?

上記3つの観点を見てもどれを学べば良いのかわからない!
決められない!
という方にゼットが個人的にお勧めするのはずばり

PHP

です。

PHPは非常に書きやすい言語であり習得難易度もそこまで高くありません。
おそらく他の言語と比べても生産性が非常に高い言語であると思います。

生産性が高いというのは同じ動作をさせるために書くコードの量が少なくて済むという事です。

PHPは習得難易度は低いですが深く学ぶとクラスや型、関数等といった他の言語と共通する概念が理解出来るので最初に選ぶ言語としては向いていると個人的には感じています。

習得しやすいという事はフリーランス、プロに早く近づける言語と言って良いのではないかと思います。