প্রোগ্রামার হিসাবে আমার কি নিম্ন ও উচ্চ স্তরের প্রোগ্রামিং ভাষাগুলি জানা উচিত? [বন্ধ]


18

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

"আপনি যদি নিজেকে প্রোগ্রামার হিসাবে আখ্যায়িত করেন তবে এই সমস্ত বিষয় আপনার জানা উচিত"

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


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

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

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

3
এর আরেকটি কেস, "হুই, খুশী আমি সেই বুলেটটি মিস করেছি!" আপনি কি সত্যিই কাজ করতে চান না বা এই জাতীয় কোনও ছোঁয়াছ নিয়ে?
এডওয়ার্ড স্ট্রেঞ্জ

2
@ শ্যাডলার - এবং যদি তারা তাদের নিজস্ব বোর্ড জ্বলছে না তবে তারা মোট নতুন।
এডওয়ার্ড স্ট্রেঞ্জ

উত্তর:


37

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

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

আপনার পরিচিতির মতো মনোভাব রাখার জন্য আমি কারও পক্ষে কাজ করব না।


4
+1: মন্তব্যটি প্রথম স্থানে কোনও ধারণা রাখে না।
এসলট

যদিও আমি বাজি ধরব যে সেখানে প্রচুর সমাবেশ-দেব রয়েছে যারা এই মুহুর্তে তাকে চার্জ করতে পেরে খুশি হবে।
এরিক রিপেন

22

"আপনি যদি নিজেকে প্রোগ্রামার হিসাবে আখ্যায়িত করেন তবে এই সমস্ত বিষয় আপনার জানা উচিত"

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

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


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

4
আপনার বিন্দুটি অনুপস্থিত। হ্যাঁ উচ্চ স্তরের প্রোগ্রামারদের নিম্ন-স্তরের দিকগুলি বোঝার পক্ষে সক্ষম হওয়া উচিত তবে লিংকসিস রাউটারের জন্য ফার্মওয়্যার আপগ্রেড কীভাবে লিখবেন সে তার জানা উচিত?
maple_shaft

7
আমি মনে করি যে তাদের কীভাবে কীভাবে তা জানা উচিত। আধুনিক প্রোগ্রামিংয়ের একটি বিরাট অংশ হ'ল রেফারেন্স হিসাবে কী মনে রাখতে হবে এবং কী ফাইল করতে হবে তা জেনে।
মাইকেল কে

8

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

আপনি আপনার সীমাবদ্ধতাগুলি জেনে আরও অনেক বেশি জ্ঞান এবং চরিত্র দেখিয়েছেন। এই ব্যক্তি এমন কিছু সম্পর্কে কথা বলেন যা তিনি কিছুই জানেন না।

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


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

6

স্কুলে বেশিরভাগ সিএস প্রোগ্রাম আপনাকে নিম্ন স্তরের প্রোগ্রামিংয়ে কিছু জ্ঞান দেবে। উদাহরণস্বরূপ, আমার ৮০৮৮ প্রসেসর ব্যবহার করে এসেম্বলারের ক্লাস ছিল (ঠিক আছে ... যাতে আমার কিছুটা তারিখ হয়)। আমি মনে করি, তবে, আজকাল প্রচুর বাণিজ্য স্কুলগুলি সেই জ্ঞানটিকে বাইপাস করে - যদি এটি সত্য না হয় তবে একটি মন্তব্য সহ পাইপ আপ করুন।

নীচের লাইনটি, চিপ স্তরে কী ঘটে তা জেনে রাখা সর্বদা ভাল - তদ্ব্যতীত, আপনার উচ্চ স্তরের ভাষাগুলি চালিত হলে অবশেষে সেখানেই শেষ হবে।

