コンピューター ウィンドウズ インターネット

最もクールなプログラミング言語。 明るい未来を持つ5つの有望なプログラミング言語

  • 翻訳

プログラミング言語を人気で分けると、3つの段階に分けられます。 最初の段階には、Java、JavaScript、Python、Ruby、PHP、C#、C ++、Objective-Cなどの主流の言語が含まれています。 主要な言語のいくつかは衰退しているかもしれませんが、仕事を簡単に見つけられるようにしたい場合は、それらの1つ以上を知っている方が良いでしょう。


第2層の言語は主流に侵入しようとしていますが、まだそれを達成していません。 強力なコミュニティを構築することでその価値を証明していますが、ほとんどの保守的なIT企業ではまだ使用されていません。 Scala、Go、Swift、Clojure、Haskellは、私が2番目の階層として分類する言語です。 一部の企業はこれらの言語を使用して 個別のサービスただし、広く使用されることはまれです(iOSの主要言語としてObjective-Cを追い越し始めているSwiftを除く)。 GoとSwiftは、今後2〜3年以内にTier2からTier1に移行する可能性が高くなります。


最初の段階のほとんどの言語は、その立場にしっかりと根付いています。 したがって、指導的立場から言語を失うことはかなりの時間を要し、2番目の階層の言語が最初の階層に侵入することは非常に困難です。


この記事の有望な言語は第3階層に属しており、それらはまだ始まったばかりです。 一部の言語は、人気を得ることなく何年もの間3番目の段階にありましたが、他の言語はわずか2、3年で登場しました。 たとえば、記事で説明する言語のように。

有望な言語:なぜこれらの5つ?

議論される5つのプログラミング言語は非常に新しく(初めて耳にする可能性があります)、今後2〜3年で2番目の段階に突入する絶好のチャンスがあることは明らかです。 たぶん、いつかこれらの言語の1つが最初の段階の言語を混雑させることができるようになるでしょう。


これが、これらの5つの言語がこのリストに選ばれた理由です:


ElmはJavaScriptコミュニティで人気を集めており、主に関数型プログラミングを好む人々の間で人気が高まっています。 TypeScriptやDartと同様に、ElmはJavaScriptにトランスパイルされます。


Rustは、主にCおよびC ++を使用するニッチを対象としたシステムプログラミング言語です。 したがって、この言語の人気がWeb開発者の間で急速に成長しているのを見るのは驚くべきことです。 この事実は、言語がMozillaで作成されていることを知ったときに、より意味のあるものになります。Mozillaは、低レベルのコードを記述しなければならないWeb開発者により良いオプションを提供すると同時に、PHP、Ruby、Pythonよりもパフォーマンスが高いことを望んでいました。またはJavaScript。 Rustは、2016年のStackOverflow開発者調査で「お気に入りのテクノロジー」カテゴリでも最高に選ばれました(つまり、ほとんどのユーザーがこの言語を使い続けたいと考えています)。


Kotlinは約5年前から存在していますが、本番環境に対応したバージョン1.0に到達したのは今年だけです。 Scala、Groovy、Clojure(JVMで最も人気があり成熟した(Javaを除く)3つの言語)の人気をまだ達成していないという事実にもかかわらず、他の多くのJVM言語から際立っており、準備ができているようですこのグループのリーダーの間でその場所を取ります... この言語は、JetBrains(人気のあるIntelliJ IDEA IDEの作成者)で生まれました。 そのため、開発者の生産性に重点を置いて設計されています。


Crystalは、経営幹部レベルのプログラムパフォーマンスをWeb開発者の高レベルの世界にもたらすことを望んでいるもう1つの言語です。 CrystalはRubyコミュニティをターゲットにしています。 その構文はRubyと似ており、場合によっては同じです。 すでに多数のRubyスタートアップが増え続けており、Crystalは、これらのアプリケーションのパフォーマンスを次のレベルに引き上げるのに役立つ重要な役割を果たすことができます。


ElixirもRubyエコシステムからインスピレーションを得ましたが、Cのようなメリットをもたらすのではなく、可用性が高く応答性の高いシステムの構築に重点を置いています。 批評家によると、Railsが問題を抱えているのは何か。 Elixirは、電気通信業界での25年の成功に基づいて確固たる評判を築いているErlangVMでこれらのメリットを実現しています。 フェニックス(ElixirのWebフレームワーク)は、大規模で繁栄しているエコシステムとともに、この言語にさらなる魅力を与えます。


次に、これら5つの言語のうち4つが人気のはしごを登る方法を見てください(StackOverflowとGitHubのデータに基づく):




これらの各言語は、情熱的なコミュニティと独自の週刊ニュースレターを誇っています。 将来に向けてエキサイティングな機会を持つ若い言語を学ぶことを考えている場合は、それぞれのエコシステムの経験豊富な愛好家やリーダーによって書かれた、これら5つの言語のそれぞれについての短いプレゼンテーションを読んでください。

エルム

Elmは、高性能のJavaScriptコードにコンパイルされるユーザビリティ指向の関数型プログラミング言語です。 JavaScriptとの組み合わせを含め、これを使用して、インターネット上にユーザーインターフェイスを作成できます。 JavaScriptに対するElmの主な利点は、信頼性、メンテナンスの容易さ、プログラミングの楽しみに重点を置いていることです。 より具体的に:

  • ランタイム例外なし: Elmコードには評判があります 実行時に例外をスローしない..。 「未定義は関数ではない」というわけではありません。
  • 伝説的な優雅なコンパイラ: Elmコンパイラはよく 賞賛競合他社の中で最も役立つバグレポート。 大規模なリファクタリングを行った後でも、「コンパイルすれば、通常は正常に機能する」というのが一般的な信念です。 これにより、大規模なElmプロジェクトは、相応のJSプロジェクトよりも保守がはるかに簡単になります。
  • セマンティックバージョニング: elm-packageは、セマンティックバージョンを自動的に適用します。 パッケージの作成者がメジャーバージョン番号を上げずにAPIを壊すような変更を加えようとすると、elm-packageはこれを検出し、公開を拒否します。 新しいバージョンパッケージ。 セマンティックバージョニングをこれほど確実に実施する有名なパッケージマネージャーは他にありません。
  • 高速で機能的: Elmは、突然変異や副作用がないことを保証する純粋関数型言語です。 これは、Elmコードに優れたスケーラビリティを提供するだけでなく、React、Angular、またはEmberよりも高速にアプリケーションUIをレンダリングするのにも役立ちます。
  • 強力なツール: elm-formatは、コミュニティ標準に従ってソースコードをフォーマットします。 コーディング規約をめぐる論争はもうありません。 エディタの「保存」ボタンを押すだけで、コードが美しく見えます。 elm-testには、ユニットテストとランダムテストの両方をサポートする「バッテリー」が付属しています。 elm-cssを使用すると、cssファイルにコンパイルするElmコードを記述できるため、アプリケーションとスタイルシートの間でコードを分割して、定数が同期しなくなることがないようにすることができます。

ElmコードはJavaScriptと相互作用することもできます。 つまり、JSコードに少量を注入することができ、車輪の再発明をしなくても巨大なJSエコシステムを使用できます。

Kotlin

