はい、colorful beansです。
自己紹介にも書いたとは思いうが、コロナにはいり、会社の仕事量が激減、いつ倒産してもおかしくないような急激な変化に見舞われました。
そこで、いつ倒産して無職になるかわからない状況を感じて、値上がりを続けていたタバコをやめ、高卒で大したスキルも資格もない自分のスキル向上を目指す目的と、たまたまでもうまく言って少しでも収入が得られるならと、動画編集を学ぼうとして、You Tubeのチャンネルを作り、コーヒー好きということと、猫ちゃんとの生活で動画撮影、編集をしてきてますが、そう簡単なものではなかった(当然ですが)、そこでブログやアフィリエイトの興味もでてきたので、Abemaブログから初めてみて、という流れでしたね。
そして、今現在で言えばプログラミングにも興味を持ち始めています。というのも娘がJava言語を学び、アプリ開発系の企業へ就職して、バリバリ働いている、在宅でもそれほど問題なく仕事を遂行できるという環境だったのです。
ということで、今回はどのように学んでいこうかなと悩んでいる人の為に書いたブログではありません。ど素人なんでプログラミング!
誰かの役に立つ、参考になる、このブログを見れば1日でプログラミングの基礎がわかるなんてことは、絶対にありませんので、ご注意くださいw ある意味私の日記的な位置づけで・・・おねがいします。
プログラミングを学んでスキルUPしたい
プログラミング言語の基礎を学ぶ
最初に、プログラミング言語の基礎を学ぶ必要があります。これには、データ型、制御構造、関数、オブジェクト指向プログラミングなどが含まれます。
プログラミング言語を実際に使ってみる
学んだ知識を実践するために、簡単なプログラムを作成してみましょう。例えば、簡単な計算機やテキストエディタなどのプログラムを作成することができます。
オンラインの教材を利用する
オンラインには多くの無料のプログラミング教材があります。これらの教材を利用して、自分のペースで学習することができます。UdemyやCourseraなどの有料のオンラインコースもあります。
オープンソースプロジェクトに参加する
オープンソースプロジェクトに参加することで、実際のプロジェクトに関わりながらプログラミングスキルを向上させることができます。GitHubなどのサイトで、自分が興味を持つプロジェクトを探してみましょう。
プログラミングコミュニティに参加する
プログラミングのコミュニティに参加することで、他のプログラマーからアドバイスを受けたり、知識を共有したりすることができます。例えば、Stack Overflowなどのサイトがあります。
以上の手順に従って、プログラミングスキルを向上させることができます。ただし、プログラミングには多くの時間と努力が必要です。継続的に学習し、練習することが大切です。
プログラミング言語とは?
プログラミング言語とは、人間がコンピュータに指示を出すためのコミュニケーションツールです。プログラミング言語を使用することにより、人間はコンピュータに対して、どのような動作を実行させるかを指示することができます。
プログラミング言語は、コンピュータが理解できるように構文と呼ばれる特定の形式で書かれています。プログラミング言語には、高水準言語、低水準言語、スクリプト言語、オブジェクト指向言語などの種類があります。主なプログラミング言語には、C、Java、Python、JavaScript、Ruby、PHP、Swift、Objective-C、C#などがあります。
プログラミング言語は、アルゴリズムの開発、データ処理、Web開発、ゲーム開発、モバイルアプリ開発など、様々な目的に使用されます。プログラマーは、適切なプログラミング言語を選択し、コンピュータが必要な動作を正確かつ効率的に実行できるように、コードを書きます。
プログラミングの難易度と特徴
プログラミング言語の難易度には個人差があり、また、どの言語が難しいかは使用する目的によっても異なります。しかし、一般的には以下のように低い順に並べられます。
- Python:Pythonはシンプルで読みやすい構文を持ち、初心者にも扱いやすい言語とされています。
- Ruby:RubyもPythonと同じようにシンプルな構文を持っており、初心者に向けた丁寧なドキュメントや豊富なライブラリがあります。
- JavaScript:JavaScriptはWeb開発で最も広く使用される言語で、初心者向けのチュートリアルやツールが多く存在します。
- Java:JavaはC++から派生した言語で、初心者にとっては一定の難易度があるかもしれませんが、オブジェクト指向プログラミングを学ぶためにはよい選択肢の一つです。
- C#:C#はJavaに似た言語で、Windowsアプリケーションやゲーム開発などに使用されます。初心者には少し難しいかもしれませんが、豊富なドキュメントやコミュニティがあります。
- C++:C++は非常に高度な言語で、初心者には難しいとされています。ただし、パフォーマンスを最適化する必要がある場合や、組み込みシステムやゲームなどの開発には適しています。
上記はあくまでも一般的な評価ですので、個人的な好みや経験によって難易度が変わる場合があります。
ここでひとつの疑問を持ちました。ブログを書いていると良く目にしたりするHTMLって? プログラミング言語ではない?
HTML や CSSってなんだろう?
HTML(HyperText Markup Language)とCSS(Cascading Style Sheets)は、マークアップ言語(HTML)とスタイルシート言語(CSS)と呼ばれる、プログラミング言語とは異なる種類の言語です。
マークアップ言語は、Webページなどのドキュメントの構造や内容を定義するために使用されます。HTMLは、Webページの構造を定義するためのマークアップ言語です。
スタイルシート言語は、Webページやドキュメントの見た目やスタイルを定義するために使用されます。CSSは、Webページのスタイルを定義するためのスタイルシート言語です。
HTMLとCSSは、Web開発において非常に重要な役割を果たしています。Webページの構造とスタイルを定義することで、ユーザーが直感的に情報を理解し、より快適なWeb閲覧体験を提供することができます。
HTMLやCSSのようなマークアップ言語やスタイルシート言語は、他にもいくつか存在します。
XML(eXtensible Markup Language):HTMLのようなマークアップ言語であり、文書やデータの構造を記述するために使用されます。HTMLとは異なり、XMLは汎用的なマークアップ言語で、Web以外の分野でも使用されます。
Markdown:Markdownは、Webページや文書を簡単かつ読みやすい形式で書くための軽量マークアップ言語です。HTMLとは異なり、簡単な記法で書けるため、Web上での投稿やドキュメント作成に広く使用されています。
Sass(Syntactically Awesome Style Sheets):Sassは、CSSの拡張言語で、スタイルシートの記述を簡単にし、保守性を高めるための機能を提供します。
Less:Lessは、Sassと同様にCSSの拡張言語で、変数やミックスイン、関数などの機能を提供します。Sassと比較すると、学習コストが低く、簡単に導入することができます。
これらの言語は、Web開発においてよく使用されます。それぞれの言語には、独自の特徴や用途がありますので、目的に応じて選択することが重要です。
言語の組み合わせと相性を学ぶ
HTMLとCSSは一緒に使うことが多く、Webページのデザインやスタイルを定義するために、一般的に組み合わせて使用されます。また、JavaScriptとも一緒に使用されることが多いです。
また、HTMLとCSSの組み合わせには、いくつかのフレームワークやライブラリが存在します。代表的なものには、以下のようなものがあります。
Bootstrap:Twitterが開発した、Webページのレスポンシブデザインを簡単に実現するフレームワーク。CSSとJavaScriptで構成されており、WebページのレイアウトやUIコンポーネントなどを提供します。
Foundation:ZURBが開発した、Webページのレスポンシブデザインを実現するフレームワーク。Bootstrapと同様に、CSSとJavaScriptで構成されており、WebページのレイアウトやUIコンポーネントなどを提供します。
Materialize:Googleが開発した、マテリアルデザインを採用したWebページを作成するためのフレームワーク。CSSとJavaScriptで構成されており、UIコンポーネントやアニメーションなどを提供します。
これらのフレームワークは、HTMLとCSSの組み合わせをより簡単に使いこなせるように設計されており、Web開発者にとって大変便利なツールとなっています。
マークアップ言語やスタイルシート言語の難易度と特徴
マークアップ言語やスタイルシート言語の難易度は、個人によって異なるため、明確な順位付けは難しいです。ただし、一般的には次のように低い順に並べられます。
Markdown:Markdownは簡潔な構文で文書を書くことができ、学習コストが低く、初心者でも簡単に使い始めることができます。
HTML:HTMLはWebページの構造を定義するための言語であり、基本的なタグと構文を覚えれば、簡単に使用することができます。
CSS:CSSはWebページのスタイルやレイアウトを定義するための言語であり、基本的なプロパティとセレクタを覚えることができれば、初心者でも比較的簡単に使い始めることができます。
XML:XMLは文書やデータの構造を定義するための言語であり、学習コストはHTMLやCSSよりも高いとされています。
SassやLess:これらの言語は、CSSの機能を拡張するための言語であり、学習コストは比較的高くなります。
ただし、言語の難易度は主観的であり、学習する際には、自分に合ったアプローチを取ることが重要です。
コードを書くには何が必要?
自分が知っている単語、HTMLやPythonなどをググってググって調べて、言語についてはどんなもがあるか、どんな内容か、どんな特徴を持っているのかが分かってきた。
様々あって既に頭痛が・・・www
ではこれらの言語はどうしたら使えるのって調べると、VS Code ってのがよくヒットします。
コードを書いて、それを実行して実現化するもの、コードエディターっていうのが必要になります。
オープンソースのコードエディター
- Atom:GitHubが開発したオープンソースのコードエディター。拡張性に優れており、多数のプラグインが利用可能。
- Sublime Text:軽量で高速なエディターで、多数のプラグインが利用可能。
- Notepad++:Windows用の無料エディターで、多数の言語に対応し、様々な機能が利用可能。
- Visual Studio Codeの前身であるVisual Studio Community:Microsoftが提供するオープンソースのコードエディターで、Windows、Linux、macOSに対応しています。
- VS Codeは、Microsoftが開発したオープンソースのコードエディターです。
これらのエディターは、それぞれの特徴や利用目的に応じて選択することができます。
ということは、クローズのコードエディタもあるってこと?
クローズドソースのコードエディターもいくつかあります。以下にいくつか例を挙げてみます。
- Microsoft Visual Studio:Microsoftが開発した、Windows用の統合開発環境。様々な言語やフレームワークに対応しています。
- Adobe Dreamweaver:Webデザインや開発に特化したクローズドソースのエディターで、HTML、CSS、JavaScriptなどに対応しています。
- IntelliJ IDEA:Javaプログラミングに特化したクローズドソースのエディターで、Androidアプリ開発にも利用されます。
これらのエディターは、それぞれの特徴や利用目的に応じて選択することができます。ただし、クローズドソースのエディターはオープンソースのエディターに比べて、カスタマイズ性や拡張性が制限される場合があることに注意が必要です。
クローズドソースのコードエディタって?
一般的に、クローズドソースのコードエディターは商用製品であり、有料で提供される場合が多いです。ただし、中には無償で提供されているものもあります。
例えば、Microsoft Visual StudioにはCommunity版という無償のエディションがあります。また、Adobe Dreamweaverにも7日間の無償体験版が提供されています。ただし、これらの無償版には一部機能が制限されたり、ライセンスの制限がある場合があるため、利用前に詳細を確認する必要があります。
「クローズドソース」とは、「ソースコードが公開されていない」という意味で、一般的には商用ソフトウェアやプロプライエタリソフトウェアで使われる表現です。つまり、ソースコードが非公開であるため、ユーザーが自由に改変したり、カスタマイズしたりすることができず、制限されることになります。
「オープンソース」は、その逆で、ソースコードが公開され、誰でも自由に改変やカスタマイズができるソフトウェアを指します。
クローズドソースのコードエディターが有料であるのは、その開発コストを回収するためのビジネスモデルが一般的であるためです。クローズドソースのエディターでも無料で提供されるものがある一方、広く知られていないという意味合いが強いわけではありません。ただ、オープンソースのコードエディターに比べて、クローズドソースのエディターは利用者に対してライセンス制限があり、その制限内容によっては、広く普及しているわけではない場合もあります。
ここまで、いろいろ調べてきた結果、聞き慣れたHTMLをまず学ぼうと決めました。エディタはVS Codeにします。やはり初めは無料から初めたいw
VS Codeとは?
VS Codeは、Microsoftが開発したオープンソースのコードエディターです。Windows、macOS、Linuxなどの主要なオペレーティングシステムに対応しており、多数のプログラミング言語に対応しています。
VS Codeは、軽量かつ高速であり、豊富な機能を備えています。開発者は、VS Codeを使用して、コードの記述、デバッグ、ビルド、テストなどを行うことができます。また、VS Codeは、多数の拡張機能を提供しており、ユーザーは自分のニーズに合わせて機能を拡張することができます。
VS Codeの主な機能には、以下のようなものがあります。
- シンタックスハイライトや自動補完などのコードエディタ機能
- GitやSVNなどのバージョン管理システムの統合
- デバッグ機能
- タスクランナーの統合
- リファクタリングツール
- ライブコーディング機能
- 拡張機能のインストールと管理
VS Codeは、多数のプログラマーや開発者に利用されており、特にフロントエンド開発者に人気があります。
後書き
概要だけでかなりパンパンになりました(汗)
皆さんは如何でしたか?
こういう感じでプログラミングの入り口に立った生まれたてのプログラマーがどこまで進めるか記述できたらと思います。
各種ダウンロードがどうとか、インストールして、設定して、何して、こうしてみたいなことは現段階ではできない(キャパ不足)ので、以下をご紹介しておきます!
今回はここまで、また次回の記事で会いましょう。
では。
コメント