Red (programming language)
রেড একটি প্রোগ্রামিং ভাষা যা প্রোগ্রামিং ভাষা রিবোলের সীমাবদ্ধতা কাটিয়ে ওঠার জন্য ডিজাইন করা হয়েছে। রেড 2011 সালে নেনাদ রাকোসেভিচ দ্বারা প্রবর্তিত হয়েছিল এবং এটি একটি অপরিহার্য এবং কার্যকরী প্রোগ্রামিং ভাষা উভয়ই। এর বাক্য গঠন এবং সাধারণ ব্যবহার ব্যাখ্যা করা রিবোল ভাষার সাথে সামঞ্জস্যপূর্ণ। রেডের বাস্তবায়ন পছন্দগুলি একটি পূর্ণ স্ট্যাক প্রোগ্রামিং ভাষা তৈরি করতে চায়ঃ লাল অত্যন্ত উচ্চ-স্তরের প্রোগ্রামিং (ডিএসএল এবং জিইউআই) পাশাপাশি নিম্ন-স্তরের প্রোগ্রামিং (অপারেটিং সিস্টেম এবং ডিভাইস ড্রাইভার) এর জন্য ব্যবহার করা যেতে পারে। পদ্ধতির মূল চাবিকাঠি হল যে ভাষার দুটি অংশ রয়েছেঃ লাল/পদ্ধতি এবং লাল। লাল/সিস্টেম সি-এর অনুরূপ, তবে উদাহরণস্বরূপ একটি রিবোল আভিধানিক কাঠামোতে প্যাকেজ করা, এর পরিবর্তে কেউ লিখবে। লাল একটি সমধর্মী ভাষা যা মেটা-প্রোগ্রামিং করতে সক্ষম, রিবোল-সদৃশ শব্দার্থবিদ্যা সহ। রেডের রানটাইম লাইব্রেরি লাল/সিস্টেমে লেখা হয় এবং একটি হাইব্রিড পদ্ধতি ব্যবহার করেঃ এটি স্ট্যাটিকভাবে কী অনুমান করতে পারে তা সংকলন করে এবং অন্যথায় একটি এমবেডেড ইন্টারপ্রেটার ব্যবহার করে। প্রকল্পের রোডম্যাপে মাঝখানে কেসগুলির জন্য একটি জাস্ট-ইন-টাইম কম্পাইলার অন্তর্ভুক্ত রয়েছে, তবে এটি এখনও বাস্তবায়িত হয়নি। রেড অন্য যে কোনও টুলচেইন থেকে স্বাধীন থাকতে চায়; এটি তার নিজস্ব কোড জেনারেশন করে। তাই কমান্ড-লাইন সুইচ-এর মাধ্যমে যে কোনও প্ল্যাটফর্ম থেকে রেড প্রোগ্রামগুলি ক্রস-কম্পাইল করা সম্ভব। লাল এবং লাল/সিস্টেম উভয়ই পরিবর্তিত বিএসডি লাইসেন্সের অধীনে ওপেন সোর্স সফ্টওয়্যার হিসাবে বিতরণ করা হয়। রানটাইম লাইব্রেরিটি আরও অনুমতিযোগ্য বুস্ট সফ্টওয়্যার লাইসেন্সের অধীনে বিতরণ করা হয়। সংস্করণ 0.6.4 অনুযায়ী লাল রঙে একটি আবর্জনা সংগ্রাহক "সিম্পল জিসি" রয়েছে। 2011 সালের ফেব্রুয়ারিতে নেদারল্যান্ডসে রিবোল অ্যান্ড বোরন কনফারেন্সে এর লেখক নেনাদ রাকোসেভিচ রেড প্রবর্তন করেন। 2011 সালের সেপ্টেম্বরে, সফ্টওয়্যার স্বাধীনতা দিবস 2011-এর সময় রেড প্রোগ্রামিং ভাষা বৃহত্তর দর্শকদের কাছে উপস্থাপন করা হয়েছিল। রাকোসেভিচ একজন দীর্ঘদিনের রিবোল ডেভেলপার যিনি চেয়েন এইচটিটিপি সার্ভারের স্রষ্টা হিসাবে পরিচিত। বৈশিষ্ট্য লালের বাক্য গঠন এবং শব্দার্থবিদ্যা রিবোলের শব্দের খুব কাছাকাছি। রিবোলের মতো, এটি মেটাপ্রোগ্রামিং এবং ডোমেন-নির্দিষ্ট ভাষাগুলিকে (ডিএসএল) দৃঢ়ভাবে সমর্থন করে এবং তাই উপভাষার জন্য (এমবেডেড ডিএসএল তৈরি) একটি অত্যন্ত দক্ষ সরঞ্জাম। লাল ভাষায় রেড/সিস্টেম নামে একটি উপভাষা রয়েছে, যা একটি সি-স্তরের ভাষা যা সিস্টেম প্রোগ্রামিং সুবিধা প্রদান করে। লাল একটি ডিএলএল (লিবরেড) এবং খুব হালকা (প্রায় 1 এমবি) হিসাবে অন্যান্য সরঞ্জাম এবং ভাষার সাথে সংহত করা সহজ। এটি বিভিন্ন প্ল্যাটফর্মে ক্রস-কম্পাইল করতে সক্ষম (নীচের ক্রস সংকলন বিভাগটি দেখুন) এবং প্রয়োজনীয় প্ল্যাটফর্মগুলির জন্য প্যাকেজ তৈরি করতে সক্ষম (যেমন, অ্যান্ড্রয়েডে. এ. পি. কে)। লাল রঙে একটি অন্তর্নিহিত প্রতিক্রিয়াশীল ডেটাফ্লো ইঞ্জিনের উপর ভিত্তি করে একটি সম্পূর্ণ প্রতিক্রিয়াশীল ক্রস-প্ল্যাটফর্ম জিইউআই সিস্টেম, এসভিজির সাথে তুলনীয় একটি 2ডি অঙ্কন উপভাষা, সংকলন-সময় এবং রানটাইম ম্যাক্রো সমর্থন এবং 40টিরও বেশি স্ট্যান্ডার্ড ডেটাটাইপ রয়েছে। সফ্টওয়্যার স্বাধীনতা দিবস 2011-এ উপস্থাপিত রেডের লক্ষ্যগুলির তালিকা নিম্নরূপঃ সরলতা ("কোড লেখার জন্য একটি আইডিই-এর প্রয়োজন হওয়া উচিত নয়")। কম্প্যাক্টনেস ("অত্যন্ত অভিব্যক্তিপূর্ণ হওয়া উৎপাদনশীলতা সর্বাধিক করে")। গতি ("যদি খুব ধীর হয়, তবে এটি যথেষ্ট সাধারণ-উদ্দেশ্য হতে পারে না।") "সবুজ" হোন, একটি ছোট পায়ের ছাপ রাখুন ("কারণ সম্পদ সীমাহীন নয়")। সর্বব্যাপীতা ("সর্বত্র ছড়িয়ে পড়ুন")। বহনযোগ্যতা, সর্বত্র একবার লিখুন ("এটি একটি প্রোগ্রামিং ভাষা থেকে সবচেয়ে কম প্রত্যাশিত")। নমনীয়তা ("সেরা নয় কিন্তু যে কোনও কাজের জন্য উপযুক্ত!") ডেভেলপমেন্ট রেডের উন্নয়ন দুটি পর্যায়ে করার পরিকল্পনা করা হয়েছেঃ প্রাথমিক পর্যায়ঃ রিবোল 2 বুটস্ট্র্যাপ পর্যায়ে লেখা লাল এবং লাল/সিস্টেম সংকলকঃ লাল এবং লাল/সিস্টেম সংকলক একটি লাল জেআইটি-সংকলক দ্বারা পরিপূরক, সমস্ত রেড ক্রস সংকলনে লেখা লাল বর্তমানে নিম্নলিখিত ক্রস-সংকলন লক্ষ্যগুলিকে সমর্থন করেঃ এমএস-ডসঃ উইন্ডোজ, x86, কনসোল (এবং জিইউআই) অ্যাপ্লিকেশন উইন্ডোজঃ উইন্ডোজ, x86, জিইউআই অ্যাপ্লিকেশন লিনাক্সঃ লিনাক্স, x86 লিনাক্স-এআরএমঃ লিনাক্স, এআরএমভি5, আর্মেল (নরম-ভাসমান) রাস্পবেরি পাইঃ লিনাক্স, এআরএমভি5, আর্মএফ (হার্ড-ফ্লোট) ফ্রিবিএসডিঃ x86 ডারউইনঃ ওএস হ্যালো ওয়ার্ল্ড! লাল [শিরোনামঃ "সিম্পল হ্যালো ওয়ার্ল্ড স্ক্রিপ্ট"] প্রিন্ট করুন "হ্যালো ওয়ার্ল্ড!" ফ্যাক্টরিয়াল উদাহরণ গুরুত্বপূর্ণঃ এগুলি বাক্যবিন্যাসের উদাহরণ হিসাবে অভিপ্রেত। লালের 64-বিট সমর্থন না হওয়া পর্যন্ত, পূর্ণসংখ্যার উদাহরণটি খুব দ্রুত একটি 32-বিট পূর্ণসংখ্যার উপর দিয়ে প্রবাহিত হবে। এটিকে 'ফ্লোট!'-এ পরিবর্তন করা আরও দূরে চলে যাবে, তবে এগুলি কেবল ভাষার বাক্য গঠন দেখানোর জন্য। নিম্নলিখিতটি লালঃ লাল [শিরোনামঃ "একটি ফ্যাক্টোরিয়াল স্ক্রিপ্ট"]-এর একটি ফ্যাক্টোরিয়াল উদাহরণ; দ্রষ্টব্যঃ শিরোনামটি ঐচ্ছিক। ফ্যাক্টরিয়ালঃ ফাঙ্ক [x [পূর্ণসংখ্যা!] লাল রঙে একটি যুক্তির ধরন দেওয়া ঐচ্ছিক] [x = 0 [1] [x * ফ্যাক্টরিয়াল x-1] লাল/সিস্টেমে নিম্নলিখিত একই ফ্যাক্টরিয়াল উদাহরণ (এই খুব সহজ ক্ষেত্রে, সোর্স কোডটি লাল সংস্করণের সাথে খুব মিল): লাল/সিস্টেম [শিরোনামঃ "একটি ফ্যাক্টরিয়াল স্ক্রিপ্ট"] ফ্যাক্টরিয়ালঃ ফাংক [x [পূর্ণসংখ্যা! ; লাল/সিস্টেম রিটার্নে এটি বাধ্যতামূলকঃ [পূর্ণসংখ্যা!] ; লাল/সিস্টেমে এটি বাধ্যতামূলক] [হয় x = 0 [1] [x * ফ্যাক্টরিয়াল x-1] আরও দেখুন রিবোল রেফারেন্স বাহ্যিক লিঙ্ক গিটহাবে লাল প্রোগ্রামিং ভাষা Redprogramming.com প্রোগ্রামিং ভাষা সিস্টেম প্রোগ্রামিং ভাষা এক্সটেনসিবল সিনট্যাক্স প্রোগ্রামিং ভাষা ডোমেইন-নির্দিষ্ট প্রোগ্রামিং ভাষা উচ্চ-স্তরের প্রোগ্রামিং ভাষা সমকামিক প্রোগ্রামিং ভাষা পদ্ধতিগত প্রোগ্রামিং ভাষা কার্যকরী ভাষা ক্রস-প্ল্যাটফর্ম মুক্ত সফ্টওয়্যার ক্রস-প্ল্যাটফর্ম সফ্টওয়্যার 2011 সালে তৈরি বুস্ট লাইসেন্স প্রোগ্রামিং ভাষা ব্যবহার করে বিএসডি লাইসেন্স সফ্টওয়্যার ব্যবহার করে মুক্ত সংকলক এবং দোভাষী সফ্টওয়্যার