Kotlinは、JVMとJavaScriptを対象とする静的に型付けされた言語です。 Kotlinは、JetBrainsが探していたニーズから生まれました。 新しい言語ツールボックスを開発するため(ほとんどがJavaで書かれています)。 彼らが既存のコードベースを使用することを可能にすると同時に、Javaが引き起こした問題のいくつかを解決する何か。 そして、それは正確に書くときに発生するこれらの一般的な欠陥の解決策です ソフトウェア Kotlinのほとんどの特性を定義しました。

  • 簡潔:特定の構成を表現するために必要なボイラープレートコードの量を減らします。
  • 汎用性: Webを問わず、あらゆるタイプの産業上の利用可能性に適した言語を作成します。 モバイル開発、デスクトップまたはサーバーアプリケーション。
  • 安全: null参照例外などの問題に関連する一般的なバグのいくつかを言語自体で処理できるようにします。
  • インタラクション:言語が既存のJavaコードベース、ライブラリ、およびフレームワークと相互作用できるようにして、すでに行った投資の結果を徐々に実装して活用できるようにします。
  • 楽器: JetBrainsはツールを作成し、多くの日常的なタスクを自動化して、より効率的で生産的な開発につながるという信念からツールを作成します。 したがって、言語は補助ツールの使用を簡単に許可する必要があります。

Kotlinはこれまでも、そしてこれからも実用的です。コードを記述し、それらの解決を支援しようとするときによく発生する一般的な問題を探します。 これは、次のようなさまざまな言語機能を介して赤い糸のように実行されます。

  • デフォルトではヌルセーフ: Kotlinタイプはデフォルトでnull不可であり、迷惑なnull参照/ポインター例外を回避します。
  • ファーストクラスの代表団:クラスメンバーの機能を外部関数に委任する機能。これにより、構成の再利用と改善が容易になります。
  • 合意:表現力豊かなコードを記述できる一連の規則により、読みやすさを向上させ、リファクタリングを容易にする、強く型付けされたDSLへの道が開かれます。
    html(head(title(+ "Kotlinを使用したXMLエンコーディング"))body(p(+ "これはHTMLです")))

Kotlin 1.0は、実際のプロジェクトで5年以上の開発と広範なテストを行った後、2016年2月にリリースされました。 現在、Kotlinを使用しているJetBrains製品は10以上あります。 また、Amex、NBC Digital、Expedia、Gradleなどの企業でも使用されています。


詳細については、kotlinlang.orgをご覧ください。


このセクションは書かれました

JavaScriptは、Webページに基本的な対話機能を追加するのに適していますが、Webアプリケーションコードが数千行のコードである場合、その弱点が明らかになります。 そのため、GoogleはDartを作成しました。これは、ウェブプログラミングの新しい母国語になると同社が信じている言語です。

JavaScriptと同様に、DartはC言語で使用されるものと同様の構文とキーワードを使用します。ただし、JavaScriptはプロトタイプに基づいていますが、Dartのオブジェクトは、C ++やJavaのようにクラスとインターフェイスを使用して定義されます。 Dartを使用すると、プログラマーは静的型を使用して変数を追加で定義することもできます。 アイデアは、DartをJavaScriptと同じくらい親しみやすく、動的で、柔軟性のあるものにすると同時に、開発者が高速で実行しやすく、見つけにくい間違いを犯しにくいコードを記述できるようにすることです。

ダートが使える場所は少ないです。 クライアントまたはサーバー(Node.js)で実行するように設計されていますが、クライアントバージョンのDartを実行する唯一の方法は、JavaScriptにクロスコンパイルすることです。 ただし、その後もすべてのブラウザで動作するわけではありません。 ただし、Dartは無料のBSDライセンスの下でリリースされているため、Googleの条件に同意する販売者は、製品でこの言語を自由に使用できます。 グーグルがしなければならないのは、業界全体を説得することだけです。


研究中のプログラミング言語#2:セイロン

Gavin Kingは、RedHatで開発している言語であるCeylonが「Javaキラー」になるべきだと否定しています。 Kingは、Java用のHibernateオブジェクトリレーショナルマッピングフレームワークの作成者としてよく知られています。 彼はJavaが大好きですが、まだ改善すべき点がたくさんあると信じています。

KingがJavaについて気に入らない点のいくつかは、言語の冗長な構文、ファーストクラスおよび高階関数の欠如、およびメタプログラミングサポートの欠如です。 彼は、構造化データを定義するための宣言型構文がないことに特に悲しんでいます。これは、キングが「JavaをXMLと同等にする」と述べています。 セイロンはこれらすべての問題を解決することを目指しています。

キングと彼のチームは、車輪の再発明を行う予定はありません。 Ceylon仮想マシンはありません。Ceylonコンパイラは、JVMで実行できるJavaバイトコードを生成します。 しかし、セイロンは単なるコンパイラではありません。 戦略的目標 このプロジェクトのキングによれば、「肥大化」し、扱いにくく、まだ完全に近代化されていないJavaに代わる、セイロンの新しい開発キットの作成です。

これは難しい作業であり、これまでのところ、RedHatはCeylonのユーティリティをリリースしていません。 キング氏によると、コンパイラーは今年発売予定です。 しかし、すぐに「100%純粋なセイロン」で書かれたソフトウェアを期待しないでください。


研究中のプログラミング言語#3:行く

F#コードはOCamlコードにいくぶん似ていますが、独自の興味深い構文が含まれています。 たとえば、科学的な計算を容易にするために、F#の数値データ型を単位にすることができます。 F#は、非同期I / Oを容易にし、CPUを並列化し、プロセスをGPUに出力するための構造も提供します。

Microsoft Researchでの長い成熟期間の後、F#はVisual Studio2010に同梱されています。 さらに良いことに、全社的ではありませんが、MicrosoftはF#コンパイラとルートライブラリをApacheオープンソースライセンスの下で利用できるようにしました。 無料で使い始めることができ、MacおよびLinuxシステムでも使用できます(Monoランタイムを使用)。


研究されたプログラミング言語#5:Opa

Webプログラミングは非常に複雑です。 最も単純なWebアプリケーションでさえ、クライアント用のHTMLとJavaScript、サーバー用のJavaまたはPHP、データベース用のSQLなど、複数の言語で記述された無限の行で構成されています。

Opaはこれらの言語のいずれかを個別に置き換えることはありません。 さらに、それらすべてを一度に置き換えようとし、Webプログラミングのまったく新しいパラダイムを表しています。 Opaアプリケーションでは、クライアントユーザーインターフェイス、サーバーロジック、およびI / Oデータベースはすべて同じ言語Opaで記述されています。

これは、クライアント側とサーバー側のフレームワークの組み合わせによって実現されます。 Opaコンパイラが実行場所を決定します このプログラム(クライアント、サーバー、またはその両方で)、次にそのコードを実行します。 クライアントプログラムの場合、OpaをAJAX呼び出しを含む適切なJavaScriptコードに変換します。

当然のことながら、このような統合システムでは、最終的には魔法のようなものが生まれるはずです。 Opaランタイムは、スタンドアロンの代替手段に置き換えることができない独自のWebサーバーとデータベース管理システムを統合します。 ただし、わずか数十行のコードで最新のデータ駆動型Webアプリケーションを開発できることを考えると、これはそれほど重要ではないかもしれません。 Opaは無料で提供されます この瞬間は64ビットのLinuxおよびMacOS Xプラットフォームで利用できますが、他のポートはまだ開発中です。


研究されたプログラミング言語#6:ファントム

Javaまたは.Netアプリケーションを作成しますか? Fantomで作成する場合は、選択を行ってからプラットフォームを変更することもできます。 これは、Fantomが最初からクロスプラットフォームモビリティ向けに構築されていたためです。 Fantomプロジェクトは、JVMまたは.Net CLIのいずれかのバイトコードを出力できるコンパイラーだけでなく、JavaAPIと.NetAPIを分離し、移植性の追加レイヤーを作成するAPIのセットで構成されています。

ファントムの機動性をさらに高めることが計画されています。 FantomからJavaScriptへのコンパイラーはすでに利用可能であり、次のターゲットには、iOS用のLLVM、Parrot VM、およびObjective-Cコンパイラープロジェクトが含まれる場合があります。

