最初のプログラミング言語の選択

確かに、これはプログラミングに関して私の受信トレイに最もよく寄せられる質問のXNUMXつです。 プログラミングを学び、世界中の無料ソフトウェア/オープンソースコミュニティへの貢献という形で無料の知識を還元することを可能にする一連の記事を開始する場合、少し難しい質問であれば、この基本的な質問に答える必要があります。 どのプログラミング言語を学ぶべきですか?

少し歴史

プログラミング言語を理解して選択し始めるには、まず、それらの歴史、使用法と機能、および時間の経過とともにさまざまなニーズをどのように解決するかについて少し知る必要があります。

機械言語(低レベル)

通称 アセンブリそれらは、より一般的な言語の方言として定義できるプログラミング言語です...これは少し複雑に聞こえますが、例を挙げます...コンピューティングの普遍的な言語は 電気、これは、最終的にコンピュータが読み取るものが 0sy 1はい、これを呼びましょう eコンピューター英語。 この例では、スペイン語が基本的なルールですが、よく知られているように、ラテン系アメリカ人が話すスペイン語はスペインで話されるスペイン語と同じではありません。それでも、ペルーのスペイン語はアルゼンチンのスペイン語と同じではありません。 明らかに、私たち全員がほぼ同じ言葉を持っています(0sy 1s)ただし、使用法と意味は状況によって異なる場合があります。

これはプロセッサレベルで発生します。 私たちが話すとき コンピューティングアーキテクチャ、 (amd64、intel、arm、...)私たちはその方言を参照します コンピュータースペイン語。 これは、会社によって順序や意味を独自に理解しているため、流れの流れや保管順序など、細部が異なる場合があります。 0sy 1s.

これらのプログラミング言語は、可能な限り低いレベルのプログラミングで動作するため、非常に高速ですが、アーキテクチャに大きく依存しており、他の言語よりも学習が少し複雑です。 これらは多くの場合、データを変換し、その上で有用なことを実行できるようにするために、より広範な概念の基盤を必要とします。 ビデオゲーム愛好家の例としては、Assemblyを使用してゲームをプログラムしたSEGAコンソールがあります。 明らかに、当時のメモリ量は今日に比べて最小限であり、高速で軽量なプログラムを作成できる言語を習得する必要がありました。

高レベルの言語

この大規模なグループは、後に来た言語を熟考しています アセンブリ。 ポータブルコードを取得する必要性は、と呼ばれる言語のグループを生み出しました 編集済み。 これらの中で、最初に利用したのはCでした。これは、70年代からオペレーティングシステムレベルでプログラミングを支配してきました。

コンパイルされた言語

私がコメントしたことの実際的な例を見てみましょう。 XNUMX行のコードを出力する非常に単純なC言語プログラムを見てみましょう。

自分の。 クリストファーディアスリベロス

それをコンパイルした後、次のようになります。

独自のデザイン:クリストファーディアスリベロス

しかし、同じ結果をアセンブリコードに複製するために何を書く必要があるかを見てみましょう。

自分の。 クリストファーディアスリベロス

これは、3行のコードの翻訳です。 simple.c、 ファイル simple.s コマンドを使用して作成されます gcc -S simple.c そしてそれは私たちのプロセッサが方言で理解するものです アセンブリ。 明らかに、で構成される実行可能ファイルを作成するために 0sy 1■ファイルを処理する必要があります simple.s システムの共有ライブラリに接続します。 これは、 アセンブラ (as) と conector (ld).

コンパイルされた言語は、低レベルの言語よりも大きな利点を提供します ポータブル。 移植性は、アーキテクチャごとに特定のコードを生成することなく、さまざまなプロセッサで実行できるコードを提供します。 もうXNUMXつの明らかな利点は、コードの読み取りと書き込みを簡単に行えることです。 その主な欠点の中で、私たちは非常に複雑です、私たちが見る以下のタイプの言語と比較して、あなたが制御する方法を知らない場合、Cが提供する自由は有害である可能性があります、それは確かに銃を手渡すようなものです、それは人が銃をきれいにしようとして自分の足を撃つことになる経験。

解釈される言語

このグループには多種多様な言語があり、最も重要なものの中にはPython、Ruby、Javascript、PHPなどがあります...これらの言語の基本的な考え方は、プログラムをすばやく作成して実行する方法を提供することです。難しいプロセスの一部はインタープリターで実行され、ロジックのプログラミングはコードに実装されているものです。 上記と同じ例を見てみましょうが、今回はPythonで記述されています。

自分の。 クリストファーディアスリベロス

最も優れた点の中で、最初の行はインタープリター(アプリケーションを実行するプログラム)の呼び出しを担当し、後続のコードはCのバージョンよりも「単純」であることがわかります。通訳で実行されます。

