basics computer programming
この記事では、プログラミングの概念、プログラミング言語、プログラミングの学習方法、必要なスキルなど、コンピュータープログラミングの基本について説明します。
Javaインタビューコードの質問と回答
また、コンピューターがどのように機能するか、プログラマーにこれらのプログラミングスキルとキャリアオプションをどこに適用できるかについても説明します。
学習内容:
コンピュータプログラミング–完全なチュートリアル
コンピュータプログラミングの世界を深く掘り下げて、プログラミングの基本について詳しく知る準備をしてください。
はじめましょう!!
コンピュータプログラミングとは何ですか?
コンピュータプログラミングは、開発者が有効な入力に対して目的の出力を返す特定のタスクを実行するのに役立つ一連の命令です。
以下に数式を示します。
Z = X + Y、ここでX、Y、およびZはプログラミング言語の変数です。
X = 550およびY = 450の場合、XおよびYの値は、リテラルと呼ばれる入力値です。
コンピューターにX + Yの値を計算するように依頼します。これにより、Z、つまり期待される出力が得られます。
コンピュータはどのように機能しますか?
コンピューターは情報を処理するマシンであり、この情報は、キーボード、マウス、スキャナー、デジタルカメラ、ジョイスティック、マイクなどのデバイスを介してユーザーが提供する任意のデータです。これらのデバイスは 入力デバイス 提供される情報は入力と呼ばれます。
コンピュータはこの情報を保存するためにストレージを必要とし、そのストレージはメモリと呼ばれます。
コンピュータのストレージまたはメモリには2つのタイプがあります。
- プライマリメモリまたはRAM (ランダム・アクセス・メモリ) :これは、コンピューターで使用され、マザーボード上にある内部ストレージです。 RAMは、任意の順序で、またはランダムにすばやくアクセスまたは変更できます。コンピュータの電源を切ると、RAMに保存されている情報は失われます。
- 二次メモリまたはROM (読み取り専用メモリ) :ROMに保存されている情報(データ)は読み取り専用で、永続的に保存されます。コンピュータを起動するには、ROMに格納された命令が必要です。
処理 :この情報(入力データ)に対して行われる操作を処理と呼びます。入力の処理は、一般に次のように知られている中央処理装置で行われます。 CPU 。
出力デバイス: これらは、情報を人間が読める形式に変換するのに役立つコンピューターハードウェアデバイスです。一部の出力デバイスには、モニター、プリンター、グラフィックス出力デバイス、プロッター、スピーカーなどのビジュアルディスプレイユニット(VDU)が含まれます。
開発者は問題を分析し、この問題の解決策を達成するための簡単な手順を考え出すことができます。そのために、開発者はプログラミングアルゴリズムを使用します。これは、食材がインプットであり、完成した繊細さがクライアントが必要とするアウトプットである食品のレシピと比較することができます。

(画像 ソース )
開発環境では、製品、ソフトウェア、およびソリューションをシナリオ、ユースケース、およびデータフロー図として設計できます。