Fantomは、Academic Free License 3.0に基づいて無料で配布され、WindowsおよびUnixライクなプラットフォーム(Mac OS Xを含む)で利用できます。


プログラミング言語#7を学ぶ:ジンブ

混合された性質のため、Zimbuの構文は独特で具体的ですが、同時に多くの機能を備えています。 Cで使用されているものと同様の式と演算子を使用しますが、独自のキーワード、データ型、およびブロック構造を使用します。 メモリ管理、スレッド、パイプラインをサポートします。

唯一の問題は移植性です。 Zimbuはコンパイルされた言語ですが、そのコンパイラーはANSI Cコードを生成し、バイナリーは組み込みのCコンパイラーを備えたプラットフォームでのみ作成できます。

残念ながら、Zimbuプロジェクトはまだ開発中です。 コンパイラと一部のサンプルプログラムは自分で作成できますが、すべての有効なZimbuコードが期待どおりにコンパイルおよび実行されるわけではありません。 宣言された関数のすべてがまだ開発されているわけではなく、すでに提示されている関数のいくつかは正しく機能しません。 言語仕様も時間の経過とともに変更される可能性があり、必要に応じてキーワード、タイプ、および構文が追加されます。 その結果、ドキュメントも不完全です。 ただし、試してみたい場合は、前提条件のユーティリティがApacheライセンスの下ですでに利用可能です。


研究されたプログラミング言語#8:X10

並列データ処理は、かつてはソフトウェア開発の専門的なニッチでしたが、マルチコアプロセッサと分散コンピューティングの急増に伴い、並列処理が人気を博しています。 残念ながら、現在のプログラミング言語はこの傾向に追いついていない。 そのため、IBM Researchは、開発者の生産性を「10倍」にすることを目的とした最新の並列アーキテクチャー向けに特別に設計された言語であるX10を作成しています。

X10での並列処理は、PGASプログラミングモデル(共有グローバルアドレス空間モデル)のおかげで可能です。 コードとデータはブロックに割り当てられ、異なる「スペース」に分散されるため、プログラムをシングルスレッドのプロトタイプ(1つのスペース)から1つ以上のマルチコアプロセッサで実行されるマルチスレッドのプロトタイプ(複数のスペース)に簡単にスケーリングできます。 )高性能クラスター内。

X10コードはJavaに最も似ています。 基本的に、X10ランタイムは、JVMの埋め込み実行可能ファイルとクラスファイルの両方として使用できます。 X10コンパイラは生成できます ソースコード C ++またはJavaのいずれか。 将来的にはJavaとの上位互換性を開発する計画があります。

その間、言語はすでにかなり発達していますが、発達しています。 コンパイラとランタイムは、Linux、Mac OS X、Windowsなどのさまざまなプラットフォームで利用できます。 追加のユーティリティは、Eclipseベースの対話型開発環境(IDE)とデバッガーであり、これらはEclipse PublicLicenseの下でライセンスされています。


研究されたプログラミング言語#9:haXe

ポータブルコードの記述には、多くの言語を使用できます。 CコンパイラはほとんどすべてのCPUアーキテクチャで使用でき、JavaバイトコードはJVMがどこにあっても実行されます。 しかし、haXe(「hex」と発音)は単なるポータブルではありません。 これは、組み込みからさまざまなオペレーティング環境で使用できるマルチプラットフォーム言語です。

ダイナミックに変化する世界では、昨日尊敬されていた職業だけが無に変わるとき、多くの人々は、それが興味深く、現在に関連し、同時に利益を生むように、人生で何かをすることを探しています。 非常に多くの場合、そのような検索はプログラミングにつながります。優れたプログラマーは、CISであっても、数千ドルを稼ぎ、多くの自由時間を持ち、リモートで作業する能力があり、キャリアを伸ばすチャンスがあります。

これらの利点に加えて、プログラミングはそれを習得するために、大学でズボンを拭くのに何年も費やす必要がないという点でも異なります。 独学はここですべてを決定します、インターネットはすべてを持っています 必要な材料あらゆるプログラミング言語の自習を成功させるために:テキスト形式のレッスン、ビデオチュートリアル、指示、経験豊富な専門家からのアドバイス、その他の教材。 このようにして、最新のプログラミングテクノロジーを簡単に習得し、本当にまともな仕事を見つけることができます。

しかし、ビジネスに取り掛かる前に、1つの重要な質問に答える必要があります:2017年に関連する最新のプログラミング言語はどれですか?時間と労力を費やす必要があるのはどれですか? ここでの正解は、学習プロセスの複雑さとスピード、実際の活動に参加するための最小しきい値、さらなるキャリアの見通しなどに大きく依存します。

2017年のプログラミングと言語の有望な分野

勉強する特定のプログラミング言語(1つ以上)を決定するには、最初に質問に答える必要があります:プログラミングのどの領域で人が働きたいですか? 現在、最も人気があり、急速に発展している分野は次のとおりです。

Webプログラミング技術。ウェブサイトの開発、 オンラインサービス銀行、オンラインストア、企業のランディングページなど、これらはすべてWebプログラミングの一部です。 地球上でますます多くの人々がインターネットユーザーになり、それはより速くそしてより安くなり、成熟した老年の人々でさえインターネットのアクティブユーザーになりつつある。 2017年には、この傾向は強まっているだけであり、その開発の上限はまだ見えていません。 したがって、インターネットに関連するプログラミング言語を学ぶことは非常に有益です。 それらの中で最も人気のあるリストを以下に示します。

ガジェットのプログラミング:スマートフォン、タブレット、スマートウォッチ、バーチャルリアリティグラスなど。 また、非常に興味深く、急速に発展している活動分野でもあります。 世界中の何十億もの人々がガジェットを使用し、ガジェットに関するニュースを読んだり、ビデオを見たり、音楽を聴いたり、その他多くのことをしています。 これらの電子機能はすべて、適切に作成されたソフトウェアのおかげで可能です。 多くの場合、物理デバイス自体よりもはるかにコストがかかります。 この分野でのプログラミングは今では非常に有益です。 ここではプログラミング言語が最も頻繁に使用されていることに注意してください。 上級.

どの言語を選択するか

どの言語が最も現代的であるかを言うことは不可能です。 それらの多くは非常に広く積極的に使用されています。 しかし、有望なプログラミング言語に関して言えば、最良のものは次のとおりです。

  • Java。 コンピュータとガジェットの両方のアプリケーションを開発するために使用できる、最も用途が広く人気のあるプログラミング言語。 アンドロイド OS。 構文が理解しやすく、非常に簡単かつ迅速に学習できます。最初のJavaプログラムは、トレーニング開始から数週間後に作成できます。 それを非常に有望にする主な特徴は、現在非常に急速に開発されているAndroid用のプログラミングへの使用です。
  • NS #。 コンピュータシステム用のプログラムを書くことに自分の活動を捧げたい人のための優れたオプション。 マイクロソフトのさまざまなプラットフォームおよびサービス用のほとんどのプログラムを作成するための基礎となるのは、CIシャープ言語(C#)です。 .NETとAzureを使用してWebアプリケーションを開発したり、Windows用のプログラムやさまざまなビジネスアプリケーションなどを直接開発したりするために使用できます。 C#を理解するのは少し面倒ですが、長期的には効果があります。
  • PHP。 あなたの仕事がインターネットリソースのための高品質のスクリプトとインタラクティブなテンプレートを書くことであるか、サーバーの管理者になることであるなら、それは今非常に有益な職業です、そしてPHPは 一番いい方法そのような欲求を実現するために。 現代語プログラミングは、この代表者なしでは実行できません。 彼は非常に迅速かつ簡単に学びます-PHPを徹底的かつ定期的に勉強すれば、2〜3年で非常に良いポジションとそれに対応する給与を申請することができます。

