paint-brush
2023 年に学ぶのが最も難しい 7 つのプログラミング言語by@itsfurqanaziz
24,528
24,528

2023 年に学ぶのが最も難しい 7 つのプログラミング言語

Furqan Aziz8m2023/11/30
Read on Terminal Reader
Read this story w/o Javascript

あなたがスリルを求める人で、挑戦に意欲的なら、幸運です。なぜなら、私はここで、最も心を揺さぶるプログラミング言語のトップを要約するためにここにいるからです。

People Mentioned

Mention Thumbnail
featured image - 2023 年に学ぶのが最も難しい 7 つのプログラミング言語
Furqan Aziz HackerNoon profile picture


本当の挑戦を探しているなら、プログラミング言語の世界以外に探す必要はありません。もちろん、安全策をとって Python や JavaScript などを使い続けることもできますが、それでは何が楽しいのでしょうか?あなたがスリルを求める人で、挑戦する気がある人なら、幸運です。なぜなら、私がここで、世にある最も衝撃的なプログラミング言語の概要を紹介するからです。


ただし、これらの言語を学ぶのは気の弱い人向けではないことを覚えておいてください。頭の体操をする準備が必要です。

目次

世界で最も難しいプログラミング言語を学ぶことは、ある面では芸術に似ています。真っ白なキャンバスと基本的な原材料から始めます。科学、芸術、工芸を組み合わせることで、それらをどう扱うかを決定します。


全体的な形状をスケッチし、背景をペイントして、詳細を埋めていきます。あなたは常に一歩下がって、自分がやったことを批判的な目で見つめます。しかし、その後、キャンバスを捨てて最初からやり直すことになります。


簡単に言えば、学ぶのが最も難しいプログラミング言語は、あなたの脳を頑固なノードと複雑なコードに置き去りにします。


ただし、プログラミング言語の学習には、それがどれほど基本的であっても、複雑であっても、時間と労力がかかります。そのため、十分な調査を行って、希望するキャリア ルートに適したプログラミング言語を選択する必要があります。


さらに、プログラミング言語の市場価値や有用性は、その複雑さや利便性とは何の関係もありません。最終的な決定は、言語の使いやすさによって決まります。クエリ言語とシリアル ステートメントを使用して論理的な決定を下す機能は、コンピューター プログラミング言語に似ており、利点です。

最も難しいコーディング言語は何ですか?

C、C++、Java、Python、その他のプログラミング言語について話すとき、難しいだけでなく、ほとんどのソフトウェア エンジニアにとってはまったく理解できないものもあります。これらは難解なプログラミング言語 (または esolang) としての評判を築いています。


2023 年に学ぶのが最も難しいプログラミング言語の詳細なリストは次のとおりです。


最も難しいプログラミング言語


  • C++

Bjarne Stroustrup は、C コンピューティング言語の拡張として、汎用プログラミング言語であるC++を開発しました。開発チームは、機械学習やデータ マイニング アプリケーションだけでなく、ゲーム内開発やオンライン開発でも頻繁に利用しています。


ただし、近年、Python、Java、JavaScript などの高級言語の人気と使用率が C++ を上回っているようです。このため、開発者は「C++ は学ぶのが難しいのではないか?」と疑問に思うようになります。


簡単な答えは「はい」です。


C++ はマルチパラダイムの性質とより複雑な構文のため、習得するのが困難です。これは初心者にとって特に難しいことでよく知られていますが、低レベル言語に関する事前の専門知識を持たないプログラマーにとっても同様に困難です。


  • マルボルヘ

Malbolge プログラミング言語は多くの開発者の精神的な平穏を奪い、学習するのが最も難しいプログラミング言語のリストにその名を刻み込みました。 Ben Olmstead は 1998 年にこの言語を発明しました。この言語の複雑さを理解できるように、最初のプログラムの構築には 2 年近くかかりました。


Malbolge の複雑さの主な原因は、(a) 命令の制限、(b) 実行後の命令の置換、および (c) ロード可能なデータの制限です。