তবে, কেউ আপনাকে বলার জন্য যে আপনি প্রোগ্রামার নন কারণ আপনি বর্তমানে নিম্ন স্তরের প্রোগ্রামিং জানেন না তা অজ্ঞ। আপনার যদি বর্তমান প্রকল্পের জন্য সেই দক্ষতা থাকা দরকার তবে আপনার প্রয়োজনীয় দক্ষতাগুলি শিখতে এবং তারপরে সেগুলি প্রয়োগ করার জন্য আপনার পর্যাপ্ত স্মার্ট বা প্রেরণা থাকা উচিত।

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


6

লোকেরা যখন বলে যে "নিজেকে নিজেকে প্রোগ্রামার হিসাবে ডাকতে আপনার এক্স জানা দরকার" তখন আমি সত্যিই এটিকে তুচ্ছ করি। সত্যি? ভাল কিছু লোকেরা সারাদিন COBOL এ কাজ করে এবং এটি ভালবাসে। তারা এটিতে এবং তাদের সমস্যা ডোমেনে এতটা ভাল হয়ে থাকতে পারে যে তাদের পাশে আমরা সকলেই প্রেরক।

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


3

আমি আপনাকে এটি পড়তে পরামর্শ দিচ্ছি:

http://www.joelonsoftware.com/articles/LeakyAbstractions.html

যেমনটি ব্যাখ্যা করা হয়েছে, আপনি যখন বিমূর্ততা ব্যবহার করেন তখন নীচের স্তরেরটি সর্বদা আপনার কাজগুলিতে প্রভাব ফেলে। এটি পারফরম্যান্সের ভিত্তিতে, ব্যর্থতার কারণ, সুরক্ষার কারণ এবং অন্যান্য হতে পারে।

সুতরাং নিশ্চিতভাবে, আপনি এখন এই স্টাফ সম্পর্কে করা উচিত। বিশেষত asm বা CPU আর্কিটেকচার বিশেষজ্ঞ না হওয়া। কিন্তু যখন আপনার আরও জানতে হবে তখন নিজেকে ডকুমেন্ট করার জন্য পর্যাপ্ত পরিমাণে জানা, অবশ্যই একটি অবশ্যই থাকা উচিত।


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

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

2

তাঁর যুক্তি নো ট্রু স্কটসম্যান লজিক্যাল ভ্রান্তির একটি ভাল উদাহরণ ।

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

উদাহরণস্বরূপ, একটি আরডুইনোতে একটি LED ম্যাট্রিক্সের সাথে কাজ করার জন্য এই লাইব্রেরিটি একবার দেখুন । এটি এখানে রকেট বিজ্ঞান নয়, এবং সত্যিই কোনও প্রোগ্রামার যদি তারা "নিম্ন স্তরের ওহ না!" না রাখে তবে এটি একটি সামান্য প্রচেষ্টা দিয়ে বুঝতে সক্ষম হবে! মানসিক অচলবস্থা.


1

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

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

যে ব্যক্তি আপনাকে বলেছিল যে "ফ্রেস" হতাশ, সম্ভবত আপনিই কেবল তাঁর সাথে যোগাযোগ করেছেন এমন ব্যক্তি ছিলেন না।

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

চিয়ার্স,

wardy


1

তাত্ত্বিক জ্ঞান থাকা ভাল। করতে সক্ষম হচ্ছে শিখতে নিম্নস্তরের ভাষা যখন প্রয়োজনীয় খুব গুরুত্বপূর্ণ।

তবে "যদি আপনি নিজেকে প্রোগ্রামার বলে থাকেন তবে আপনার এই সমস্ত বিষয়গুলি জানা উচিত", যারা সবকিছু সম্পর্কে সমস্ত কিছু জানতে পারে? তারা এমনকি তাদের আগে?


-2

আমি আবার বাক্যাংশ

"আপনি যদি নিজেকে প্রোগ্রামার হিসাবে আখ্যায়িত করেন তবে এই সমস্ত বিষয় আপনার জানা উচিত"

প্রতি

"আপনি যদি নিজেকে প্রোগ্রামার হিসাবে আখ্যায়িত করেন তবে আপনার যথেষ্ট পরিমাণে জানা উচিত যে আপনি দ্রুত এই সমস্ত কিছু শিখতে পারেন"

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