web-dev-qa-db-ja.com

なぜそんなに多くのプログラミング作業があるのですか?

ソフトウェアの進化により、プログラミングジョブがまだ「枯渇」していないのはなぜでしょうか。たとえば、私は自分自身が開発者です。つまり、ソフトウェアに関心があります(つまり、主にインターネットを閲覧するだけのコンピューターを必要とするタイプの人間ではありません)。それでも、私は決して気にしないでしょう。私の bunt マシンでこれ以上の更新を受け取ります。

必要なものがすべて揃っていることに気づきました。アップデートによりさまざまなバグの修正や改善が行われますが、私はそれを現在の状態で一生使用してもかまいません。 Ubuntuを2年間使用している間、深刻なバグや問題にぶつかることはありません。

別の例はWindowsです。ユーザーのほぼ半数が、実際には古くからあるWindows XPをまだ使用していますが、すべてのニーズに満足しています(そして私も同意します)。

私はもっ​​と多くの例で行くことができますが、今ではあなたは私のポイントと私の質問を理解しています。新しい「トレンド」が常に表示されますが(新しいモバイルOSのように)、新しいプラットフォームで実行され、いくつかの新しい開発作業が必要ですが、ソフトウェアの取り組みの大部分は、私が「完了したプロジェクト」と見なすもの、または少なくとも、完了したと見なすのに十分なプロジェクトの状態。

説明はありますか?

28
jd_505

世界には何十億もの未完成の問題があります。その空想を毎日満たすために新しいツールを必要とする人間の欲望は言うまでもありません。

保留中の問題が残っていないと本当に思う場合は、次のいくつかを解決してみてください。

  1. 敵対的な政府が通信ネットワークをオフにしたときに人々が大規模に通信するのを助けるソフトウェア。
  2. インドおよび ウガンダ のような国々でシステムの漏えいを本質的に塞ぐ、食品およびその他の必需品流通システム用のソフトウェア。
  3. さまざまな能力を持つ人々がより良い生活の質を楽しむためのソフトウェア。

これがあなたにいくつかの視点を与えることを願っています。

33
Fanatic23

反例として、通りの上の花屋を取り上げます。彼らのソフトウェアの経験は次のようになるかもしれません:

  • 会計ソフトウェアをインストールする-紙の台帳よりもはるかに優れている
  • 会社のメールを設定する
  • 誰もがそうであるので、小さなパンフレットのウェブサイトを立ち上げてください
  • POSシステムを追加する
  • 簡単な顧客注文フォームをWebサイトに追加する
  • 法人顧客を管理するためのシンプルなCRMツールを購入する
  • 国内およびグローバルの販売ネットワークと統合して、サイトで発生しなかった販売を受け入れる
  • 会社のメールとCRMを統合する
  • オンラインでリピーター向けの特別注文ツールを追加する
  • オンラインで配達ドライバーを宣伝する
  • 代理店注文ソフトウェアを使用することに同意することで花をより安く取得します
  • オンラインで福利厚生を管理することにより、従業員の福利厚生を安くする
  • 必要な政府許可をオンラインで申請する
  • ソフトウェアツールで新入社員の簡単なバックグラウンドチェックを行う
  • 毎週の注文が自動的に行われるように、コンサルタントに在庫システムとディストリビューターの間に橋を架ける
  • 電子的に税金を支払う
  • オフィスから追跡できる配達車両にGPSデバイスを追加します。
  • マッピング/ルーティングソフトウェアを使用して、配信に最適なルートを設計する
  • 業界データを参照して、期待どおりに機能していることを確認します
  • オンラインカスタマーツールに荷物追跡を追加する
  • ソーシャルネットワークと評価サイトを使用してWebプレゼンスを広める
  • 注文と注文状況の確認のための少し無料のモバイルアプリを提供します(主に大口顧客向け)。
  • ソフトウェアで最も忠実な顧客のための報酬プログラムを管理します
  • 会計、在庫、顧客注文、注文追跡、およびディストリビューター注文を統合
  • Grouponプロモーションで新規顧客を獲得する
  • 必要に応じてこれらのシステムをすべて更新します

そのような単純なビジネスの場合、それはひどい多くのテクノロジーであり、今日どれもばかげているように見えることはありません(通りの上の小さなフラワーショップがやっているのではないかと思いますallこれは確かですが、 d驚いてください。)誰かがそのすべてのソフトウェアを構築しなければなりません。

