誰もがプログラミングを学ぶべきだと言われていますが、どの言語を学ぶのが良いのでしょうか?
私はもうすぐ30歳ですが、現在の仕事は公的機関の会計士なので、日常生活でプログラミングは必要ありません。
でも、高校時代にゲームに飽きて、HTMLとphpの作り方を少し勉強して、収入を得ました。私の純粋な興味は、おそらくセミプロの仕事に変わりました。 4、5 年経つと、以前は主に CMS と SEO に頼っていましたが、PHP は入門レベルではなかったので、ノートブックを構築することができました。
今、社会の発展が早すぎて、私はまだ少し興味を持っていますが、仕事の空き時間を使って言語をしっかり学びたいと思っています。一方で、それは私の興味を満たしますし、さらに重要なことに、それは準備にもなります。将来的に役立つかもしれません。どの言語を学べばよいかわかりません。
返信内容:
公的機関の会計士…公的機関の会計士が昔(2000年頃)に何を学んだかご存知ですか?
Visual FoxPro
以前は、多くの場合、必要に応じて自動処理スクリプトを作成する必要がありましたが、Visual FoxPro は非常に優れており、直感的でした。タイムリーなフィードバックが得られ、作業効率が向上しました(当時のxlsが簡単にインポートできました)。
以下の個人的な見解:
潜在的な仕事のニーズ: Excel の VBA (反復作業を大幅に軽減するツール)、Visual FoxPro (優先順位が低い、結局のところ、古すぎるが、存在するかどうかを言うのは難しい)これを必要とする古いデータに対処するため)
自分の興味や趣味の場合: Python を学んでクローラーを作成したり、Raspberry Pi をいじってスマート コントローラーを作成したり、携帯電話で簡単に実行できる小さなプログラムを作成したりすることは何でも可能です。自分自身で、記録するためにブログをいじってみてください。待て、待て、重要なのは、あなたが興味を持っていて、学ぶ意欲があるということです。

