বিগত 20 বছরে কি সত্যিই একটি জিনিস পাওয়া যায় নি যা বিশাল সফ্টওয়্যার বিকাশ লাভ করেছিল? [বন্ধ]


45

ইন No Silver Bullet এ , ফ্রেড ব্রুকস, সফটওয়ার ইঞ্জিনিয়ারিং, সেরা দ্বারা সংকলিত আপ ভবিষ্যত সম্পর্কে ভবিষ্যৎবাণী বিভিন্ন তোলে:

প্রযুক্তি বা পরিচালনা কৌশলতে কোনও একক বিকাশ নেই, যা নিজেই উত্পাদনশীলতায়, নির্ভরযোগ্যতায়, সরলতার ক্ষেত্রে এমনকি এক ক্রম-উন্নয়নের প্রতিশ্রুতি দেয় ।

তাঁর যুক্তি খুব দৃinc়প্রত্যয়ী। ব্রুকস 1986 সালে লিখছিলেন: তিনি ঠিক ছিলেন? 2014 এর বিকাশকারীরা 1986 সালে তাদের প্রতিযোগীদের তুলনায় 10x এর চেয়ে কম হারে সফটওয়্যার তৈরি করে? কিছু উপযুক্ত মেট্রিক দ্বারা - উত্পাদনশীলতা লাভ কত বড় হয়েছে?


4
মন্তব্যগুলি বর্ধিত আলোচনার জন্য নয়; এই কথোপকথন চ্যাটে সরানো হয়েছে ।
বিশ্ব প্রকৌশলী

উত্তর:


58

2014 এর বিকাশকারীরা 1986 সালে তাদের প্রতিযোগীদের তুলনায় 10x এর চেয়ে কম হারে সফটওয়্যার তৈরি করে?

আমি কল্পনা করব যে তখন থেকে কমপক্ষে উত্পাদনশীলতার পরিমাণের উন্নতির একটি আদেশ রয়েছে। তবে একটি প্রযুক্তি বা পরিচালনা কৌশলতে একটি একক বিকাশ লাভ করে নয়।

উত্পাদনশীলতা বৃদ্ধির কারণগুলির সংমিশ্রণ ঘটে। দ্রষ্টব্য: এটি কোনও বিস্তৃত তালিকা নয়:

  1. আরও ভাল সংকলক
  2. অনেক বেশি শক্তিশালী কম্পিউটার
  3. Intellisense
  4. অবজেক্ট ওরিয়েন্টেশন
  5. কার্যকরী ওরিয়েন্টেশন
  6. মেমরির উন্নততর কৌশল
  7. বাউন্ড চেকিং
  8. স্থির কোড বিশ্লেষণ
  9. শক্ত টাইপিং
  10. অংশ পরিক্ষাকরণ
  11. উন্নত প্রোগ্রামিং ভাষার নকশা
  12. কোড জেনারেশন
  13. উত্স কোড নিয়ন্ত্রণ সিস্টেম
  14. কোড পুনরায় ব্যবহার

ইত্যাদি। এই সমস্ত কৌশল উত্পাদনশীলতা উত্পাদন উত্পাদন একত্রিত; রৌপ্যগুলির একটিও বুলেট নেই যা কখনও কখনও বাড়ানোর গতিবেগের ক্রম তৈরি করে produced

মনে রাখবেন যে এর মধ্যে কয়েকটি কৌশল ষাটের দশক থেকেই বিদ্যমান ছিল তবে সম্প্রতি তারা কেবল ব্যাপকভাবে স্বীকৃতি এবং গ্রহণকে পর্যবেক্ষণ করেছেন।


15
ভাল উত্স / সংস্করণ নিয়ন্ত্রণ সিস্টেম ভুলবেন না
ডোভাল

7
আহ ঠিক. আমি কল্পনা করব যে আমরা এই তালিকায় আরও এক ডজন (বা শত) জিনিস যুক্ত করতে পারি।
রবার্ট হার্ভে

44
@ ব্যবহারকারী 61852: কারণ প্রত্যাশা সর্বদা বাস্তবের চেয়ে বেশি exceed
রবার্ট হার্ভে


1
@ রসপ্যাটারসন: এই মুহুর্তে বিকাশকারী সরঞ্জামগুলির জন্য আমাদের যা প্রয়োজন তা আমরা পেয়েছি। আমরা আজকাল আমাদের সংকলন সিপিইউ চক্রের সাথে বোকামিহীন অপব্যয়ী জিনিসগুলি করছি কেবলমাত্র কারণ --- আমরা টেমপ্লেট মেটাপ্রোগ্রামিংটি দেখতে পারি। মনে রাখবেন আমরা ৮০ এর দশকের সাথে তুলনা করছি; যদিও আমি তখন অবশ্যই বিকাশকারী ছিলাম না, 1990 সালে নির্মিত একটি মেশিনে
কোডিং শিখি

71

রবার্ট হার্ভির উত্তর ভাল, তবে আমি মনে করি প্রোগ্রামাররা আগের চেয়ে বেশি উত্পাদনশীল হওয়ার সবচেয়ে বড় কারণ হতে পারে: সফ্টওয়্যার লাইব্রেরির ব্যাপক প্রাপ্যতা।

আমি যখন আমার কেরিয়ার শুরু করি তখন এসটিএল,। নেট, কিউটি ইত্যাদি ছিল না আপনার কাঁচা সি বা সি ++ ছিল এবং এটি ছিল এটির সম্পর্কে।

যে জিনিসগুলি দিন বা সপ্তাহ বা কাজের জন্য ব্যবহৃত হত (এক্সএমএল পার্সিং, টিসিপি / আইপি সংযোগগুলি, এইচটিটিপি কমোশন) এখন সি # কোডের কয়েকটি মুঠোয় লাইন দিয়ে করা যেতে পারে। সামগ্রিক বিকাশকারী উত্পাদনশীলতার ক্ষেত্রে আমরা এখানে আরও বেশি মাত্রার অর্ডার পেয়েছি।

আমাদের বর্তমান পণ্যটি একটি ডকিং উইন্ডো কাঠামো ব্যবহার করে যা আমরা একজন বিক্রেতার কাছ থেকে কিনেছিলাম। এটি আমাকে কয়েক মিনিটের মধ্যে একটি সম্পূর্ণ কার্যকরী ডকিং উইন্ডো ইউআই করতে দেয়। উইন 32 এপিআই ব্যবহারের দিনগুলিতে এটি করতে কী হবে তা ভেবে আমি কাঁপছি।


19
আমি এটি ডকুমেন্টেশন এবং সহায়তার প্রাপ্যতা যোগ করতে হবে। বিশ বছর আগে, আপনার একটি মেইলিং তালিকা এবং আপনার নিকটতম সহকর্মী ছিল। এখন, বিশ্বের প্রোগ্রামিং দক্ষতা, প্রায় প্রতিটি বিষয়ে, একক ইন্টারফেসের মাধ্যমে তাত্ক্ষণিকভাবে উপলব্ধ।
এনওয়ার্ড

15
@ এন ওয়ার্ড তাই মূলত ওভারফ্লো স্ট্যাক করুন =)
ক্রিস

2
@ টেমিক্লেবু people just found other (generally better) solutions[উদ্ধৃতি প্রয়োজন] এক্সএমএলের "পর্বতমালা" কে দ্রুত পার্স করার জন্য গ্রন্থাগারগুলি ব্যবহার করা হ্যান্ড কোডিং অনন্য সমাধানের চেয়ে অনেক উপায়ে। এক্সএমএল অবশ্যই অত্যধিক পরিশ্রমী এবং পুনরাবৃত্ত হতে পারে তবে গ্রন্থাগারগুলি বেশিরভাগ পরিস্থিতিতে এটিকে বাতাস ব্যবহার করে।
ওয়ার্নারসিডি

5
@tmyklebu বেদনাদায়ক এটা এক্সএমএল বৃহত পরিমাণে বিশ্লেষণ করতে, একটি অনথিভুক্ত মালিকানা বিন্যাসে বাইনারি ডেটা বৃহত পরিমাণে পার্স চেষ্টা করুন, যেমন হবে সবচেয়ে প্রায় 1986 লিখিত অ্যাপ্লিকেশন দ্বারা উত্পাদিত হয়েছে হতে পারে যেমন
James_pic

2
@tmyklebu দিনে কারও কাছেই গিগাবাইটের কোনও কিছুর প্রয়োজন ছিল না (বা এমনকি মেগাবাইট!)। XML এর পরিমাণটি কী উত্পন্ন করে তা হ'ল আমরা আগের চেয়ে আরও বেশি ডেটা সঞ্চয় এবং ট্র্যাক করছি। জেমস_পিক ঠিক, এক্সএমএল একটি ব্যাজিলিয়ান মালিকানাধীন বাইনারি ফর্ম্যাটগুলির চারপাশে লাথি মারার চেয়ে আরও ভাল। এক্সএমএল শব্দযুক্ত হতে পারে তবে এটি ক্রস প্ল্যাটফর্ম, মানব পাঠযোগ্য এবং অত্যন্ত নমনীয়। সেগুলি সমস্ত মূল্যবান বৈশিষ্ট্য।
26

62

তর্কের খাতিরে ফ্রেড ব্রুকস-এর দাবির সাথে আমি একমত নই

প্রযুক্তির এমন একটি উন্নতি রয়েছে যার ফলে উত্পাদনশীলতায় একমাত্র অর্ডার অফ-মাত্রার উন্নতি হয়েছে: ইন্টারনেট , এবং আরও স্পষ্টভাবে গত দুই দশকে প্রতিটি বাড়িতে ইন্টারনেট সংযোগের প্রগতিশীল প্রাপ্যতা।

একজন বিকাশকারী হিসাবে আপনি যে প্রায় প্রতিটি সমস্যার মুখোমুখি হতে পারেন তার তাত্ক্ষণিকভাবে উত্তর খুঁজে পেতে সক্ষম হওয়ায় উত্পাদনশীলতায় একটি বিশাল উত্সাহ সক্ষম করে। জিকুয়েরিতে কীভাবে নবম উপাদান নির্বাচন করবেন তা জানেন না? গুগল অনুসন্ধান স্ট্যাক ওভারফ্লোতে সঠিক প্রশ্নের উত্তর নিয়েছে । overflowসিএসএসে কীভাবে ব্যবহার করবেন তা জানেন না ? মজিলার এমডিএন এখানে আছেvirtualসি # এর কীওয়ার্ডটির অর্থ কি ভুলে গেছেন ? গুগল আবার সাহায্য করে

আমি যখন প্রোগ্রামিং শুরু করি তখন আমার কাছে ইন্টারনেট ছিল না। আমার কাছে বই ছিল, পাশাপাশি স্থানীয়ভাবে কিছু ডিজিটাল-ফর্ম্যাট ডকুমেন্টেশন সঞ্চিত ছিল, তবে বই এবং ডকুমেন্টেশনগুলির মাধ্যমে অনুসন্ধান করা একটি ধীর প্রক্রিয়া ছিল এবং আমার কাছে যত বই ছিল না কেন, এখানে অনেকগুলি বিষয় ছিল যা এখানে উল্লেখ করা হয়নি।

আরও গুরুত্বপূর্ণ, আপনার মুখোমুখি প্রায় প্রতিটি সমস্যা এর আগে অন্য কারও মুখোমুখি হয়েছিল। ইন্টারনেট এই ত্রুটিযুক্ত ব্যক্তিদের সন্ধান করতে এবং এটি সফলভাবে সমাধান করতে সহায়তা করে। এটি এমএসডিএন এর মতো বই বা অফিশিয়াল ডকুমেন্টেশনে আপনি যে তথ্য সন্ধান করেন তা নয়। পরিবর্তে, এই জাতীয় তথ্য সাধারণত পাওয়া যায়:

  • স্ট্যাক ওভারফ্লোতে, স্পষ্টতই। উদাহরণস্বরূপ, আমি এমন কোনও বই দেখিনি যা এই সমস্যার উল্লেখ করেছে

  • ব্লগে আমি যখন ব্লগগুলিতে বিশেষ সমস্যা পেয়েছিলাম তখন আমি অনেক সাহায্য পেয়েছি , এটি কি ডাব্লুসিএফ কনফিগারেশন বা একটি প্রক্সি সার্ভারের সাথে হবে যা এন-ইউএস থেকে আলাদা সংস্কৃতিযুক্ত কোনও মেশিনে একটি নির্দিষ্ট এপিআই ব্যবহার করার সময় শুরু হয় না বা কোনও ক্রিপটিক বাগ রয়েছে।

  • ওপেন সোর্স সফ্টওয়্যার সম্পর্কিত বাগ রিপোর্টে। উদাহরণস্বরূপ, সম্প্রতি আমি উবুন্টুর এমএএএস ব্যবহার করার চেষ্টা করেছি এবং যখন আমি পেক্সএক্স ব্যবহার করেছি তখন এটি খুব সহায়ক হয়েছিল। আপনি বইতে এই ধরণের তথ্য খুঁজে পাবেন না।

যে সকল সমস্যার মুখোমুখি হতে পারে তার উত্তরগুলির তাত্ক্ষণিক উপলব্ধতার গুরুত্ব বিশেষভাবে লক্ষণীয় যদি আমরা বিবেচনা করি যে কোনও দল কোনও প্রকল্পে ব্যয় করে বেশিরভাগ সময় এটি বজায় রাখতে ব্যয় করে।

  • আর্কিটেকচার এবং ডিজাইনের পর্যায়কালে ইন্টারনেট খুব একটা সহায়তা করে না (প্রোগ্রামারস.এসই সাহায্য করতে পারে তবে কোনও স্থপতিদের জন্য আর্কিটেকচার এবং ডিজাইন সম্পর্কিত বই পড়া, নকশার নকশাগুলি শেখা ইত্যাদি অনেক বেশি মূল্যবান হবে)।

  • এটি পরীক্ষার সময় এবং বাস্তবায়নের পদক্ষেপগুলির সময় সহায়ক হতে শুরু করে, যখন আসল সমস্যা দেখা দেয়।

  • তবে রক্ষণাবেক্ষণের সময় বেশিরভাগ সমস্যা উপস্থিত হয়, যখন ইন্টারনেটের মাধ্যমে অন্যের কাছ থেকে সহায়তা নেওয়া গুরুত্বপূর্ণ মনে হয় । বেসিক উদাহরণ: ডাব্লুসিএফ পরিষেবাটি আমার মেশিনে পুরোপুরি ভালভাবে কাজ করে , তবে উত্পাদনে যখন মোতায়েন করা হয় তখন কোনও ব্যতিক্রম ছাড়াই ব্যর্থ হয়, যখন এটি গত দুই সপ্তাহ ধরে কাজ করে। আমার সাথে এটি ঘটেছিল এবং আমি ব্লগ লেখক এবং স্ট্যাক ওভারফ্লো সম্প্রদায়কে কয়েক সপ্তাহের চেয়ে কয়েক ঘন্টার মধ্যে সমস্যার সমাধান করতে সহায়তা করার জন্য ধন্যবাদ জানাই।

এটি কি উত্পাদনশীলতায় একটি এক্স 10 বৃদ্ধি যুক্তিসঙ্গত করবে? বলা মুশকিল।

  • একদিকে, এমন কিছু মামলা রয়েছে যেখানে আপনি অবিলম্বে কোনও উত্তর খুঁজে পান, যখন আপনি একা এটি অনুসন্ধান করতে কয়েক দিন ব্যয় করতে পারতেন (বা অ্যাপ্লিকেশনটির একটি বড় অংশ পুনরায় লেখার জন্য বাধ্য হন)।

  • অন্যদিকে, সামগ্রিক উত্পাদনশীলতা একাধিক কারণের উপর ভিত্তি করে উন্নত হয়েছে যেমন উন্নত প্রকল্প পরিচালনা (এগিল, টিডিডি ইত্যাদি মাথায় আসে), আরও ভাল টিম ম্যানেজমেন্ট ( স্টিফেন ডেনিংয়ের মাথায় র‌্যাডিকাল ম্যানেজমেন্ট ), আরও ভাল সরঞ্জাম (ডিবাগার, প্রোফাইলার) , আইডিই, ইত্যাদি), আরও ভাল হার্ডওয়্যার (না, স্লো সিপিইউ এবং খুব সীমাবদ্ধ র‌্যামের জন্য এসেমব্লারটিতে লিখতে বাধ্য করা হলে আমি খুব উত্পাদনশীল হতে পারি না) ইত্যাদি etc.


4
"ইন্টারনেট" কোনও একক উন্নয়নও নয়।
বেন ভয়েগট

1
@ বেনওয়েগট: আমি এটিকে ব্রুকসের উক্তি থেকে প্রযুক্তি হিসাবে যোগ্য করে তুলব । তবে আমি একমত, শর্তাবলী স্পষ্ট নাও হতে পারে: প্রথমত, এটি ইন্টারনেট (1980 এর দশকের গোড়ার দিকে) বা ওয়ার্ল্ড ওয়াইড ওয়েব (1989) হবে? দ্বিতীয়ত, এটি কেবল প্রযুক্তিই নয় যা প্রয়োজনীয় ছিল, তবে এটির জনপ্রিয়তা।
আর্সেনি মরজেনকো

কিন্তু "ইন্টারনেট" ধারণার অধীনে আমরা যে জিনিসগুলি গাদা করি সেগুলির মধ্যে অনেকগুলি বিভিন্ন প্রযুক্তি জড়িত। ওয়ার্ল্ড ওয়াইড ওয়েবের একাধিক প্রজন্ম রয়েছে (ডিএইচটিএমএল / জাভাস্ক্রিপ্ট / ব্রাউজার)। সেখানে ফাইবার অপটিক অগ্রগতিগুলি যা ডেটাসেন্টার-স্কেল সংযোগকে সম্ভব করে তোলে। সিএমওএস প্রক্রিয়া উন্নতি রয়েছে যা সার্ভারগুলিকে একটি টেরাবাইট র‌্যাম রাখতে এবং ডেটা মাইনিং সম্পাদন করতে দেয়। প্রোগ্রামিং সম্পর্কে এক মিলিয়ন প্রশ্ন সূচকে অ্যালগরিদমস এবং কিছু প্রাকৃতিক ভাষার অর্থে 10 নিকটতম হিট সরবরাহ করে।
বেন ভয়েগট

5
ব্রুকস ডিজাইন করা সিস্টেমগুলির সাথে কাজ করা লোকদের জেসিএল কীভাবে লিখবেন তা মনে রাখার জন্য গুগলের প্রয়োজন ছিল না। এই ব্যবস্থাগুলি বেশিরভাগ দশক ধরে ক্রমান্বয়ে / ক্রমবর্ধমান উন্নত ছিল এমন ডকুমেন্টেড বিকাশ পরিবেশের সাথে আসে। পরিকল্পিত অপ্রচলিত কারণে বা কিছুটা কম ভয়াবহ কারণে, আমরা এ থেকে দূরে সরে এসেছি। যাই হোক না কেন, আমরা এখন যা উন্নতি করেছি তা বলতে দ্বিধা বোধ করছি এবং এটিকে "রৌপ্য বুলেট" হিসাবে ঘোষণা করতে পুরোপুরি অনিচ্ছুক।
ব্যবহারকারী 1172763

জটিলতা শত্রু। আপনি জেসিএলকে আপনার মাথায় ধরে রাখতে পারেন এবং ম্যানুয়ালটি আপনার হাতে ধরে রাখতে পারেন; একটি শেল্ফ পুরো সিস্টেমটি নথিভুক্ত করতে পারে। এখন সিস্টেমের আকার এবং তাদের পরিবর্তনের অন্তর্নিহিত হারের আকারে একটি বিশাল বিস্ফোরণ ঘটেছে।
pjc50

13

আমি বলব ইন্টারনেটটি বেশ ভাল প্রার্থী। স্ট্যাকওভারফ্লো এবং গুগল একটি আধুনিক সময়ের বিকাশকারী সবচেয়ে শক্তিশালী সরঞ্জাম। বিশ্বব্যাপী তাত্ক্ষণিক জ্ঞান ভাগাভাগি! এই দিনগুলিতে আপনাকে উত্তরগুলি জানার দরকার নেই, আপনাকে কেবল উত্তরগুলি কীভাবে জানতে হবে তা জানতে হবে - এবং এটি একটি পুরোপুরি পর্যাপ্ত সাবসিটি যা বিকাশকারীদের কম সময় পড়তে এবং বেশি সময় কোডিংয়ে ব্যয় করতে দেয় এবং ফলস্বরূপ উত্পাদনশীল হয়। এর মানে পৃথিবীর প্রতিটি প্রোগ্রামার অ্যাক্সেস আছে যে সব উত্তর, এবং সমস্ত তারা যা করতে হবে কিভাবে জানি সঠিক প্রশ্ন জিজ্ঞাসা করা হল।


আপনি সিলভার বুলেটটি দেখানোর একমাত্র ব্যক্তি। এটি কেবল মাত্রার দ্বারা প্রোগ্রামারগুলিকে আরও উত্পাদনশীল করে তুলেছে না, তবে বাস্তবে একাধিক আকারের ক্রম দ্বারা।
ডঙ্ক

+1000 - আপনি একটি অস্পষ্ট ইস্যুতে কয়েক দিন কাজ করার পরিবর্তে কয়েক মিনিটের সাহায্য নিতে পারেন।
jqa

7

আমি পরামর্শ দেব যে প্রবণতাগুলি অন্য দিকে আমাদের দিকে টেনে তুলছে (অর্থাত্ কম উত্পাদনশীলতার দিকে) আপনি যে ট্রেন্ডগুলি সম্পর্কে জিজ্ঞাসা করেছিলেন তার চেয়ে কম শক্তিশালী। ভিবি 6 বা পাওয়ারবিল্ডারের মতো ক্লায়েন্ট / সার্ভার বিকাশ সরঞ্জাম করার অভিজ্ঞতাটি "র‌্যাপিড অ্যাপ্লিকেশন ডেভলপমেন্ট" (আরএডি) আদর্শের খুব কাছাকাছি এসেছিল। আপনি আপনার ফর্মগুলি আঁকতে পারেন, এবং আপনার পদ্ধতিগত বা এসকিউএল কোডের জন্য স্পষ্ট হুক ছিল।

ওয়েব বিকাশ, অন্তত প্রাথমিকভাবে, প্রচুর কৌশল এবং অবকাঠামো ধ্বংস করেছে যা এইগুলি সম্ভব করেছিল এবং অনেক ক্লায়েন্ট / সার্ভার বিকাশকারী কেবলমাত্র বিকাশকারী হয়ে যাওয়া বন্ধ করে দিয়েছিল বা VB6 বলতে মরিয়া হয়ে আঁকড়ে পড়েছিল।

ভারী ক্লায়েন্ট-চালিত ওয়েব বিকাশে রূপান্তরটি ছিল আরও একটি স্ল্যাশ-বার্ন অভিজ্ঞতা; মাইক্রোসফ্ট ওয়েবফোর্ডগুলির সাথে আরএডের আদর্শে ফিরে আসছিল এবং তারপরে এটি দ্রুত অনুকূল হয়ে যায়। পরিবর্তে বিকাশকারীরা অবকাঠামো (যেমন XMLHttpRequest, যা এক্সএমএলের জন্য খুব কম ব্যবহৃত হয়) অপব্যবহার করবে এবং অন্যথায় তাদের ওয়েবসাইটগুলিকে আরও ইন্টারেক্টিভ করে তোলার প্রয়াসে বানরের নীচু স্তরের আশেপাশে বাঁদরদের প্রত্যাশা করা হয়েছিল

এই সমস্ত পরিবর্তনের পিছনে ভাল কারণ রয়েছে, এবং ওয়েব বিকাশের সাথে একটি দেশীয় .EXE (পৃথক ক্লায়েন্টের ইনস্টলমেন্ট এবং পরিচালনা প্রয়োজন) এমন একটি প্রক্রিয়া তুলনা করা মোটেও ন্যায়সঙ্গত নয়, বা এটির উপর নির্ভর করে এমন কোনও প্রক্রিয়াটির তুলনা করা সম্পূর্ণভাবে ন্যায়সঙ্গত নয় পোস্টব্যাকগুলিতে এমন একটি যা আরও বিরামবিহীন অভিজ্ঞতা দেয়। তবে আমি বলব যে বর্তমানে প্রচলিত অনুশীলনগুলির ফলে ক্লায়েন্ট / সার্ভার, আরএডি এবং এই জাতীয় মতগুলি মিস করা লোকদের মধ্যে কিছু আশ্চর্যজনকভাবে নিম্ন-স্তরের চিন্তার প্রক্রিয়া তৈরি হয়। ক্লায়েন্ট / সার্ভার বোতামগুলি সবেমাত্র কাজ করেছে, এবং অবশ্যই অবশ্যই অন্তর্নিহিত ডেটা চ্যানেলগুলির বিষয়ে চিন্তা করার দরকার নেই যা ইভেন্ট হ্যান্ডলারের ডেটা পেয়েছিল যা এটি ঘটেছে।

বিপরীতে, আরও সমসাময়িক বিকাশকারীরা ভাবেন যে আমাদের মধ্যে যারা ক্লায়েন্ট / সার্ভার বিকাশ করেছেন (বা এমনকি পোস্টব্যাক-ভিত্তিক ওয়েব বিকাশ করেছেন) শর্টকাট অবলম্বন করার প্রবণতা রয়েছে (এবং এটি একটি খারাপ উপায়ে বোঝায়)। এটি বোধগম্য, তবে আমি এখনও মনে করি যে সমসাময়িক বিকাশ যেভাবে সম্পন্ন হয়েছে তা আশ্চর্যজনকভাবে নিম্ন স্তরের, এবং "সিলভার বুলেট" অনুসন্ধানের দিনগুলি খনির জ্ঞানকে প্রশ্নবিদ্ধ করার প্রশ্নে আমাদের মধ্যে যারা উপহাস করেছিল এবং তাদের বিদ্রূপ করার যুগে পৌঁছেছে বলে মনে হয় আমাদের নিজস্ব সীসা গন্ধ।


আপনি মেটিওর.জেএস দেখেছেন?
strugee

2
@ মাসজি হ্যাঁ, এবং আমি মনে করি মেটিওর জেএস সঠিক দিকের এক ধাপ হতে পারে। তবুও, ব্রুকস তাঁর বইটি লেখার পর থেকে আমরা প্রযুক্তিগতভাবে কমপক্ষে 3-4 বার "মূলত" শুরু করেছি (এখানে পিসি, তারপরে ক্লায়েন্ট / সার্ভার, তারপরে ওয়েবে এবং তারপরে ওয়েবে এবং পরে অ্যাজ্যাক্স যুক্তিযুক্তভাবে যা আমাদের "সিলভার বুলেট" সন্ধান করতে বা এমনকি উত্পাদনশীলতায় লিনিয়ার উন্নতি করতে বাধা দিয়েছে। সময় বলবে যে বর্তমান বিকাশের কৌশলগুলি কতক্ষণ সহ্য করে (এবং উন্নত হয়)। আশাবাদী হওয়ার কিছু কারণ রয়েছে ... প্রত্যেকে এখন একটি শক্তিশালী, ক্রস-প্ল্যাটফর্ম পয়েন্টে পৌঁছে যাচ্ছে।
ব্যবহারকারী 1172763

5

প্রযুক্তি অনেক উন্নত হয়েছে এবং এখন রবার্ট হার্ভে তার উত্তরে যে সমস্ত বিষয় গণনা করেছে তা আমাদের কাছে রয়েছে তবে:

  • সমস্যাটি প্রয়োজনীয়তাগুলি বদলে যাচ্ছে বলে মনে হচ্ছে । ক্লায়েন্ট জানেন যে কোনও সফ্টওয়্যার প্রকল্পের প্রয়োজনীয়তাগুলি পরিবর্তন করার সময় কোনও উপকরণের অপচয় হবে না, তাই তারা তা করে। এই ধরণের প্রয়োজনীয়তার পরিবর্তনগুলি কখনই কোনও ভবনের মতো কোনও দৈহিক-বিশ্ব প্রকল্পের অর্ধেক হয়ে গেলে প্রায় ঘটে না।

  • আর একটি গুরুত্বপূর্ণ বিষয় হ'ল প্রোগ্রামিং উচ্চতর কাজ করে চলেছে । কদাচিৎ যদি হয় তবে প্রথমে হাত দ্বারা সংশোধন না করেই আরএডি-উত্পাদিত কোডটি উত্পাদনে যায়।

  • কোডটি অত্যন্ত জটিল হিসাবে অব্যাহত রয়েছে এবং নতুন প্রযুক্তিগুলির সাথে সেই জটিলতা হ্রাস পাচ্ছে না।

  • শেষ সময়সীমা পূরণ না বা বাজেটের ছাড়িয়ে যাওয়ার হার অন্যান্য শাখাগুলির চেয়ে বেশি হতে থাকে এবং প্রায়শই প্রযুক্তিগত debtণ তাদের সাথে দেখা করার জন্য ব্যয় করা হয়, যা গোপন ব্যয় উৎপন্ন করে।

  • কিছু যে আছে, একটি সন্দেহ ছাড়া, ঘটেছে যে compartmentalization ঘটেছে করেছে। যে প্রযুক্তিগুলির নিখুঁত পরিমাণ তা জানতে হবে তা হ'ল প্রোগ্রামাররা তাদের কাছে সত্যিকারের ভাল হওয়ার জন্য কয়েকটি সংখ্যক প্রযুক্তি বিশেষায়িত করতে হয়েছিল, যাতে বিভিন্ন প্রকল্পের বিশেষজ্ঞরা একটি বৃহত প্রকল্পটি সম্পন্ন করতে পারেন।

  • সফ্টওয়্যার জটিলতার বিষয়ে একটি কথা বলার কারণ হ'ল বিশ্বে যেখানে শত শত গাড়ি নির্মাতারা রয়েছেন, সেখানে অপারেটিং সিস্টেম তৈরি করতে ও রক্ষণাবেক্ষণ করতে সক্ষম সংস্থাগুলির তালিকা , (ডেস্কটপ, মোবাইল, এমবেডেড বা অন্যথায়) আঙ্গুল দিয়ে গণনা করা যায় আপনার হাতের

  • উপরের সমস্তটি এমন একটি পরিস্থিতি তৈরি করেছে যাতে প্রোগ্রামার হওয়ার জন্য অধ্যয়নরত পর্যাপ্ত লোক নেই , যাতে আরও শিক্ষার্থীদের ক্যারিয়ারের পথে চালিত করতে প্ররোচিত করার জন্য সরকার প্রচারণা তৈরি করে।

  • সফ্টওয়্যার শিল্পের পরিপক্কতার একটি স্বাদ হ'ল সফ্টওয়্যার লাইসেন্সগুলি উল্লেখ করে যে "<companyX> কোনও নির্দিষ্ট উদ্দেশ্যে এই সফ্টওয়্যারটির উপযোগিতা সম্পর্কে কোনও উপস্থাপনা করে না It এটি" যেমন "প্রকাশিত বা অন্তর্ভুক্ত ওয়ারেন্টি ছাড়াই সরবরাহ করা হয়।" কোনও হার্ডওয়্যার নির্মাতাকে কল্পনা করুন যে তাদের পণ্যটি কোনও বিশেষ উদ্দেশ্যে উপযুক্ত নয়। এই মুহূর্তে শিল্পের অবস্থা।


2
এখানে অবশ্যই 10 টিরও বেশি সংস্থা রয়েছে যা তাদের নিজস্ব ওএস তৈরি এবং রক্ষণাবেক্ষণ করতে সক্ষম , তবে কয়েকটি কম তা পছন্দ করে, কারণ অন্যান্য সুযোগগুলি আরও লাভজনক।
বেন ভয়েগট

@ বেনওয়েগ্ট অবশ্যই, একটি ওএস তৈরি ও রক্ষণাবেক্ষণ নিখুঁত জটিলতার তুলনায় তুলনামূলকভাবে কম লাভজনক, এর জন্য দশকের গবেষণা ও বিকাশ প্রয়োজন, যা নব্বইয়ের দশকে আজ পরিপক্ক পণ্য অর্জনের জন্য তাদের শুরু হওয়া উচিত ছিল।
তুলিনস কর্ডোভা

1
এছাড়াও রইয়ের "রিটার্ন" দিকটি তেমন ভাল নয়, কারণ বাজার ইতিমধ্যে স্যাচুরেটেড।
বেন ভয়েগট

2
অবশ্যই, আপনি যা করেছেন লেডি লাভলেস তার পেন্সিল তুলে দেওয়ার অল্পকাল থেকেই কার্যকর প্রোগ্রামিংয়ের সুপরিচিত রোড ব্লকগুলি গণনা করা is 30 বছর আগে বনামের চেয়ে পৃথক হওয়া একমাত্র জিনিস হ'ল বিষয়গুলি আরও জটিল হয়ে উঠেছে।
ড্যানিয়েল আর হিক্স

4

যদিও কেউ নির্দিষ্ট মেট্রিকের সাথে তর্ক করতে পারে (যেমন, 9.98 এর ফ্যাক্টরের সাহায্যে জিনিসগুলির উন্নতি হয়েছে?), আমি (একটি পুরানো-টাইমার হিসাবে কথা বলছি) ব্রুকসের মন্তব্যের সাধারণ অনুভূতির সাথে একমত হতে হবে।

প্রথমত, ১৯ 1970০ সালের পর থেকে সত্যই খুব কম নতুন প্রযুক্তি উদ্ভাবিত হয়েছে। হ্যাঁ, সংহত সার্কিটগুলি দীর্ঘ, নিম্ন, প্রশস্ত এবং কাচের ফাইবারের সাথে যোগাযোগের গতি উন্নত করেছে, তবে প্রতিটি পদক্ষেপের জন্য আবার একটি পিছনে রয়েছে।

সংকলক প্রযুক্তি প্রোগ্রামার "উত্পাদনশীলতা" এর তুলনায় ১৯০ বর্ষের দশগুণ উন্নতির অনুমতি দিয়েছে, যখন একটি পরিসংখ্যান ফাংশনকে প্রকৃত কোডিং সময় দ্বারা বিভক্ত করে তৈরি করা হয়, তবে নতুন বা "সংশোধিত" প্রোগ্রামিং ভাষা এবং পরিবেশের প্রসার বলতে বোঝায় যে গড় প্রোগ্রামার বেশি এবং বেশি ব্যয় করছে "ক্যাচ আপ" মোডে সময় এবং উত্পাদনশীল কার্যকলাপে কম। অ্যাপল, গুগল এবং মাইক্রোসফ্ট সকলেই তাদের পরিবেশে নতুন এবং উল্লেখযোগ্যভাবে বেমানান "আপগ্রেডগুলি" নির্ধারণ করবে যা তার ঠিক নীচে রয়েছে যা তাদের সার্ফগুলির মধ্যে বিদ্রোহ ঘটাবে ... আর, প্রোগ্রামিং গ্রাহকরা। একইভাবে, এইচটিএমএল / সিএসএস / জাভাস্ক্রিপ্ট / যা কিছু জটিল হতে থাকে getting

একসময় ডকুমেন্টেশন যে হারে ডকুমেন্টেশন তৈরি এবং প্রচার করা যেতে পারে তা এই সমস্ত "উদ্ভাবন" সীমাবদ্ধ এবং সঙ্কুচিত করতে পারত, তবে, ইন্টারনেটকে ধন্যবাদ, কঠোর ডকুমেন্টেশন আর সত্যিকার অর্থে প্রয়োজনীয় নয় - কেবল কার্য সম্পাদন করা এবং ব্লগারদের উপর নির্ভর করা বিশদটি বের করুন এবং তাদের উপলব্ধ করুন make

যোগ করা হয়েছে: আমি গতকাল থেকে এই সম্পর্কে চিন্তাভাবনা করে এসেছি এবং বিশেষত এই প্রকল্পটি সম্পর্কে যা আমি ১৯ 197৮ সাল থেকে ২০০৮ সাল পর্যন্ত কাজ করেছি। এই প্রকল্পটি (আইবিএম সিস্টেম / ৩৮ এবং এর উত্তরসূরীরা) কিছুটা অনন্য ছিল যা শুরু থেকেই প্রচেষ্টা ছিল এর জটিলতা নিয়ন্ত্রণ করার জন্য তৈরি করা হয়েছে (তাদের মধ্যে একটি "মেশিন" ইন্টারফেস সহ সফ্টওয়্যারটির দুটি প্রায় সমান অংশে বিভক্ত হওয়া)। আমি যে বিশেষ অঞ্চলে কাজ করেছি সেখানে আমার বেশ কয়েকজন সহকর্মী একইভাবে জটিলতা নিয়ন্ত্রণে নিবেদিত ছিলেন (যদিও আমরা সেই শব্দটি তখন খুব বেশি ব্যবহার করি নি)। ফলাফলটি এমন একটি পণ্য ছিল যা (প্রথমে) বেশ শক্তিশালী ছিল এবং গ্রাহকদের কাছে গিট-গো থেকে বেশ কিছুটা "হিট" হয়েছিল। এবং এটিতে কাজ করে আনন্দিত হয়েছিল - যেমন একটি প্রশিক্ষিত অর্কেস্ট্রা খেলা playing

অবশ্যই, বছরের পর বছর ধরে জটিলতা সৃষ্টি হয়েছিল, সাধারণত বাজার পরিকল্পনাকারী এবং পরিচালকদের নির্দেশে যাদের জটিলতা নিয়ন্ত্রণের জন্য কোনও প্রশংসা ছিল না (যা কেবল সরলতা বজায় রাখার থেকে কিছুটা আলাদা)। আমার অনুভূতি নেই যে এটি অনিবার্য ছিল, তবে কোনও ব্যবস্থাপক (গ্লেন হেনরি যেমন মূলত করেছিলেন) বিভ্রান্তির শক্তিকে পিছনে ঠেলে দিয়ে এ ক্ষেত্রে এড়ানো সম্ভব ছিল না।


2
তবে আমার 20-30 বছর পূর্বে আমার কাছে ঘটে যাওয়া কিছু (এবং কোনও সন্দেহ নেই যে অনেকেই সন্দেহ করেছেন) এর কথা মনে করিয়ে দিয়েছি - এখানে প্রোগ্রামিংয়ের পিটার নীতিমালা (বা সম্ভবত প্রোগ্রামিং থার্মোডাইনামিক্সের একটি দ্বিতীয় আইন) রয়েছে যা জানায় যে জটিলতা অবশ্যম্ভাবীভাবে বেড়ে যায় বোধগম্যতার বিন্দু। বিষয়গুলি কখনও সহজ হয় না।
ড্যানিয়েল আর হিক্স

3

আমরা গত ৩০++ বছরে সফটওয়্যার ইঞ্জিনিয়ারিং অনুশীলনে যা শিখেছি তার একটি বড় বিষয় হল "প্রযুক্তি এক্স নতুন সফ্টওয়্যারটির প্রাথমিক বিকাশের গতি বাড়িয়ে তুলতে পারে, তবে কীভাবে এবং কীভাবে আপনি এত বেশি সময় ব্যয় না করে এটি ব্যবহার করে আপনি যখন সংরক্ষণ করেছেন তেমন এটি ব্যবহার করবেন, দীর্ঘমেয়াদে এটি আপনার অ্যাপ্লিকেশনটিকে প্রযুক্তিগত debtণের চুষুকের জলাভূমিতে পরিণত করবে, আপনাকে আরও সময় এবং রক্ষণাবেক্ষণের জন্য পরিশ্রমের আদেশের জন্য ব্যয় করবে ""

এই রেজারের আওতায় আসা প্রযুক্তিগুলির মধ্যে রয়েছে: হ্যান্ড-কোডেড অ্যাসেম্বলি ল্যাঙ্গুয়েজ, সংকলক, দোভাষী, পদ্ধতি গ্রন্থাগারগুলি, অত্যাবশ্যক প্রোগ্রামিং, ফাংশনাল প্রোগ্রামিং, অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং, ম্যানুয়াল মেমোরি বরাদ্দ, আবর্জনা সংগ্রহ, স্থির ধরণের, গতিশীল ধরণের, লেক্সিকাল স্কোপ, গতিশীল সুযোগ , "নিরাপদ" পয়েন্টার, "অনিরাপদ" পয়েন্টার, ভাষা ধারণা হিসাবে পয়েন্টারগুলির অনুপস্থিতি, বাইনারি ফাইল ফর্ম্যাটস, কাঠামোগত-মার্কআপ ফাইল ফর্ম্যাট, ম্যাক্রোস, টেমপ্লেটস, ম্যাক্রো এবং টেম্পলেটগুলির পরিহার , ভাগ করা মেমরি, বার্তা উত্তরণ, থ্রেড, কর্টাইনস, অ্যাসিঙ্ক্রোনাস ইভেন্ট লুপগুলি, কেন্দ্রিয়ায়িত দূরবর্তী পরিষেবাগুলি, বিতরণ পরিষেবাগুলি, স্থানীয়ভাবে ইনস্টল করা সফ্টওয়্যার, অ্যারে, লিঙ্কযুক্ত তালিকাগুলি, হ্যাশ টেবিলগুলি এবং গাছগুলি।

উপরের তালিকার অনেকগুলি আইটেম গ্রুপে আসে যা একত্রে জ্ঞাত সমাধানের জায়গাটি নিষ্ক্রিয় করে তোলে এবং এটি নিজেই আপনাকে কিছু বলা উচিত। যে কেউ তর্ক করতে পারে যে প্রক্সিসের একমাত্র দ্ব্যর্থহীন, বোর্ডের উন্নতিগুলি যেহেতু তারা প্রথমবার জেড 3 চালু করেছিল সেগুলি হ'ল ব্লক-কাঠামোগত প্রোগ্রামিং (স্প্যাগেটি কোডের বিপরীতে) এবং মেমরি সুরক্ষা (ছেলে, আমি কি কখনও মিস করি না) যে দিনগুলিতে একটি টাইপো আমার সম্পূর্ণ কম্পিউটারটি নামাতে পারে)।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.