もちろん、これは言語とその分類の完全な特徴からはほど遠いですが、そのような小さなリストでさえ、あなた自身のために良いそして有望な活動分野を選択するのに十分です。

現代のプログラミング言語の完全な概要は時間がかかりすぎるかもしれませんが、これはそれほど必要ではありません。主なことを覚えておく価値があるからです-どの言語にも堪能な人は確かに次の分野で自分の場所を見つけることができますプログラミング。 そして、これらの言語の1つの知識は確かに良いお金を稼ぎ、興味深い問題を解決するのに十分です。

レポートのタイトル

現代のプログラミング言語とその使用

プロジェクトの作者

プロジェクトの構造

●プログラミング言語分類スキーム

●プログラミング言語の分類

●プログラミング言語の概要

●役立つリソース

プログラミング言語分類スキーム

プログラミング言語の分類

手続き型プログラミング-コンピュータのフォンノイマンアーキテクチャの反映があります。 手続き型言語で記述されたプログラムは、問題を解決するためのアルゴリズムを決定する一連のコマンドです。 手続き型プログラミングの背後にある基本的な考え方は、メモリを使用してデータを格納することです。 主なコマンドは割り当てであり、それを利用してコンピュータのメモリが決定および変更されます。 プログラムはメモリの内容を変換し、初期状態から結果の状態に変更します。

このような手続き型プログラミング言語があります。

Fortran言語は、科学的および技術的な問題をプログラミングするために20世紀初頭に作成されました。

Cobol-20世紀の60年代の終わりに、さまざまなデータキャリアに保存されている大量のデータを処理する問題を解決するために作成されました。

Algol(1960)は、多目的の高度なプログラミング言語です。 「ブロックプログラム構造」と「動的メモリ割り当て」の概念を初めて導入しました。

20世紀半ばに、初心者向けの特殊なプログラミング言語であるBASICが作成されました。 それは、開発の容易さと、科学的、技術的、経済的問題を解決するための普遍的な手段の利用可能性、ならびにゲームなどのタスクによって特徴付けられます。

上記のすべての言語は、さまざまなクラスの問題に焦点を当てていましたが、ある程度、特定のコンピューターアーキテクチャに関連付けられていました。

1963-1966年に、多目的ユニバーサル言語PL-1が作成されました。 この言語は、計算プロセスの研究と計画、モデリング、論理問題の解決、ソフトウェアシステムの開発に最適です。

Pascal言語(PASCAL)(1968-1971)-PCで最も人気のある手続き型プログラミング言語であり、現在は正常に使用されています。 Pascal言語は、一般的な問題から特定の問題へのアプローチに基づいています(より単純でボリュームが小さい)。 Pascalが持つ基本原則は次のとおりです。a)サブルーチンと独立したデータ構造の使用に基づく構造化プログラミング。 b)問題が単純で独立して解決可能な問題に分割される場合の「トップダウン」プログラミング。 次に、元の問題の解決策が完全に上から下に構築されます。

手続き型プログラミングの言語には、ADA言語(1979)が含まれます。この言語は、バイロンの娘である最初のプログラマーであるエイダラブレスにちなんで名付けられました。 それは、デザインのモジュール性によって区別されます。

C言語(70年代初頭)も手続き型プログラミング言語に属しています。 その元のバージョンは、実装のための言語として計画されました オペレーティング・システムアセンブリ言語の代わりにUnix。 C言語の特徴の1つは、式と演算子の違いが滑らかになり、関数型プログラミング言語に近づくことです。 さらに、C言語にはプロシージャの概念がなく、サブルーチンの使用は、プロシージャの機能を組み合わせることができる関数の概念に基づいています。 制御構造とデータ構造のセットに従って、高水準言語として分類できる一方で、コンピューターの機能ノードに直接アクセスするためのツールのセットがあります。これは、運用言語として使用できることを意味します。

オブジェクト指向プログラミング(OOP)オブジェクトがプログラムの主要な要素であるプログラミング方法です。 プログラミング言語では、オブジェクトの概念は、一連のプロパティ(特定のオブジェクトに特徴的なデータ構造)、それらの処理方法(プロパティを変更するためのサブルーチン)、およびこのオブジェクトが反応できるイベントとして実装されます。ルール、オブジェクトのプロパティの変更につながります。 データとその処理手順を1つのオブジェクトに結合することはカプセル化と呼ばれ、OOPの最も重要な原則の1つです。

もう1つの基本的な概念はクラスです。 クラスは、特定のプログラムオブジェクトを作成できるテンプレートであり、このクラスのオブジェクトの動作を決定するプロパティとメソッドを記述します。 このクラスの構造を持つ特定の各オブジェクトは、クラスのインスタンスと呼ばれます。

OOPの次の最も重要な原則は、継承とポリモーフィズムです。 継承は、既存のクラスに基づいて新しいクラスを作成し、子孫クラスが親クラスのすべてのプロパティを持つ(継承する)ことを可能にします。

ポリモーフィズムとは、生まれたオブジェクトが、チェーン内のどこにあるかに応じて、どのメソッドを使用する必要があるかについての情報を持っていることを意味します。

OOPのもう1つの重要な原則はモジュール性です。オブジェクトにはその特性の完全な定義が含まれ、メソッドとプロパティの定義をその外部に配置しないでください。これにより、1つのオブジェクトを他のオブジェクトに自由にコピーして埋め込むことができます。

最新のプログラミング言語はC ++とJavaです。 90年代半ば以降、多くのオブジェクト指向言語がビジュアルデザインシステムとして実装されており、ソフトウェア製品のインターフェイス部分は、実質的にプログラムステートメントを記述せずにインタラクティブモードで作成されています。 オブジェクト指向のビジュアルデザインシステムには、Visual Basic、Delphi、C ++ Builder、Visual C ++が含まれます。 VBA(Visual Basic for Application)言語-アプリケーション言語 マイクロソフトオフィス(Excel、Word、PowerPointなど)。 VBAは、言語の基本構文とプログラミング言語のルールBasic-dialectsに準拠しており、特定の操作の実行とグラフィカルユーザーインターフェイス、さまざまなソフトウェア製品間の統合を自動化するマクロを作成できます。

宣言型プログラミング言語

これらには、関数型および論理プログラミング言語が含まれます。 関数型プログラミングは、関数を呼び出すことだけがアクションであるプログラムを作成する方法です。 関数型プログラミングは、データを格納する場所としてメモリを使用しないため、中間変数、代入ステートメント、およびループを使用しません。 関数型言語の重要な概念は表現です。 関数型言語で書かれたプログラムは、関数と式の一連の記述です。 式は、複雑なものを単純なものに減らすことによって計算されます。 すべての式はリストとして記述されます。 最初の言語は、1959年に作成されたLisp言語(LISP、LIST処理)でした。 この言語を使用すると、大量のテキスト情報を処理できます。 論理プログラミングは、論理の観点からのプログラミングです。 1973年に、人工知能言語Prolog(PROLOG)(Programming in Logic)が作成されました。 Prologプログラムは一連の事実と規則から構築され、次にステートメントが作成され、Prologはそれを規則を使用して証明しようとします。 言語自体は、それに埋め込まれている検索および照合方法を使用して解決策を探します。 論理プログラムは、実行プロセスがさまざまな検索方法を使用した推論の順方向および逆方向のチェーンの構築に削減されるため、高性能によって区別されません。

