多くの人が(i=0; i 100; i ++){printf(”hello”);}についてこのような行を見て、誰もがそのようなものを書くのにどのように人生を費やすことができるのか疑問に思います。そこで、私たちはインドの最高のコーダーの何人かに彼らを動かし続けた理由を尋ねました、そして答えは驚くほど均一でした。 彼らは皆、自分たちを職人、創造的な作家と見なしています– JKローリング 、レオナルドダヴィンチ。私たちの残りの部分が貧弱なスペルと文字のミッシュマッシュと見なしているのは、多くの場合、意図したとおりに機能を実行する非常にエレガントなコードです。そして、彼らが書いたコードが人々の働き方や生活の仕方を変える解決策になるとき、彼ら全員は深い満足感を持っています。 「あなたがアーティストなら、絵を描くときに誇りを感じます。ソフトウェアでは、あなたは美しいコードの作成者です。そして、まるで赤ちゃんを育てたかのように、強い所有感を感じます」と、 Flipkart は、創設者のSachinBansalと Binny Bansal 2010 年。 あり美しいコードの2つの部分です。 1つは、指定された時間内にコードを完成させることであり、完全に実行されます。 Gokul BKS、テクニカルリーダーCisco Indiaのエンジニアリング担当者は、問題の特定が非常に遅く、1週間で解決策が絶対に必要だった最近のプロジェクトを思い出します。 「私たちはそれを概念化し、たった1日で1,500〜2,000行のコードを完成させ、テストし、時間どおりに納品しました。バグはありませんでした。それはあなたに多くの満足を与え、コーディングへの愛着が増します」と彼は言います」と彼は言います. エレガントなコードの2番目の部分は、いわゆる保守性に関係しています。後でシステムを保守したり機能を追加したりする必要があるかもしれない他のコーダーが、あなたが書いたものを簡単に理解できるようにするにはどうすればよいですか。 「以前は、ソフトウェアをハードウェア用に最適化するために使用していました。しかし、ストレージとコンピューティング パワーが安くなった今、私たちは人間向けに最適化しています」と、SAP Labs India のソフトウェア開発者である Anahita M Havewala は述べています。言い換えれば、Utkarshが言うように、別のコーダーはそれを物語のように読んで、その目的を理解できるはずです。 Gokulは、彼が従う経験則は書くことだと言いますコードの行よりもコメントの行が多く、コードの機能を正確に他の人に伝えます。それは余分な作業であり、時間のプレッシャーがあるときに行うのは簡単ではありません。しかし、後で多くの問題を回避することができます。 コードはエレガントである可能性がありますが、有用である必要もあります。それが最大の満足の源です。 「コーディングは人々の生活に大きな違いをもたらす手段であり、私の創造性を活用することでそれを実現できます」と、 Microsoft.ソフトウェアが人間の生物学的機能のモデル化を含め、ほとんどすべての場所で使用されていることを考えると、これらの機会は今日非常に大きなものです。電子工学を学んだGokul氏は、コーディングが可能な限り迅速に問題の解決策を見つけるのに役立つ工学分野はないと述べています。 Edgeのアーキテクトの1人であるBiswasブラウザチームによると、パンデミックの間、Edge、Teams、Office 365、AzureなどのMicrosoftの製品は、ほんの数年前には遠い夢だったサービスを可能にしました。 Bingには、Covid追跡専用のページがあり、分析、洞察、ワクチン接種スロットがお住まいの地域で利用できます。 「それがあなたにできる違いです」とビスワスは言います。 アナヒタは若者たちに新しいテクノロジーの出現に圧倒されないようにアドバイスしています。 「ファンダメンタルズが強力であることを確認してください。アルゴリズムを作成する能力、データ構造を理解する能力、問題を小さな解決可能なチャンクに分解する能力。そして、さまざまなテクノロジーを体験するにつれて、問題を解決するための適切なツールを選択できるようになります」と彼女は言います。 Utkarshは今日の立場にあります。彼はもはやコードを書く必要はありません。しかし、自宅で週末になると、彼はテクノロジーや新しいプログラミング言語をいじくり回し続けます。 「その地面のつながりは私を興奮させます。そして、私は若い男の子のように感じます」と彼は言います。 優れたプログラマーは優れた協力者であり、いじくり回す毎日、私は自分が抱えている問題に遭遇します。今まで見たことがない。そして、私がそれをうまく修正したり、何か新しいものを構築したりすると、それは世界で最も満足のいくものです。プログラミングは科学であると同時に芸術でもあります。傑作を描いて、自分が芸術家だと感じる日があります。非常に効率的なアルゴリズムを作成している可能性があります。シームレスに機能し、誰かの仕事の日や生活を改善していることがわかっているソリューションを作成している可能性があります。 * 早い段階でキャリアの中で、私はかつて友人の提案に従ってコードをやり直しました。そして、それは本当に、本当に素晴らしかったです。感じは、それは私のコードです–あなたがあなたが望むようにあなたの部屋をやり遂げるときのように。私が所有するすべてのものとは別に、私が所有するコードは私が所有する最大の資産です。 *数学の非常に平均的な知識であなたが生き残ることができるソフトウェアの分野があります。しかし、優れたものにしたいのであれば、数学は良いです。 プログラミング言語以上に、それはあなたがその上にもたらす特性です私にとって重要です。あなたは非常に活発な協力者でなければなりません。企業の世界では、自分でコードを書くことは決してありません。優れたプログラマーは優れたいじくり回しでもあります。プログラミング言語を理解し、それに手を出し、さまざまなプログラミングステートメントを操作する必要があります。 プログラミング言語はツールです。私は基本的な基本構造、つまり問題解決、データ構造とアルゴリズムの適用について考える方法に焦点を当てます。基本的な構成と1つの言語がわかれば、それを別の言語に転送することは難しくありません。私はCとC ++から始めましたが、その後JavaとCSharpを学ばなければならなかった時期がありました。 Read more…