このため、この言語でのコーディングはゴミであるか、機能不全に陥っているように見えます。実際のところ、ベン オルムステッドはこの言語でプログラムを 1 つも開発したことがないと多くの人が信じています。しかし、リザワヒサシ氏は、Malbolge でプログラミング ガイドを提供することでソフトウェア保護の難読化を提案しました。


たとえば、読み取り不可能なプログラムは改ざんに対して耐性があります。アリスが、アプリケーションを実行するボブにプログラム (またはバイナリ コード) を送信したいとします。たとえそれが暗号化されたコードであっても、ボブが実行するにはそれを復号化するための許可が必要です。その結果、ボブにはそれを変更する機会が与えられます。


ただし、学習が最も困難なプログラミング言語で書かれた判読不能なプログラムは、コードを階層化し、暗号化されたデータとして機能します。これは大きな利点です。


同様に重要なことは、この言語は、ダンテの地獄篇の地獄の 8 周目にちなんでその名前が付けられたことです。つまり、詐欺罪を犯した者専用です。 Malbolge は言い換えれば「地獄から来たプログラミング言語」です。


  • ハスケル

この最も難しいプログラミング言語は、最終的に理解するまでに少なくとも 3 ~ 4 回は学習に失敗することになります。しかし、言うまでもなく、それは他のプログラミング言語をダメにしてしまいます。


Haskell は完全に機能するプログラミング言語です。命令型言語では、タスクをコンピュータに割り当て、コンピュータがそれを実行することで物事を達成します。実行中に状態が変化する場合があります。


しかし、それは怠け者です。明示的に別の指示がない限り、Haskell は結果の提供を強制されるまで関数を実行したり、何も計算したりしません。これは、プログラムを一連のデータ変換として考えることができるため、参照透過性と一致しています。


  • インターカル

Jim Lyon と Don Woods は 1972 年に、いくつかのコンピューター言語を風刺して、学ぶのが最も難しいコーディング言語の 1 つである INTERCAL を作成しました。 「発音可能な頭字語のないコンパイラ言語」。それが最初に与えられたあだ名でした。


INTERCAL には、プログラマをイライラさせるさまざまな機能が含まれています。たとえば、「PLEASE」などの修飾語が使用されます。コード内で「PLEASE」という単語が頻繁に使用されない場合、コンパイラはそれを拒否することがあります。このプログラムは組織によって「礼儀が不十分」であるとみなされました。


一方、修飾子「PLEASE」を何度も使用すると、コンパイラはコードを「過度に丁寧」として拒否します。


  • ブレインファック

Urban Müller というスイスの物理学の学生は、実現可能な最小のコンパイラを備えた言語を設計する試みとして、1993 年に Brainfuck を開発しました。


ミュラー氏は、Brainfuck のアイデアを FALSE から得ました。FALSE は、現在 Google で働いているオランダのソフトウェア開発者である Wouter van Oortmerssen がその年の初めに作成した「ひねくれた」プログラミング言語で、実現可能な最小のコンパイラでわかりにくいチューリング完全言語を作成することを目的としていました。


C++ などの最新のプログラミング言語では 2.6 Mb のコンパイラが必要ですが、FALSE のコンパイラはわずか 1,024 バイト、またはほぼ 2,600 分の 1 でした。


この言語の並外れた単純さにより、Brainfuck のコンパイラは最終的に FALSE よりも 1 桁小さく、わずか 240 バイトになりました。 Brainfuck は、>、+、-、[、]、および、の 8 つのコマンドのみで構成されます。

Brainfuck ボキャブラリーはその単純さにもかかわらず、基本的なプログラムを実行するために大量のコードが必要となるため、利用可能なプログラミング言語の中で最も複雑で難しいものの 1 つです。


たとえば、プログラマーが新しい言語を学びたいとき、通常、その言語で作成するために独学で学ぶ最初のプログラムの 1 つは、「Hello, World!」という単語を出力することです。コンピューターの画面上で。 Python などの標準プログラミング言語でのこのアプリケーションのコードは次のようになります。