プログラミング言語の概要

アセンブラ

コンピュータプログラミング言語は2つの主要なグループに分けられます:

1)低水準言語;

2)高級言語。

低水準言語には、アセンブリ言語が含まれます。 彼らの名前は、そのような言語で書かれたソースプログラムを直接機械命令コードに変換するアセンブラシステムプログラムから付けられました。 パーツは演算子であり、アセンブリの結果は一連の機械語命令です。アセンブリ言語は、機械語の利点と高級言語のいくつかの機能を組み合わせたものです。 アセンブラは、ソースプログラムでシンボリック名を使用する機能を提供し、命令、変数、および定数のためのコンピュータメモリの割り当てに関する面倒な労力(機械命令の言語でプログラミングする場合は避けられない)からプログラマを解放します。

アセンブラーを使用すると、コンピューターの技術的機能と機械命令の言語を柔軟かつ完全に使用できます。 アセンブラのソースコードトランスレータは、高級プログラミング言語に必要なトランスレータよりも単純です。 アセンブラを使用して、機械語のプログラムと同じくらいサイズと実行時間が効率的なプログラムを作成できます。 この美徳は高級言語には欠けています。 この言語は、リアルタイムシステム、技術プロセス、および機器のプログラミング、情報の操作の保証、および複合体の測定によく使用されます。 このようなシステムは通常、占有されているマシンメモリの量に対して高い要件があります。 アセンブリ言語は、多くの場合、マクロを生成することによって補足されます。マクロのそれぞれは、マシン命令のグループ全体に相当します。 このような言語は、マクロアセンブラ言語と呼ばれます。 macの「ビルディング」ブロックを使用すると、アセンブリ言語が高級言語に近づきます。 アセンブラはマシンに依存する言語です。つまり、特定のタイプのコンピュータのアーキテクチャ機能を反映しています。

パスカル

Pascalプログラミング言語は、PL / 1、Algol、Fortranなどの既存のますます複雑化するプログラミング言語の代替として、1968年にスイス連邦工科大学のコンピューターサイエンス学部の教授であるNicholasWirthによって開発されました。 パスカルの集中的な開発により、1973年に改訂されたメッセージの形でその標準がすでに登場し、1979年にこの言語からの翻訳者の数は80人を超えました。1980年代初頭、パスカルはMS-PascalおよびTurboトランスレータ-PC用Pascal。 それ以来、Pascalは最も重要で広く使用されているプログラミング言語の1つになりました。 この言語は、学術的および狭い専門的関心の範囲をはるかに超えており、ユーザーの作業ツールとしてだけでなく、高度に発展した国のほとんどの大学で使用されていることが不可欠です。 Pascalの最も重要な機能は、構造化プログラミングの具体化されたアイデアです。 もう1つの重要な機能は、基本的な概念の1つとしてのデータ構造の概念です。

パスカルの人気の主な理由は次のとおりです。

言語のシンプルさにより、言語をすばやく習得し、アルゴリズム的に複雑なプログラムを作成できます

データ構造を表す高度な手段により、数値情報と文字情報およびビット情報の両方を簡単に操作できます。

Pascalから翻訳者を作成するための特別な技術の存在は、彼らの開発を簡素化し、言語の普及に貢献しました。

Pascalトランスレータの最適化プロパティにより、効率的なプログラムを作成できます。 これが、システムプログラミング言語としてPascalを使用した理由の1つでした。

Pascal言語は、構造化プログラミングのアイデアを実装します。これにより、プログラムが直感的になり、 良い機会開発とデバッグ用

ベル研究所の従業員であるデニスリッチーは、1972年にC言語を作成しました。 一緒に働いているしかし、Unixオペレーティングシステムを実装するためのツールとしてKen Thompsonを使用した場合、この言語の人気は、特定のオペレーティングシステムおよびシステムプログラミングの特定のタスクの範囲をすぐに超えました。 現在、Cコンパイラが含まれていない場合、インストルメンタルおよびオペレーティングシステムは完全であるとは見なされません。 リッチーは頭からCを発明したわけではありません。トンプソンによって開発された言語Bがプロトタイプとして機能しました。 Cプログラミング言語は、プログラマーを練習するためのツールとして設計されました。 これに従って、その作者の主な目標は、あらゆる点で便利で便利な言語を作成することでした。

Cはシステムプログラマーのツールであり、コンピューターでの情報処理の最も微妙なメカニズムを深く理解することができます。 この言語はプログラマーからの高度な規律を必要としますが、正式な主張では厳密ではなく、短い定式化が可能です。

Cは現代語です。 これには、プログラミングの理論と実践によって推奨される制御構造が含まれています。 その構造により、プログラマーはトップダウン設計、構造化プログラミング、および段階的なモジュール開発を作業に使用することができます。

Cは強力で柔軟な言語です。 Unixオペレーティングシステム、Fortran、Pascal、Lisp、およびBASIC用のコンパイラとインタプリタのほとんどはそれで書かれています。

Cは便利な言語です。 大きな制約を受けることなく、優れたコーディングスタイルをサポートするのに十分な構造になっています。 ある意味で、Cは最も用途の広い言語です。 最新の高級プログラミング言語に固有のツールセット(構造、モジュール性、特定のデータ型)に加えて、ほぼアセンブリ言語レベルでプログラミングするためのツールが含まれています。 演算子とツールの大規模なセットでは、プログラマーが注意深く正確であり、長所と短所のすべてのくびきを伴う言語の十分な知識を持っている必要があります。

C ++言語は80年代初頭に登場しました。 Bjorn Stroustrupによって作成され、アセンブリ、C、またはその他のさまざまな高級言語でのプログラミングの彼自身と彼の友人を取り除くという当初の目標がありました。

言語の作者によると、CとC ++のイデオロギーの違いは、おおよそ次のとおりです。Cプログラムはプロセッサの「考え方」を反映し、C ++はプログラマーの考え方を反映しています。 要件を満たす 現代のプログラミング、C ++は、選択した知識分野の概念とアプリケーションのタスクに最も完全に対応する新しいデータ型の開発に焦点を当てています。 クラスはC ++の重要な概念です。 クラスの説明には、このタイプのオブジェクトを表すために必要なデータの説明と、同様のオブジェクトを操作するための一連の操作が含まれています。

従来のCおよびPascal構造とは異なり、データだけでなく関数もクラスのメンバーです。 クラスメンバー関数は、そのクラスのオブジェクト内のデータへの特権アクセスを持ち、これらのオブジェクトとプログラムの他の部分との間のインターフェイスを提供します。 で 今後の作業クラスの内部構造や組み込み関数のメカニズムについて覚えておく必要はまったくありません。 この意味で、このクラスは電気器具のようなものです。その構造を知っている人はほとんどいませんが、誰もがその使用方法を知っています。

C ++は、オブジェクトベースのプログラミング言語であり、プログラムを設計および実装するための最新の方法論であり、現在の10年間で従来の手続き型プログラミングに取って代わる可能性があります。 言語の作成者であるBjarneStroustrap博士の主な目標は、C ++言語に、プログラマーの生産性を高め、大規模なソフトウェア製品を習得するプロセスを容易にする構造を装備することでした。

抽象化、実装、継承、およびポリモーフィズムは、C ++言語の重要なプロパティです。そのため、C言語のように普遍的であるだけでなく、オブジェクト言語もあります。 FORTRAN FORTRANは、特に数値シミュレーションに従事するユーザーの間で広く使用されている言語です。 これにはいくつかの理由があります。

何年にもわたって蓄積されたFortranアプリケーションの莫大な資金の存在、およびこの言語を効果的に使用する膨大な数のプログラマーの存在。

