基本的な知識がない場合、Java、PHP、または Python を学ぶことを選択する必要がありますか?

WBOY
リリース: 2016-06-17 08:30:22
オリジナル
966 人が閲覧しました

先輩方のアドバイスのおかげで、私は PHP の学習を開始し、ハン シュンピン先生のビデオを見ました。
今の主な仕事は勉強することですが、成功したら私の経験を共有します=。 =

返信内容:

7回収集されていますが、いいねは2件しかありません。通りすがりの兄弟たち、「いいね!」をしてもらえますか?
================ 元の回答の分かれ目==========
たくさんの回答を読んだ後、私はこう言いたいです。他の子供たちを誤解させないでください。私の答えを信じてください。説得力を高めるためには、自分の経験を示す必要があります。
清華大学で修士号を取得し、北京で 2 年間 Java を書き、杭州で 3 年間 Python を書きました。現在は Python 仮想マシンを徹底的にカスタマイズし、現在は arm で JavaScript 仮想マシンの開発に取り組んでいます。私はまだ優れた人間ではありませんが、私の経験はほとんどの新しい実践者にとって参考になると感じています。以下は公式の回答です。

この 3 つの中では Java が最もお勧めです。 Python ももちろん良いのですが、初心者にとって最も重要なのは、まず仕事を見つけることですよね。仕事を見つけることに関して言えば、間違いなく Java が最も簡単です。さまざまな業界の人々にとって、実際に最も難しいのは最初のステップ、つまりこの業界にどうやって参入するかということです。入社することさえできず、最初の仕事を開始できない場合は、一生懸命働いてデータ構造、デザインパターン、アルゴリズム設計のギャップを埋めましょう それについて話すのは不可能ですよね?

学歴に関する主張を恐れないでください。私はメジャー出身ですが、努力する気持ちさえあれば、乗り越えられない差はない、といつも思っています。一番大切なのは、目標を高くしすぎないこと、成功を焦らないことです。プログラマーという職業には学習と蓄積のプロセスがあり、努力した分だけ何かが得られます。学習に内在する法則を尊重し、一歩ずつ進んでいけば、いつかなりたい自分になれるでしょう。

次に、具体的な計画についてお話します。
1. Java の実行環境を理解します。パスとクラスパスが何をするのか、そしてそれらをコマンドラインでコンパイルして実行する方法を調べてください。 IDE のボタンの背後で実際に何が起こっているのかを理解してください。
2. Java の構文をマスターします。パッケージ、インターフェイス、クラス、継承の基本概念を理解します。ポリモーフィズムをマスターし、上書きし、InputStream/OutputStream や Writer/Reader を含む IO インターフェイスを記憶し、ネットワーク プログラミングと GUI プログラミング インターフェイスを記憶し、JDBC インターフェイスを記憶します。このステップにおすすめの本は「Javaで考える」です。
3. マルチスレッドプログラミングをマスターします。 ConcurrencyHashMap がどのように実装されるか、同期とは何か、Runnable インターフェイスがある理由を理解します。

2 番目と 3 番目のステップを 80% マスターしたら、仕事を探すことを検討できます。

4. 仕事でデザインパターンを体験する。 「Java とパターン」という本をお勧めします。その中の Decorator と IO インターフェイスを読んだ後は、それらを再び丸暗記することはできなくなります。使用する際は、AdapterやDecoratorの命名規則に従って、一時的に推測することができます。
5. データ構造の補完が不十分です。 LinkedList と ArrayList の実装メカニズムを理解し、それぞれのインターフェイスの時間計算量を理解します。他のコンテナ、Map、Set もありますが、それらはすべて同じです。スタック、キュー、バイナリ ツリー、グラフはプログラミング全体で使用されます。このステップを実行できない場合は、低レベルのプログラマとしてしか作業できません。
6. 可能であれば、アルゴリズムの設計に手を付けるのが最善です。例えば、動的ルールの考え方、貪欲なアルゴリズム、KMPのような素晴らしいアルゴリズムなど。このステップはデータ構造ほど重要ではありませんが、よく学ばなくてもあまりイライラしないでください。

