সংকলক নির্মাণ সম্পর্কে শেখার এবং বোঝার সুবিধা কী?


10

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

সংকলক নির্মাণ সম্পর্কে শেখার কোনও সফটওয়্যার ইঞ্জিনিয়ারের আসল বিশ্বের সুবিধা কী হবে?


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

এটি একটি খুব তাত্ত্বিক বলে মনে হচ্ছে: ocw.mit.edu/courses/electrical-engineering- and- কম্পিউটার কম্পিউটার- বিজ্ঞান /
চাকরী

1
আমি আমার তৃতীয় বছরেও ইউনিতে এটি করেছি। - আমি পুরো কোর্সে (দ্বিতীয় এআই) পরে নেওয়া দ্বিতীয়তম মডিউলটি ছিল?
TWith2Sugars

@ টিউইথ টু সুগারস: আপনি কেন বলবেন সিসি অন্যতম সেরা?
নিপুনা

1
ক্লাসে আমার জন্য পয়সা কয়েকবার নেমেছিল - প্লাস একজন আকর্ষক প্রভাষক এবং শালীন সহকারী শিক্ষার্থীরা এটি এমন কিছু তৈরি করেছিল যা আমি সত্যিই উপভোগ করেছি। তাদের মধ্যে একটি মুহুর্ত আমার মনে আছে যে আমরা শুরুতে ব্যাকরণ প্রকাশ করতে শুরু করেছিলাম এবং প্রভাষক বলেছিলেন "এটি দ্বিতীয় মেয়াদ পর্যন্ত বোঝা যায় না" - দ্বিতীয় শব্দটি যখন আমরা বাকী সংকলকটি তৈরি করা শুরু করি (1'st শব্দটি আমরা একটি পার্সার / টোকেনাইজার তৈরি করেছি)। এটা আমার জন্য এটিকে দুর্দান্ত মডিউল বানিয়েছে।
TWith2Sugars

উত্তর:


12

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

কিছু ভাষা কেন সেভাবে ডিজাইন করা হয়েছে এবং কেন কোনও ভাষা নিখুঁত নয় সে সম্পর্কেও এটি আপনাকে বৃহত্তর অন্তর্দৃষ্টি দেয়।

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


5
বিস্ফোরিত মস্তিষ্কের জন্য +1। এছাড়াও, সেমিস্টার শেষ না হওয়া অবধি আপনার সংকলকটি লেখা বন্ধ রাখবেন না! আমি অভিজ্ঞতা থেকে জানি ...
জেরেমি হিলার

20

ওহ এটি একটি ভাল। আপনি এটি আফসোস করতে হবে না নিতে।

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

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

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


2
এছাড়াও এটি আপনাকে 'ভাল / খারাপ ভাষা' সম্পর্কে অন্তর্দৃষ্টি দেয় যা এখানে প্রায় নিয়মিত বিষয়।
জেবিআরউইলকিনসন

8

স্পষ্টভাবে!

এটি এমন কোনও বিষয় নাও হতে পারে যে আপনি প্রতিদিন একটি ডেটাবেস ক্লাসের মতো ব্যবহার করবেন উদাহরণস্বরূপ, সংকলকগুলি বোঝার ফলে আপনি একটি দুর্দান্ত ভিত্তি পাবেন।

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


2
আমার আন্ডারগ্রাড ওএস কোর্সটিই ছিল প্রথম স্থান যেখানে আমাকে সত্যিকারের সম্মতি বুঝতে হয়েছিল। এটি অত্যন্ত ব্যবহারিক ছিল। পার্সার লেখার সময় আমার আন্ডারগ্রাড প্রোগ্রামিং ল্যাঙ্গুয়েজ কোর্সটি সেরা ছিল।
justkt

আমার 3 য় বছরের মধ্যে কিছু কারণে অপারেটিং সিস্টেম মডিউল :( সত্যিই ভাল হিসাবে এটি করতে চেয়েছিলেন সরানো হয়েছে।
TWith2Sugars

6

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

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


4

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


ইডিএসএল সংকলক বলতে কী বোঝ?
নিপুনা

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

1

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

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

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