すべてのタイプのコンピューターで効果的なFortranトランスレーターが利用可能であり、さまざまなマシンのバージョンはかなり標準化されており、マシン間でプログラムを転送することは通常大きな問題にはなりません。

物理的、数学的、技術的アプリケーションに対するFortranの最初の焦点。 特に、これは、長い間、組み込みの複雑なタイプの変数と、そのような変数を操作するための組み込み関数の大規模なセットを備えた唯一の言語であり続けたという事実に現れました。

過去の期間にわたって、プログラミングの新しい方法論と哲学が形成されました。 1970年代初頭以来、Fortranは当然の批判を受けてきました。 1977年に採用されました 新しい標準言語Fortran-77。 新しい標準を作成するのに長い時間がかかりましたが、今ではその開発が完了し、新しいFortran-90標準がFortranユーザーの慣習に入り始めたと考えることができます。 IBM PCタイプのマシンにのみ、Watfor、Lap-Fortranなどの複数のトランスレーターがあります。しかし、このタイプのマシンで最も普及しているのは、Fortran-77トランスレーターのさまざまなバージョンです。 1990年にリリースされたMS-Fortran5.0トランスレータは、Fortran-90標準にほぼ完全に準拠しています。 ほとんどの主要な科学技術アプリケーションは、その移植性と堅牢性、および組み込みの数学関数と三角関数のために、Fortranで記述されています。 Fortranアプリケーションプログラムの追加の不可欠な部分は、さまざまなグラフィックデータと画像を使用できるようにする拡張グラフィックライブラリです。

この言語は、いわゆる組み込みシステム(つまり、自動化された複合体のリアルタイム制御システム)用の統一プログラミング言語の開発を目的として米国国防総省が実施した野心的なプロジェクトの結果として主に1975年から1980年に作成されました。 。 それらは、まず第一に、軍事オブジェクト(船、飛行機、戦車、ミサイル、砲弾など)の機内制御システムを意味しました。 したがって、エイダの作者が下した決定は普遍的であると見なされるべきではありません。 それらは、選択されたサブジェクトエリアの特性のコンテキストで認識される必要があります。 地獄の言語は、1978年から1979年に開催された言語プロジェクトの国際競争の結果として出現しました。 参加者は、米国国防総省の後援の下で開発されたかなり厳格で詳細な要件を満たす必要がありました。 興味深いことに、このコンテストの最終ラウンドに到達したすべての言語は、Pascalに基づいていました。 この点で、Adaは、上記の5つの基本要件を考慮して開発されたPascalとして暫定的に特徴付けることができます。 同時に、著者は主に新しい要素でパスカルを拡張する道を歩みました。 その結果、言語は大幅に複雑になります。

COBOL

COBOLは、主に経済研究のために開発された比較的古い言語です。 この言語を使用すると、大量のデータを効率的に処理でき、さまざまな検索、並べ替え、および配布機能が満載です。 広く使用されているCOBOLプログラムについて 英語の、彼らは、このプログラミング言語のテキストは特別なコメントを必要としないので、COBOLを話さない人でも理解できると言います。 このようなプログラムは通常、自己文書化と呼ばれます。 Cobolの他の利点には、通常、その構造化が含まれます。 この言語の非常に強力なコンパイラは、 パソコン..。 それらのいくつかは非常に効果的であるため、パーソナルコンピュータでデバッグされたプログラムをメインフレームに簡単に転送することができます。

マイナスをリストするとき、Cobolでプログラムできるのは最も単純な代数計算だけであることを覚えておく必要があります。 この言語は工学計算には適していません。 言語の開発をある程度妨げるもう1つの理由は、政府委員会によって監視されている標準を開発する特別に作成された業界委員会が米国に存在することです。 このような場合は常にそうであるように、ソフトウェア開発会社は、委員会の厳しい要件に合わせてワークピースを調整することを急いでいません。バージョン間の競合がなく、その結果、言語の普及が失われます。

PL / 1は、1964年から1965年にIBMによって開発されました。 PL / 1は普遍的な言語の1つです。つまり、数値計算、テキスト処理、経済問題などのさまざまな分野の問題を解決できます。数値計算)、Kobol(経済問題の場合)、ただしPL / 1はこれらの言語を置き換えることができませんでした。

PL / 1には、いわゆる高級言語に特徴的なすべての基本構造と、実用的なプログラミングに便利ないくつかの特定のツールが含まれています。 この言語は、多数の詳細を備えたコンストラクターに似ています。ユーザーは、実際に必要な言語の部分を習得するだけで済みます。 その演算子は非常に容量が大きいため、他の言語よりもプログラムの記録をコンパクトにすることができます。 知識のあるPL / 1プログラマーは、同じまたは類似のクラスの他の言語を簡単に習得できます。

同時に、PL / 1には、言語の学習と使用を複雑にする多くの欠点もあります。 主なものは以下の通りです。 第一に、多くの重複する手段があり、それらを覚えるのが難しく、いつ何を使用するかが明確ではありません。さらに、これは翻訳の速度とプログラムの実行の速度の両方を低下させます。 第二に、プログラムは完全にマシンに依存していません。

モジュール

Modula言語の歴史は、主にPascal言語の作成者としてほとんどのコンピューター科学者に知られている、情報理論の優れた専門家の1人であるNiklausWirthが新しいプログラミング言語の説明を公開した1980年に始まったと推測できます。彼はそれをModulaと名付けました。 プログラミングを教えるための言語として考案されたPascalとは異なり、Modulaは当初からプロのシステムプログラマー向けの言語であり、前任者の最高の伝統を継承し、構造、モジュール性、拡張する能力。 他の多くのプログラミング言語と同様に、Modulaは進化を遂げ、その間に元の名前がModula-2の名前に変更されました。 Modula言語の開発と同時に、新しいコンパイラーが作成されましたが、Borlandによって開発されたものなど、PascalおよびC言語の最良の実装と競合することはできませんでした。 Modula言語のこの移行期間中、最良の実装はLogitechによって作成されたものであり、その特性の点でTurboPascalおよびTurboCより劣っていました。 トップスピードシステムがアメリカ市場に登場した後の1988年にのみ、Modula-2はシステムプログラミングを目的とした手続き型言語の中でその正当な位置を占めました。 トップスピードシステムの人気の高まりは、いくつかの要因によって促進されました:便利で、さらに、ユーザーの要求に応じて簡単に変更できる操作環境、高速コンパイラ、選択的リンクエディタ。 しかし、最も重要なことは、作成されたプログラムが非常に高速で、多くのメモリスペースを占有しなかったことです。

ベーシック

BASIC(基本-初心者向けの多目的シンボリック命令コード-「初心者向けのユニバーサルシンボリックコード」)。 Fortranの直系の子孫であり、今でもパーソナルコンピュータで最も人気のあるプログラミング言語です。 BASICは1963年に登場しました(著者の名前を付けるのは難しいでしょうが、その外観の主なメリットは間違いなくアメリカ人のジョン・ケメニーとトーマス・カーツにあります)。 他の利点と同様に、BASICの単純さは、特に初期のバージョンでは難しいことが判明しました。 さらに、BASICは再帰を許可しませんでした。これは、効率的であると同時に短いプログラムを作成できる興味深い手法です。

強力なBASICコンパイラが開発されました。これは、豊富な語彙と高性能だけでなく、構造化プログラミングの可能性も提供します。 一部のプログラマーによると、最も興味深いバージョンはGWBASIC、Turbo-Basic、QuickBasicです。