現時点では、あなたとプロのプログラマーとの差はそれほど大きくありません。職場で独立して開発タスクに取り組むことができるようになりました。

7. 上級者向け、自分の考えを持つことができるようになりました。 Java は今日まで発展し、さまざまな場面で使用されており、最も広く使用されているプログラミング言語であると言っても過言ではありません。基礎を築いたら、どの方向に発展させるべきかを検討できます。たとえば、サーバー側アーキテクチャの場合は、JavaEE を学ぶのが最適です。 JEE は常に敷居が高すぎると感じていました。実際に Spring から始めて、リフレクション、制御の反転、依存関係の注入が何であるかを理解することができます (これらの名詞は実際には、Java 自体が十分に動的ではないという問題を解決するために使用されます。ここでは説明しません。重要なのは、これらの概念は大したことではありません。見栄を張った人たちに脅迫されないでください。)メッセージングや ORM などもありますので、すべて理解してみましょう。彼らが解決しようとしている問題について考え、それをどのように解決するかを推測してください。インタビュー中に、実際、ほとんどの優秀な開発者は、これまでこの問題について考えたことがなくても、その場で Hibernate を設計でき、ほぼ同じように設計できることがわかりました。これは、これらのフレームワークのことは大したことではないことを示しています。基礎があればデザインも可能です。重要なのは頭を使うことです。上記はサーバーサイド開発の例です。クライアントの場合、イベント応答メカニズムがどのように機能するかを考える必要があります (これについては詳しくないので、これ以上は述べません)。 JVM のソース コードやその実装メカニズムを詳しく調べ、ガベージ コレクション アルゴリズムなどについて学ぶこともできます。

このステップで、上級 Java 開発に申し込むことができます。運が良ければ年収300万も可能です。最低保証も20万です。

8. アーキテクチャ。この時点で、あなたは部屋に入り、真の上級開発者になったことになります。このステップでは、高い同時実行性の処理方法、分散システムの処理方法、より堅牢なデータ サービスの提供方法など、さらに多くのことを考慮する必要があります。現時点では、参照できる既製のものは何もありません。それはすべてあなた自身の理解にかかっています。したがって、最終的にどのくらいの高さに到達できるかについては、私のレベルではコメントできません。

プログラミングの世界は、プログラミングを愛するすべての人に常に開かれており、それは自由、平等、共有の世界であると私は常に信じてきました。

あなたが成功したプログラマーになれることを願っています。幸運をお祈りしています。
上。 私が言いたいのは、プログラミング言語、任意の言語を選択してくださいということです。それから、魔法のようなプログラミングの旅をすぐに始めましょう。
コンピューター プログラミングを学習し始めるとき、最初に直面する障害はプログラミング言語の選択です。初心者が犯すよくある間違いは、経験豊富な開発者にどのプログラミング言語を選択すべきかを尋ねることです。

実のところ、この質問はまったく重要ではありません

私がコンピュータ プログラミングを正式に学び始めたとき、先生が使用したプログラミング言語は Pascal でした。これは、私が子供の頃に初めて ST BASIC に出会って遊んでから何年も後のことでした。それは1998年、私は17歳でした。 Pascal を初めて使用する場合は、次のコード例を参照してください:

<code class="language-text">program HelloWorld;  
begin  
  WriteLn('Hello World')
end.
</code>
ログイン後にコピー
個人的にメッセージをいただいたので、率直にお答えするよう最善を尽くします。

あなたは自分が呼んでいるプログラマーをあまりにも過小評価しています。私は学部 2 年生で、大学で 4 年間ゲームベースの勉強をし、最後に 3 か月のトレーニング クラスを受けて、税引き前で 2,500 ドルを費やしました。基礎をしっかり学んでいない場合、数か月のトレーニング クラスを受けただけではプログラマーになることはできません。これをコルヴィーと呼びます。