自分の。 クリストファーディアスリベロス

解釈された言語は、より厳密なセキュリティ制御を備えているため(最高のものでも間違いを犯す可能性があるため、完全ではないことに注意してください)、開発者にセキュリティのより高い層を提供し、気付かずに武器を発射するリスクに苦しむことはありません、最初の試行で、インタプリタがアラートを生成し、実行がキャンセルされるためです。 プログラムの実行時に主な欠点が明らかになります。これは、対応するバイナリよりも遅いためです。これは、コードが確実に機能するようにするための処理量が多いためです。 プログラムが極端に短い期限を必要としない場合、違いは見過ごされるかもしれませんが、毎秒数千または数百万のデータについて話している場合、違いはコンパイルされた言語で指数関数的に顕著になります。

タイピング

これはプログラミング言語の特徴であり、 強く 弱く 入力しました。 プログラムにメモリがどのように格納されているかを理解する必要があり、興味があるので、このトピックを別の投稿に残しておきますが、今のところ、区別する必要があるだけです:強く型付けされた言語は、進行中のデータの種類を知る必要がある言語です変数または定数で作業する一方で、 弱く タイプは変換を実行できるので 暗黙 そして、すべては変換階層とそれに続く言語に依存します。 (今理解できなくても問題ありません、後で残しておきます)

パラダイム

GNU / Linuxの世界のすべてのように、プログラミング言語はパラダイムに従って基づいており、コミュニティはそれらの周りに生成されます。 たとえば、 Python Foundation o Ruby  o PHP o Bash(この場合はGNUコミュニティです)。 これでやりたいのは、それぞれの長所と短所を表現することはできないということですが、無料のプログラミング言語があるところには、学び、参加するコミュニティがあると言えます。 すべてではないにしても多くの言語通訳者がCまたはそれに近い派生物で書かれており、それらの開発は通常、取得を担当するコミュニティのより小さなグループによって実行されます。すべての言語ユーザーに影響する決定。 Cの場合のように、言語の正しい開発を確実にするために制度を形成することさえできます。

どちらを選ぶべきですか?

私たちはすでに言語について十分に話しましたが、私はまだ最も重要なことに答えていません😛。 しかし、この小さな記事を読んだ後、どの言語を選択するかを言う必要がないことを願っています。この情報を使用すると、好奇心を生み出す言語を完全に探すことができるからです。 明らかに、あなたが言語でプログラムすることを学びたいなら アセンブリ 何かが機能するようになるまでには長い時間がかかります。コンパイルされた言語を選択すると、時間が大幅に短縮されます。* NIXシステムでの移植性に加えて、同じシステムの操作に関する情報を学ぶことができます。 Cまたは派生物との接触により、何らかの方法で、オペレーティングシステムが一般的な方法でどのように機能するかを学ぶことができます。 最後に、何か軽いことを学びたいと思っていて、多くを理解する必要なしに多くのことを行うことができる場合、解釈された言語はプログラミングスキルを学び、開発するための楽しい方法です。

エキサイティングな何かで学ぶ

これは私があなたに与えることができる最高のアドバイスです。何かを学びたいのなら、最初に刺激的な何かを見つける必要があります。さもないと、プログラミング言語の典型的な学習曲線を克服するのは非常に困難になります。 システムを管理していると仮定します。その場合、理想的な言語を学ぶ必要があるかもしれません。 スクリプト記述 (解釈)、これらの中にはPerl、Python、Bashなどがあります...おそらくあなたはゲームです、あなたがプレイしたいゲームのタイプに応じて、Javascript、Lua、C ++などの言語で多くのプロジェクトがあります。 ご覧のとおり、C、Python、Perlがあるため、システムレベルのツールを作成したいと思うかもしれません。これは、多くの言語を多くのタスクに使用できるためです。そのため、 多目的言語 これらのほとんどで。

プロジェクトを開始する

これは、次のコンパイラ、または次のプログラミング言語を作成するという意味ではありません。プロジェクトは、お気に入りのプログラムの小さなバグを修正することであり、ドキュメントの改善にも役立つ可能性があります。 なぜドキュメントなのか? なぜなら、ソフトウェアがどのように機能するかを学ぶには、ドキュメントを読んだり書いたりする以外に良い方法はないからです。ソースコードの後、それはプログラムについて見つけることができる最大の情報源だからです。 別の瞬間に、プロジェクトのコードを読み、それらが取得する機能と値を理解する方法を見ていきます。

ここに来てくれてありがとう。いつものように、あなたのコメントは私がより良いコンテンツを生成し、どこに焦点を合わせるかを知るのに役立ちます、Greetings。


記事の内容は、次の原則に準拠しています。 編集倫理。 エラーを報告するには、 ここで.