かつて、Quick Basicの登場は、BASIC言語での第2世代のプログラミングシステムの誕生を示しました。 それは、モジュラーおよび手続き型プログラミング、ライブラリの作成、既製のプログラムのコンパイルなどの可能性を提供し、C、Pascal、Fortranなどの古典的なプログラミング言語のレベルにそれをもたらしました。 BASIC言語の公式標準であり、QuickBasicの形式での実装は事実上の標準になっています。 BASICのさまざまなバージョンの中で誰もが認めるリーダーは、1980年代後半に登場したMicrosoftのQuick Basic4.5とPDS7.1でした。

舌足らずの発音

Lisp言語は1960年にJ.McCarthyによって彼の仕事で提案され、非数値的な性質の問題を解決するためのプログラムの開発に焦点を合わせています。 英語名この言語の-LISPはLIStProcessingという表現の略語であり、アプリケーションの主な領域をよく強調しています。 「リスト」という概念は非常に容量が大きいことが判明しました。 代数式、グラフ、有限群の要素、集合、推論規則、およびその他の多くの複雑なオブジェクトをリストの形式で表すと便利です。 リストは、コンピュータのメモリ内の情報を表示する最も柔軟な形式です。 したがって、リストを処理するために特別に設計された便利な言語がすぐに人気を博したことは驚くべきことではありません。

Lispの登場後、さまざまな著者が、人工知能の分野での問題の解決に焦点を当てた他の多くのアルゴリズム言語を提案しました。その中には、Plainer、Snobol、Refal、Prologがあります。 しかし、これはLispがそのような問題を解決するための最も人気のある言語であり続けることを妨げませんでした。 その存在のほぼ40年の歴史の中で、この言語の多くの方言が現れました:Common LISP、Mac LISP、Inter LISP、Standard LISPなど。それらの違いは基本的なものではなく、基本的にわずかに異なるものに要約されます。組み込み関数のセットと表記プログラムの形式のいくつかの違い。 したがって、それらの1つで作業することを学んだプログラマーは、他のプログラマーを簡単に習得できます。 Lispの大きな利点は、その機能指向です。つまり、プログラミングは関数を使用して実行されます。 さらに、関数は原則として理解され、特定のクラスの要素を別のクラスの対応する要素に関連付けます。 それ自体を照合するプロセスは、プログラムの操作に影響を与えません。重要なのは、その結果、つまり関数の値だけです。 これにより、大規模なソフトウェアパッケージの作成とデバッグが比較的簡単になります。 プログラムの明確さ、機能の明確な描写、実行中のトリッキーな副作用の欠如は、人工知能のタスクなど、論理的に複雑なタスクをプログラミングするための必須要件です。 プログラミングの規律は、1人の人がプログラムに取り組んでいるのではなく、プログラマーのグループ全体が取り組んでいるときに特に重要になります。

Lispプログラミング言語は、主にシンボリック情報を処理するために設計されています。 したがって、Lispの世界では数字が大きな役割を果たさないのは当然です。 Lispの基本的なデータ型は「アトム」と「ポイントペア」と呼ばれます。

プロローグ

論理プログラミング言語は、特定の主題分野に関する知識を表現および使用するように設計されています。 この言語のプログラムは一連の関係で構成されており、その実行は、指定された関係に基づいた新しい関係の結論に還元されます。 Prologでは、宣言型アプローチが実装されており、特定のオブジェクトに関するルールとステートメントを使用してタスクを記述するだけで十分です。 この説明が十分に正確である場合、コンピューターは必要な解決策を独自に見つけることができます。

オブジェクトPAL

Object PALは、強力なプログラミング言語です。 Object PALは、オブジェクト指向のイベント駆動型ビジュアルプログラミング言語です。 Object PAL機能の初期レベルでは、データを使用した操作の実行、特別なメニューの作成、およびデータ入力セッションの管理を行うことができます。 Object PALのイベントは、Paradoxをインタラクティブに使用する効果をシミュレートするコマンドを生成します。 頻繁に実行されるタスクを自動化したり、インタラクティブな作業では利用できなかったテーブル、フォーム、レポートに対してアクションを実行したりすることができます。 また、Object PALは、フル機能のプログラミング言語のすべての機能を Windows環境..。 Object PALを使用して、専用メニューシステム、ヘルプシステム、およびあらゆる種類のデータ検証を実装する完全なシステムを作成できます。 Object PALでは、複数のフォームにアクセスできるダイナミックリンクライブラリに作業内容を保存できます。 さらに、C、C ++、Pascalなどの言語で記述されたプログラムを含む他の動的ライブラリとのリンクを確立できます。

オブジェクトPALは、スタンドアロンプ​​ログラムを作成するためのツールとして使用できます。 完全なWindowsアプリケーションを作成し、Paradoxで実行できます。

Object PALは、クライアントとサーバーの両方として動的データ交換をサポートします。 さらに、Object PALは、クライアントとして複合ドキュメントメカニズムをサポートします。 上記に加えて、実行中のアプリケーションにサウンドおよびアニメーション効果を提供することにより、アプリケーションにマルチメディアを含めることができます。

BorlandによるdBaseの実装は、オブジェクト指向と従来のプログラミング手法のハイブリッドとして成功しています。 これにより、オブジェクト設計と一般的なレコード処理技術を使用したシステムの作成が可能になりました。 Borland社の大きな成果は、オブジェクトと手続き型プログラミングの手法を非常にうまく組み合わせたことです。 Windowsの最初のバージョンは、データベースソフトウェア市場で最も強力なオブジェクトツールをユーザーに提供しました。 これにより、継承、カプセル化、およびポリモーフィズムのプロパティを持つオブジェクトの新しいクラスを作成できます。 また、従来のdBaseコマンドを使用してこれらのオブジェクトをプログラムすることもでき、単純な表形式のデータベースの管理に最適です。 これはすべて否定できない利点をもたらします-オブジェクトプログラミング技術への移行をそれほど困難なく行うために、移行は、たとえばParadoxDBMSの場合と同じくらい困難です。

Java言語は、さまざまな家電製品向けの高度なソフトウェアを作成するプロジェクトの一環として生まれました。 プロジェクトはC ++で開始されましたが、すぐに多くの問題が発生しました。 最高の治療法それに対する戦いは、ツール自体、つまりプログラミング言語の変更でした。 アーキテクチャごとに個別にコンパイルする必要がなく、で使用できるプログラムを作成できる、プラットフォームに依存しないプログラミング言語が必要であることが明らかになりました。 異なるプロセッサさまざまなオペレーティングシステムの下で。 インターネット用のインタラクティブな製品を作成するには、Java言語が必要でした。 実際、アーキテクチャ上の決定のほとんどは、 Javaの作成は、CおよびC ++と同様の構文を提供したいという願望によって決定されました。 Javaは、変数の宣言、パラメーター、演算子の受け渡し、およびコードのフローの制御にほぼ同じ規則を使用します。 C ++のすべての優れた機能がJavaに追加されました。

Java言語テクノロジーには3つの重要な要素が組み込まれています

Javaは、Webページに埋め込まれている、小さく、堅牢で、動的で、プラットフォームに依存しない、プロアクティブなネットワークアプリケーションなど、広く使用できるアプレットを提供します。 Javaアプレットは、他のHTMLドキュメントと同じくらい簡単にカスタマイズして、消費者に配布できます。

Javaは、シンプルで使い慣れた構文と堅牢で使いやすい開発環境を組み合わせることにより、オブジェクト指向アプリケーション開発の力を解き放ちます。 これにより、幅広いプログラマーが新しいプログラムや新しいアプレットをすばやく作成できます。

Javaは、ウィンドウ処理、ネットワーキング、およびI / Oで使用されるシステム関数の多くを明確に抽象化するための豊富なオブジェクトクラスのセットをプログラマーに提供します。 これらのクラスの重要な機能は、さまざまなシステムインターフェイスにプラットフォームに依存しない抽象化を提供することです。