ただし、Brainfuck で実装された同じプログラムは次のようになります。

+++++++++[>++++++++>++++++++++>+++>+<<<<-]

+++.>+.++++++++..+++.>++.<<++++++++++++++.>.+++.--- ---.--------.>+.>。


この名前は、数千とは言わないまでも、何百もの人々に誤った印象を与えます。私たちは牛と会話するのに役立つ技術を示しているわけではありません。また、「MOO」の隠された意味を明らかにするために Google 翻訳インターフェースを作成するつもりもありません。


私たちは、2023 年に学ぶのが世界で最も難しいコーディング言語トップ 6 の 1 つ、つまり COW について話しています。これは 2013 年初頭に誕生しましたが、開発コミュニティからはほとんど注目されていませんでした。その後、世界で最も複雑なプログラミング言語としての評判を築きました。

Brainfuck は COW に悪い影響を与えますが、開発者はふざけて Bovine を念頭に置いて COW を構築しました。


Cow には Brainfuck よりも 4 つ多い 12 の命令が含まれており、チューリングは完全です。 12 個の命令はすべて、「MOO」という単語の変形にすぎません。


最も難しいプログラミング言語 - COW 言語

出典:カウコマンド


  • 空白

Chris Morris と Edwin Brady はダラム大学に Whitespace を設立しました。この言語は、プログラミングを学ぶのが最も難しい言語の 1 つとして 2003 年 4 月 1 日にデビューしました。


「ホワイトスペース」という用語は、スペース、タブ、改行の 3 つの白色文字のみを使用するという事実に由来しています。その結果、空白で書かれたプログラムのソース コードは見えなくなります。


コードを表示するには、スペース (Space) を表す S、表作成 (Tab) を表す T、および改行 (改行) を表す L の 3 つの文字が一般的に使用されます。空白以外の文字は空白インタープリタによって無視され、コード コメントとして扱われます。


たとえば、一連のスペースは 1 つのコマンドを表し、タブの後にスペースが続くと別のコマンドを表す場合があります。従来のプログラミング言語とは異なり、空白文字はキーワードや識別子の分離に使用されないため、空白文字で記述されたソース コードは、プログラミング言語構文を区別できないプレーン テキストのように見えます。

「Hello, World!」を表示するコードを次に示します。空白で。


世界で最も複雑なプログラミング言語

本物のプログラミングを学びたいですか?

主流のプログラミングでは、ユーザーが特定の方法で考える必要があります。ただし、esolang は、無駄で時間がかかるものの、複雑なソフトウェアを開発するのに十分論理的な方法でユーザーが考えることを奨励します。


したがって、2023 年の朝食として、学習するのが最も難しいプログラミング言語をスキップすることをお勧めします。


しかし、このスマートな時代に顧客を維持するために実際のプログラミングを活用したい場合は、InvoZone の専任開発者を雇って、会社の人材プールのギャップを埋めてください。

よくある質問

C++ は最も難しいプログラミング言語ですか?

C++ が最も難しいプログラミング言語であるかどうかを言うのは困難です。言語を学習する人やプログラミングのこれまでの経験によって難易度が異なるためです。


ただし、C++ は、構文が複雑で学習曲線が急であるため、Python やJavaScript などの他の一般的なプログラミング言語よりも学習が難しい言語であると一般に考えられています。

C と C++ ではどちらが難しいですか?

C と C++ は比較的低レベルのシステム レベルのプログラミング言語とみなされ、どちらも習得が難しいという評判があります。 C は比較的シンプルでミニマリストな言語であると考えられています。プログラミングやコンピューター サイエンスの入門言語としてよく使用され、仕事を遂行するために必要なものだけを提供します。


一方、C++ はより複雑で機能が豊富な言語であり、C よりも学習曲線が急峻で、オブジェクト指向プログラミング (OOP) サポート、テンプレート、標準テンプレート ライブラリ (STL) などの追加機能がいくつか追加されています。 。