外の世界にとっては、プログラマー、コンピューターサイエンティスト、ソフトウェアエンジニア、開発者はみな同じように見えるかもしれませんが、それは生計のためにソフトウェアを作成する人々の場合とは程遠いものです。単一のプログラマーの能力と知識は、そのツール(OS、言語、そしてはい、好みのエディター)と同様に非常に広範囲に及ぶ可能性があり、その多様性は、ソフトウェアで多くのサブカルチャーを生み出します-Stack Overflowやこのサイトを積極的に使用するプログラマーのように、しない多くの人に対して。
他の人から、彼らが出会った、属している、賞賛している、嫌いな、または作成したソフトウェアサブカルチャーを聞いてみたいです。手始めに、私は遭遇しました:
- マイクロソフト主導の企業と開発者:スタック全体はワシントン州レドモンドにあります。電子メールはOutlookは電子メールです。WebはIEおよびIISです。VB、.net、Visual Studioなどの複数のバージョンでいっぱいのMS Developer Networkサブスクリプションの大きなバインダーがあります。シェル/コマンドラインでの作業を避けます。オープンソースなどの大騒ぎがどういうものなのか見ないでください。MS中心の企業は9〜5であり、非常に企業的である傾向があります(ソフトウェア担当者ではなく、ビジネスマネージャーが主導します)。最近(MS以外のツールが広く利用可能になったため)、これはハッカー文化のアンチテーゼです。
- 昔ながらのCSの人々:LispとUnixを非常によく知っていることがよくあります。時には、彼らは半人気のLisp自体、またはシステムユーティリティを書いたかもしれません。あるとしても、「ソフトウェアエンジニアリング」に関するものはほとんどありません。また、それらに感銘を受けることもありません。参照、履歴、およびLisp、C、Prolog、Smalltalkなどのプログラミング言語の高レベルの意味を理解します。80年代と90年代のAIの結果について苦いことがあります。Emacsユーザーになりがちです。目を点滅させることなく、複数行のシェルコマンドを入力できます。彼らのアドバイスは不可解なこともありますが、一度理解すれば金が含まれます。
- 新しい学校のWeb開発者:コンピューターやビデオゲームで遊んでいたが、実際にプログラミングを始めたのは90年代後半または00年代前半でした。1〜1.5のスクリプト/動的言語で快適。CやRuby / Perl / Python以外の言語は不必要/魔法だと思います。最初はHTMLをプログラミングと見なしていた可能性があります。Macを手に入れて、それについて熱狂的/非合理的になりがちです。構築する以上のフレームワークを使用します。多くの場合、NoSQLやRuby On Railsに過度に熱心です。
- New-school CS:統計、ベイジアンモデル、および推論に関する多くのトレーニング。「AI」とは言わず、「機械学習」と言います。LispよりもJavaの方が多いですが、Haskellのエキスパートプログラマでもあります。各分野の専門家(Google、財務/クオンツ)による現実世界での大きな成功を目にすることで、多くの場合、自信が持てます。しかし、ビッグデータとそのような分散処理は、実際に世界を変えています。
上記の例は、完全、正確、直交、または客観的なものではありません。:)私が個人的に見たものであり、より広範な質問の議論と概要を刺激するために提供したもの。反対意見をお気軽に!