コンピュータネットワーク用のプログラミング言語

コンピュータネットワークのプログラミング言語が解釈されます。 それらの通訳は無料で配布されており、プログラム自体はソースコードになっています。 このような言語はスクリプト言語と呼ばれます。

Perlは、プログラマーのLarry Wallが大きなテキストやファイルを処理するために作成した通訳言語であり、Practical Extraction and ReportLanguageの略です。 たとえば、Perlを使用すると、1つ以上のファイルを開き、情報を処理し、結果を書き込むスクリプトを作成できます。

Perlは任意の処理に適合した言語です テキストファイル、それらから必要な情報を抽出し、メッセージを発行します。 Perlは、さまざまなシステムプログラムの作成にも便利です。 この言語は使いやすく効率的ですが、エレガントでコンパクトであるとは言い難いです。 Perl式の構文はC構文に似ています。 再帰は任意の深さにすることができます。 Perlはテキストファイルのスキャンに適していますが、バイナリデータも処理できます。 Perlを使用すると、正規表現を使用したり、オブジェクトを作成したり、Perlコードの一部をCまたはC ++プログラムに挿入したり、Oracleなどのデータベースにアクセスしたりできます。

ワールドワイドウェブの発明により、Perlは、共通の通信インターフェイスであるCommon Gateway Interface(CGI)を介してWebサーバーと通信するための優れたツールであることが証明されました。 Perlコマンドは、HTMLフォームまたはその他のソースからデータを簡単に取得し、それに対して何らかのアクションを実行できます。

言語 PHP(1995-1997)はデータベースにアクセスする手段を持っており、世界中の動的サイトの作成者によって使用されています。

言語 Tcl / Tk(1980年代後半)は、型指定されていない抽象的なオブジェクトを操作するための強力なコマンドで構成されており、グラフィカルインターフェイスを使用してプログラムを作成できます。

言語 VRML(1994)インターネット上の仮想3次元インターフェースを整理するために作成されました。

言語 XML..。 1996年以来、ユニバーサルドキュメント構造言語を作成するための作業が進行中です。 HTMLの代わりになる可能性があります。

出力

役立つリソース

イジーリのレビュー

レポートはどこにありますか?

Ranifkaによるレビュー

Re:レポートはどこにありますか?
すべてが次のようになります:-D

ShamagulovaEliteのレビュー

アレクサンダーミーシンのレビュー

素晴らしいレポート。 私はプログラミング言語について多くを学びました。

アレクサンダーモロゾフのレビュー

もちろん、レポートや少なくとも何らかの形でのプレゼンテーションを見たいと思います。

1. Java

Java のための最も人気のある言語の1つですバックエンド 最新の企業Webアプリケーションの開発。 そしてこれがその主な利点です。 言語の使用 Java Web開発者は、そのフレームワークを使用して、幅広いユーザー向けのスケーラブルなWebアプリケーションを作成できます。 Java -のネイティブアプリケーションを開発するための主要言語アンドロイド スマートフォンやタブレット向けのその他のアプリケーション。 この言語の大きなプラスは呼ばれます WORA( " 一度書けばどこでも走れる」 )-「一度書くと、どこでも機能する」という原則が宣言されましたサンマイクロシステムズ クロスプラットフォームを証明する Java ..。 しかし、このプラスは、この言語が他の同様の言語よりも遅いという事実を否定するものではありません。



2. JavaScript

若い開発者の間で非常に人気のある言語。 これは、サイトの双方向性を作成したり、数十の一般的なフレームワークの1つを使用してユーザーインターフェイスを構築したりするのに適しています。 この言語がブラウザの外で見られることはめったにありません。おそらく、この言語が役立つ唯一の場所だからです。 それにもかかわらず、 JavaScript 彼と彼の数十のフレームワークが人気を博しているだけでなく、言語が将来より複雑なことを可能にするため、学ぶ価値があります。

3.C#

NS #それを知ることはあなたが十分に簡単に仕事を得るのを助けるので学ぶ価値があります。 これは、アプリケーションを開発するために現在最も人気のある言語です。ウィンドウズ 、およびモバイルデバイスで非常に人気があります。 また、ゲーム開発エンジン団結 また使用します NS #主要言語の1つとして。 それは他のオブジェクト指向プログラミング言語と非常に似ており、基本的な知識で学ぶのはかなり簡単です。 C ++またはJava。

4. PHP



データ駆動型Webアプリケーションを構築するための優れた言語。 これは、次のような強力なコンテンツ管理システムを構築するためのコアテクノロジーです。 WordPress 後で拡張して、サイトをより強力にすることができます。 安全でない言語として批判されてきましたが、2004年の更新以降、状況は改善されています。 教えたい人のために PHP 知っておくことをお勧めします HTML、CSS、Javascript。

5.C ++

1979年に作成されたこの言語は今でも非常に人気があり、構築に使用されています 他の種類アプリケーション-ゲームからオフィスアプリケーションまで。 NS ++はシステムプログラミングを目的としており、デスクトップ、コンソール、および モバイルデバイス..。 C ++の欠点の中で、プログラマーはと比較して「不器用さ」と呼んでいます。 Java。

6. Python

理由だけで探求する価値があります Python-GoogleとUbuntuの選択 ..。 しかし、これは言語の唯一の肯定的な機能ではありません。 Python その中でも、その優れた読みやすさとエレガントなコード。 Python プログラムを実行するのに他の言語ほど多くのコードを必要としません。

7. ルビー

ルビー -この言語は習得が容易で、信じられないほど強力です。さらに、世界中で人気のある何千ものWebアプリケーションが書かれています。 あなたがオブジェクトを愛しているなら、この言語はあなたにぴったりです。 その主な利点は速度です。 RubyはPythonと非常によく似ています しかし、「人間」は少ない。

視点

8. Erlang

Erlang 会社が開発した関数型プログラミング言語ですエリクソン 、分散リアルタイムシステムの開発用。 その主な機能は並列処理です。 何百万ものユーザーを抱える大銀行が使用しているため、調査する価値があります。 Erlang 銀行システム用。 たとえば、ウクライナ最大の銀行であるPrivatBankは、 Erlang 以前に書かれたPrivat24インターネットバンキングシステムを使用する開発者 Java。

9. NS

統計ソフトウェア開発に広く使用されていますが、開発者にはあまり人気がありません。 この言語は、深刻なデータ分析が必要な人に推奨されます。 すべてのプラットフォームで動作し、次のような多くのプログラミング言語と統合されます Java、Ruby、C ++、Python ..。 現在はそれほど人気が​​ありませんが、状況は良くなる可能性があります。 2015年1月マイクロソフト 会社を買収革命分析 、彼らによると、言語のさらなる発展に貢献するために NS。

10. 迅速

プログラミング言語迅速 開発者を、開発のための新しい、より速く、より簡単な方法として捉えました MacとiOS対Objective-C ..。 ただし、それはエコシステムにのみ関連しますアップル。 アップルに良い -専ら働きたくない開発者にとっては悪いアップル 特にの人気を考えるとアンドロイド ..。 あなたが上のゲームの世界に貢献したいのであれば、教える価値があります iOS。

11.行く(Golang)

なぜもっと多くの情報がインターネット上にあります行け 良いより悪い言葉。 この言語はによって開発されましたグーグル。 だから、グーグルによると、行く 並列プログラムの実行と通信の基本的なサポートを提供し、マルチコアコンピューター上でシステムソフトウェアを構築するためのアプローチを提供します。 この言語は有望な言語のリストに含めることができますが、その将来については疑問があります。