ডি (প্রোগ্রামিং ভাষা)

প্রোগ্রামিং ভাষা

ডি যা ডিল্যাং (ইংরেজি) নামেও পরিচিত, হচ্ছে ওয়াল্টার ব্রাইট ও ডিজিটাল মার্স কর্তৃক তৈরীকৃত এবং ২০০১ সালে মুক্তিপ্রাপ্ত মাল্টি-প্যারাডাইম সিস্টেম প্রোগ্রামিং ভাষা। আন্দ্রে আলেক্সান্দ্রেস্কু ২০০৭ সালে এর উন্নয়ন কাজে যোগ দেন। যদিও এটি সি++ কে পূনঃপ্রকৌশল করে তৈরী করা হয়েছে, তারপরও এটি একটি স্বতন্ত্র ভাষা। এটিতে সি++ এর কিছু মূল বৈশিষ্ট্যিকে পূনঃউন্নয়ন করা হয়েছে। পাশাপাশি এটিতে রুবি, পাইথন, সি#, জাভা ও আইফেলের মতো উল্লেখযোগ্য কিছু ভাষার বৈশিষ্ট্য অন্তর্ভুক্ত করা হয়েছে।

ডি প্রোগ্রামিং ভাষা
প্যারাডাইমমাল্টি-প্যারাডাইম: ফাংশনাল, ইম্পারেটভ, অবজেক্ট-ওরিয়েন্টেড
নকশাকারওয়াল্টার ব্রাইট, আন্দ্রে আলেক্সান্দ্রেস্কু (২০০৭ থেকে)
বিকাশকারীডি ল্যাঙ্গুয়েজ ফাউন্ডেশন
প্রথম প্রদর্শিত৮ ডিসেম্বর ২০০১; ২২ বছর আগে (2001-12-08)
স্থিতিশীল সংস্করণ
২.০৮৮.০ / ১ সেপ্টেম্বর ২০১৯; ৪ বছর আগে (2019-09-01)
টাইপিং পদ্ধতিইনফারড, স্ট্যাটিক, স্ট্রং
ওএসফ্রিবিএসডি, লিনাক্স, ম্যাকওএস, মাইক্রোসফট উইন্ডোজ
লাইসেন্সবুস্ট সফটওয়্যার লাইসেন্স[১][২]
ফাইলনেম এক্সটেনশন.d
ওয়েবসাইটdlang.org
মুখ্য বাস্তবায়নসমূহ
ডিএমডি (ইন্টারফারেন্স ইমপ্লিমেন্টেশন), জিসিসি, এলডিসি, এসডিসি
যার দ্বারা প্রভাবিত
সি, সি++, সি#, আইফেল,[৩] জাভা (প্রোগ্রামিং ভাষা), পাইথন (প্রোগ্রামিং ভাষা)
যাকে প্রভাবিত করেছে
গিনি (প্রোগ্রামিং ভাষা), MiniD, Qore, সুইফট,[৪] ভালা

কিছু উদাহরণ সম্পাদনা

উদাহরণ ১ সম্পাদনা

এই উদাহরণ প্রোগ্রামটি তার কমান্ড লাইনের যুক্তিগুলি মুদ্রণ করে। main ফাংশন একটি ডি প্রোগ্রামের এন্ট্রি পয়েন্ট, এবং args কমান্ড লাইন আর্গুমেন্ট প্রতিনিধিত্বমূলক স্ট্রিং একটি অ্যারে। ডি-তে একটি string হচ্ছে ক্যারেক্টারের একটি অ্যারে, যেটি ডি১ -এ char[] অথবা ডি২ তে immutable(char)[] এর প্রতিনিধিত্ব করে।

import std.stdio: writefln;

void main(string[] args)
{
    foreach (i, arg; args)
        writefln("args[%d] = '%s'", i, arg);
}

উদাহরণ ২ সম্পাদনা

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

import std.stdio, std.algorithm, std.range, std.string;

void main() {
    dstring[] [dstring] signs2words;

    foreach (dchar[] w; lines(File("words.txt"))) {
        w = w.chomp().toLower();
        immutable key = w.dup.sort().release().idup;
        signs2words[key] ~= w.idup;
    }

    foreach (words; signs2words) {
        if (words.length > 1) {
            writefln(words.join(" "));
        }
    }
}

তথ্যসূত্র সম্পাদনা

  1. "dmd Backend converted to Boost License"। ৭ এপ্রিল ২০১৭। সংগ্রহের তারিখ ৯ এপ্রিল ২০১৭ 
  2. "D 2.0 FAQ"। সংগ্রহের তারিখ ১১ আগস্ট ২০১৫ 
  3. আলেক্সান্দ্রেস্কু, আন্দ্রে (২০১০)। The D programming language (First সংস্করণ)। Upper Saddle River, New Jersey: Addison-Wesley। পৃষ্ঠা 314আইএসবিএন 0321635361 
  4. "Building assert() in Swift, Part 2: __FILE__ and __LINE__"। সংগ্রহের তারিখ ২৫ সেপ্টেম্বর ২০১৪