あなたは土木工学の経歴があり、興味のためではなく、非常に利益が得られそうなので、生計を立てたいと考えています。さらに、この決断を下すまでにわずか数日しかかからなかったようです。そして、半年以内にそれをやりたいと考えているなら、税引き後の給与が 6,000 人民元の仕事を見つけたいと考えます。これは、ファーウェイや ZTE のような企業の専門学校の採用レベルです (2014 年)。北京での競争力はありますか?

土木工事がやりたくないなら仕事を辞めて家にいてください。家を買うためだけに働きたいならまだ仕事を選ぶ余地があります。まったくお金のこと。あなたは私にアドバイスを求めるプライベートメッセージを送ってきましたが、あなたの家族の状況を見てとてもうらやましく思いました。

IT 分野で成功するために最も重要なことは、IQ ではなく実践力があることです。もちろん、あなたが並外れた知性を持っているとは私が言っていないことにしておいてください。しかし、ゲームをしているからといって英語と数学をうまく学ぶことはできないと言うことはできます。そして、第一に、あなたは IT を学ぶことに興味がなく、第二に、現実的な性格がありません。本当に私の時間を無駄にしていませんか?

最後のヒント: coursera.org/learn/pyth これを学べないなら、気にしないでください。 さあ、サイコロを振ってみましょう。Java 3、4、PHP 5、6、Python を投げたら、すぐに学習を始めてください。Zhihu を何度も読んできました。 5 日間でどの言語を学ぶか決まりましたか?私は 5 日前に基本的な Java 構文を読み終えて、leetcode をゆっくりと磨き始めました
あなたは家を買う余裕のある仕事に就けるかどうかを知る必要があります 彼は少なくとも C++ Python Java PHP Ruby C# Objective-C At を知っている必要があります。少なくとも、3 番目の分野ではデータ構造を十分に学ぶことができます。また、コンパイル原理と OS を専攻していない場合、これに取り組む時間はありません。 UCB の学生は 1 年生で Python を学び、1 年生で Java でデータ構造を書き始めると言いたいですか?ギャップ? Pythonを学ぼう! Python を学ぼう! Python を学ぼう!
私にはこの問題について話す資格があると思います。そして、私は言語の長所と短所ではなく、人の能力と決意について話します。
私の学部の学位はビジネスです。学校ではプログラミングの授業を一度も受けていませんし、数学から線形代数まで何も習っていません。そして、私はこの科目があまり得意ではないと感じています。
2013 年に卒業した後、私は正式にインターネット会社に入社し、フルタイムでプログラミングを始めたのは 2015 年末になってからでした。 入社して半年も経たないうちに、自分でプロジェクトを立ち上げ、チーム構築を担当するようになりました。

卒業の 2 年前、私は伝統産業で働いており、仕事にプログラミングが関わることは何もありませんでした。 2013年からPythonを独学で勉強しています。当初、私は主に政治に興味を持っていましたが、中国の主要幹部 のすべての情報を調べて、指導者の生年月日を統計的に分析しました。 (PS クローラー プロジェクトは、初心者村限定で、制限なしでこの Web サイトを強く推奨します)
その後、私は自分でいくつかの小さなプロジェクトを実行し、データをクロールし、Web ページを解析し、データベースに保存する方法を学びました。 。 これらの能力と大学で統計関連のコースをいくつか取得したため、私はインターネット会社に入社し、データ マイニングとクローラー関連の仕事に従事しました。

入社して数か月が経ち、Java を使用している同僚 (全員ではありません) と私との違いをはっきりと感じました。 Python を独学で学んだので、教師の指導なしで情報を入手し、目標を達成することができました。私はもっ​​と積極的です。社内の Java 同僚の中には、要求に駆られて行動する人もいます。彼らは一度に 1 歩しか進めず、まったく推進できないこともあります。 そして需要が来る前に自分で需要を発見し、事前に出ていない需要に応えに行きます。