明日利用できる技術を予測できないのと同じように、フラワーショップが多くの技術を必要とすると予測できたのではないかと思います。

26
Corbin March

過去10年間の自動車で十分であるのに、なぜ自動車会社は設計を改善しようとするのですか?現在のブレンドがすでに満足しているのに、なぜコーヒーショップは新しいローストを探すのでしょうか。私たち全員が着ているもので十分すぎるのに、なぜファッションデザイナーが新しい服を作るのでしょうか?

十分かもしれないがbest---のみbetter

そして、彼の仕事に誇りを持っている人は誰でも、常に改善、ツールの研ぎ澄み、完璧さを求めています。それが科学の進歩を促進するものであり、それが芸術家を鼓舞するものであり、それが起業家をやる気にさせるものです。最高ではなく、より良いだけです。

12
chrisaycock

人々はコンピュータを使って新しいことを考え続け、ハードウェアは進化し続け、以前はできなかったことができるようになります。

どこから始めればいいのかわからないが、例としてテレビを見てみましょう。

1965年10月、「I Dream of Jeannie」を視聴したい場合は、適切なタイミングで適切な駅をオンにする必要がありました。他に選択肢はありませんでした。それを録音したり、購入したりすることはできませんでした。それを逃したなら、まあ、あまりにも悪い。おそらく数年後、彼らはそれをシンジケートし、(運が良ければ)1970年のどこかで見逃した番組を見ることができるでしょう。

ああ、そして1965年には、企業と大学を除いて誰もコンピューターを持っていませんでした。それらは通常、少なくとも小型車と同じくらいの大きさであり、テレビの再生にコンピューターを含めることは純粋にSFの概念でした。

1996年までに、VHSで「I Dream of Jeannie」のエピソードを購入して、CPUが埋め込まれているVHSプレーヤーや、CPUが埋め込まれているCRT TVで再生することができます。もちろん、誰かがプログラムする必要があった。 VHSからコンピューターにビデオ出力をキャプチャするために使用できるデバイスがありましたが、当時の消費者レベルのハードウェアの馬力は非常に低かったため、最先端のハードドライブの巨大なチャンクを1つのエピソードを再生すると、画面の小さなウィンドウでしか再生できません。

2006年、彼らはDVDで「I Dream of Jeannie」のエピソードのリリースを開始しました。それらを再生すると、DVDプレーヤーとフラットスクリーンテレビの両方に組み込みCPUが必要どちらも誰かがしなければならなかったプログラム。または、もちろん、コンピュータでDVDを再生することもできます。誰かがプログラムする必要があります.

DVDがリリースされて間もなく、人々は誰かがプログラムする必要があるDVD-rippingソフトウェアを使用してDVDをリッピングし始めました。次に、リップをクリップに編集し(誰かがプログラムしなければならないノンリニアビデオ編集ソフトウェアを使用)、ブラウザを使用しました(誰かがプログラムしなければなりませんでした) )動画をYouTubeにアップロードするには([誰かがプログラムする必要がある)、他の人が動画再生ブラウザプラグインで表示するには(どの)誰かがプログラムする必要がありました)。