37コメント、あなたのコメントを残してください

コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   匿名の

    いつものように10 !!!!!! あなたの記事をありがとう。 挨拶などが来ます!!!!

    1.    クリスADR

      どうもありがとうございました🙂私は書き続けることをお勧めします。 乾杯

  2.   ルベン

    「どの言語を選ぶべきか」という質問をするのは間違いだと思います。 私は言語が最も少ないと思う人の一人です。重要なことは、プログラミングの基礎を学び、「計算的に考える」ことです。 構文、その型付け、OOPをサポートするかどうか、そのユーティリティなどを決定します。 それはスタジオで自然にやってくるものだと思います、そして結局のところ、すべてのプログラマーは1、2、3以上の言語を知っています...そして彼が持っているプログラミングの概念(構文ではなく)のおかげで、彼はプログラミングすることができます彼がまだ経験していない言語で。
    ただし、初心者にとっては、その単純さのために優れた言語はPythonである可能性があると思いますが、何よりも、もう少し進んで、アルゴリズムを研究し、物事が「内部」でどのように機能するかを知ってください。

    ChrisADRのご挨拶

    1.    クリスADR

      こんにちはRubén、共有してくれてありがとう
      プログラミングの世界で私が時間をかけて学んだことがあります。それは、「多くをカバーする人は圧迫しない」ということです。このよく知られたフレーズは、何度も、特に最も熱心に、試してみることにします。すべて少し、そしてコーディングを学ぶという点で非常に速いターンがあります。 私の個人的な意見では、優れた開発者は、アセンブリダイアレクトの概念に加えて、コンパイラ言語とインタプリタ言語を知って習得する必要があると思います。
      その理由は次のとおりです。プロトタイピングは常にシンプルで高速で、生成が簡単で、一般的に結果を示すものでなければなりませんが、それでも不十分な場合は、通訳が到着したときに頼る「プランB」が必要です。その限界まで。
      議会の方言を知ることはあなたに自信を与えるだけでなく、あなたに「計算的に」考えることを教えます、しかし明らかにこの部分はすべての中で最も複雑であり、そしてそれは確かにすべてのプログラマーが来るわけではありません。
      しかし、トピックに戻ると、私が考える主なアイデアは「言語を選択してLOTを練習する」であるため、プログラミングを上手に行う唯一の方法はコードを読み書きすることであり、これはカーネルコミュニティから学んだことです。同じ構文を長期間保持すると、フォームが表示されなくなり、背景について心配し始めます。 言語または構文を最初から選択するという考えは、プログラムの構文の代わりにプログラムの意味を読み始めることができるような方法で、その読み取りと書き込みに慣れることができるということです。
      これがこの投稿の主な理由です。それぞれの言語を選択して、以下で概念を説明できるようにします。おそらくこれで疑問が明らかになります。
      共有してくれてありがとう。

  3.   デイビス・コントレラス

    投稿ありがとうございました。

    よろしく

    1.    クリスADR

      こんにちはデイビス、共有していただきありがとうございます🙂ご挨拶

  4.   ホルヘFS

    私のアドバイス:PHP以外のもの。 20年前、PHPは、CGIを使用して別の言語でWebをプログラミングしていた高度な複雑さのために、その存在に一定の意味を持っていました。 しかし今日では、Django for Python、Spring for Java、Rails for Rubyなど、強力な言語でWeb開発をより楽しくするためのさまざまなフレームワークがあります。 PHPは現在、すべての言語人気チャートに表示されていますが、私の意見では、PHPは時間の経過とともにその関連性を失います。
    学習曲線は急ですが、プログラミングの現実を理解するためにC \ C ++から始めることを強くお勧めします。
    ご挨拶。

    1.    クリスADR

      こんにちはホルヘ、共有してくれてありがとう、かなり堅実なフレームワークであるLaravelを覚えているだけです🙂私は個人的にWeb開発にSpringやJavaが好きではなかったので、かなり面倒だと思いますが、それは彼らがいた時間の一部だと思います市場は、当時はパイオニアでしたが、確かに今日では、最新の代替手段(Js、Python、Ruby)により、多くの作業を行わなくても読み取り可能で変更可能なコードの表示方法を改善できました。
      私はまた、人生のある時点でC / C ++を学ぶ人々に傾倒しています。私は、Javaから始めましたが、それがプログラミングの美しさだと思います。一貫している限り、好きなものから始めることができます🙂乾杯

    2.    ルベン

      私はもうあなたに反対することはできません。 私は何年も前にCとVBから始め、後でPHPとJSに焦点を合わせ(Web開発に焦点を合わせたため)、その後勉強しながら主にC / C ++とJavaを学びました。
      PHPには、このメッセージには記載できなかった多くの利点があります。 PHP7は高速で(hhvm、さまざまなキャッシュ、PhalconなどのフレームワークやPythonの場合はバイトコードを使用せずにPythonよりも高速)、膨大な数のライブラリとフレームワークがあり、いつでもそれらを使用するための直接実装された関数が大量にあります。その構文はCに非常に似ているため、他の言語への移行が非常に簡単です。
      世界中のウェブサイトの30%はWordPress(PHP)で作成されており、それは変わらないようです。Wikipediaはそれ、Facebook(hhvmを使用)、および多数のサイトを合計で80%使用しています。

      DjangoのようなRubyon Railsは12歳です! 今回、彼らはどのような割り当てを達成しましたか? そしてもちろん、私たちは実際に独占権を持ち、断片化のタイプがない2つのフレームワークについて話しています。 他にどのような深刻な選択肢がありますか? PHPの関連性が失われると言っても、ほとんど意味がありません。

      Pythonは学習曲線が速いために流行しているので、シンプルな言語であり、Googleなどの企業のサポートを受けて、「Pythonで20時間でプログラマーになり、それに取り組む」として販売されています。 CVで自分を差別化するために新しい言語(Go、Dart…。)を探す方法(またはJavascript用の50のフレームワークの毎日の誕生のように!)は、物事が変わることを意味しません。

      Rubyは非常に興味深い言語ですが、確立されたパターンでは非常に壊れているため、PHPよりも人気が高まったとは信じられません。 もちろん、Rubyはすべてのプログラミングを開始するのに最悪の言語だと思います。
      Pythonはプログラミングが楽しいとおっしゃっていることを理解していますが、Rubyでさえ、その特殊性は無限大です...しかし、Spring with Java? 本当に? Javaは多くのことになる可能性があります...しかし、PythonやPHPよりも楽しいですか?

      Pythonから始めるのは非常に良いことですが、Pythonだけに固執するため、多くの企業がプログラミングのレベルが「深く」ないと信じるリスクがあります(Pythonが非常に得意であっても)。 これは、C ++やJavaなどの他の「多目的」言語と競合するためです。 ポインタが何であるか、ビット単位の操作、ガベージコレクターの動作方法、長いなどの違いを知らなくても、Pythonでプログラミングできます。
      Pythonはおそらく、存在する「古典的なプログラミング」に最も類似しておらず、「子供のための言語」(比喩を理解する)と見なすことができ、それは長所と短所です。

      1.    ホルヘFS

        「Pythonはおそらく、存在し、「子供のための言語」(比喩を理解する)と見なすことができる「古典的なプログラミング」に最も類似しておらず、それは長所と短所です。」 笑、これは私が今まで見た中でPythonについて言った中で最も面白いことのXNUMXつです。 本当にPythonを学んだことがありますか?
        PHP以外で世界中にどのくらいの期間がありますか?
        友人のPHPは死んで生まれました。 PHP(\ d +)は、初期設計が非常に悪いために多くのドラッグがあり、ユーザーコミュニティを維持するために、これらすべての初期設計エラーを非常に徹底的にドラッグし続けます。 PHPはモジュール性なしで生まれ、多くのCスタイルの機能を備えています(ちなみに、その構文はCに似ているため、他の言語に簡単に移植できるため、どこから来たのかわかりません)。 PHPが動作するはずの高レベルの言語には、公式サイトにリストされているこの関数の軌跡のような醜いものがあります。 http://php.net/manual/en/indexes.functions.phpこれは、モジュール性なしで生まれたため、すべてが不潔に混同され、名前名がないためです。
        これはPHPコードの一部です。
        "Stream_notification_callback");
        stream_context_set_params($ ctx、$ params);
        var_dump(stream_context_get_params($ ctx));
        ?>
        ある時点で、これらすべての「ストリーム」機能がどこからインポートされたかを判断できますか? いいえ、それらは組み込み関数であると言えますが、エコシステム全体が組み込み関数ですか? そのため、PHPコードには多くのゴミが含まれているため、このような悪い設計の複雑さと無用さを理解できない場合は、ご容赦ください。それでも、見るべき世界はたくさんあります。
        Wordpressは優れたソフトウェアソリューションですが、これは優れた技術基盤があることを意味するものではありません。 石でハンマーで叩き、歯で釘を打ち出すことができ、それでも優れた木工作業を行うことができますが、もちろん、優れたハンマーを使用する他の大工よりもはるかに多くの作業が必要です。

        一方、「Pythonを使って20時間でプログラマーになり、それに取り組む」というのは、私はそのような愚かさを見たことがありません。 Webプログラミングの仕組みやプログラミング自体の知識がなくても、20時間以内にPHPでWebサイトを作成できます。 実際、これがPHPが非常に人気がある理由です。なぜなら、この世界に入った初心者はPHPを急速な開発のポイントと見なしているからです(これが、PHPコードが非常に多くの場合に非常に困難な理由です)。
        Pythonの欠点に関しては、成功したのはポインタの操作だけでしたが、いずれにせよ、Pythonは(Javaと同様に)高レベルの言語であり、構文レベルでは使用しません。 しかし、ビット単位の操作、深刻ですか?、これはx << y、x >> yを意味します: https://wiki.python.org/moin/BitwiseOperators。 私はガベージコレクターのことを真剣に理解していませんでした: https://docs.python.org/3/library/gc.html.
        PHPのギャップ:
        -PHPのオブジェクト指向プログラミング(OOP)設計は非常に貧弱です。
        -まだ演算子をオーバーロードすることはできません。
        -驚き、 function overloading PHPでは、この概念から自然に期待するものではありません。
        …..そして私はただ退屈しました。
        ご挨拶。

        1.    ルベン

          「メタファーを理解する」(同じ作業環境でPythonとC ++ / Javaを比較することによって)を括弧で囲んでいますが、あなたがそれを理解していなかったことは明らかです。 C / C ++プログラマーの平均給与がPythonのものよりも高いのは当然のことですが、C ++プログラマーはPythonプログラマーがC ++を学ぶよりもはるかに速い方法でPythonを学ぶことができると言えます。
          図面でも、他の例で説明できます! しかし、あなたは私が置いたものを非文脈化して嘲笑することにのみ焦点を合わせているようです。

          PHPが世界で最高の言語であるとか、模範的なデザインであると言ったことは一度もありません。どこから入手したのかわかりません。 他人の知識を判断する前に、読解力を向上させるべきだと思います。 本当のこと(そして私のメッセージで言った)は、フレームワーク、ライブラリ、ユーティリティのエコシステム全体に加えて、それを使った開発は非常に機敏であるということです。
          また、どのような比較をしますか? 多目的言語としてのPythonですか、それともWeb用ですか? その場合、なぜそれをPHPと比較するのですか? PHPには特定の分野があり、Python(0.2%のシェアで、今年は変更されていません)がPHPの次に見劣りするのはその分野です。
          それでは、PHPのトレンドを見てみましょう。 82,4年2017月の83.1%から2018年XNUMX月のXNUMX%へ: https://w3techs.com/technologies/history_overview/programming_language

          PythonはPHPを廃止する予定ですか? 何年ですか? 何年で? 十年?
          Pythonは他の多くのタスクで使用でき、PHPよりも広く使用されるようになりますが、Web開発言語としてのPythonは、関連性すらなく、0.2%が83.1%に対して失速しています(今年は増加しています)。

          あなたはまた、私がPHPの外を回らないと言って物事を当然のことと思っています。これは、私がPHPで長い間プログラミングしていないのに、PHPしか知らないことをほのめかしています。 現在、仕事上の理由から、私は主にJavaでプログラミングしています。
          また、Pythonでプログラミングしても、ビットワイズ、ガベージコレクター、またはポインターについての知識がないとは言いませんでした。 むしろ、これが何であるかさえ知らなくても、Pythonでプログラミングすることができます。 ただし、C ++プログラマーの場合はそうなるとはとても思えません。 そして明らかに、PythonがWebプログラミングではなく、「多目的言語」の分野に入るときに比較を行います。

          20時間でプログラマーになることは単なる冗談であり、誇張です。 しかし、私はここに、同様のことを約束するオンライン教育プラットフォームとコースに関するさまざまなリンクを置くことができました。 私を責めないでください。「エキスパートプログラマー」になることは20時間のコースを受講することだと考えている求人市場を責めましょう。 そして、Pythonはファッショナブルな言語のXNUMXつであり、また、最速の学習曲線を備えています...白とボトルに入っています。

          私はあなたのメッセージはPHPがどれほど悪いかを言うことに基づいていると主張します(ある部分では私は同意します)。 私のメッセージがそれについてではないことを除いて、私には正しいように思えますが、なぜPHPが引き続き使用され、あなたが思うように明日消えることはないのですか。

          拝啓

  5.   誰も

    C->移動->(Lisp | Haskell | Java |何でも)

    1.    クリスADR

      最近、ある読者からGoブックの推奨事項がメールで送られてきました。これは確かに将来考慮すべき言語であり、おそらくここに投稿があります🙂共有するグラフィックがたくさんあります

  6.   mvr1981

    さて...そして私は何をプログラムしますか? なぜ、すでに存在するそのような優秀で経験豊富なプログラマーと一緒にプログラミング言語を学ぶのですか? 他の人がまだはるかに効率的な方法で解決していない問題を解決するにはどうすればよいですか?…要するに、今日のプログラマーはどれほど独創的ですか? 知識や経験の不足に蹴られたり排除されたりすることなく、他の人とどのように協力できますか?

    1.    クリスADR

      こんにちはmvr1981、本当に興味深い質問🙂最後から最初までそれらを巻き上げるつもりです。

      知識や経験の不足に蹴られたり排除されたりすることなく、他の人とどのように協力できますか?

      蹴られたくない場合、最初のステップはプロセスを学ぶことです。自分のやり方だけで物事をやりたいと思ってプロジェクトに来て、コミュニティが彼らの希望に適応することを望んでいる人々の数を想像することはできません。 それは確かに私があなたの家に来て混乱し、あなたの家族を軽蔑しているようなものです(それは何度もそう感じます)。 これを防ぎたい場合は、貢献するためのガイドラインとその手段に細心の注意を払い、不完全なものを送信しないでください。助けが必要な場合は、常にコミュニケーションをとる手段がありますが、不十分な仕事はおそらく悪い第一印象を生み出すでしょう。 自分自身を排除したくない場合は、彼が何をしているのかわからない役に立たないプログラマー、または優れたプログラマーになるための道のりであると見なすことができます。これは、練習でのみ発生し、確かに途中でバグが発生します。 Gentooで開発者のステータスを取得する前に何度も間違っていましたが、それでも「悪い時期」にもかかわらず試してみるのを止めませんでした。

      今日のプログラマーになるのはどれほど独創的ですか?

      -それは独創性ではなく、今日の必需品です。20年または30年前、タイピングは必需品でした。多くの仕事はあなたが知っているか、少なくともそれができると推測しました。 今日、Officeが必要であることを知っているので、Officeドキュメントの前にあなたを置かない仕事は事実上ありません。 明日、まもなく、プログラミングが必要になります。 そして、これは個人的な観点からも当てはまります。お金、健康、家族などの重要なことを委託するプログラムで何が起こるかを知ることは、私にとって論理的なことです。なぜなら、それらがどのように機能するかを知っている場合にのみ、制限を知ることができるからです。それを知るには、プログラミング方法を知る必要があります。

      他の人がまだはるかに効率的な方法で解決していない問題を解決するにはどうすればよいですか?

      -あなたはの量に驚かれることでしょう 機能を使用 それは今日必要とされています、そして実を言うと、コミュニティに世界で最高のプログラマーがいることは問題ではありません、仕事は常に開発者の仕事能力よりも大きいでしょう、私はこれをGentooで確認できます、開発する人々がいますカーネル、Google、Sonyなどで働いている人々...私たち全員に共通しているのは、保留中のすべての作業を実行できるようにしたいと思うほど多くの時間がないということだけです。

      なぜ、すでに存在するそのような優秀で経験豊富なプログラマーと一緒にプログラミング言語を学ぶのですか?

      -これはXNUMX番目の質問で答えられます😉しかし今、私は世代がすでに開発された仕事をサポートできなければならないことを付け加えることができます、これはつまり、それらの「経験豊富な」開発者は徐々に消え、「より若い」ために必要になるということです»開発者は責任を負い、サイクルの存続を支援します。若くて経験の浅い人々がいないコミュニティは、知識を伝達する機会がないという理由だけで、時間の経過とともに消滅する傾向があります。

      そして、私は何をプログラムしますか?

      -これはおそらく答えるのが最も難しいことですが、Shutterのようなプログラムがスクリーンショットを撮ることを妨げるGNOME24とWaylandへの接続の問題に最近苦しみ始めたpocoの例を紹介しようと思います。 これは私にとって問題です。記事を書くときに、私が言っていることを示す必要があるからです🙂少し検索して、控えめに言っても「ミニマリスト」であるGNOMEスクリーンショットアプリケーションにアクセスしました。 その機能の中には画面領域を撮る機能もありますが、うまく撮れなかったらどうなりますか? ええと、私はプログラムを離れて再入らなければなりません。確かに退屈なことです。「再取得」と書かれたボタンなど、出て行ってから再び入らなくても新しいキャプチャを撮ることができます。これは小さなプログラミングプロジェクトであり、GNOMEフレームワークで何もプログラミングしたことがないので、新しいボタンで「パッチ」を送信する前に、明らかに学ぶことがたくさんありますが、その過程でプログラミングを学び、うまくいけばこれを学びます。 特徴 それがすべての人に利用可能であるとき、それは複数の人に役立つでしょう。

      これは一例です。これは単純なことであり、他の「エキスパート」プログラマーなら誰でもすでに実行できたはずですが、明らかに時間がないため、そうではありませんでした。今では、実際にスーパーになることなく、実行できる可能性があるのは私です。プログラマー。

      今では、頻繁に使用するソフトウェアであなたの生活を「シンプル」にするものを見つけるのはあなた次第です。その美しさは、次の記事で説明するアドバイスに従えば、言語は重要ではないということです。彼らは彼らが読んだコードを理解し始め、あなたが望むことをするためにそれを修正するための基本を知っているでしょう、それは非常に特別な感覚です🙂

      ご挨拶とありがとう

      1.    誰も

        gnomeキャプチャプログラムを開いて初めて、キーボードショートカットに移動し、XNUMXつの組み合わせを割り当てて、すべてのalt-printをキャプチャしてアクティブなウィンドウをキャプチャし、super-printを割り当てて選択を行うのが最も簡単だと思います。キャプチャ領域、利用可能なショートカットはここにあります、それは単にそれらを割り当てるだけの問題です

        1.    クリスADR

          そのため、例を示します🙂そのボタンのような小さなものはプログラミングであるため、他の人に気付かれることなく一部の人を助けることができますが、確かに主な目的を達成し、プログラミングの学習を助け、新しい機能に道を譲ります、そのボタンの後で、セッション管理、撮影したすべての写真のプレビュー画面、または最後に実行できる多くのことなど、多くのことを開始できます。 アイデアは、好奇心を刺激する何かを見つけることです。システムで実行されるソフトウェアには、時間や人員の不足のためにまだ実装されていない改善や新機能が必要になる場合があります🙂

      2.    mvr1981

        おかげさまで。 とても良い答えです。

    2.    ビル

      さて、この分野の専門家にならない人にとっては、管理タスクとディレクティブの両方について、Python / Basicなどを知り、LibreOfficeやMSOfficeなどのオフィスパッケージでマクロをプログラムする方法を知っていると、どの環境で機能するかを確認する必要があります。 これにより、あなたやあなたを取り巻く他の労働者の作業時間を大幅に節約し、繰り返しのタスクを実行するように依頼できる場合があります。ダッシュボードを作成して、データベースに接続した後、会社の主な比率をすばやく計算できます。それのいくつかのSQLクエリを実行します。
      すべてのように、あなたがあなたの指先でツールを知っているならば、あなたはそれを最大限に活用する方法について考えることができます。 すべてが構成されているわけではありません。

  7.   マルセロ

    ギレルモ、「すべてが発明されているわけではない」とあなたに完全に同意し、発明されたものは変更可能です。 ツールを最大限に活用し、ニーズに最適なツールを使用する必要があります。

  8.   リカルド

    プログラミングの場合、最初に学ぶ言語は英語であり、次に彼らにとって最も魅力的で最も美しいと思われる言語です。

    1.    クリスADR

      私はそれを書いていませんでしたが、それは本当です🙂ほとんどの言語が書かれているので英語を知っていることは大いに役立ちますだけでなく、直接の情報の量も多いので共有していただきありがとうございます

  9.   ルーベンサルガド

    やる気を起こさせることに加えて、優れた記事。

    1.    クリスADR

      とても親切で、ありがとうございました🙂ご挨拶

  10.   ゴンサロ・マルティネス

    プログラミングは、推論し、その推論を命令に変換する方法を知っています。

    記事に関するXNUMXつの説明:

    1)10年近くのプログラミング教師としての私の経験に基づくと、どの言語で学ぶかは問題ではなく、どのように学ぶか、そしてそれがどれほど複雑かは問題ではありません。

    構造化された方法で学習し、他のより複雑なことに移ることができる言語は、最初からJavaのような言語から始めるよりも簡単だと思います。

    数行(Pascalの場合はPROGRAM、または#include)を使用するよりも、ベースとしてCまたはPascalのHelloWorldのようなものを学ぶ方が簡単です。 C)の場合、Javaのように、アルゴリズムの開発を開始し、そのロジックを使用してプログラムを直接コーディングできます。Java自体には、クラス、メソッド、および初心者にとっては情報の過負荷であるその他のいくつかのものが必要です。不必要であり、それは無視されて他のことに移るかもしれませんが、それらはそこにある概念であり、私の意見では、物事を見落とすことは、特に言語があなたにそれらを使用することを強制する場合、学ぶのに良い方法ではありません。 これは、M-16で初めてターゲット練習を開始し、ピストルのように両手でハンドルを持って半自動モードで数か月間撮影するようなものです。

    2)言語が解釈されるかコンパイルされるかは、言語自体ではなく、その実装に依存します。 たとえば、Pythonが使用されている場合、wsgi(apacheのmod_wsgi、またはNginxのuwsgi)を使用するWebアプリの場合、対応するモジュールの起動時にpythonコードがコンパイルされ、.pycファイルが生成されます。

    java用のバイナリファイルジェネレータ(バイトコードの代わりにネイティブバイナリを生成する)、または純粋なバイナリのphpスクリプトのコンパイラもあります。

    彼らがPHPについて言うことに関しては、それは他のことを念頭に置いて、当時存在しなかった側面を考慮せずに、単に別の時代に設計された言語です。 明らかに、それが最も使用されているという事実は、それを世界の何にとっても最良にするわけではありませんが、現実があります。それは、すべてのプログラミングで仕事を得る可能性が最も高い言語です。 あなたがそれを気に入らなくても、それを知っていても害はありません。

    私は数年間システム管理者として働いていて、開発者の仕事を辞めましたが、PHPコードを何かに入れなければならないことがよくあります。

    1.    クリスADR

      こんにちはゴンザロ、共有してくれてありがとう、

      確かに、不必要な情報の過負荷について言えば、同じ言語を解釈またはコンパイルできることを知っていることは、この段階では必要ありません🙂確かに実装は重要ですが、このレベルで言えば、混乱以上のものは発生しません。 同様に、オブジェクト指向のプログラミングの問題、または人々をめまいさせないように徐々に投与しなければならない他の概念は扱われていません。

      スペースが限られているので、投稿の主な目的は、プログラミングしたい読者に、「伝統的に」解釈された言語がより「単純」であり、「伝統的に」コンパイルされた言語のXNUMXつの素晴らしい世界があることを示すことです。より「複雑」ですが、より確実に理解することはそのレベルの複雑さの価値があり、プログラミングのアプローチに応じて、彼らは自分の好きなプロジェクトを選択することができ、同時に彼らは理解することができるので、言語を選択するのは各人次第です彼らが読んだり書いたりするもの🙂

      どうもありがとうございました。

      1.    ゴンサロ・マルティネス

        これはエラーです。コンパイルされた言語や解釈された言語はありません。言語ごとにインタープリターとコンパイラーがあり、どちらもケースが異なります。

        今言及することは情報の過負荷ではありません、そのような声明をすることは間違いです。 私の意見では、情報で過負荷になりたくないのであれば、通訳を無視する方が生産的だったでしょう。

        1.    クリスADR

          明確化してくれてありがとう、私は主題に戻るときにそれを考慮に入れます。 乾杯

  11.   アレス

    phpが不利になったことを考えると、サーバー側にどの言語をお勧めしますか?
    データベースについても同じですが、mySQLよりも優れた最新のものがあるかどうかはわかりません。

    1.    クリスADR

      PHPは人気を失っていません...すべての言語にはライフサイクルがあり、phpは確かにすでに「成熟した」スケールに入る言語であり、安定性が何よりも重要なビジネスレベルで役立ちます...それがまだjavaで開発されているいくつかの銀行のように、それはphpよりも「成熟」していて、確かにその信者と批判者がいます...そしてCOBOLは言うまでもありません...

      あなたが探しているのが均一性と現代性である場合、ルビーのパラダイムやパイソンの「シンプルさ」も良い参考になりますが、javascriptはいわゆる「フルスタック開発者」のお気に入りのXNUMXつになりつつあります…。 必要に応じて、perlでさえオプションになる可能性があります🙂

      現在、ORM(オブジェクトリレーショナルマッパー)は、リレーショナルデータ管理の面で大きな力を獲得しています。 それはSQL構文からクラスと属性の処理に行きます...ほとんどすべての言語(すべてではないにしても)はいくつかのORMを処理します。

      。 Mongo DBは、非常に重要になっているリレーショナルデータベースの代替手段ですが、その長所と短所を理解し、特定のニーズに応じて最適なソリューションであるかどうかを検証する必要があります。

      お役に立てば幸いです、ご挨拶🙂

      1.    アレス

        ありがとう、私はそれをチェックします。

      2.    アレス

        忘れてた。

        LinuxでJAVAを使用することをお勧めしますか?
        フリーとクローズをうまく区別できれば。

        1.    クリスADR

          EclipseとNetBeansはオープンソースです。純粋に無料のソフトウェアがあるかどうかはわかりません。コードの量によってIDE全体の使用が遅くなり、実行エラーが発生しやすくなるため、vimを使用する習慣があります。 ご挨拶🙂

        2.    PaulZeta

          Linuxでjavaを使用するには、IntelliJを使用することをお勧めします。

          1.    クリスADR

            PS、IntelliJは独自のソフトウェアです🙂

  12.   je

    みんなも覚えています...私は銀行で働いています、そしてプログラミング言語はSQLと保存されたプロシージャを最初にさせるために後部座席を取るとあなたに言います。

    1.    ゴンサロ・マルティネス

      保存されたプロシージャを考慮に入れる必要がありますが、少なくとも私の経験では、エンジン間で移植可能な言語を使用しないことにより、他のオプションがない限り、常にそれらを回避することになります。