(人はあまりにも受動的だと、簡単にコンフォートゾーンに入り、よりよく学ぶことができなくなると思います。アクティブラーニングの方が早いです。)

後で、いくつかのことを満たしたので、上司が非常に多くのニーズを重視しているとのことでしたので、この大きなニーズを満たすチームを編成させてください。それから私は人を雇いましたが、それは私が Python しか知らなかったからではありません。ここ数か月で Java を学び、C# についても多くのことを学びました。しかし、Python を使用するプログラマーは、主流の国内言語を知っているプログラマーとは本質的に異なります。

中国市場では Python が人気がないため、訓練機関はこのクラスの提供に熱心ではなく、この言語は中国の大学では Java や C++ ほど人気が​​ありません。 Python を知っているすべてのプログラマーは独学です。Python 自体を知っているということは、問題を独自に解決する能力と、急速に成長する能力があることを証明します。 採用された人は誰でもすぐに望ましい結果を達成できますが、これはほとんどの Java プログラマーには不可能です。

(すべてではありません。一部の Java プログラマーは学習能力が高い場合があります。ただし、審査コストは Python よりも高くなります)

つまり、Python プログラマーとして、あなたは今、自然なラベルがあれば、学習し、学習を理解し、問題を自主的に解決できます。これはほとんどの企業が必要としているものです。

これらのラベルがある場合、なぜ最初に中国の主流言語を学ばなければならないのでしょうか? (Python は国際的にも主流の言語です)
より良い就職活動のためだと言うのであれば、いくつかの面で Python の方が競争力があると言えます。

私は現在 Python エンジニアを募集しているのですが、基本的には履歴書を見てみたいと思っています。 (人数が少なすぎるため) 社内の他のプロジェクトで募集している Java エンジニアについては、同僚が履歴書を書き終えることができないと言っていました。

当社は特殊なケースだと言えるかもしれませんが、実は Python エンジニアは採用が難しいことで有名です。そのため、多くの企業がプロジェクトを Java に変更しました。国内のPythonベースのWebサイトの多くがJavaエンジニアの募集を始めているのはなぜでしょうか。 - Java
彼らは Python を知っているエンジニアを望んでいませんか? いや、ただ奥さんの採用が難しすぎるだけだ。

最後に、Python を始めてキャリアを変えるための最速の方法について話しましょう。
爬虫類を学びましょう。
開始するのに 2 週間、データベースのクロール、解析、入力のプロセスを把握し、複数のプロジェクトを追加するのに 6 週間かかります。 ジャンプする準備をしてください。
必要ですか?
元気いっぱい。

最後に宣伝させていただきますが、深センエリアでは信用調査関連のビッグデータプロジェクトのために、Python クローラーエンジニアを長期にわたって募集しています。経験や背景を見ないでください。 あなたが行ったプロジェクトを見てください。興味があれば、個人的にメッセージを送ってください。 質問者さんの「プログラマー」に対する考え方を批判するつもりはありません、結局のところ、線で区切られていて水の深さが分からないのが普通です。
私は単に主題の主要な質問についてコメントしているだけです。最初に作業を行う言語を選択するのではなく、実行する作業を選択してから、必要な言語を使用するのは本末転倒です。
厳密に言えば、これら 3 つの言語に難易度の違いはなく、他の 2 つの言語を完全に置き換えることはできないとさえ言えます。響きの良い名前を選んでください。
それなら、早く始めましょう。25 歳は若すぎません。この業界で「仕事ができる」初級レベルに到達するのは、通常のスピードです (結局のところ、数学と英語は苦手です)。どちらもプログラマーにとって非常に有益です。重要)、2 年間頑張ってください。当時私は27歳か80歳で、結婚を控えていました。結婚して初めて新しい業界に参入するときは、自分自身で天秤にかけ、慎重に選択する必要があります。 どれか 1 つを選んで、それを使い続けてください。
しかし、普通の人が最後まで続けるには「しなければならない」という状況に陥るのが一般的です。 投稿者に水を差すような回答もありましたが、私はビジネスからCSに転職した身としては、ビジネスの勉強をしたことがありますが、CSに転職するのは不可能ではないと思います。科学と工学はできないのですか?生活のためにCSに転職するのはふさわしくないと思うなら、生活のためだけに大学に行っていませんか?

