আমি কীভাবে আমার পিতামাতাকে ব্যাখ্যা করতে পারি যে আমি প্রোগ্রামিংয়ের ভাষা অধ্যয়ন করি?


64

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

এখন এখানে আসল প্রশ্নটি: কম্পিউটার বিজ্ঞান বা সম্পর্কিত ক্ষেত্রে কোন পূর্ব জ্ঞান না থাকা মানুষকে আমি কী করতে চাই (আমি চাই) তা কীভাবে ব্যাখ্যা করব?

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

কারও কি বাস্তব-জগতের সাথে ভাল উপমা রয়েছে? আলোকিত উদাহরণগুলি "এ-হা" মুহুর্তগুলির কারণ? আমি কি কম্পিউটারের বিজ্ঞানের (বা একাডেমিক) অভিজ্ঞতা না দিয়ে 60+ বছর বয়সের কোডের সংক্ষিপ্ত এবং সাধারণ স্নিপেটটি দেখাই উচিত? যদি তাই হয় তবে আমার কোন ভাষাটি ব্যবহার করা উচিত? এখানে কেউ কি একই ধরনের সমস্যার মুখোমুখি হয়েছেন?


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

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


1
আমি কেবল বুঝতে পারি না যে কোনও নির্দিষ্ট সমস্যা সম্পর্কিত প্রশ্নের চেয়ে এই প্রশ্নটি কেন বেশি ভোট দেওয়া হয়েছে, যা আরও কার্যকর। এই প্রশ্নটি হাস্যকর এবং হাস্যকরভাবে আপ-ভোট হয়েছিল। অবিশ্বাস্য!
nbro

2
@ এনব্রো এই প্রশ্নটি সম্পর্কে হাস্যকর জিনিসটি আমি পাই না এবং আপনি কীভাবে সিদ্ধান্ত নিয়েছিলেন যে একটি নির্দিষ্ট প্রশ্ন অন্যটির চেয়ে "বেশি কার্যকর" তা আমি নিশ্চিত নই।
এফফিফ

উত্তর:


59

আপনার যদি কয়েক মিনিট থাকে, তবে বেশিরভাগ লোকেরা কীভাবে কাগজে দুটি তিন-অঙ্কের সংখ্যার যোগ এবং গুণ করতে জানেন। তাদের এটি করতে বলুন, (বা তারা করতে পারলে তারা স্বীকার করতে পারেন) এবং তাদের স্বীকৃতি জানাতে জিজ্ঞাসা করুন যে তারা এই কাজটি পদ্ধতিগতভাবে করেন: যদি এই সংখ্যাটি 9 এর বেশি হয়, তবে একটি বহন যোগ করুন, এবং আরও এগিয়ে। তারা কী করবে সে সম্পর্কে এই বিবরণটি এটি একটি অ্যালগরিদমের উদাহরণ ।

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

এটি একটি খুব স্বীকৃত পরিস্থিতি। বেশিরভাগ লোকের ধারণা নেই যে তারা যে কম্পিউটারগুলি চালিত প্রোগ্রামগুলি ব্যবহার করে, বা সেই প্রোগ্রামগুলি হ'ল মানব-লিখিত উত্স কোড, বা একটি কম্পিউটার উত্স কোড 'পড়তে' পারে, বা সেই গণনা, যা তারা পাটিগণিতের সাথে যুক্ত, কেবল কম্পিউটারই (এবং ডেটা মুভমেন্ট এবং নেটওয়ার্কিং, সম্ভবত) করুন।

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

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


27
কার্ডের ডেকে বাছাই করাও অ্যালগরিদমের ধারণাটি প্রবর্তনের সহজ উপায়।
মরউভেন

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

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

আপনি কেবল কার্ডের বাইরে যেতে পারেন; আমি সম্প্রতি নিজেকে কুইকসোর্টের বৈকল্পিকটি ব্যবহার করে দেখতে পেলাম আমাকে একটি স্ট্যাক পেপারগুলি সাজানোর জন্য এমনকি এটি সম্পর্কে চিন্তা না করেই গুছিয়ে রাখতে হয়েছিল কারণ বেসিক সন্নিবেশ সাজানোর জন্য অনেকগুলি ছিল।
জাব

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

18

আমি এই জাতীয় কিছু চেষ্টা করব:

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

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

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

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

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

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


12

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

পেরোগি রান্না করতে: একটি ফোঁড়ায় হালকা লবণাক্ত জলের একটি বড় পাত্র আনুন। একবারে একের মধ্যে পারোগিগুলি ড্রপ করুন। তারা শীর্ষে ভেসে উঠলে এগুলি করা হয়। খুব দীর্ঘ ফুটন্ত না, বা তারা soggy হবে! একটি স্লটেড চামচ দিয়ে সরান।

বাবা। আসুন আমাদের কাছে দাদির দয়া পরামর্শটি পর্যালোচনা করি। এগুলিকে একবারে ফেলে দিন ... তাই পাত্রের মধ্যে থাকায় তাদের সমস্তের বিভিন্ন দৈর্ঘ্য থাকে। বুঝেছি. তারা শীর্ষে ভেসে উঠলে এগুলি করা হয় । আচ্ছা 'তারা' কয়জন? আমি কি একে একে ধরছি? আমি কি 80% শীর্ষে ভাসতে এবং তারপরে সবগুলি পেতে অপেক্ষা করব? এটি পাগল ভুল। খুব দীর্ঘ ফুটন্ত না, বা তারা soggy হবে! যখন তারা খুব বেশিক্ষণের মধ্যে না থাকে তখন আমি কীভাবে পরিমাপ করব? যদি একই সাথে পাঁচটিতে শীর্ষে উঠে আসে, তখন আমার সমস্ত কিছুর জন্য সময় পাবে?

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

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

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


7

আমি এখানে আমার মাকে এটি ব্যাখ্যা করার জন্য কীভাবে চেষ্টা করব (চেষ্টা করব):

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

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

মনে হতে পারে যে কোনও একক প্রোগ্রামিং ভাষা থাকতে পারে যা প্রোগ্রামাররা সমস্ত প্রোগ্রাম লেখার জন্য ব্যবহার করতে পারে। তবে এটি ঠিক তেমনটি নয়। সমস্ত বিভিন্ন ধরণের অ্যাপ্লিকেশনের জন্য বিভিন্ন প্রোগ্রামিং ভাষা বিদ্যমান।

কিছু ওয়েবসাইট তৈরিতে ব্যবহৃত হয়, অন্যরা ল্যাপটপ অ্যাপ্লিকেশনগুলি তৈরি করতে (যেমন মাইক্রোসফ্ট ওয়ার্ড)।

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

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

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

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


7

আপনার সেরা বাজি মানব ভাষাগুলির সাথে উপমা তৈরি করা হতে পারে।

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

মানব ভাষা বিভিন্ন ধরণের আছে, এমন কিছু বৈশিষ্ট্য রয়েছে যা আমরা বহিরাগত বলে মনে করি। উদাহরণ স্বরূপ:

  • কিছু ভাষায় আপনার প্রতিটি বিবৃতি সহ গোপনীয়তার পরিচয় দেওয়া প্রয়োজন : বিবৃতিটি আপনার নিজের অভিজ্ঞতার কারণে, আপনার নিজের অনুমানের, শ্রবণশক্তি, অনুমানের কারণে whether
  • কিছু ভাষাগুলি একত্রিত হয়ে বিশাল শব্দ গঠন করে; প্রতিটি শব্দের ব্যাকরণগত ভূমিকা সম্পর্কে প্রচুর তথ্য এনকোড করতে উচ্চতর পরিবর্তন করা যেতে পারে। অন্যান্য ভাষাগুলি খুব কমই শব্দগুলিকে সংশোধন করে এবং সেই তথ্য প্রকাশের জন্য শব্দ ক্রম বা কণার উপর নির্ভর করে।
  • শব্দভান্ডার আকারে ভাষা পৃথক হয় । কিছু ভাষায় এমন শব্দ রয়েছে যা কেবল একটি খণ্ডন (যেমন 엄친아 ) দিয়ে অনুবাদ করা যায় । কিছু ভাষার উজ্জ্বল এক্সপ্রেশন থাকে যা এত ভাল যে অন্য ভাষাগুলি সেগুলি ধার করে (যেমন: স্কেডেনফ্রেড)।
  • কিছু ভাষার বাম / ডান ধারণা নেই; আপনাকে অবশ্যই উত্তর / দক্ষিণ / পূর্ব / পশ্চিমে সমস্ত কিছু প্রকাশ করতে হবে।
  • কিছু ভাষার কোনও সংখ্যা নেই। সাধারণ রঙের নামের সাথে ভাষাও আলাদা হয় ।
  • ভাষা তাদের ফোনেট্যাকটিক্সে পরিবর্তিত হয়। উদাহরণস্বরূপ, উচ্চারণযোগ্য হারটি পরিবর্তিত হয়, জাপানিজ অনেকগুলি সহজ সিলেবল ব্যবহার করার ঝোঁক থাকে, যখন চীনা ধীর হয়, তবে সুরগুলিতে তথ্য এনকোড করে।
  • বিভিন্ন ভাষার তথ্যের ঘনত্বের ক্ষেত্রে ভিন্নতা রয়েছে । আপনি যদি চীনা-ইংরেজি-ফরাসি অনুবাদটি দেখেন তবে আপনি দেখতে পাবেন যে চীনা সংস্করণটি কাগজে খুব কমপ্যাক্ট, এবং ফরাসিরা সবচেয়ে বেশি জায়গা দখল করবে।
  • ইংরাজির মতো কিছু ভাষাও ছদ্মবেশযুক্ত: যে কেউ বিনামূল্যে অন্য কোনও ভাষা থেকে একটি শব্দ ধার নিতে পারে এবং ইংরেজীকরণ করতে পারে। ফরাসিগুলির মতো অন্যান্য ভাষারও একটি মানক সংস্থা রয়েছে যা পরিবর্তনের বিরুদ্ধে প্রতিরোধ করে। উদাহরণস্বরূপ, আইসল্যান্ডীয় প্রকৃতির দ্বারা মারাত্মক রক্ষণশীল।

উদ্দেশ্যমূলকভাবে বলতে গেলে এখানে কোন সেরা ভাষা রয়েছে? উত্তর আপনি কী করতে চেষ্টা করছেন তার উপর নির্ভর করে।

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

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

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


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

@ টেক্সটগীক এমনকি ইংরেজির মধ্যেও উপভাষা রয়েছে। দ্বিগুণ নেতিবাচক এবং একটি প্রস্তুতিতে বাক্য সমাপ্তির মতো ভাষার বিধি সম্পর্কে লোকেরা তর্ক করে। ভাষা সব সময় বিকশিত হয়, কখনও কখনও বিতর্কিত উপায়ে। পাঠ্য জনপ্রিয়তার কারণে নতুন সংক্ষিপ্তসার ঘটেছে। আমেরিকান ইংরেজিতে, আপনি "গেট" প্রত্যয় যুক্ত করে কোনও বিশেষ্যকে কেলেঙ্কারী হিসাবে রূপান্তর করতে পারেন। আমি মনে করি না ভাষার উদ্ভাবন এবং বৈচিত্র্যের প্রশংসা করতে আপনার দ্বিভাষিক হতে হবে।
200_সাক্সেস

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

  • সফ্টওয়্যার এবং হার্ডওয়্যার প্রায়শই ইঞ্জিন এবং মেশিনগুলির সাথে সম্পর্কিত এবং এমনকি এটির নামকরণ করা হয়। একটি পুরানো সফ্টওয়্যার সাদৃশ্য রয়েছে যে একটি জটিল 24/7 প্রোডাকশন সিস্টেমটি পরিবর্তন করার চেষ্টা করা বিমানের ইঞ্জিনে বিমান চালনার সময় পরিবর্তন করার মতো । এও নোট করুন যে জেট ইঞ্জিনগুলি অত্যন্ত জটিল এবং বিনিময়যোগ্য অংশগুলির বিশাল সুনির্দিষ্ট বিবরণ জড়িতএবং এখানে কম্পিউটারের ভাষাগুলির সাথে কিছু সাদৃশ্য রয়েছে যা হার্ডওয়্যার নিয়ন্ত্রণ করে। নথিগুলির সমস্ত জটিলতার কল্পনা করুন যা জেট ইঞ্জিনগুলি ঠিক কীভাবে তৈরি করবেন তা বর্ণনা করে: সমস্ত অংশ, কীভাবে তারা নির্মাণ করা হয়, কীভাবে তারা একসাথে ফিট হয়, কীভাবে তারা একত্রিত হয় ইত্যাদি etc সেগুলি সুনির্দিষ্ট ফর্ম্যাট / কাঠামো / প্রচলিত নিয়ম ব্যবহার করে ইঞ্জিনিয়ারদের দ্বারা তৈরি / সংকলিত হয়; সফ্টওয়্যার এটি কিছুটা অনুরূপ।

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

  • বাছাই করা অ্যালগরিদমগুলি কম্পিউটার বিজ্ঞানে একটি দুর্দান্ত প্রবেশিকা স্তরের রূপক। একেকটি বাছাইয়ের জন্য প্রতিটি তালিকার জন্য উলফ অ্যালগরিদম বিভিন্ন নির্দেশাবলী দেখতে পারেন look একটি বুদ্বুদ সাজানোর বনাম সন্নিবেশ সাজানোর তুলনায় কী শিখতে পারে, কেউ কার্ডের ডেকে ব্যবহার করতে পারে। এখন নির্দেশাবলীর বিভিন্ন সেটগুলিতে মনোনিবেশ করুন এবং বিবেচনা করুন যে এগুলি গাণিতিক বিবৃতিগুলির মতো নির্ভুল হিসাবে খুব নিখুঁত ভাষায় লিখতে হবে , যার একটি কঠোর বাক্য গঠন রয়েছে , এবং মৌলিক সাধারণতা / কাঠামো রয়েছে: শর্তাধীন যুক্তি, লুপস, ভেরিয়েবল ইত্যাদি , এবং ব্যাখ্যা করুন যে এই সুনির্দিষ্ট স্পেসিফিকেশনটির শিল্প কম্পিউটার ভাষা সম্পর্কে about, এবং কিছু ভিন্ন ভাষায় একই অ্যালগরিদম হতে পারে তবে এই ভাষাগুলিতে কিছু সূক্ষ্ম শৈলীর ভিন্নতা রয়েছে যেগুলি গভীর গভীরতায় পড়াশোনা করা হয় ইত্যাদি ইত্যাদি


1
এটাকে কেন ডাউনটোট করবেন? আমি মনে করি অনেক অন্তর্দৃষ্টি আছে। সমস্ত বিষয়গুলিতে কেউ একমত নাও হতে পারে তবে এখানে অনেক সম্ভাবনা রয়েছে। +1
এফফিফ

3

আপনি সহজেই বলেছিলেন "আমি কম্পিউটারগুলিকে কাজ করতে শেখা ছেলেদের সহায়তা করছি"

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


"আমি মনে করি এটি ধরে নেওয়া কার্যকর হবে যে তারা কম্পিউটার সম্পর্কে ইতিমধ্যে কিছুটা জেনে গেছে" এটিই পুরো বিষয়টি: আপনি যদি আমার উত্তরটি মনোযোগ সহকারে পড়েন তবে আপনি দেখতে পাবেন যে মূল সমস্যাটি তাদের সম্পর্কে আমি কী করব তা ব্যাখ্যা করছে যাঁদের কম্পিউটার আসলে কীভাবে কাজ করে তার কোনও ধারণা নেই I ।
এফফিফ

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

3

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

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


3

এখানে দুটি উপমা যা আপনাকে দরকারী মনে করতে পারে:

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

  • আমি আমার শিল্পের লোকদের জন্য আরও ভাল সরঞ্জাম ডিজাইন করতে সহায়তা করছি । যেমন উত্পাদন শিল্পের লোকেরা কর্ডলেস ড্রিলস, লেজার কাটার এবং 3 ডি প্রিন্টারের মতো নতুনত্ব দ্বারা সহায়তাপ্রাপ্ত হয় (যার কোনটিই 60০ বছর আগে বিদ্যমান ছিল না), সফ্টওয়্যার বিকাশ শিল্পের লোকেরা আরও শক্তিশালী, আরও নির্ভুল, আরও শক্তিশালী বা আরও শক্তিশালী দ্বারা সহায়তা প্রাপ্ত হয় বা সহজেই ব্যবহারযোগ্য প্রোগ্রামিং ভাষা এবং এর বৈশিষ্ট্যগুলি।


2

ভাল, সম্ভবত, আপনার কাছে ভাষা অধ্যয়নের কিছু কারণ আছে - সেই কারণটি ব্যবহার করুন। উদাহরণ:

আমি কম্পিউটার এবং তাদের অ্যাপ্লিকেশনগুলি সস্তা, সহজ ব্যবহারে সহজ এবং নিরাপদ করার চেষ্টা করছি।

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

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

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

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


A পর্যায়ক্রমে এবং মৃদু পদ্ধতির পরামর্শ দেওয়ার জন্য।
পিজেট্রাইল

1

আপনি যে ব্যক্তির সাথে কথা বলছেন তার সাথে সাদৃশ্যযুক্ত সেরা উপমাগুলি খুঁজে পেয়েছি। তারা কি চিত্রশিল্পী? আপনি কী করছেন তা আলোচনা করুন কীভাবে আরও ভাল ব্রাশ করা যায় সেই তত্ত্বটি অন্বেষণের সমতুল্য, কেবল এই ক্ষেত্রটি 600 এর পরিবর্তে কেবল 60 বছর পুরানো! Equestrians? বছরের পর বছর ধরে এটি নির্দিষ্ট কাজের ঘোড়া-জুতাগুলির বিকাশের সাথে তুলনা করুন।

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

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

