Snap! (programming language)
স্ন্যাপ করুন! (পূর্বে আপনার নিজস্ব ব্লক তৈরি করুন) একটি বিনামূল্যে ব্লক-ভিত্তিক শিক্ষামূলক গ্রাফিকাল প্রোগ্রামিং ভাষা এবং অনলাইন সম্প্রদায় যা শিক্ষার্থীদের গাণিতিক এবং গণনামূলক ধারণাগুলি সম্পর্কে শেখার সময় ইন্টারেক্টিভ অ্যানিমেশন, গেম, গল্প এবং আরও অনেক কিছু অন্বেষণ, তৈরি এবং রিমিক্স করার অনুমতি দেয়। স্ক্র্যাচ দ্বারা অনুপ্রাণিত হয়ে, স্ন্যাপ করুন! এর অনেক উন্নত বৈশিষ্ট্য রয়েছে। স্ন্যাপ! সম্পাদক এবং এতে তৈরি প্রোগ্রামগুলি হল ওয়েব অ্যাপ্লিকেশন যা ইনস্টলেশনের প্রয়োজন ছাড়াই ব্রাউজারে চলে (যেমন স্ক্র্যাচ 3)। এটি Morphic.js এর উপরে নির্মিত, একটি মরফিক জিইউআই, যা স্ন্যাপের মধ্যে 'মধ্য স্তর' হিসাবে জেনস মনিগ লিখেছেন! নিজেই এবং 'খালি' জাভাস্ক্রিপ্ট। ব্যবহারকারী ইন্টারফেস স্ন্যাপ!-এ, স্ক্রিনটি পাঁচটি অঞ্চল সম্বলিত তিনটি আকার পরিবর্তনযোগ্য কলামে সাজানো থাকেঃ ব্লক গ্রুপ নির্বাচক (বাম কলামের উপরে), ব্লক প্যালেট (বাম কলাম), প্রধান এলাকা (মধ্য কলাম), এবং মঞ্চ এলাকা (ডান কলামের উপরে) যার নীচে স্প্রাইট নির্বাচক (স্প্রাইট কোরালও বলা হয়) স্প্রাইট থাম্বনেইল দেখায়। ইন্টারেক্টিভভাবে রিসাইজেবল পর্যায়ে স্ক্রিপ্ট এলাকায় চলমান স্ক্রিপ্টগুলির গ্রাফিকাল ফলাফল এবং/অথবা যে কোনও প্যালেটে ইন্টারেক্টিভভাবে ডাবল-ক্লিক করা পৃথক ব্লক দেখানো হয়। নির্বাচিত স্প্রাইটের সাথে যুক্ত হওয়ার জন্য পৃথক ব্লকগুলি প্যালেট থেকে স্ক্রিপ্ট এলাকায় টেনে আনা যেতে পারে। স্ন্যাপ করুন! ব্লকগুলি আটটি গ্রুপে বিভক্তঃ মোশন, লুকস, সাউন্ড, পেন, কন্ট্রোল, সেন্সিং, অপারেটর এবং ভেরিয়েবল। ব্লক গ্রুপ নির্বাচকের এই দলগুলির বিন্যাস নীচের সারণিতে দেখানো হয়েছে। কেন্দ্রীয় অঞ্চলটি নির্বাচিত স্প্রাইটের সাথে সম্পর্কিত স্ক্রিপ্ট, পোশাক/ব্যাকড্রপ বা শব্দ প্রদর্শন করতে পারে। সেই এলাকাটি কী দেখায় তা নির্বাচিত ট্যাবের উপর নির্ভর করে। বৈশিষ্ট্য স্ন্যাপের সবচেয়ে গুরুত্বপূর্ণ বৈশিষ্ট্য! অফার, কিন্তু স্ক্র্যাচ অন্তর্ভুক্ত করে নাঃ বেনামী ফাংশন ব্যবহার করে অভিব্যক্তি, একটি ধূসর রিংয়ের ভিতরে একটি ব্লক দ্বারা প্রতিনিধিত্ব করা, এক বা একাধিক খালি স্লট (গুলি)/আর্গুমেন্ট (গুলি) রয়েছে যা একটি "উচ্চতর অর্ডার ফাংশন" দ্বারা পূরণ করা হয় (যেটি বেনামীকে কল করছে)। (তাদের কম্পিউটার-বিজ্ঞানের তাত্ত্বিক ভিত্তি হল প্রথম শ্রেণীর ফাংশন, যার ফলস্বরূপ তাদের আরও বিমূর্ত এবং গাণিতিক ভিত্তি হিসাবে ল্যাম্বডা ক্যালকুলাস রয়েছে) প্রথম শ্রেণীর স্প্রাইটগুলির তালিকা (তালিকা/অ্যারেগুলির তালিকা সহ) প্রথম শ্রেণীর স্প্রাইটগুলি (বা অন্য কথায়, প্রোটোটাইপ-ভিত্তিক দৃষ্টান্ত-ভিত্তিক শ্রেণীহীন অবজেক্ট প্রোগ্রামিং) "হাইপারব্লকগুলি": এমন ফাংশন যার প্রাকৃতিক ডোমেন স্কেলার (পাঠ্য বা সংখ্যা), তালিকাগুলিকে ইনপুট হিসাবে গ্রহণ করতে এবং তালিকার স্কেলারগুলিতে অন্তর্নিহিত ফাংশন প্রয়োগ করতে প্রসারিত করা হয় বা একটি উপ-তালিকা নেস্টেবল স্প্রাইট স্ন্যাপের কোডিফিকেশন! পাইথন, জাভাস্ক্রিপ্ট, সি ইত্যাদির মতো পাঠ্য ভাষাগুলিতে প্রোগ্রাম। মেটাপ্রোগ্রামিং, প্রতিফলন এবং ম্যাক্রো ম্যাসকট অ্যালোনজো, স্ন্যাপ!-এর মাসকট, অ্যালোনজো চার্চের নাম বহন করে, গণনার একটি মডেলের উদ্ভাবক, যেখানে ল্যাম্বডা দ্বারা প্রতিনিধিত্ব করা একটি সর্বজনীন ফাংশন, বিভিন্ন সংমিশ্রণে নিজেকে ডেকে যে কোনও ফাংশন আচরণ তৈরি করতে পারে। মাস্কটটি স্ক্র্যাচ থেকে গোবোর একটি পরিবর্তিত সংস্করণ। যেহেতু অ্যালনজো চার্চের কাজকে ল্যাম্বডা ক্যালকুলাস বলা হয়, তাই মাসকটের চুল গ্রীক বর্ণ ল্যাম্বডা হিসাবে আকৃতির। বিশেষ-উদ্দেশ্যমূলক ব্লক (গ্রন্থাগার) ব্লকের বর্ধিত সেটগুলি স্ন্যাপ-এ পাওয়া যাবে! গ্রন্থাগার, যেমন 'স্ট্রিমস' গ্রন্থাগার যা একজনকে সম্পূর্ণ, অসীম ফিবোনাচ্চি ক্রম তৈরি করতে সক্ষম করে, উদাহরণস্বরূপ, গ্রন্থাগার থেকে বিশেষ ব্লক ('স্ট্রিম', 'শো স্ট্রিম', 'টেল অফ স্ট্রিম' এবং 'ম্যাপ () ওভার স্ট্রিম' ব্লক) ব্যবহার করে। আরও অনেক গ্রন্থাগার রয়েছে, যেমন 'তালিকা উপযোগিতা' গ্রন্থাগার, 'শব্দ, বাক্য' গ্রন্থাগার, 'পুনরাবৃত্তি' গ্রন্থাগার, 'অ্যানিমেশন' গ্রন্থাগার, 'ফ্রিকোয়েন্সি ডিস্ট্রিবিউশন' গ্রন্থাগার, 'অডিও গণনা' গ্রন্থাগার, 'বার চার্ট' গ্রন্থাগার, 'বিশ্ব মানচিত্র' গ্রন্থাগার, 'রঙ এবং ক্রেয়ন' গ্রন্থাগার, 'স্ট্রিং এবং মাল্টি-লাইন ইনপুট' গ্রন্থাগার, 'সমান্তরাল' গ্রন্থাগার ইত্যাদি। অন্যান্য বিশেষ উদ্দেশ্যে। ইতিহাস ওয়েব-ভিত্তিক স্ন্যাপ! এবং পুরানো ডেস্কটপ-ভিত্তিক বিওয়াইওবি উভয়ই উইন্ডোজ, ওএস এক্স এবং লিনাক্সের জন্য জেনস মনিগ দ্বারা ক্যালিফোর্নিয়া বিশ্ববিদ্যালয়, বার্কলে থেকে ব্রায়ান হার্ভে দ্বারা প্রদত্ত নকশা ধারণা এবং ডকুমেন্টেশন সহ তৈরি করা হয়েছে এবং অ-সিএস-প্রধান শিক্ষার্থীদের জন্য কম্পিউটার বিজ্ঞানের (সিএস) প্রারম্ভিক কোর্স "দ্য বিউটি অ্যান্ড জয় অফ কম্পিউটিং" শেখানোর জন্য ব্যবহার করা হয়েছে। স্ন্যাপ তৈরি করার আগে জেনস স্ক্র্যাচ দলের সদস্য ছিলেন। বিওয়াইওবি এখনও ডাউনলোডের জন্য উপলব্ধ। লাইসেন্স স্ন্যাপের সোর্স কোড! জি. এন. ইউ অ্যাফেরো জেনারেল পাবলিক লাইসেন্স (এ. জি. পি. এল) লাইসেন্সপ্রাপ্ত এবং গিটহাব-এ হোস্ট করা। পূর্ববর্তী, ডেস্কটপ-ভিত্তিক 3. x সংস্করণের কোডটি একটি লাইসেন্সের অধীনে উপলব্ধ যা শুধুমাত্র অ-বাণিজ্যিক ব্যবহারের জন্য পরিবর্তনের অনুমতি দেয় এবং ইউসি বার্কলে ওয়েবসাইট বা সিএনইটির download.com এবং টেকট্র্যাকার ডাউনলোড page.CNET এর Download.com এবং ম্যাক ডাউনলোড পৃষ্ঠা প্ল্যাটফর্মের জন্য টেকট্র্যাকার বিওয়াইওবি থেকে ডাউনলোড করা যেতে পারে এটি উইন্ডোজ, আইওএস, ওএস এক্স এবং লিনাক্স ডিভাইসের প্রধান ওয়েব-ব্রাউজারগুলিতে চলে, বাস্তবায়ন স্ন্যাপ! এটি Morphic.js এর উপরে নির্মিত, একটি মরফিক জিইউআই, যা স্ন্যাপের মধ্যে 'মধ্য স্তর' হিসাবে কাজ করে! নিজেই এবং 'খালি' জাভাস্ক্রিপ্ট। এটি একটি এইচটিএমএল5 ক্যানভাস অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস (এপিআই) ব্যবহার করে। স্ন্যাপ-এ সব দৃশ্যমান! তারা নিজেরাই মরফ, অর্থাৎ। সমস্ত বোতাম, স্লাইডার, ডায়ালগ বাক্স, মেনু, এন্ট্রি ফিল্ড, টেক্সট রেন্ডারিং, ব্লিংকিং কার্সার ইত্যাদি। এইচটিএমএল ডিওএম উপাদান ব্যবহার করার পরিবর্তে morphic.js দিয়ে তৈরি করা হয়। স্ন্যাপ করুন! স্প্রাইটের আকারগুলি ক্যাশে করে যাতে প্রতিবার মাউস তার বাউন্ডিং বাক্সের উপর দিয়ে যাওয়ার সময় স্প্রাইটটিকে একটি নতুন ক্যানভাস উপাদানের উপর পুনরায় আঁকতে না হয়। তবে এটি ক্যাশে ব্লক করে না। পরিবর্তে এটি মরফিক "হোল" পদ্ধতির মাধ্যমে সি-আকৃতির ব্লকের ভিতরের অংশগুলি পরিচালনা করে। সমস্ত ব্যবহারকারীর মিথস্ক্রিয়া ঘটনাগুলির দ্বারা শুরু হয়, যা মূল উপাদান "বিশ্ব" থেকে তার উপ-রূপগুলিতে স্থানান্তরিত হয়। একটি মরফ ফেলে দেওয়ার ফলে এটি একটি নতুন 'মালিক' ('প্যারেন্ট') মরফে এম্বেড হয়ে যায়। মর্ফিকে একটি অ্যানিমেশন চালানোর পছন্দের উপায় হল এটিকে ওয়ার্ল্ডের অ্যানিমেশন সারিতে যুক্ত করে ওয়ার্ল্ডের সাথে নিবন্ধিত করা। দ্য ওয়ার্ল্ড মর্ফিক স্টেপিং প্রক্রিয়া থেকে স্বাধীনভাবে প্রতিটি নিবন্ধিত অ্যানিমেশনকে প্রতি ডিসপ্লে চক্রে একবার করে পদক্ষেপ নেয়। রিকগনিশন স্ন্যাপ! লোগো ফাউন্ডেশন দ্বারা স্বীকৃত, এবং প্রোগ্রামারদের জন্য একটি অনলাইন ম্যাগাজিনে পর্যালোচনা করা হয়েছে। 2014 সালের ডিসেম্বর পর্যন্ত, 100টি নিউ ইয়র্ক সিটি (এনওয়াইসি) উচ্চ বিদ্যালয় ক্যালিফোর্নিয়া বিশ্ববিদ্যালয়, বার্কলে-র "বিউটি অ্যান্ড জয় অফ কম্পিউটিং"-কে স্ন্যাপ! ব্যবহার করে 2015 সালে শুরু হওয়া একটি নতুন এপি কম্পিউটার সায়েন্স প্রিন্সিপলস কোর্স হিসাবে চালু করবে। জেন্স এবং ব্রায়ান স্ন্যাপ!-এর উপর ভিত্তি করে আজীবন কৃতিত্বের জন্য ন্যাশনাল টেকনোলজি লিডারশিপ সামিট (এন. টি. এল. এস) 2020 এডুকেশনাল লিডারশিপ অ্যাওয়ার্ড পেয়েছেন। বিবরণ বাইরের লিঙ্কগুলি মার্কিন শিশুদের ওয়েবসাইট শিক্ষামূলক প্রোগ্রামিং ভাষাগুলি বিনামূল্যে শিক্ষামূলক সফ্টওয়্যার শিক্ষামূলক সমন্বিত উন্নয়ন পরিবেশ ছোট আলাপ প্রোগ্রামিং ভাষা পরিবার ভিডিও গেম উন্নয়ন সফ্টওয়্যার বিকাশকারী সম্প্রদায় ভিজ্যুয়াল প্রোগ্রামিং ভাষা ভিডিও গেম আইডিই