今、あなたはDVDをリッピングする必要さえありません! iTunes(誰かがプログラムする必要がある)を使用して、iTunes Store(誰かがプログラムする必要がある)にアクセスして購入してダウンロードできます。 「I Dream of Jeannie」の140の異なるエピソード。コンピュータ上のソフトウェアを使用して再生できます(誰かがプログラムする必要がありました

私はこれをチェックしていませんが、「I Dream of Jeannie」のiTunesバージョンを入手して、iPhoneまたはiPod Touchで再生できることを強く疑っています。もちろん、... 誰かが持っていましたプログラムする

そして、「I Dream of Jeannie」が次にどこに現れるのか、まったくわかりません。たぶん私の腕時計や、ある種のウェアラブルな生地の上に、あるいは私の眼鏡のレンズの上に投影されたのかもしれません。しかし、それが現れるところはどこでも、誰かがそれをプログラムする必要があります

Officeアプリ?ええ。 90年代初頭からWord 5.1を使用していても完全に満足しています。

しかし、他のすべて?私は40年間プログラミングをしてきましたが、プログラミング作業の市場が成長し続けることを期待しています。

11
Bob Murphy

役に立たないがらくたへの私たちの無限の飢餓はすでに満たされている必要があります。

また、ソフトウェア業界がますます高速なコンピューターの必要性を推進していなければ、ハードウェアのアップグレードを行う必要はありません。じゃあどこに行くの?中国のエレクトロニクスガベージリサイクルの町はすべて何をするでしょうか。有毒なゴミの山はすぐに丘になってしまいます。私たちはそれを手に入れることはできません。

6
Edward Strange

オペレーティングシステムやデスクトップソフトウェアの重要性が低くなっているため、UbuntuとWindows XPでも十分です。このサイト、 Facebook 、および YouTube のように、多くのこと、私たちが見逃したくないもの、Webで発生するもの。そこで新しいソフトウェアが構築されます。スマートフォンやタブレットで多くのエキサイティングなことが発生します。これは、多くのプログラミングが発生する別のドメインです。

5
user281377

実際に使用するアプリケーションとシステムの場合:

ソフトウェアはより多くのソフトウェアを生み出します。

の形で:

  • 新機能
  • バグの修正
  • 競合他社のビジネスとアプリケーション
2
Jim G.

モバイルおよびソーシャルアプリケーションの開発者は、需要が高いようです。スタートアップは至る所にあり、UbuntuとOSには常にバグがあります-何も完全ではありません。誰かがアイデアを持っている限り、彼らは開発者を必要とするでしょう。

2
cmcd

あなたの投稿では、2つのオペレーティングシステム(UbuntuとWindows XP)について言及し、ユーザーは主にOSの現在のフォームに満足していると述べています。

buntuおよびWindows XP数千のアイデアの集大成の結果。

多くのアイデア(スタートメニューを画面の左下隅に配置するか、Microsoft Excelを設計するか)は、徹底的に開発されています。はい、確かに彼らは満足のいく状態に達しているかもしれませんが、現在のソフトウェアとソフトウェアエンジニアリングのアイデアが将来何につながるかを考えてください。

私たちのニーズと欲求はテクノロジーとともに進化しています。 テクノロジーを最大限に活用したい。 UbuntuとWindows XPは、進行中のプロセスの単なる足がかり(またはマイルストーン)にすぎません。

2
J.K.

私に関する限り、私たちは これらの1つ ができるまで完了していません。

しかし、もっと深刻なことに、コンピューターサイエンスには多くの進行中の問題があり、それでもまだ解決されていないか、「良い」ほど十分に近くはありません。これらには、画像認識、自然言語処理、音声認識、および他の多くの「ファジーパターン認識」タイプの問題が含まれますが、人間は通常Excelを使用しますが、マシンは失敗します。 1960年代の野心と比較すると、AIの状態はかなり哀れです。全体として、やるべきことはまだかなりあり、たくさん改善の余地があります。

ちなみに、Ubuntuでさえいくつかの改善を使用できます。 64ビットのフラッシュのサポートは最悪です。

1
Charles Salvia

私はそれを進化論的に見ていると思います。社会が静的である場合、私たちは最終的に私たちの本当のニーズを満たす方法を見つけるでしょう、そしてそれは結構です。

進化を促進するのは課題であり、多くの場合、自然や悪い人々が私たちが持っているものを奪いたい、または私たちを殺したいと思っているなど、非常に悪い課題です。これを克服するための新しい方法を考えなければなりません。これは、ソフトウェアを含む新しいテクノロジーの需要を生み出します。エンターテインメントへの欲求はまた、飽くなき需要を生み出し、ローマのサーカスから現代のメディアまですべてを目撃しますが、それはただの楽しみのためです。本当の課題は、空腹や危険などから生じます。

1
Mike Dunlavey

ソフトウェアの重要な点は、ソフトウェアが動作するハードウェアとともに、それを超えて進化し続けることです。現在、私たちは特定のレベルに事前にプログラムされたソフトウェアのみを作成しています。これは、大多数の人間が「AI」ソフトウェアを作成するまでにはまだ何年もかかるでしょう。

自動車のタッチスクリーンインターフェースを操作するために使用されるソフトウェアのようなものと比較してGoogleのようなものを見ると、テクノロジーに非常に多くのギャップがあることがわかります。

永遠に変化する物理的でインテリジェントな世界で自分自身を拡張および開発できるソフトウェアができるまでは、やらなければならないことがたくさんあります。

編集済み..新しいテクノロジーやコンセプトが登場すると、多くの既存のソフトウェアが即座に古くなり、そのジャンルの大部分を再作成/公開する必要があります。 2年間で、コンピュータを頭脳/思考のインターフェースで使用することで大きな進歩を遂げたとしましょう。

ほとんどのオペレーティングシステム用のシンプルなプラグインを作成して、思考/コマンドをキーボード/マウス操作に変換することはできますが、これはまだ制限されており、アプローチ方法としては不適切です。テクノロジーは常に進歩し、12か月だけで10年で何が利用可能になるかはわかりません。

量子コンピューターでも起動しない

1
Angry 84

18年前、私はWindows 3.1を使用して、図書館にある学校の新しい286コンピュータの前に座っていました。かっこいい!古いBBCマイクロよりもはるかに優れています...しかし、私が座っていることに完全に気づかなかった私は、それから18年間目の前にいるのですが、今日使用しているものについて何か手掛かりがあったでしょうか。私は当時インターネットが何であったかを私は新しいとは思わない...

私の要点は、私たちの多くは、今から18年後のコンピューターがどのようなものになるかを推測するビジョンや想像力を持っているとは考えていません。コンピュータは常に進化し、より良いものになっており、それを実現するために絶え間ない開発が必要です。

現時点では、Ubuntuに満足していると思いますが、他のすべての人が新しいスーパーHokey Cokey 5000、またはそれが呼ばれるものを使用している10年または20年後もそれを使用しますか?

1
BG100

問題には解決策があるかもしれませんが、解決策を最適化する余地は常にあります。ソリューションの使用頻度が高いほど、小さな最適化でも大きな違いが生まれます。

これは抽象的な点のように思えるかもしれません。そうではありません。たとえば、私のスキルセットの1つは A/B Testing です。経験から、A/Bテストが成功しても、主要な新機能が導入されることはめったにありません。ただし、文言を少し変更すると、ウェブサイトに登録するユーザーが10%多くなる可能性があります。これは、数百万ドルの追加収益を意味する可能性があります。それは非常に小さな違いなので、ほとんど気付かないでしょう。それでもそれは重要な改善であり、そのようなものを見つける可能性があるという見通しは多くの給料を支払うことになります。

さらに、ビジネスは常に変化しています。驚くべき数の変更には、内部での動作方法の変更が必要です。また、時間の経過とともに、より優れたツールによって軽減されるであろう内部の非効率性を特定します。この絶え間ない解約と最適化は、実際の作業であり、実際の人が行う必要があります。その作業の多くは、プログラムを作成できる人が行う必要があります。 (これは実際、ほとんどのプログラマーが雇用されており、企業内で内部的なことをしている場所です。)

さらに、傾向としては、時間の経過とともにプログラマーが私たちの仕事をすることがより簡単になったということです。私たちの仕事が簡単になればなるほど、プログラマーにプログラムを書いてもらうのが理にかなっていることは多くあります。そして私たちが必要とするプログラマーが増えるほど。この傾向はどのくらい持続できますか?知りません。しかし、それは50年代後半から続いており、減速の兆候はありません。

1
btilly

そこにある情報の量は指数関数的に増加します。あなたはそれを集めて整理するためのツールを期待することができました、今あなたはあなたの特定のニーズのためにそれを取り除くためのツールを期待することができます。

ソフトウェアは社会のトレンドとニーズに対応しており、情報がますます社会的および産業的要素になっているため、需要は減少しません。情報の形式は無数にあり、その用途は絶えず拡大しており、ソフトウェア開発は絶滅するまでには長い道のりがあります。

1
etranger

コンピューター(およびコンピューター上で実行されているアプリケーション)の目的を、プロセスの最適化と同じくらい狭いものに解釈することができます。
そうすることで、ご存知のように、改善の余地は非常に多く、常に改善の余地があります。

また、使いやすさ、信頼性、機能、パフォーマンス(または少なくともいくつかの規模)に関しては、すべてのコンピュータアプリケーションの大多数が恐ろしいものです。品質が徐々に向上しているアプリケーションはほとんどありませんが、平均は驚くべき速さで急落しています。
もう1つの理由、それでもプログラミング作業がまだ多いのは 貧弱な設計と不安定な実装 です。 Jeff Atwoodが これに投稿 を作成しました。

1
back2dos

ソフトウェアは、実際の問題に対する解決策を表現することを可能にします。解決すべき新しい問題が常にあることを考えると、常に新しいソフトウェアの必要性があり、したがって開発者のための作業が常にあります。

1
John Channing