আমি প্রায়শই এম্বেড থাকা সিস্টেমগুলির বিষয়ে কথা বলি, তাই মাঝে মাঝে আমি একটি রোবোটের রুটি (বা 500) রান্না করে রোবোটের সাথে ফর্ম 1040 উপমাটি একীভূত করব। সাধারণত এটি ভালভাবে কাজ করে, যদিও কোনও কারণে আইআরএস করের ফর্মগুলি থেকে এমন কিছু তৈরি করা যা আপনার মুখে ভাল স্বাদ ফেলেছে কিছু লোকের পক্ষে এটি সত্যই শক্ত প্রসারক।


1

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

যদি তারা তা না করে তবে আপনি বলবেন: "দুঃখিত, তবে আপনি কম্পিউটার ছাড়া পুরোপুরি জীবনযাপন করতে পেরেছিলেন So সুতরাং আমি কী করছি তা আমি আপনাকে ব্যাখ্যা করতে পারব না But তবে বিশ্ব বদলে যাচ্ছে You আপনাকে কেবল আমার উপর বিশ্বাস রাখা দরকার আমি যানি আমি কি করছি. "

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


-1

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

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

তারপরে আপনি "বুনন, ক্রোশেটিং, নলেবাইন্ডিং এবং অনুরূপের জন্য রেসিপিগুলি কীভাবে আলাদা" এবং এক্স শিখার জন্য উদাহরণটি ব্যবহার করতে পারেন (যেখানে আপনি আসলে যা করছেন তার জন্য একটি উপমা খুঁজে বের করতে হবে )।


প্রশ্নকারী প্রোগ্রামিং অধ্যয়ন করছে না। তারা প্রোগ্রামিং ভাষার নকশা অধ্যয়ন করছে।
ডেভিড রিচার্বি

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

-1

এটা ম্যাজিক!

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

যদি তারা নিশ্চিত না হন, আমি তাদের স্মার্ট ফোনটি চালু করতে এবং এটিতে কীভাবে সত্যিই কাজ করে তা আমাকে বলার জন্য বলেছিলাম। তারা সাধারণত বলে: "আমি জানি না, এটি ঠিক হয় I আমি বোতামগুলিতে চাপ দিই এবং জিনিসগুলি ঘটে happens" তারপরে আমি তাদের বলি: "হ্যাঁ, ঠিক আছে, তবে আমি জানি আসলে কী চলছে এবং হ্যারি পটার তার লাঠিটি নড়াচড়া করে বলেছিল: 'হোকস পোকস'" সমস্ত উদ্দেশ্য এবং উদ্দেশ্যে, ল্যাপারসনে, আমি মনে করুন এটি একটি সম্পূর্ণ বৈধ ব্যাখ্যা।

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

এপিক ব্যর্থ

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

মৃত শেষ

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


1
এই প্রশ্নের সাথে কী করার আছে তা আমি দেখছি না। বিশেষত, প্রশ্নটি কীভাবে লাইপোপোলে টাইপ তত্ত্বকে ব্যাখ্যা করবেন এবং টাইপ থিওরি গণিত is
ডেভিড রিচারি

সম্ভবত দুঃখের বিষয়, সম্ভবত তা নয়, তবে সাধারণভাবে প্রোগ্রামিং হ'ল বিশ্বের জনসংখ্যার 99%% বদ্ধ বই। সাফল্য ছাড়াই, প্রোগ্রামহীনদের প্রোগ্রামিং বোঝার চেষ্টা করার জন্য আমি কয়েক বছর ধরে বেশিরভাগ সময় ব্যয় করেছি। বিভিন্ন ধরণের সিস্টেমের জটিলতা এবং সুস্বাদু ব্যাখ্যাগুলি সেই একই ব্যক্তির কাছে সাবোটমিক কণা পদার্থবিজ্ঞানের ব্যাখ্যা হিসাবে সমান - তাদের চোখ জ্বলজ্বল করবে এবং তারা সম্ভবত ভদ্র হবে তবে তারা তা পাবে না। এবং এটি ঠিক আছে - তাদের এটি বোঝার দরকার নেই এবং সমস্ত সম্ভাবনা তারা যত্ন করে না যে তারা এটি বুঝতে পারে না। এটি যথেষ্ট যে আমরা করি। :-)
বব জার্ভিস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.