しかし、私は他の側面、例えば大学の 4 年間でゲームに費やした時間の無駄について文句を言いたいです。土木工学科卒業後の就職が難しいのは、本当に専攻が良くないからだと大胆に推測してもいいでしょうか?大学4年間を無駄にしたからじゃないの?土木工学は IT ほど輝かしいものではないかもしれませんが、私が知っている土木工学科の卒業生は悪くはありません。特に、大量の建設が緊急に必要とされている中国のような国では、私たちが知っている土木工学や建築の学生の中には悪くない成績を収めている人もいます。 。 。 。かつて主任技術者で、現在は部長をしている父は、「この会社には、あなたの後継者となる優秀な若者が実は不足しているのです。優秀な会社があなたを育ててくれるなら、当然そうするでしょう」といつも私に言っていました。あなたを維持するためにお金を費やすつもりです。しかし、多くの後継者は、一部のトップスクールの出身者であっても、再利用にはまったく適していません。 。 。一見すると大学4年間ずっとゲームをしてきたように見えます。 。 。つまり、あなたの元々の専攻は実際には非常に優れています。 。 。

もちろん、IT に携わる決意をするのは問題ありませんが、プログラマーの立場がどのようなものかを理解する必要があります。ソーシャルワーカーのクラスメートが私に休暇中に遊びに行こうと誘ってくれたので、私は行きたくないと言いました、そして他の人は私が冷たいと思っていました。でも私が来たときは特にそうでした。他の人よりも良い結果が得られるとは限りませんが、それはより努力することによってのみです。 。 。

同じ学部の同級生は、彼女と一緒に過ごす時間が少なすぎると彼女に文句を言っていましたが、その後彼女も CS に転職し、結局彼がうっとうしいと文句を言うようになりました。 。 。現在の CS 基礎は 0 なので、テクノロジーを学ぶことがどれほど難しいかわかりません。しかし、CS を学ぶのは非常に難しいことを理解する必要があります。たとえ CS を学ぶレベルまで進めなかったとしても、トレーニング クラスのスキルを学び、仕事を見つけるのは簡単ではありません。 。 。

食事と睡眠を除いて、朝起きてから夜寝るまでコードを書く準備をしておくと、質問を転送できます。 。 。

具体的には、PHP は簡単に始められるだけでなく、マルチスレッドなどの高度なアプリケーションがないため、HTML/css/js などと組み合わせることができると思います。 Web 開発に適しており、Web に対する需要は膨大です。 Java は簡単に始められそうに見えますが、結局のところコンパイルが必要であり、多くの高度な機能を習得しなければ Java を学んだとは言えません。 Python は良いものですが、需要は少し小さく、統計や人工知能など純粋なアプリケーション開発ではないものが多いです。 。 。

励まさせてください。 。 。 Java を使用すると、プログラミングの原理を理解しやすくなります。
専攻を持っている場合は、cpp から始めることをお勧めします。
言語間の違いは実際には非常に小さいです。特に低級から高級までは独学ですぐに終わることが多いです。
コンピューターの構成、オペレーティング システム、データ構造、離散数学の原理を習得している場合。
つまり、これらの言語はほとんどカジュアルに使用できるということです。
実際の仕事では、プロの人が見つからないこともあります。
PHP (pythonc#) をご存知ですか?
いいえ。
それでは、ここにコードを載せておきますので、まずそれを見てみてください。それに応じて変更してください。

それを変更すれば、変更されます。個人的には、良いコーディング習慣を身に付けるには、強力に型指定された言語である Java を学ぶ方が良いと思います。そうすれば、何でもすぐに学ぶことができます。
関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート