উচ্চতর এবং উচ্চতর প্রোগ্রামিং ভাষার ব্যবহারের ফলে কম্পিউটার আর্কিটেকচার জ্ঞান সহ প্রোগ্রামারগুলির ঘাটতি হতে পারে?


15

"উচ্চ-স্তরের প্রোগ্রামিং ভাষা" নিবন্ধটির উইকিপিডিয়া থেকে উদ্ধৃতি:

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

যেমন, প্রোগ্রামিং ভাষার স্তর বাড়ার সাথে সাথে প্রোগ্রামারটি আরও দূরে প্রোগ্রামটি যে হার্ডওয়্যারের উপর চালিত হয় সেখান থেকে চলে যায়।

এখন আমি স্তরগুলিতে ভাষা ব্যবহারের পরিসংখ্যান জানি না, তবে আমি সন্দেহ করব যে উচ্চ স্তরের ভাষা আরও বেশি করে নিম্ন স্তরের ভাষাগুলিকে প্রতিস্থাপন করছে। যদি তা হয় তবে এটি কি কম্পিউটার আর্কিটেকচার জ্ঞান সহ প্রোগ্রামারদের ঘাটতি ঘটাতে পারে? এটি কি শিল্পের জন্য সমস্যা হবে?

উত্তর:


16

এটি পারে , তবে সম্ভবত কোনও সমস্যার কারণ হবে না।

এটি কেবল অর্থনীতি। যদি বিস্তৃত লোক অন্তর্নিহিত আর্কিটেকচারটি বোঝার দক্ষতা হারাতে থাকে এবং অন্তর্নিহিত আর্কিটেকচারটি বোঝার জন্য এখনও একটি বিশাল প্রয়োজন রয়েছে, তবে যাঁরা করেন তাদের চাকরি হবে এবং তাদের বেশি বেতন পাবেন, তবে যাদের কেবল নেই তাদের এমন চাকরি যেখানে প্রয়োজন হয় না (এবং আরও বেশি বেতন পেতে পারে ... কে জানে?)।

এটি জানা কি সহায়ক? একেবারে। আপনি সম্ভবত ভাল হতে হবে। এটি বেশিরভাগ ক্ষেত্রে প্রয়োজনীয়? না। তাই বিমূর্ততা এত দুর্দান্ত, আমরা দৈত্যের কাঁধে দাঁড়িয়ে থাকি আমরা নিজেরাই জায়ান্ট না হয়ে (তবে চিরকালই দৈত্য থাকবে)।


4
তবে সমস্ত বিমূর্ততা ফুটো হয়। ফাঁস বিমূর্ততা নিবারণের জন্য যদি আপনি যেতে যেতে চান তবে অন্তর্নিহিত আর্কিটেকচারটি জানা জরুরি।
dsimcha

5
@ ডিএসিমচা, সম্মত, তবে আপনাকে যেতে আগত লোক হওয়ার জন্য আপনাকে "অন্যদের" আপনার কাছে আসতে হবে ;-) প্রত্যেককে যদি সবকিছু জানার দরকার হয় তবে বিমূর্ততাটি খারাপভাবে ব্যর্থ হয়েছে।
21:10

1
@Preets, এবং এই কারণে অনেক বিমূর্ত আছে miserably ব্যর্থ হয়েছে। এমনকি গো-টু লোকের অস্তিত্ব থাকার জন্য জায়গা পাওয়াও তার প্রমাণ এটি একটি বিমূর্ততা ইতিমধ্যে ব্যর্থ হয়েছে।
পেসারিয়ার

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

3
@ পেসারিয়ার গুগলের সীমাহীন সংস্থান রয়েছে এবং এগুলি এমন অ্যাপ্লিকেশনগুলি তৈরি করে যা বিভিন্ন মাত্রার আরও কয়েকটি আদেশ এবং আরও বেশ কয়েকটি আদেশের সমন্বয়ে কোডের আরও বেশি লাইন থাকে most প্রত্যেকের দাবি লোভেলের কম্পিউটার স্টাফগুলি জানা উচিত কারণ সমস্ত বিমূর্ততা ফাঁস হতে পারে তা বলার মতো, যেহেতু কোনও সরঞ্জাম ব্যবহার না করে স্ক্র্যাচ থেকে একটি বাড়ি কীভাবে তৈরি করা উচিত প্রত্যেকেরই জানা উচিত কারণ ঝড় আসতে পারে এবং তাদের বাড়িটি ছিঁড়ে ফেলতে পারে। এটির মতো সংস্থান ব্যয় করা কেবল সম্ভব (বা স্মার্ট) নয়।
সারা

9

আমি তাই মনে করি. এটি এমন একটি ট্রেন্ড যা আমাকে চিন্তিত করেছে। কোনও বিমূর্ততা নিখুঁত নয় ; যদি কোনও জটিল সমস্যা সরল করার কোনও নিখুঁত উপায় থাকে তবে এটি খুব দ্রুত মূলটিকে প্রতিস্থাপন করবে। (এটি অতীতে কখনও কখনও কম্পিউটারের সাথে ঘটেছিল এবং অন্যান্য ক্ষেত্রে এমন অনেক ঘন ঘন ঘন ঘন ঘটে যা আমাদের মতো পিছনের দিকের সামঞ্জস্যতা নিয়ে খুব বেশি চিন্তা করে না) যেমন পদার্থবিজ্ঞানের মতো।)

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

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

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


5
আমি শুনেছি এটি "আপনি যেখানে কাজ করেন সেখান থেকে একটি স্তর নীচে বিমূর্ততা জানতে হবে" হিসাবে প্রকাশিত হয়েছে। ঠিক আছে, এটি বরং pithier ছিল; আমার স্মৃতি ত্রুটিযুক্ত। সুতরাং আপনি যদি সি বা ডেলফিতে কাজ করছেন তবে আপনার কীভাবে সমাবেশ কাজ করে তা আপনার জানা উচিত। আপনি যদি স্মার্টটাক বা জাভাতে কাজ করছেন তবে আপনার ভিএম কীভাবে কাজ করে তা আপনার জানা উচিত। (যুক্তিযুক্তভাবে, আপনার সবসময় সমাবেশ সম্পর্কে কিছু জানা উচিত !) আপনি যদি টিসিপি নিয়ে কাজ করছেন, আপনার আইপি কীভাবে কাজ করে তা আপনার জানা উচিত। ইত্যাদি।
ফ্র্যাঙ্ক শায়ারার

1
আমি বলতে চাইছি, আপনি এটিকে আরও এগিয়ে নিতে পারেন: কেন কেবল সমাবেশ জেনে রাখা যথেষ্ট হবে? এটি বাইনারি সিপিইউ নির্দেশাবলীর উপর কেবল একটি হ্যান্ড হোল্ডিং উচ্চ-স্তরের বিমূর্তি। কিন্তু অপেক্ষা করো! মেশিন কোড? এটি কেবল একটি বিমূর্ততা! আপনার শিখতে হবে কীভাবে সিপিইউ লজিক গেটগুলি তৈরির জন্য ট্রানজিস্টর ব্যবহার করে নির্মিত হয়! এবং বাস এবং রেজিস্টারস। কিন্তু অপেক্ষা করো! ট্রানজিস্টর? এটি কেবল পরমাণুর একটি নির্দিষ্ট কনফিগারেশনের বিমূর্ততা। এবং পরমাণু কোয়ান্টাম ক্ষেত্রের ওঠানামা মাত্র একটি বিমূর্ততা। শেষ পর্যন্ত, এটি কেবল javascript:alert("Hello world")স্ট্রিং তত্ত্বে পিএইচডি প্রয়োজন।
সারা

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

1
যদি না আপনি এমন একজন পেশাদার আছেন: আমার পয়েন্ট @DrewJordan শুধু যে প্রয়োজন সম্পর্কে জানতে এবং বিষয় একটি নির্দিষ্ট শ্রেণী ঠিক করতে (বা শুধু একটি প্রখর ব্যক্তিগত আগ্রহ আছে), তাহলে এটি বেশ উন্মুক্তভাবে দাবির কিম্ভুতকিমাকার যে তুমি প্রয়োজন ভেতরের কাজগুলোকে জানতে এবং আপনি যে প্রতিটি সরঞ্জাম ব্যবহার করছেন তার অদ্ভুত সূক্ষ্মতা। আমি কেবল এর যৌক্তিক উপসংহারে অবস্থানটি আঁকলাম। নিশ্চিতভাবে, কীভাবে ইথারনেট কেবলটি তৈরি হয় তা আপনার ইন্টারনেট সংযোগ ব্যর্থ হওয়ার পরে সঠিক সরঞ্জাম সরবরাহ করে আপনাকে একটি নতুন তৈরির অনুমতি দেয়, তবে উপরের 20 স্তরগুলি যখন আপনি কাজ করেন তখন জ্ঞান অর্জনে সময় এবং অর্থ ব্যয় করা কেবল অপচয়যোগ্য।
সারা

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

5

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


2
তত্ত্বের ক্ষেত্রে, হ্যাঁ, তবে সেগুলি বেশ কয়েকটি বড় আইএফএস
ম্যাসন হুইলার

1

না, এটি কম্পিউটার আর্কিটেকচার জ্ঞান সহ প্রোগ্রামারদের ঘাটতির দিকে পরিচালিত করবে না । একটি নির্দিষ্ট ডোমেনে সমস্যাগুলি সমাধান করতে ভাষা ব্যবহার করা হয়। আপনি যদি কোনও নির্দিষ্ট সমস্যা সমাধান করতে চান তবে আপনি আপনার সংস্থান হিসাবে যথাযথ ভাষা বা যথেষ্ট ভাল একটি ব্যবহার করতে পারেন।

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

কর্মক্ষমতা বৃদ্ধি? হ্যাঁ, আপনি অ্যালগরিদমের কার্যকারিতা উন্নত করতে কম্পিউটারের আর্কিটেকচারের জ্ঞান প্রয়োগ করতে পারেন। তবে অন্য দুটি কারণের কার্যকারিতার উপর আরও বড় প্রভাব রয়েছে: আরও ভাল অ্যালগরিদম ব্যবহার এবং ভাষার রানটাইম পরিবেশের জ্ঞান।

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

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