(画像 ソース )
クライアントの要件に基づいて、必要なソリューションはデスクトップ、Web、またはモバイルベースである可能性があります。
基本的なプログラミングの概念
開発者は、コンピュータプログラミングのスキルを身に付けるために、次の概念に関する基本的な知識を持っている必要があります。
#1)アルゴリズム :特定のタスクを実行するために従う必要のある一連の手順または指示ステートメントです。開発者は、目的の出力を実現するようにアルゴリズムを設計できます。 例えば、 デザートを作るレシピ。アルゴリズムは、特定のタスクを完了するために従うべきステップを記述しますが、どのステップを達成するかについては述べていません。
#2)ソースコード :ソースコードは、選択した言語を使用してプログラムを構築するために使用される実際のテキストです。
例えば、 Javaでmainメソッドを使用する必要があり、使用されるテキストは次のとおりです。
public static void main(String arg()) { //Steps to be performed }
#3)コンパイラ :コンパイラは、ソースコードを機械語とも呼ばれるバイナリコードまたはバイトコードに変換するのに役立つソフトウェアプログラムであり、コンピュータが理解しやすく、インタプリタを使用してプログラムを実行することでさらに実行できます。
#4)データ型 :アプリケーションで使用されるデータは、異なるタイプである可能性があり、整数(整数)、浮動小数点(小数点)、文字、またはオブジェクトである可能性があります。 例えば、 doublecurrency = 45.86、ここでdoubleは、小数点付きの数値を格納するために使用されるデータ型です。
#5)変数 :変数は、メモリに格納されている値のスペースホルダーであり、この値はアプリケーションで使用できます。 例えば、 int age = 25、ここでageは変数です。
#6)条件付き :特定の条件が真である場合にのみコードのセットが実行されるように、特定の条件を使用する方法に関する知識。誤った条件の場合、プログラムは終了し、コードをそれ以上続行しないでください。
#7)アレイ :配列は、同様のデータ型の要素を格納する変数です。コーディング/プログラミングで配列を使用する知識は大きなメリットになります。
#8)ループ :ループは、条件が真になるまで一連のコードを実行するために使用されます。 例えば、 Javaでは、ループはforループ、do-while、whileループ、または拡張forループとして使用できます。
forループのコードは次のとおりです。
for (int I =0; i<10; i++) {System.out.println(i); }
#9)機能 :関数またはメソッドは、プログラミングのタスクを実行するために使用されます。関数は、パラメーターを受け取り、それらを処理して、目的の出力を取得できます。関数は、必要なときにいつでもどこでも繰り返し再利用するために使用されます。
#10)クラス :クラスは、状態と動作を含むテンプレートのようなもので、プログラミングに対応するのはフィールドとメソッドです。 Javaのようなオブジェクト指向言語では、すべてがクラスとオブジェクトを中心に展開します。
プログラミング言語の要点
私たちが他の人と通信するために使用する他の言語と同じように、プログラミング言語は、コンピューターと通信するための特別な言語または一連の命令です。各プログラミング言語には、従うべき一連のルール(英語には文法があるなど)があり、アルゴリズムを実装して目的の出力を生成するために使用されます。
トップコンピュータプログラミング言語
グーグルクロームのための無料のポップアップブロッカー
以下の表は、実際の生活における上位のコンピュータープログラミング言語とそのアプリケーションを示しています。
プログラミング言語 | 人気 | 言語の実用化 |
---|---|---|
JavaScript | 7 | クライアント側とサーバー側の検証、DOM処理、jQuery(JSライブラリ)を使用したWeb要素の開発。 |
Java | 1 | デスクトップGUIアプリケーション(AWTまたはSwing api)、アプレット、オンラインショッピングサイト、インターネットバンキング、セキュリティで保護されたファイル処理用のjarファイル、エンタープライズアプリケーション、モバイルアプリケーション、ゲームソフトウェア。 |
C | 二 | オペレーティングシステム、組み込みシステム、データベース管理システム、コンパイラ、ゲーム、アニメーション。 |
Python | 3 | 機械学習、人工知能、データ分析、顔検出、画像認識ソフトウェア。 |
C ++ | 4 | 銀行および取引のエンタープライズソフトウェア、仮想マシン、およびコンパイラ。 |
Visual Basic .NET | 5 | Windowsサービス、コントロール、コントロールライブラリ、Webアプリケーション、Webサービス。 |
C# | 6 | ファイルエクスプローラーなどのデスクトップアプリケーション、Word、Excel、Webブラウザー、AdobePhotoshopなどのMicrosoftOfficeアプリケーション。 |
PHP | 8 | 静的および動的なWebサイトとアプリケーション、サーバー側スクリプト。 |
SQL | 9 | データベースのクエリ、データベースプログラミングでのCRUD操作、ストアドプロシージャの作成、トリガー、データベース管理。 |
目的– C | 10 | AppleのOSX、iOSオペレーティングシステムとAPI、CocoaとCocoaTouch。 |

プログラミング言語を選択する方法を見てみましょう。
特定のプログラミング言語の選択は、次のような多くの要因に依存します。
- 対象となるプラットフォームおよびプロジェクト/ソリューションの要件: ソフトウェアソリューションプロバイダーが要件に遭遇したときはいつでも、適切なプログラミング言語を選択するための多くのオプションがあります。 例えば、 ユーザーがソリューションをモバイルで使用したい場合は、JavaをAndroidの推奨プログラミング言語にする必要があります。
- 組織との技術パートナーの影響: オラクルが同社の技術パートナーである場合、開発されたすべてのプロジェクトおよび製品のソリューションに、オラクルが販売するソフトウェアを実装することに同意します。 Microsoftが同社の技術パートナーである場合、ASPはWebページを構築するための開発フレームワークとして使用できます。
- 利用可能なリソースと学習曲線の能力: 開発者(リソース)は、プロジェクトで生産性を発揮できるように、選択したプログラミング言語をすばやく学習できる能力と能力を備えている必要があります。
- パフォーマンス: 選択する言語は、スケーラブルで、堅牢で、プラットフォームに依存せず、安全であり、許容可能な制限時間内に結果を表示するのに効率的である必要があります。
- コミュニティからのサポート: オープンソースプログラミング言語の場合、その言語の受け入れと人気、および成長するサポートグループからのオンラインサポートが利用可能である必要があります。
コンピュータプログラミング言語の種類
コンピュータプログラミング言語は、低水準言語と高水準言語の2つのタイプに分けることができます。
#1)低水準言語
- ハードウェアに依存
- 理解しにくいです
低水準言語はさらに2つのカテゴリーに分けることができます。
- 機械語: 機械に依存し、変更やプログラミングが難しい、 例えば、 すべてのCPUには機械語があります。機械語で書かれたコードは、プロセッサが使用する命令です。
- アセンブリ言語: 算術、論理、および制御アクティビティを担当する各コンピュータのマイクロプロセッサには、そのようなタスクを実行するための命令が必要であり、これらの命令はアセンブリ言語で書かれています。アセンブリ言語の使用は、デバイスドライバー、低レベルの組み込みシステム、およびリアルタイムシステムで行われます。
#2)高級言語
- ハードウェアに依存しない
- それらのコードは非常に単純であり、開発者は英語のようなステートメントに似ているため、読み取り、書き込み、およびデバッグを行うことができます。
高水準言語はさらに3つのカテゴリーに分類できます。
- 手続き型言語: 手続き型言語のコードは、何をすべきか、どのように行うかなどの情報を提供する、段階的な手順です。 Fortran、Cobol、Basic、C、Pascalなどの言語は、手続き型言語のいくつかの例です。
- 非手続き型言語: 非手続き型言語のコードは、何をするかを指定しますが、どのように行うかは指定しません。 SQL、Prolog、LISPは、非手続き型言語のいくつかの例です。
- オブジェクト指向言語: コードを使用してデータを操作するプログラミング言語でのオブジェクトの使用。 C ++、Java、Ruby、およびPythonは、オブジェクト指向言語のいくつかの例です。
プログラミング環境の基本操作
プログラミングの5つの基本的な要素または操作を以下に示します。
- 入力: データは、キーボード、タッチスクリーン、テキストエディタなどを使用して入力できます。 例えば、 フライトを予約するには、ユーザーはログイン資格情報を入力してから、デスクトップ、ラップトップ、またはモバイルデバイスから、出発日と帰国日、座席数、出発地と目的地、航空会社の名前などを選択できます。
- 出力: 認証されると、必須の入力でチケットを予約するリクエストを受信すると、選択した日付と目的地の予約の確認が画面に表示され、チケットと請求書情報のコピーがユーザーの登録済み電子メールに送信されますIDと携帯電話番号。
- 算術: フライト予約の場合、予約された座席数とそれらの座席の更新には、数学的な計算が必要です。さらに乗客の名前はありません。予約した座席数、旅行日、旅行開始日、出発地、目的地などを航空会社のサーバーデータベースシステムに入力する必要があります。
- 条件付き: 条件が満たされているかどうかをテストする必要があります。条件に基づいて、プログラムはパラメータを使用して関数を実行する場合があります。そうでない場合、実行されません。
- ループ: 条件が成立するまで、タスクを繰り返す/実行する必要があります。 ループのタイプには、Whileループ、Do-whileループ、Forループがあります。
例えば、
for (int i = 0; i <10; i++) { System.out.println(i); }
プログラミングに必要な前提条件/スキル
#1)自立: コーディングを成功させるには、自分自身に自信を持ち、焦りや欲求不満を抑え、技術的な問題の解決を支援するために他の誰かに依存することを控え、自立して自分の能力を信頼し続ける必要があります。あなたの努力を監視し、学習において楽観的で忍耐強くあり続けます。
#2)言語: どのプログラミング言語を学ぶべきかを決めるのは個人の選択です。プログラミング言語は、ソフトウェア業界のさまざまな分野で受け入れられていることに基づいて選択する必要があります。無料でオープンソースのPythonやJavaなどのオブジェクト指向言語は、Google、Yahoo、NASAで広く受け入れられ、使用されています。
Javaスクリプトは別のスクリプト言語であるクライアント側のスクリプト言語ですが、Javascriptを知っていると、Webベースのアプリケーション開発者に大きなメリットがあります。 SQLのような非手続き型言語は、すべてのバックエンドデータベースで受け入れられるため、必須です。こちらをクリック リンク SQLのオンライン演習を学ぶため。
#3)ロジック: 開発者またはテスターとして、プログラミング言語で優れているためには、常に条件付きで論理的な思考が必要です。筋肉を改善することで改善することができます。論理的思考を準備および改善し、プログラミング言語を準備できるサイトがいくつかあります。
#4)細部への注意: 詳細に目を向ける良心的で警戒心の強い人は、自分の作業の詳細をチェックします。これにより、構文エラーを防ぎ、単体テストやAPI /クラスの組み込みなどの手順で、関連するjarファイルやクラスファイルを見逃していないかどうかを確認します。瞑想は集中力と集中力を向上させるのに役立つ人もいれば、散歩したりマインドゲームをしたりする人にとっては役立つかもしれません。あなたはあなたのために働くものを見つける必要があります。
トレントファイルをどのように開きますか
#5)抽象的な思考: アジャイル環境でのスプリントミーティング中に、箱から出して考えたり、さまざまな角度や視点から物事を見たりする機能は、要件と設計上の考慮事項のシナリオを明らかにするのに役立ちます。これは、他の人と話し合うことで改善できます。
#6)忍耐: 時々、あなたが自信を持ってコードを書き、それをいくつかのタイプで検証し、それがあなたのマシンで機能するときに起こりますが、統合後、コードスニペットは機能せず、障害を特定するためのすべての努力が行われます無駄に、あなたはストレスを感じ、欲求不満を感じ、何の役にも立たないように感じます。
そのようなとき、状況を克服し、最初からやり直して忍耐力を養う能力は、開発者がより成熟していることを証明し、リリースや受け入れテストなどのプレッシャー環境下で、またはクライアントのデモ中に作業できることで高く評価されます。
#7)強い記憶: 高レベルの設計、データフロー、アルゴリズム、データ構造、それらが互いにどのように相互作用するかを理解して視覚化できることで、平均的なコーダーからあなたを引き離すことができます。瞑想のテクニックと記憶の練習もこれに役立ちます。
コンピュータプログラミングの学習を開始する方法は?
人間として、あなたは毎日内省し、今日何をしたか、どのように自分自身を改善できるか、困難な状況を回避するためにどのような手順や予防策を講じるかを特定する習慣を持っている必要があります。
同様に、コンピュータプログラミングを学ぶ前に、以下の点を考慮してください。
- 正直に言って、なぜコンピュータプログラミングを学びたいのか考えてください。
- あなたの目標は何ですか、プログラミングを学ぶというあなたの夢の中で何を達成しますか?
- 適切なプログラミング言語を選択してください。 例えば。 JavaScript、PHPなどのフロントエンドプログラミング、SQL、Java、PythonなどのWebベース開発用のバックエンドプログラミング。
- プログラミング言語に慣れるために、いくつかのインタラクティブなチュートリアルをチェックしてください。 w3schools 多くのプログラミング言語を理解し始めるのは良いことです、そして w3resource SQLクエリをインタラクティブに学ぶのは良いことです。
- 選択したプログラミング言語に関する本を入手してください。つまり、SQL for Dummies、JavaScript forDummiesです。
- いくつかのオンラインコースを試してみてください。 Udemy
- データ構造とアルゴリズムを学びます。
- 選択したプログラミング言語を使用してプロジェクトを作成します。
- いくつかの認定を試みてください。そうすれば、自信があり、知識が豊富で、有能になります。
プログラミングのスキルはどこに応用できますか?
- コミュニケーション能力: コミュニケーションは非常に重要な品質であり、計画を説明し、疑問について話し合い、考えを改善し、上司やチームメンバーから情報を交換することができます。優れたコミュニケーターは、日報で実行されるタスクを理解して説明し、考えを改善し、疑問を解消する方法を見つけることができます。アジャイルスタンドアップミーティングとスプリントミーティングでは、行動計画を伝え、チームを率いることができます。
- 問題解決: 課題を受け入れ、困難なタスクを達成することは、問題解決スキルを構築し、これは優れた開発者の前提条件です。開発中に、ビジネスロジックを理解してコードに実装する、コードとアプリケーションの統合、互換性の問題、その他多くの課題に直面する可能性があります。あなたの問題解決スキルは、最も重大な状況を乗り切るのに役立ちます。
- コラボレーション/チームワーク: コラボレーションスキルを使用すると、チームメンバーと協力していくつかのタスクを効果的に実行し、それによって生産性を向上させることができます。
チームで働くことは、態度の問題のために、時には対立を引き起こす可能性があります。したがって、より良い製品を手に入れたり、生産性を向上させたりするという目標を理解することで、誰もが優れたチームプレーヤーの役割を果たすことができます。
プログラマーのためのキャリアオプション
プログラマーまたはソフトウェア開発者としてのキャリアの選択肢はたくさんあります。
コンピュータープログラマーの分野または立場は次のとおりです。
- ウェブ開発者
- UI Developer
- ユーザーエクスペリエンスデザイナー
- SQL Developer
- 品質保証
- 自動化テストエンジニア
- テスト中のソフトウェアエンジニア
ソフトウェア開発部門での彼/彼女の責任には、次の職務が含まれます。
- さまざまなプログラミング言語を使用してカスタムおよび複雑なソリューションを設計および開発します。 例えば、 Java、Python、Javascript、SQL、oracle。
- プロジェクトソフトウェアの配信ライフサイクルを管理します。これには、会社の計画された配信フレームワーク内での計画、設計、構築、テスト、および展開が含まれます。
- ネットワーキングの基本的な知識、Eclipse、NetBeans、Atomなどの統合開発ツールで作業する能力。
- Jenkins、Gitlab、BambooなどのCIツールの少なくとも1つを実際に使用した経験が必要です。
- Linux / Unixスクリプトとシェルスクリプトを使用できる必要があります。
- 優れたコミュニケーション能力と人材スキル。
- 優れたチームプレーヤーであり、独立した貢献者である必要があります。
- アジャイル開発環境の理解。
結論
この記事を通じて、コンピューターの内部、コンピューターの動作、プログラミングの概念、プログラミング言語の基本、およびプログラミング環境の基本的な操作について学びました。
また、プログラミングの前提条件、プログラマーになるために必要なスキル、学習を開始する方法、およびコンピュータープログラミング分野で利用可能な展望とキャリアオプションについても説明しました。
コンピュータプログラミングの専門家になる準備はできていますか?