次に python を学びます。なぜ最初に Python を学ぶのでしょうか? そのモジュールは完成度が高く、「すぐに結果が得られる」からです。
それでも「最下層」を探索したい場合は、C に進みます。 C++ に騙されないでください。楽しみのために C++ を学ぶのは問題ありませんが、それは大きな罠です。
C の「モジュール」や「基礎」も非常に成熟しています...しかし、一般的に、C を学習しても「結果はすぐには出ません」。なぜなら、C の「基礎」はオペレーティング システムのカーネルだからです。 C の「API」は基本的にシステム コール (つまり、「Unix 環境での高度なプログラミング」) です。この時点で、C コンパイラによって吐き出されたアセンブリが何であるかを理解できる必要があります。次に、オペレーティング システムのカーネル、コンパイラ、バイナリ ツールなどに問い合わせて、これらの「低レベル」のものがどのように機能するかを理解します (「プログラマの自己修養」、「コンピュータ システムの深い理解」、「Linux デバイス」を参照)ドライバー") "、"Linux カーネルの設計と実装"、"Linux カーネルの深い理解"、"Linux カーネル アーキテクチャの詳細"...)。このように、C の罠は実際には非常に大きいです (C++ にそれを奪わせないでください。それが意味するところです。C の哲学は、基本的にすべてが乾いたものです。噛むことができる限り... C++、これです)そうではないかもしれません。時間を費やすよりも、C++ での派手なトリックをすべて無駄にするよりも、無味乾燥なものを食べたほうが良いでしょう)... なぜなら、カーネルのソース コードを読む場合は、Makefile、シェル スクリプトなどを理解する必要があるからです。リンカー スクリプト、ASM、そしてもちろんハードウェア アーキテクチャなどについても少しは知っていますが、いずれにしても、カーネルの作成に関する書籍で言及されているので、関連する知識ポイントを自分で確認できます。それは時間の問題です。
また、もちろん、データ構造とアルゴリズムの基礎をここで確立する必要があります。データ構造は、バイナリ ツリー、赤黒ツリーを検索し、グラフを構築するために少なくとも作成できます。アルゴリズム、基本的な並べ替え、マージ 並べ替え、クイック 並べ替え、順列と組み合わせを生成するには、DFS と BFS のこれらの基本的な検索を理解する必要があります。
C すぐには効果がありません。一般的に、しばらくは Web クローラーについては絶対に書きません。しかし...もしかしたらそれだけの価値があるかもしれません。
Cの再帰をクリアします。関数スタック フレームを作成および破棄する方法、それをアセンブリ コードに変換する方法、再帰をスタック構造 + ループ不変式に変換する方法。次に、任意のループは再帰によって表現できるが、再帰はスタック構造のないループでは表現できないという結論を導き出すことができます。つまり、再帰は (スタック構造のない) ループよりも強力な計算能力を備えています。再帰関数の計算能力はチューリング マシンの計算能力と同等です。さて、私たちはここにいます - 伝統的に言えば、私たちはコンピューターサイエンス/アートの扉に入りました。
始めたら気軽に遊べます。
最初にインタプリタを作成して遊んでみることができます。このためには、オートマトンの基本的な理論的知識 (「オートマトンの理論、言語、および計算入門」) を準備し、次に読むためのコンピレーション本 (「コンパイルの原理」) を見つける必要があります。1 冊では不十分な場合は、追加してください。もう少し (「コンパイルの原則」、「原則と実践」、「コンパイラのアーキテクチャ」) を参照すると、おそらく完全に説明されます。 「Homemade Programming Language」など、インタプリタの書き方を学べる別の本を探してください。次にコピーします。コピー後、コンパイル原則を読んで再度コピーしてください。このようなもの。
これは、趣味が悪くても、実装が不十分であっても、十分に複雑なコンピューター言語を自分で作成できることを意味します。
それからカジュアルにプレイしてください。
たとえば、Lisp システムを使用している場合は、最初にスキームを試してみることをお勧めします。
Prolog、Haskell、Ruby、io、Erlang、... 時間があるときに遊んでください。
とにかく、現時点ではどの言語を学ぶにも、一般的にはそれほど時間はかかりません。ただ始めたいだけであれば、現時点では言語を学ぶ必要はありません。一時的に学習してスタイルを真似すれば、基本的にはまともに書けるようになります。つまり、これが本当の遊びなのです。
とにかく、言語は自分で書くことができます。この時は「味覚」を養うことです。
それでは、たとえばカーネルについてはあまり熟練していないとしても、コンパイル理論でコードの特定の部分を探せば、そのコードがどこにあるのかを見つけることができます。実際には、より一般的またはより洗練されたものを書くことができます。特定のデータ構造とアルゴリズムの実装は、それをどのように書くかを考え、他の人が書いたものと比較するのが非常に興味深いです。
そうですね、実際には、どれだけ楽しく遊んでも、それだけでは十分ではありません。このレベルでは、非常に低いとは言えませんが、おそらくそれほど高くはありません。まだまだ未知のことがたくさんあります。しかし、人生の喜びはそこにあるのかもしれない。 パイソンをお勧めします
php、java、python、javascriptなどの言語を学ぶことはお勧めできません。専門的なソフトウェアとして仕事を見つけたい場合、これらの言語が良くないというわけではありません。エンジニアであれば、これらの言語を学ぶしかありません。多くの企業があり、仕事は簡単に見つかります。
ただし、質問者は会計士であり、私は主に仕事への興味と実際的な助けのためにプログラミングを学んだので、Windowsを学ぶことをお勧めします システムの下にある .net テクノロジー システムと、.net プラットフォームの下にある優先言語 c#
.net プラットフォームと c# を学ぶ理由
質問者は、プログラミングを学ぶ理由の 1 つは興味のためだと言いました。 興味があるので、就職を考える必要はありません。最もクールで強力な言語を学ぶのが最適です。ソフトウェア開発業界には非常に多くのプログラミング言語があります。最もクールな構文、最も便利で最も強力な機能を備えた言語を見つけたいなら、それは C# です。
もちろん、現在の関数型プログラミング言語の一部は構文の点で C# を打ち負かすことができますが、それらは実際にはプロ以外のプレイヤーが遊ぶのには適していないと思います。関数型プログラミング言語を学ぶことは、学ぶことよりも難しいことです。通常のプログラミング言語は非常に大きいので、単純なものを完璧にするためにこのエネルギーを使う方が良いのです。結局のところ、プログラマーではない人の主な仕事はプログラミングではありません。ただし、関数型プログラミングに興味がある場合は、.net プラットフォームの f# も良い選択です。
2 番目のポイントは、役立つ必要があるということです。対象者はもう30歳で、長年経理の仕事に就いていますが、転職してプログラマーになるのは不可能だと思います。 つまり、IT 業界で最も人気のある言語を学ぶ必要はありません。 実践的な学習を選択することです。C# が第一の選択肢であることは間違いありません。 Microsoft テクノロジーを使用したソフトウェア開発の特徴の 1 つは、異なるプラットフォームであってもプログラミングの概念が同じであることです。つまり、C# を使用して Web サイトを開発できるようになれば、C# を使用した Windows クライアントの開発にスムーズに移行できます。ターミナル アプリケーション、Windows10 uwp アプリケーション (Windows を含む) さらに驚くべきことに、Microsoft の .net に加えて、C# を使用して Android および iOS アプリケーションを開発することもできます。と C#、誰がそれを行うことができますか? .net と C# を学んでいれば、将来どんなソフトウェアでも開発できますし、仕事ができるふりをすることもできます。
Python と Java が .net よりも多くのライブラリを持っている可能性があることは否定できませんが、.net がデフォルトで提供するライブラリのほとんどは、想像できるあらゆる関数を開発するのに十分です。何年もの間、ライブラリが不足するという問題に遭遇したことはありません。 さらに、Python と Java ライブラリの最大の問題はバージョンの問題です。Python と Java を使用する過程で最もよく遭遇する問題は、オンラインでダウンロードしたライブラリのバージョンがローカルにインストールされている動作環境と一致しないことであり、その結果、さまざまな問題が発生します。不可解な数秒のエラー、これらの問題は .net では発生しません。また、.net のドキュメントも非常に充実しており、どんなに些細なことでもすべて msdn に記録されています。
もう 1 つの問題は開発環境です。他の言語でプログラムを開発する場合、実行環境、IDE、サーバー、さまざまな設定など、たくさんのものをインストールする必要があります。これはプロのプログラマーにとっては重要ではありません。質問は初心者ではありませんが、それでもこれらのことを行うには多大なエネルギーが必要です。ただし、.net インストール環境は非常に使いやすく、インストール パッケージを 1 つ実行してマウスをクリックするだけで、必要なものがすべて揃って使用できます。 さらに、他の言語を学習する場合、Linux の使用方法を学習する必要があることがよくありますが、専門家ではない人にとってはさらにプレッシャーになります。.net と C# の使用方法を学べば、この点に関して心配する必要はありません。 Windows PCと何ら変わりません。
最後に、コードを書くには経験も必要であり、コードを入力するのにも精力が必要です。したがって、どの IDE を使用するかが非常に重要です。市場の IDE について議論するとしたら、世界でナンバー 1 は Microsoft の Visual Studio でしょう。コーディングとデバッグを使用するのは他の IDE の追随を許さないほど楽しいです。
それでは、ためらわずに .net と C# の学習を始めてください
私は議論するためにここにいるわけではありません...英語を勉強することをお勧めします... 私は今 Python コードを書いています。実際、どの言語を使用するかはあなた次第です。PHP の知識がある場合は、PHP を続けることがより適切です。 最下位レベルが好きなら、C とアセンブリを学習してください。マイクロコントローラーの開発版、回路設計の本を数冊、コンポーネント、はんだごて、オシロスコープを購入すれば、いくつかのガジェットを作ることができます。 (安全性に注意)
SchemeやHaskellなど、より高度な関数型プログラミングを学びましょう。しっかり学べば、機能愛好家たちのハイエンドの輪に加わることができます。
js と py を学ぶ方がより実践的です。 Web サイトを構築するには、クローラーを作成するだけで十分です。
本当に理解できない場合は、C++ を学びましょう。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。
