জুলিয়া (প্রোগ্রামিং ভাষা)
প্যারাডাইম | মাল্টি প্যারাডাইম প্রোগ্রামিং ল্যাঙ্গুয়েজ: মাল্টিপল ডিস্প্যাচ (প্রাইমারি প্যারাডাইম), প্রসিডিউর্যাল প্রোগ্রামিং, ফাংশন্যাল প্রোগ্রামিং, মেটা প্রোগ্রামিং, মাল্টিলিস্টেড প্রোগ্রামিং[১] |
---|---|
নকশাকার | জেফ বেজান্সন, অ্যালেন অ্যাডেলম্যান, স্টিফান কার্পিন্স্কি, ভিরাল বি. শাহ |
বিকাশকারী | জেফ বেজান্সন, অ্যালেন অ্যাডেলম্যান, স্টিফান কার্পিন্স্কি, ভিরাল বি. শাহ, এবং অন্যান্য[২][৩] |
প্রথম প্রদর্শিত | ২০১২ |
স্থিতিশীল সংস্করণ | 1.11.1[৪]
/ 16 অক্টোবর 2024 |
বাস্তবায়ন ভাষা | জুলিয়া, সি, সি++, স্কিম, এলএল্ভিএম "Julia"। Julia। নামফোকাস প্রজেক্ট। সংগ্রহের তারিখ ৯ ডিসেম্বর ২০১৬। |
ওএস | Linux, macOS, Windows and ফ্রিবিডিএস |
লাইসেন্স | এমআইটি লাইসেন্স,[২] GPL v2;[৫] [৬] |
ওয়েবসাইট | JuliaLang.org |
যার দ্বারা প্রভাবিত | |
জুলিয়া একটি উচ্চ পর্যায়ের প্রোগ্রামিং ভাষা, যা উচ্চ দক্ষতা সম্পন্ন এবং গতিশীল হিসেবে গণ্য করা হচ্ছে। এটি জেনারেল পারপাস ল্যাঙ্গুয়েজ বা সর্ব ক্ষেত্রে ব্যাবহার্য প্রোগ্রামিং ভাষা হলেও গাণিতিক বিশ্লেষণ এবং গাণিতিক বিজ্ঞানে বিশেষভাবে ব্যাবহার করা হয়। [১২][১৩][১৪][১৫]
জুলিয়ার মূল বৈশিষ্ট হল প্যারাম্যাট্রিক পলিমর্ফিজম[note ১] এবং ডাইনামিক প্রোগ্রামিং,[note ২] যার ভিত্তি হল মাল্টিপল ডিস্প্যাচ।[note ৩]
ডিফল্টভাবে, জুলিয়া স্ক্রিপ্টিং ভাষার[note ৪] মতো রানটাইম ব্যবহার করে চালানো হয় এবং এটি ইন্টার্যাকশন বা REPL (Read-Eval-Print Loop) সমর্থন করে,[১৬] তবে জুলিয়া প্রোগ্রাম বা সোর্স কোড ব্যবহারকারীদের কাছে একটি প্রস্তুত ইনস্টল/রান ফাইলে পাঠানো সম্ভব, যা দ্রুত তৈরি করা যায় এবং কোন পূর্বে ইনস্টলেশন প্রয়োজন হয় না।[১৭] জুলিয়া প্রোগ্রামগুলো (আলাদাভাবে) বাইনারি এক্সিকিউটেবল ফাইলেও কম্পাইল করা যায়, যা সোর্স কোড সরবরাহ না করেই বিতরণ করার অনুমতি দেয়, এবং জুলিয়া ১.১২-এর সাথে এই এক্সিকিউটেবল ফাইলগুলো আরও ছোট আকারে পাওয়া যায়। গতি বাড়ানোর জন্য এমন কম্পাইলেশন প্রয়োজন হয় না, যদিও এটি কনস্ট্যান্ট-ফ্যাক্টর স্টার্টআপ খরচ কমাতে পারে, কারণ জুলিয়া ইন্টারঅ্যাকটিভলি চালানোর সময়ও কম্পাইল করা হয়, তবে এটি সোর্স কোড লুকানোর জন্য সহায়ক হতে পারে। ভাষার বৈশিষ্ট্যগুলো আলাদাভাবে কম্পাইল করা যায়, ফলে জুলিয়া রানটাইম সহ বা রানটাইম ছাড়াই (যা ছোট এক্সিকিউটেবল এবং লাইব্রেরির জন্য অনুমতি দেয় তবে ক্ষমতা সীমিত করে) ব্যবহার করা যায়।
জুলিয়া প্রোগ্রামগুলো অন্যান্য ভাষার লাইব্রেরি পুনঃব্যবহার করতে পারে, যেমন সি বা রাস্ট লাইব্রেরি কল করা, এবং জুলিয়া লাইব্রেরিগুলো অন্য ভাষা থেকেও কল করা যেতে পারে, যেমন পাইথন এবং আর, এবং বেশ কয়েকটি জুলিয়া প্যাকেজ এই ভাষাগুলো থেকে সহজে অ্যাক্সেসযোগ্য করা হয়েছে, যেগুলো সংশ্লিষ্ট জুলিয়া প্যাকেজের পাইথন ও আর লাইব্রেরি হিসেবে পাওয়া যায়। উভয় দিকেই কলিং সুবিধাটি অনেক ভাষার জন্য বাস্তবায়িত হয়েছে, যেমন এই সবগুলো ভাষার জন্য।
জুলিয়ার ভিজুয়াল স্টুডিও কোড এক্সটেনশনটি একটি পূর্ণাঙ্গ IDE (Integrated Development Environment) সরবরাহ করে যা ডিবাগিং, লিন্টিং, এবং প্রোফাইলিং সমর্থন করে।[১৮][১৯][২০][২১]
কোডিং এর উদাহারণ
[সম্পাদনা]জুলিয়া প্রোগ্রামিং ভাষার কোডিং এর উদাহারণ:
year = 2007;
if year >= 2006
println("অনিকেত প্রান্তর আর্টসেলের সবচেয়ে জোস গান")
else println("ভুল জন্ম আর্টসেলের সবচেয়ে জোস গান")
end
আউটপুট:
julia > অনিকেত প্রান্তর আর্টসেলের সবচেয়ে জোস গান
ইতিহাস
[সম্পাদনা]জুলিয়ার উপর কাজ শুরু হয় ২০০৯ সালে, যখন জেফ বেজানসন, স্টেফান কারপিনস্কি, বিরাল বি. শাহ, এবং অ্যালান এডেলম্যান একটি ফ্রি ভাষা তৈরি করার উদ্যোগ নেন যা উচ্চ স্তরের এবং দ্রুতগতি সম্পন্ন হবে। ১৪ ফেব্রুয়ারি ২০১২ সালে, দলটি একটি ওয়েবসাইট চালু করে যেখানে ভাষার লক্ষ্য সম্পর্কে একটি ব্লগ পোস্ট ছিল। ২০১২ সালের এপ্রিল মাসে InfoWorld-এর সাথে একটি সাক্ষাৎকারে, কারপিনস্কি নাম "জুলিয়া" সম্পর্কে বলেন: "এটির আসলে কোনও বিশেষ কারণ নেই। এটি শুধু সুন্দর একটি নাম মনে হয়েছিল।"[১৪] বেজানসন জানান যে তিনি বন্ধুর পরামর্শে নামটি বেছে নিয়েছিলেন,[২২] এবং পরে তিনি লিখেছিলেন:
হয়তো জুলিয়া মানে "জেফ-এর আনকমন লিস্প যা স্বয়ংক্রিয়"?[২৩]
জুলিয়ার সিনট্যাক্স এখন স্থিতিশীল হিসেবে বিবেচিত হয়, ২০১৮ সালে সংস্করণ ১.০ থেকে, এবং জুলিয়া ১.x-এর জন্য পিছনের সামঞ্জস্যতা গ্যারান্টি প্রদান করে এবং ডকুমেন্টেড (স্থিতিশীল) API-এর জন্য স্থিতিশীলতার প্রতিশ্রুতি রয়েছে, যদিও প্রাথমিক উন্নয়নের সময় ০.৭ সংস্করণের পূর্বে নতুন সংস্করণে সিনট্যাক্স (এবং সিম্যান্টিকস) পরিবর্তন করা হয়েছিল। সমগ্র (রেজিস্টার্ড প্যাকেজ) ইকোসিস্টেম নতুন এবং উন্নত সিনট্যাক্স ব্যবহার করে, এবং বেশিরভাগ ক্ষেত্রে নতুন API-এর উপর নির্ভর করে যা নিয়মিতভাবে যোগ করা হয়েছে, এবং কিছু ক্ষেত্রে সামান্য অতিরিক্ত সিনট্যাক্স সামনের দিকে সামঞ্জস্য রেখে যেমন জুলিয়া 1.7-এ যুক্ত করা হয়েছে।
২০১২ সালে প্রি-১.০ জুলিয়া চালুর পর থেকে দশ বছরে, জুলিয়া সম্প্রদায়টি বড় হয়েছে। জুলিয়া প্যাকেজ ইকোসিস্টেমে ১১.৮ মিলিয়নেরও বেশি কোড লাইন রয়েছে (যার মধ্যে ডকুমেন্টেশন ও টেস্ট অন্তর্ভুক্ত)।[২৪] জুলিয়া ব্যবহারকারী ও ডেভেলপারদের জন্য JuliaCon নামে একাডেমিক সম্মেলনটি ২০১৪ সাল থেকে বার্ষিকভাবে অনুষ্ঠিত হচ্ছে, যেখানে JuliaCon2020[২৫] ২৮,৯০০ অনন্য দর্শকের স্বাগত জানায়,[২৬] এবং JuliaCon2021 অতীতের সকল রেকর্ড ভেঙে দেয় (YouTube-এ ৩০০টিরও বেশি JuliaCon2021 বিনামূল্যে পাওয়া যায়, আগের বছরের ১৬২ থেকে বাড়িয়ে), এবং সম্মেলনে ৪৩,০০০ অনন্য দর্শক উপস্থিত হয়।[২৭]
জুলিয়ার তিনজন সহ-স্রষ্টা/আবিষ্কারক ২০১৯ সালের জেমস এইচ. উইলকিনসন প্রাইজ ফর নিউমেরিক্যাল সফটওয়্যারের প্রাপক, যা প্রতি চার বছরে একবার প্রদান করা হয়। এটি তাদের জুলিয়া তৈরির জন্য প্রদান করা হয়, যা উচ্চ-প্রদর্শন ক্ষমতাসম্পন্ন টুল তৈরির জন্য উদ্ভাবনী একটি পরিবেশ হিসেবে কম্পিউটেশনাল বিজ্ঞান সমস্যার বিশ্লেষণ ও সমাধান করতে সক্ষম করে।[২৮] এছাড়া, অ্যালান এডেলম্যান, এমআইটি-র অ্যাপ্লাইড ম্যাথমেটিক্সের অধ্যাপক, ২০১৯ সালের IEEE কম্পিউটার সোসাইটি সিডনি ফার্নব্যাক পুরস্কারের জন্য নির্বাচিত হন। এই পুরস্কারটি উচ্চ-প্রদর্শন ক্ষমতাসম্পন্ন কম্পিউটিং, লিনিয়ার অ্যালজেব্রা এবং কম্পিউটেশনাল বিজ্ঞানে উল্লেখযোগ্য অগ্রগতির জন্য এবং জুলিয়া প্রোগ্রামিং ভাষায় অবদানের জন্য প্রদান করা হয়।[২৯][৩০]
রিলিজটি REPL (soft scope)-এর আচরণ পরিবর্তন করে, যা Jupyter-এ ব্যবহৃত পদ্ধতির সাথে সামঞ্জস্যপূর্ণ করে তোলে তবে REPL-এর বাইরে থাকা কোডের সাথেও সম্পূর্ণ সামঞ্জস্যপূর্ণ। বেশিরভাগ থ্রেড API-কে স্থিতিশীল হিসেবে চিহ্নিত করা হয়েছে, এবং এই রিলিজে "কোনো স্থায়ী ইমিউটেবল অবজেক্ট, তা মিউটেবল অবজেক্ট রেফারেন্স করে কি না তা নির্বিশেষে, এখন স্ট্যাক-এ বরাদ্দ করা যেতে পারে",[৩১] যা হিপ বরাদ্দ কমায়, যেমন ভিউ এখন আর বরাদ্দ হয় না। জুলিয়া ১.৫ "প্রথম চিত্র প্রদর্শন সময়" (TTFP বা TTFX, প্রথম X, আরও সাধারণ সমস্যা) কর্মক্ষমতার উপর দৃষ্টি দেয়, বিশেষত কম্পাইলেশনের গতি উন্নত করে এবং প্যাকেজ লোডিং উন্নত করার জন্য নতুন টুল যোগ করে।[৩২]
জুলিয়া ১.৬ ছিল ১.০-এর পর থেকে সবচেয়ে বড় রিলিজ, এবং এটি দীর্ঘতম সময়ের জন্য লং-টার্ম সাপোর্ট (LTS) সংস্করণ ছিল, যেখানে বেশ কিছু উন্নতি হয়েছে, যেমন সমান্তরাল প্রিপ্রকোম্পাইলেশন এবং দ্রুত প্যাকেজ লোডিং। কিছু ক্ষেত্রে "বড় আকারের বাইনারি উপাদানের জন্য ৫০ গুণ বেশি লোড সময় বৃদ্ধি" হয়েছে।[৩৩] সংস্করণ ১.৭ থেকে জুলিয়া ডেভেলপমেন্ট আবার সময়ভিত্তিক রিলিজ মডেলে ফিরে এসেছে।[৩৪]
জুলিয়া ১.৭.০ নভেম্বর ২০২১ সালে মুক্তি পায় এবং এতে অনেক পরিবর্তন যুক্ত হয়, যেমন একটি নতুন দ্রুততর র্যান্ডম-নাম্বার জেনারেটর। ২৫ মে ২০২২-এ ১.৭.৩ সংস্করণ প্রকাশিত হয়, যেটি কিছু সমস্যার সমাধান করে, যার মধ্যে একটি নিরাপত্তা আপডেটও অন্তর্ভুক্ত ছিল,[৩৫] এবং ১.৭.x আর সমর্থিত নয়।
জুলিয়া ১.৮ ২০২২ সালে মুক্তি পায় (এবং এর পরবর্তী সংস্করণ ১.৮.৫ জানুয়ারি ২০২৩-এ মুক্তি পায়[৩৬]), যা বাগ ফিক্স এবং "ইনভ্যালিডেশন" সমাধান করে এবং কম্পাইলিং দ্রুততর করে, কিছু ক্ষেত্রে ২৫% পর্যন্ত।[৩৭]
জুলিয়া ১.৯.০ ৭ মে ২০২৩ সালে মুক্তি পায়, এতে বেশ কিছু উন্নতি অন্তর্ভুক্ত ছিল, যেমন প্যাকেজগুলোকে নেটিভ মেশিন কোডে প্রিকম্পাইল করার সক্ষমতা (পুরোনো সংস্করণগুলোতে প্রিকম্পাইলেশন ছিল কিন্তু সম্পূর্ণভাবে নেটিভ কোডে নয়, ফলে "প্রথম ব্যবহারের" সময় কিছুটা ধীরগতি ছিল)। প্রিকম্পাইল করা প্যাকেজগুলো সংস্করণ ১.৯ থেকে প্রথম ব্যবহারে শতগুণ দ্রুততর হতে পারে (যেমন CSV.jl এবং DataFrames.jl-এর ক্ষেত্রে), এবং প্যাকেজ প্রিকম্পাইলেশন উন্নত করতে একটি নতুন প্যাকেজ PrecompileTools.jl প্রবর্তিত হয়েছে। জুলিয়া ১.১০.০ ২৫ ডিসেম্বর ২০২৩-এ প্রকাশিত হয় (এবং ২৭ আগস্ট ২০২৪-এ ১.১০.৫ সংস্করণে আপডেট), যাতে নতুন অনেক বৈশিষ্ট্য রয়েছে, যেমন সমান্তরাল গার্বেজ কালেকশন, উন্নত প্যাকেজ লোড সময়, এবং উন্নত স্ট্যাকট্রেস রেন্ডারিং সহ নতুন পার্সার।[৩৮]
জুলিয়া ১.১১.০ প্রকাশিত হয় ৭ অক্টোবর ২০২৪-এ (এবং ১.১১.১ ১৬ অক্টোবর), এবং এর সাথে ১.১০.৫ পরবর্তী লং-টার্ম সাপোর্ট (LTS) সংস্করণ হয়ে ওঠে (অর্থাৎ এখন শুধুমাত্র এই দুই সংস্করণ সমর্থিত), যা পরবর্তীতে ১.১০.৬-এ আপডেট করা হয় ২৮ অক্টোবর, এবং ১.৬ আর LTS সংস্করণ নেই। জুলিয়া ১.১১ নতুন একটি public
কীওয়ার্ড যুক্ত করেছে যা নিরাপদ পাবলিক API নির্দেশ করতে ব্যবহৃত হয় (জুলিয়া ব্যবহারকারীদের পরামর্শ দেয়া হয় এই API ব্যবহার করতে, এবং জুলিয়া বা প্যাকেজের অভ্যন্তরীণ বিষয় নয়, এবং প্যাকেজ লেখকদের এই কীওয়ার্ড ব্যবহার করতে পরামর্শ দেয়া হয়েছে, সাধারণত @compat
ম্যাক্রো দ্বারা, পুরোনো জুলিয়া সংস্করণগুলির সাথে, অন্তত LTS সংস্করণের জন্য, সামঞ্জস্য বজায় রাখার জন্য)। জুলিয়া ১.১১.১-এর স্টার্টআপের গতি উন্নত করা হয়েছে (১.১১.০-এর একটি অবনমন ছিল), এবং ১.১০-এর তুলনায়ও, যা কিছু বেঞ্চমার্কে গুরুত্বপূর্ণ হতে পারে।
কিছু ব্যবহারকারী ১.১১-এ আপগ্রেড করার বিষয়টি স্থগিত রাখতে পারেন (যেমন যারা R থেকে জুলিয়া কল করছেন), কারণ পরিচিত সাময়িক প্যাকেজ অসামঞ্জস্যতা রয়েছে।
অনেক ছোট বাইনারি এক্সিকিউটেবল তৈরি করা সম্ভব juliac
দিয়ে, যা শুধুমাত্র আসন্ন জুলিয়া ১.১২ (বর্তমান "নাইটলি" সংস্করণ) এ পাওয়া যায়।
জুলিয়া কনফারেন্স (জুলিয়াকন)
[সম্পাদনা]২০১৪ সাল থেকে,[৩৯] জুলিয়া কমিউনিটি বার্ষিক জুলিয়া কনফারেন্স আয়োজন করে যা ডেভেলপার এবং ব্যবহারকারীদের উপর কেন্দ্রীভূত। প্রথম JuliaCon শিকাগোতে অনুষ্ঠিত হয়েছিল এবং এটি সম্মেলনের বার্ষিক আয়োজনের সূচনা করে। ২০১৪ সাল থেকে, এই সম্মেলন বিভিন্ন স্থানে অনুষ্ঠিত হয়েছে, যেমন MIT[৪০] এবং ইউনিভার্সিটি অফ মেরিল্যান্ড, বাল্টিমোর।[৪১] ইভেন্টের দর্শকসংখ্যা কয়েক ডজন থেকে বেড়ে ২০২০ সালে JuliaCon-এ ২৮,৯০০ জন অনন্য দর্শকে পৌঁছে, যা ভার্চুয়ালি অনুষ্ঠিত হয়েছিল।[৪২] JuliaCon 2021-ও ভার্চুয়ালি অনুষ্ঠিত হয়েছিল,[৪৩] যেখানে IEEE 754 ভাসমান বিন্দু স্ট্যান্ডার্ডের প্রধান স্থপতি উইলিয়াম কাহান (যা প্রায় সব CPU এবং ভাষায় ব্যবহৃত হয়, যার মধ্যে জুলিয়াও রয়েছে),[৪৪] জ্যান ভিটেক,[৪৫] শেরি লি, এবং পাইটর্চের সহ-স্রষ্টা সৌমিথ চিন্তালা প্রধান বক্তা হিসেবে ছিলেন।[৪৬] JuliaCon ২০২১-এ ৪৩,০০০ জন অনন্য দর্শক ছিল এবং ৩০০টিরও বেশি উপস্থাপনা ছিল (পুরোনো বছরের উপস্থাপনাগুলোও বিনামূল্যে উপলব্ধ)। JuliaCon ২০২২ জুলাই ২৭ থেকে ২৯ তারিখে ভার্চুয়ালভাবে অনুষ্ঠিত হবে এবং প্রথমবারের মতো একাধিক ভাষায়, শুধু ইংরেজিতে নয়।
স্পন্সর
[সম্পাদনা]জুলিয়া ভাষা ২০১৪ সালে নামফোকাস-এর অর্থনৈতিক স্পন্সরশিপ প্রকল্পে অন্তর্ভুক্ত হয়, যা প্রকল্পটির দীর্ঘমেয়াদী স্থায়িত্ব নিশ্চিত করার প্রচেষ্টা হিসেবে গৃহীত হয়।[৪৭] MIT লিংকন ল্যাবরেটরির জেরেমি কেপনার ছিলেন জুলিয়া প্রকল্পের প্রাথমিক স্পন্সর। এছাড়া, গর্ডন এবং বেটি মুর ফাউন্ডেশন, আলফ্রেড পি. স্লোন ফাউন্ডেশন, ইন্টেল, এবং ন্যাশনাল সায়েন্স ফাউন্ডেশন , ডার্পা (DARPA), ন্যাশনাল ইনস্টিটিউটস অফ হেলথ, নাসা (NASA), এবং ফেডারেল এভিয়েশন অ্যাডমিনিস্ট্রেশন-এর মতো সংস্থাগুলোর তহবিল জুলিয়ার বিকাশে গুরুত্বপূর্ণ ভূমিকা পালন করেছে।[৪৮] ফায়ারফক্স ওয়েব ব্রাউজারের নির্মাতা মজিলা, ২০১৯ সালের প্রথমার্ধে গবেষণা অনুদানের মাধ্যমে "জুলিয়াকে ব্রাউজারে নিয়ে আসা" প্রকল্পে "জুলিয়া দলের একজন সদস্যকে" স্পন্সর করে,[৪৯] অর্থাৎ Firefox এবং অন্যান্য ওয়েব ব্রাউজারে জুলিয়াকে সংহত করার জন্য।[৫০][৫১][৫২][৫৩] জুলিয়া ভাষাটি গিটহাবে ব্যক্তিগত অনুদাতাদের দ্বারাও সমর্থিত।[৫৪]
ভাষার বৈশিষ্ট্য
[সম্পাদনা]জুলিয়া একটি সাধারণ উদ্দেশ্যের প্রোগ্রামিং ভাষা (অল পারপাস প্রোগ্রামিং ল্যাঙ্গুয়েজ),[৫৫] যা মূলত সংখ্যাসম্পর্কিত ও প্রযুক্তিগত গণনার জন্য ডিজাইন করা হয়েছিল। এটি লো-লেভেল সিস্টেম প্রোগ্রামিং,[৫৬] স্পেসিফিকেশন ভাষা,[৫৭] হার্ডওয়্যার যেমন FPGA-এর জন্য উচ্চ-স্তরের সংশ্লেষণ (HLS) টুল,[৫৮] এবং ওয়েব প্রোগ্রামিং[৫৯] উভয় সার্ভার[৬০][৬১] এবং ক্লায়েন্ট[৬২][৬৩] সাইডে ব্যবহৃত হয়।
ভাষার প্রধান বৈশিষ্ট্যসমূহ:
- মাল্টিপল ডিসপ্যাচ: আর্গুমেন্টের টাইপের বিভিন্ন সংমিশ্রণের জন্য ফাংশনের আচরণ নির্ধারণের ক্ষমতা প্রদান
- ডাইনামিক টাইপ সিস্টেম: ডকুমেন্টেশন, অপ্টিমাইজেশন, এবং ডিসপ্যাচের জন্য টাইপ
- সি ভাষার মতো স্ট্যাটিকালি-টাইপড ভাষার পারফরম্যান্সের কাছাকাছি গতি
- একটি বিল্ট-ইন প্যাকেজ ম্যানেজার
- লিস্প-সদৃশ ম্যাক্রো এবং অন্যান্য মেটাপ্রোগ্রামিং সুবিধা
- সমান্তরাল এবং বিতরণকৃত কম্পিউটিংয়ের জন্য ডিজাইন করা
- কোরোউটিন: লাইটওয়েট "গ্রীন" থ্রেডিং
- বিভিন্ন আর্গুমেন্ট টাইপের জন্য স্বয়ংক্রিয় কোড জেনারেশন
- সংখ্যা এবং অন্যান্য টাইপের জন্য প্রসারণযোগ্য রূপান্তর ও প্রচার
- মাল্টিপল ডিসপ্যাচ (লিস্পে একে মাল্টিমেথডও বলা হয়) একক ডিসপ্যাচের একটি সাধারণীকরণ, যা সাধারণভাবে অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং (OOP) * * ভাষায় ব্যবহৃত বহুরূপী পদ্ধতি। যেমন: পাইথন, সি++, জাভা, জাভাস্ক্রিপ্ট, এবং স্মলটকের মতো ভাষায় উত্তরাধিকার ব্যবহার করে। জুলিয়াতে, সব কংক্রিট টাইপই অ্যাবস্ট্রাক্ট টাইপের সাবটাইপ, যা সরাসরি বা পরোক্ষভাবে
Any
টাইপের সাবটাইপ, যা টাইপ হায়ারার্কির শীর্ষে। কংক্রিট টাইপগুলি নিজে সাবটাইপ হতে পারে না, বরং কম্পোজিশন ব্যবহার করা হয় (দেখুন উত্তরাধিকার বনাম সাবটাইপিং)।
ডিফল্টভাবে, জুলিয়া রানটাইম প্রি-ইনস্টল থাকতে হবে কারণ ব্যবহারকারী-প্রদত্ত সোর্স কোড রান করে। অন্যভাবে, AppBundler.jl ব্যবহার করে জুলিয়া GUI অ্যাপগুলো একটি একক ফাইলে দ্রুত বান্ডেল করা যায়,[৬৪] যা "আধুনিক ডেস্কটপ অ্যাপ্লিকেশন ইনস্টলার ফরম্যাটে জুলিয়া GUI অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়। এটি লিনাক্সের জন্য Snap, উইন্ডোজের জন্য MSIX, এবং MacOS-এর জন্য DMG ফরম্যাটে তৈরি করে এবং পূর্ণ জুলিয়াকে অ্যাপের মধ্যে অন্তর্ভুক্ত করে।"[৬৫] PackageCompiler.jl স্বাধীন এক্সিকিউটেবল তৈরি করতে পারে যা জুলিয়া সোর্স কোড ছাড়াই চালানো যায়।[৬৬]
জুলিয়াতে, প্রতিটি উপাদানই একটি অবজেক্ট, অনেকটা অবজেক্ট-ওরিয়েন্টেড ভাষার মতো; তবে, বেশিরভাগ অবজেক্ট-ওরিয়েন্টেড ভাষার মতো নয়, এখানে সব ফাংশন multiple dispatch ব্যবহার করে মেথড নির্বাচন করে, single dispatch-এর পরিবর্তে।
জুলিয়ার হোমোইকনিক ম্যাক্রো এবং প্যাকেজ ব্যবহার করে বেশিরভাগ প্রোগ্রামিং প্যারাডাইম বাস্তবায়ন করা যায়। জুলিয়ার সিনট্যাকটিক ম্যাক্রো (মেটাপ্রোগ্রামিং-এর জন্য ব্যবহৃত), যেমন লিস্প ম্যাক্রো, প্রিপ্রসেসরে ব্যবহৃত টেক্সট-সাবস্টিটিউশন ম্যাক্রো থেকেও বেশি শক্তিশালী, যা কিছু অন্যান্য ভাষায় যেমন C-তে ব্যবহৃত হয়, কারণ এগুলি abstract syntax trees (ASTs)-এর স্তরে কাজ করে। জুলিয়ার ম্যাক্রো সিস্টেম হাইজেনিক, তবে প্রয়োজনে ইচ্ছাকৃত ক্যাপচার সমর্থন করে (যেমন অ্যানাফোরিক ম্যাক্রোর জন্য) esc কনস্ট্রাক্ট ব্যবহার করে।
জুলিয়া বিভিন্ন লিস্প ডায়ালেক্ট থেকে অনুপ্রেরণা নিয়েছে, যেমন Scheme এবং Common Lisp,[৬৭] এবং এটি Dylan এর সাথে অনেক বৈশিষ্ট্য শেয়ার করে, যা একটি মাল্টিপল ডিসপ্যাচ-অরিয়েন্টেড ডাইনামিক ভাষা (যার একটি ইনফিক্স সিনট্যাক্স রয়েছে, লিস্প-সদৃশ প্রিফিক্স সিনট্যাক্সের পরিবর্তে; জুলিয়াতে "সবকিছুই"[৬৮] এক্সপ্রেশন), এবং Fortress এর সাথে, যা আরেকটি সংখ্যাসম্পর্কিত প্রোগ্রামিং ভাষা (যাতে মাল্টিপল ডিসপ্যাচ এবং একটি উন্নত প্যারামেট্রিক টাইপ সিস্টেম রয়েছে)। যেখানে Common Lisp Object System (CLOS) কমন লিস্প-এ মাল্টিপল ডিসপ্যাচ যোগ করে, সেখানে সব ফাংশন জেনেরিক ফাংশন নয়।
জুলিয়া, ডিলান, এবং ফোর্ট্রেসে, এক্সটেনসিবিলিটি ডিফল্ট হিসেবে অন্তর্ভুক্ত এবং সিস্টেমের বিল্ট-ইন ফাংশনগুলো সবই জেনেরিক এবং এক্সটেনসিবল। ডিলানে, জুলিয়ার মতো মাল্টিপল ডিসপ্যাচও একটি মৌলিক বৈশিষ্ট্য; সকল ব্যবহারকারী-সংজ্ঞায়িত ফাংশন এবং এমনকি মৌলিক বিল্ট-ইন অপারেশন যেমন +
ও জেনেরিক। তবে, ডিলানের টাইপ সিস্টেম সম্পূর্ণরূপে প্যারামেট্রিক টাইপ সমর্থন করে না, যা মেশিন লার্নিং লিনিয়েজ এর ভাষাগুলোর মধ্যে বেশি দেখা যায়। ডিফল্টভাবে, CLOS কমন লিস্পের প্যারামেট্রিক টাইপগুলোর জন্য ডিসপ্যাচ সমর্থন করে না; এমন উন্নত ডিসপ্যাচ অর্থনীতি শুধুমাত্র CLOS মেটা অবজেক্ট প্রোটোকলের মাধ্যমে এক্সটেনশন হিসেবে যোগ করা যায়। ডিজাইনের অভিসারমূলক উপায়ে, ফোর্ট্রেসও প্যারামেট্রিক টাইপের উপর মাল্টিপল ডিসপ্যাচ সমর্থন করে; তবে, জুলিয়ার মতো ডাইনামিক না হয়ে, ফোর্ট্রেস স্ট্যাটিক টাইপড, যার পৃথক কম্পাইলিং এবং এক্সিকিউটিং ধাপ রয়েছে। নিচের টেবিলে ভাষার বৈশিষ্ট্যগুলো সংক্ষেপে উল্লেখ করা হলো:
প্রোগ্রামিং ভাষা | টাইপ সিস্টেম | জেনেরিক ফাংশন | প্যারামেট্রিক পলিমর্ফিসম |
---|---|---|---|
জুলিয়া | ডায়নামিক | ডিফল্ট | হ্যাঁ |
কমন লিস্প | ডায়নামিক | অপ্ট-ইন | হ্যাঁ (কিন্তু ডিস্প্যাচ হয়নি) |
ডিলান | ডাইনামিক | ডিফল্ট | আংশিক (ডিস্প্যাচ হয়নি) |
ফোর্ট্রেস | স্টাটিক | ডিফল্ট | হ্যাঁ |
জুলিয়ার এক্সটেনসিবিলিটির একটি উদাহরণ হলো Unitful.jl প্যাকেজ, যা ভাষায় শারীরিক পরিমাপ এককসমূহের জন্য সমর্থন যোগ করে।
ইন্টারঅপারেবিলিটি
[সম্পাদনা]জুলিয়ায় বিল্ট-ইন সাপোর্ট রয়েছে C বা Fortran ভাষার লাইব্রেরিগুলোকে @ccall
ম্যাক্রো ব্যবহার করে কল করার জন্য। অতিরিক্ত লাইব্রেরিগুলোর মাধ্যমে ব্যবহারকারীরা Python,[৬৯] R,[৭০] C++,[৭১] Java,[৭২] এবং SQL-এর সঙ্গে কাজ করতে পারেন।[৭৩][৭৪][৭৫][৭৬]
পৃথকভাবে কম্পাইল করা এক্সিকিউটেবল অপশন
[সম্পাদনা]জুলিয়াকে PackageCompiler.jl ব্যবহার করে বাইনারি এক্সিকিউটেবল হিসেবে কম্পাইল করা যায়।[৬৬] ছোট আকারের এক্সিকিউটেবল তৈরি করার জন্য StaticCompiler.jl ব্যবহার করে ভাষার একটি স্ট্যাটিক সাবসেটেও লেখা যেতে পারে, যা রানটাইম ডিস্প্যাচ সমর্থন করে না (এছাড়াও এটি রানটাইম এবং গারবেজ কালেকশনকেও বাদ দেয়)।[৭৭]
মিথস্ক্রিয়া/ইন্টারঅ্যাকশন
[সম্পাদনা]জুলিয়ার অফিসিয়াল ডিস্ট্রিবিউশনে একটি ইন্টারেক্টিভ কমান্ড-লাইন read-eval-print loop (REPL) অন্তর্ভুক্ত রয়েছে,[৭৮] যা একটি সার্চেবল হিস্ট্রি, ট্যাব কমপ্লিশন, এবং ডেডিকেটেড হেল্প ও শেল মোড[৭৯] সহ সরবরাহ করা হয়, যা কোড দ্রুত পরীক্ষার জন্য ব্যবহার করা যায়।[৮০] নিচের অংশে একটি নমুনা সেশন দেখানো হয়েছে যেখানে println স্বয়ংক্রিয়ভাবে স্ট্রিংগুলোকে একত্র করে:[৮১]
julia> p(x) = 2x^2 + 1; f(x, y) = 1 + 2p(x)y julia> println("Hello world!", " I'm on cloud ", f(0, 4), " as Julia supports recognizable syntax!") Hello world! I'm on cloud 9 as Julia supports recognizable syntax!
REPL ব্যবহারকারীদের সিস্টেম শেল এবং হেল্প মোডে অ্যাক্সেস প্রদান করে, যথাক্রমে প্রম্পটের পরে ;
বা ?
প্রেস করার মাধ্যমে। এটি কমান্ডের হিস্ট্রি সংরক্ষণ করে, এমনকি সেশনগুলোর মধ্যেও।[৮২] কোড জুলিয়ার ইন্টারেক্টিভ সেশনের মধ্যে পরীক্ষা করা যায় অথবা .jl
এক্সটেনশনের ফাইলে সংরক্ষণ করে কমান্ড লাইনে রান করা যায় এইভাবে:[৬৮]
$ julia <filename>
জুলিয়া UTF-8 এবং LaTeX কোড ব্যবহার করে, যা বিভিন্ন অপারেটরের জন্য সাধারণ গাণিতিক প্রতীকসমূহ সমর্থন করে, যেমন ∈ ব্যবহার করে in অপারেটর, যা \in
টাইপ করার পর TAB চাপলে পাওয়া যায় (অথবা সরাসরি কপি-পেস্ট করেও ব্যবহার করা যায়, যেমন √ এবং ∛, যা square root এবং cube root ফাংশনের জন্য ব্যবহার করা যায়)। জুলিয়ায় সর্বশেষ প্রধান সংস্করণ Unicode 15.0 সমর্থন রয়েছে (Julia 1.11-DEV সর্বশেষ 15.1 পয়েন্ট রিলিজ সমর্থন করে[৮৩])[৮৪] যা বিশ্বের বিভিন্ন ভাষা সমর্থন করে, এমনকি সোর্স কোডেও, যেমন ভেরিয়েবল নাম হিসেবে (যদিও পাবলিক কোডে ইংরেজি ব্যবহার সুপারিশ করা হয়, যেমন প্যাকেজ নামের ক্ষেত্রে)।
জুলিয়া Project Jupyter-এর মাধ্যমে সমর্থিত, যা একটি অনলাইন ইন্টারেক্টিভ "নোটবুক" পরিবেশ,[৮৫] এবং Pluto.jl, যা একটি "রিঅ্যাক্টিভ নোটবুক" (যেখানে নোটবুকগুলো শুধুমাত্র জুলিয়া ফাইল হিসেবে সংরক্ষণ করা হয়), একটি সম্ভাব্য বিকল্প।[৮৬] এছাড়াও, Posit (পূর্বে RStudio Inc.) এর Quarto পাবলিশিং সিস্টেম Julia, Python, R এবং Observable JavaScript সমর্থন করে (এই ভাষাগুলো সংস্থার দ্বারা আনুষ্ঠানিকভাবে সমর্থিত এবং একই নোটবুক ডকুমেন্টে একত্রে ব্যবহার করা সম্ভব; আরও ভাষা আনুষ্ঠানিকভাবে সমর্থন করা হয় না)।[৮৭][৮৮]
REPL অতিরিক্ত মোড দিয়ে সম্প্রসারিত করা যায় এবং প্যাকেজের মাধ্যমে এর সম্প্রসারণ ঘটানো হয়েছে, যেমন ডেটাবেস অ্যাক্সেসের জন্য একটি SQL মোড[৮৯] এবং RCall.jl প্যাকেজে R ভাষার সাথে কাজ করার জন্য একটি R মোড যোগ করা হয়েছে।[৯০]
অন্যান্য ভাষার সাথে ব্যবহার
[সম্পাদনা]জুলিয়া বাস্তবে অন্যান্য ভাষার সাথে ইন্টারঅপারেবল, এমনকি শীর্ষ ২০টি জনপ্রিয় ভাষার অধিকাংশের সাথেও। জুলিয়ার মাধ্যমে আলাদাভাবে শেয়ার করা লাইব্রেরি ফাংশন, যেমন C বা Fortran এ লেখা ফাংশনগুলোকে কল করা যায়, এবং অন্যান্য ভাষা (যেগুলো সরাসরি C-এ এক্সপোর্টেড ফাংশন সরবরাহ করে না) কল করার জন্যও প্যাকেজ রয়েছে, যেমন Python (PythonCall.jl দিয়ে), R,[৯১] MATLAB, C# (এবং অন্যান্য .NET ভাষাগুলোর জন্য DotNET.jl, যেখানে JdotNET থেকে কল করা যায়), JavaScript, Java (এবং অন্যান্য JVM ভাষা, যেমন Scala JavaCall.jl দিয়ে)। কিছু প্যাকেজের মাধ্যমে Julia অন্যান্য ভাষা থেকেও কল করা যায়, যেমন Python থেকে, R (বর্তমানে Julia 1.10.x পর্যন্ত সম্ভব[৯২]), Rust, Ruby, বা C#। Python থেকে কল করতে juliacall (PythonCall.jl এর অংশ) এবং R থেকে Julia 1.10.x পর্যন্ত কল করার জন্য একটি আলাদা JuliaCall প্যাকেজ রয়েছে। জুলিয়া হার্ডওয়্যারের জন্যও ব্যবহৃত হয়েছে, যেমন VHDL-এ কম্পাইল করতে এবং FPGA-এর জন্য উচ্চ-স্তরের সিন্থেসিস টুল হিসেবে।[৫৮]
জুলিয়ার প্যাকেজে মার্কআপ ভাষা সমর্থন রয়েছে, যেমন HTML (এবং HTTP), XML, JSON এবং BSON, এবং ডেটাবেসের জন্যও রয়েছে (যেমন PostgreSQL,[৯৩] Mongo,[৯৪] Oracle, যার মধ্যে TimesTen-ও রয়েছে,[৯৫] MySQL, SQLite, Microsoft SQL Server,[৯৪] Amazon Redshift, Vertica, ODBC) এবং ওয়েব ব্যবহারের জন্য সাধারণত সহায়ক।[৯৬][৯৭]
প্যাকেজ সিস্টেম
[সম্পাদনা]জুলিয়ার একটি বিল্ট-ইন প্যাকেজ ম্যানেজার রয়েছে এবং এতে ডিফল্ট রেজিস্ট্রি সিস্টেম অন্তর্ভুক্ত রয়েছে।[৯৮] প্যাকেজগুলো প্রায়শই GitHub এ সোর্স কোড হিসেবে বিতরণ করা হয়, যদিও বিকল্প মাধ্যমও ব্যবহার করা যেতে পারে। প্যাকেজগুলো বাইনারি আকারে ইনস্টল করা যায়, যেখানে আর্টিফ্যাক্টস ব্যবহার করা হয়।[৯৯] জুলিয়ার প্যাকেজ ম্যানেজার প্যাকেজের প্রশ্নোত্তর ও কম্পাইল করার পাশাপাশি এনভায়রনমেন্ট ম্যানেজ করতেও ব্যবহৃত হয়। এটি ফেডারেটেড প্যাকেজ রেজিস্ট্রিগুলোকেও সমর্থন করে, যার মাধ্যমে অফিসিয়াল ছাড়াও স্থানীয়ভাবে অন্যান্য রেজিস্ট্রি যোগ করা যায়।[১০০]
ইমপ্লিমেন্টেশন
[সম্পাদনা]জুলিয়ার মূল কাঠামো Julia এবং C ভাষায় তৈরি করা হয়েছে, সাথে C++ ব্যবহার করা হয়েছে LLVM নির্ভরতার জন্য। কোড পার্সিং, কোড-লোয়ারিং, এবং বুটস্ট্র্যাপিং FemtoLisp-এ বাস্তবায়িত ছিল, যা Scheme ভাষার একটি ডায়ালেক্ট, সংস্করণ 1.10 পর্যন্ত।[১০১] সেই সংস্করণের পর থেকে নতুন পিওর-জুলিয়া প্যাকেজ JuliaSyntax.jl পার্সিংয়ের জন্য ব্যবহৃত হচ্ছে (যদিও পুরনোটি এখনও পছন্দ অনুযায়ী ব্যবহার করা যায়)[১০২] যা গতি বাড়ায় এবং বিভিন্ন ক্ষেত্রে পার্সার ত্রুটি বার্তাগুলিকে যথেষ্ট উন্নত করে।[১০৩] LLVM কম্পাইলার ইনফ্রাস্ট্রাকচার প্রজেক্টটি অপ্টিমাইজড মেশিন কোড জেনারেট করতে ব্যাক এন্ড হিসাবে ব্যবহৃত হয়, যা প্রায় সব জনপ্রিয় প্ল্যাটফর্মে চলে। কিছু ব্যতিক্রম ছাড়া, স্ট্যান্ডার্ড লাইব্রেরি Julia ভাষায় বাস্তবায়িত।
বর্তমান এবং ভবিষ্যৎ প্ল্যাটফর্মসমূহ
[সম্পাদনা]জুলিয়ার টিয়ার ১ macOS সমর্থন রয়েছে, ৬৪-বিট Apple Silicon ম্যাকের জন্য, নেটিভভাবে (পূর্বে এই Apple M1-ভিত্তিক ম্যাকগুলো কেবল Rosetta 2 এমুলেশনের মাধ্যমে সমর্থিত ছিল[১০৪][১০৫]), এবং এটি Intel-ভিত্তিক ম্যাককেও সম্পূর্ণভাবে সমর্থন করে। Windows on ARM-এর এখনও আনুষ্ঠানিক সমর্থন নেই। জুলিয়ার OpenBSD-তে "প্রাথমিক সমর্থন" রয়েছে, এবং এটি বাস্তবিকভাবে কাজ করানোর জন্য আরও উন্নতির কাজ চলছে।
জুলিয়ার চারটি সমর্থন টিয়ার রয়েছে।[১০৬] সকল IA-32 প্রসেসর, যা i686 সাবআর্কিটেকচারের সম্পূর্ণ প্রয়োগ করে, এবং সকল ৬৪-বিট x86-64 (aka amd64) প্রসেসর প্রায় এক দশক পুরনো হলেও সমর্থিত। Armv8 (AArch64) প্রসেসরগুলো macOS-এর জন্য প্রথম টিয়ারে সমর্থিত; অন্যথায় Linux-এ দ্বিতীয় টিয়ার এবং ARMv7 (AArch32)-এর জন্য তৃতীয় টিয়ারে রয়েছে।[১০৭]
অজস্য প্যাকেজ GPU দ্বারা পরিচালিত: [১০৮] Nvidia GPU-এর জন্য CUDA.jl প্যাকেজ (৬৪-বিট Linux-এ টিয়ার ১ এবং ৬৪-বিট Windows-এ টিয়ার ২), Parallel Thread Execution বাস্তবায়নের জন্য কম্পিউট ক্যাপাবিলিটি ৩.৫ (Kepler) বা তার বেশি প্রয়োজন; দুটোর জন্যই CUDA ১১+ প্রয়োজন, যদিও পুরনো প্যাকেজ সংস্করণগুলো CUDA ৯ পর্যন্ত কাজ করে। অন্যান্য অ্যাক্সিলারেটর যেমন Google-এর TPUসমূহ,[১০৯] কিছু Intel-এর ইন্টিগ্রেটেড GPU, oneAPI.jl,[১১০] এবং AMD এর GPU-এর জন্য OpenCL ও পরীক্ষামূলক ROCm স্ট্যাক সমর্থন রয়েছে।[১১১] কিছু প্ল্যাটফর্মে, জুলিয়াকে সোর্স কোড থেকে কম্পাইল করতে হতে পারে (যেমন মূল Raspberry Pi), যা নির্দিষ্ট বিল্ড বিকল্প সহ প্রয়োজন হতে পারে। এটি পূর্বে করা হয়েছে এবং অপ্রচলিত প্রি-বিল্ট বাইনারিগুলি (এবং বিল্ড নির্দেশাবলী) উপলব্ধ রয়েছে।[১১২][১১৩] ছোট Raspberry Pi থেকে শুরু করে বিশ্বের দ্রুততম সুপারকম্পিউটার Fugaku-র ARM-ভিত্তিক A64FX পর্যন্ত বিভিন্ন ARM প্ল্যাটফর্মে জুলিয়া বিল্ড করা হয়েছে।[১১৪] PowerPC (৬৪-বিট)-এর টিয়ার ৩ সমর্থন রয়েছে, যার অর্থ এটি "বিল্ড হতে পারে বা নাও পারে"।
জুলিয়া এখন Raspbian-এ সাপোর্ট করে,[১১৫] যদিও নতুন Pi মডেলগুলির জন্য সমর্থন আরও ভালো, যেমন Armv7 বা তার নতুন ভার্সনসহ; জুলিয়া সমর্থন Raspberry Pi Foundation দ্বারা প্রচারিত হয়।[১১৬] এছাড়াও জুলিয়া 64-বিট RISC-V-এর জন্য তৈরি করা হয়েছে,[১১৭][১১৮] যার কিছু সমর্থন কোড মূল জুলিয়াতে অন্তর্ভুক্ত রয়েছে।
যদিও জুলিয়া সাধারণত একটি অপারেটিং সিস্টেম প্রয়োজন, এবং এটি কোনও এমবেডেড সিস্টেম প্ল্যাটফর্মে (যেমন Arduino) চালানোর জন্য অফিসিয়াল সমর্থন নেই, তারপরও জুলিয়া কোড চালানো সম্ভব হয়েছে, কিছু সীমাবদ্ধতার সাথে। উদাহরণস্বরূপ, একটি ব্যারেমেটাল 16 MHz 8-বিট (ATmega328P) AVR-মাইক্রোকন্ট্রোলার সহ Arduino-তে, যার ২ KB RAM এবং ৩২ KB ফ্ল্যাশ মেমরি রয়েছে।[১১৯][১২০]
অভিযোজন/অ্যাডাপ্টেশন
[সম্পাদনা]জুলিয়া অনেক বিশ্ববিদ্যালয়ের পাঠ্যক্রমে গ্রহণ করা হয়েছে, যেমন এমআইটি, স্টানফোর্ড, ইউসি বার্কলি ইত্যাদি। অনেক খাতের বৃহৎ বেসরকারি প্রতিষ্ঠানও এই ভাষাটি গ্রহণ করেছে, যার মধ্যে রয়েছে Amazon, IBM, JP Morgan AI Research,[১২১] এবং ASML। জুলিয়া NASA, FAA এবং প্রতিটি মার্কিন জাতীয় শক্তি ল্যাবরেটরি সহ বিভিন্ন সরকারি সংস্থার দ্বারাও ব্যবহৃত হয়েছে।[১২২][১২৩]
বৈজ্ঞানিক কম্পিউটিং এবং প্রকৌশল
[সম্পাদনা]- অ্যামাজন, কোয়ান্টাম কম্পিউটিং[১২৪] এবং Amazon SageMaker-এর মাধ্যমে মেশিন লার্নিং[১২৫]
- এএসএমএস, তাদের মেশিনে হার্ড রিয়েল-টাইম প্রোগ্রামিং[১২৬]
The Climate Modeling Alliance, জলবায়ু পরিবর্তন মডেলিংয়ের জন্য[১২৭][১২৮]
- সার্ন, লার্জ হাইড্রোজেন কোলাইডার থেকে সংগৃহীত তথ্য বিশ্লেষণের জন্য (LHCb experiment)[১২৯][১৩০]
- নাসা এবং জেট প্রোপালশন ল্যাবোরেটরি, মহাকাশযান বিচ্ছেদ গতিশীলতা মডেলিং, ট্রাপিস্ট বহির্জাগতিক গ্রহের তথ্য বিশ্লেষণ, এবং মহাবিশ্বের সূচনা থেকে কসমিক মাইক্রোওয়েভ ব্যাকগ্রাউন্ড ([[cosmic microwave background]) ডেটা বিশ্লেষণের জন্য জুলিয়া ব্যবহার করে[১৩১][১৩২]
ব্রাজিলিয়ান National Institute for Space Research (INPE), মহাকাশ মিশন এবং উপগ্রহের সিমুলেশনের জন্য Julia ব্যবহার করে[১৩৩]
- এমবেডেড হার্ডওয়্যার, যা স্বয়ংক্রিয়ভাবে মার্কিন বিমান বাহিনী গবেষণা পরীক্ষাগারে উল্লম্ব টেকঅফ এবং ল্যান্ডিং (VTOL) ড্রোনের মিশন পরিকল্পনা ও সম্পাদন করতে সক্ষম[১৩৪]
ফার্মাসিউটিক্যালস এবং ঔষধ উন্নয়ন
[সম্পাদনা]ফার্মাসিউটিক্যাল শিল্পে ওষুধ উন্নয়নের জন্য Julia ব্যাপকভাবে ব্যবহৃত হয় এবং Moderna, Pfizer, AstraZeneca, Procter & Gamble, এবং United Therapeutics-এর মতো কোম্পানিগুলো এটি গ্রহণ করেছে।[১৩৫][১৩৬]
অর্থনীতি, অর্থ এবং রাজনৈতিক বিজ্ঞান
[সম্পাদনা]- নিউইয়র্কের ফেডারেল রিজার্ভ ব্যাংক, ২০১৫ সাল থেকে Julia ব্যবহার করে ম্যাক্রোইকোনমিক মডেলিংয়ে নিযুক্ত রয়েছে, ২০২১ সালে COVID-19-এর ধাক্কা বিশ্লেষণসহ।[১৩৭]
- ব্যাংক অফ কানাডা, কেন্দ্রীয় ব্যাংক, ম্যাক্রোইকোনমিক মডেলিংয়ের জন্য[১৩৮]
- BlackRock, বিশ্বের বৃহত্তম সম্পদ ব্যবস্থাপক, আর্থিক সময়সীমার বিশ্লেষণের জন্য[১৩৯]
- Aviva, যুক্তরাজ্যের বৃহত্তম সাধারণ বীমা কোম্পানি, অ্যাকচুয়ারিয়াল গণনার জন্য[১৩৯]
- Mitre Corporation, প্রকাশিত নির্বাচন ফলাফল যাচাইয়ের জন্য[১৪০]
- নোবেল বিজয়ী থমাস জে সার্জেন্ট, ম্যাক্রোইকোনোমেট্রিক মডেলিংয়ের জন্য[১৪১]
টীকা
[সম্পাদনা]- ↑ প্যারাম্যাট্রিক পলিমর্ফিজম হল প্রোগ্রামিং ভাষাকে অর্থবহ করে তোলা যাতে করে সজেই কোডিং বোঝা যায়।
- ↑ ডাইনামিক প্রোগ্রামিং হল কম্পাইলেশন না করেই কোডিং এর বিশেষ অংশ চালু বা পরীক্ষা করে দেখা।
- ↑ মাল্টিপল ডিস্প্যাচ হল কোডিং এর ছোট বা বিশেষ অংশ চালু বা পরীক্ষা করে দেখা।
- ↑ স্ক্রিপ্টিং ভাষা এমন একটি প্রোগ্রামিং ভাষা যা মূলত স্বয়ংক্রিয় কাজ সম্পাদন বা নির্দিষ্ট কমান্ডের ধারাবাহিকতা পরিচালনার জন্য ব্যবহৃত হয়। সাধারণত স্ক্রিপ্টিং ভাষাগুলোতে কোড সরাসরি রানটাইমে (ব্যবহারের সময়) কম্পাইল বা এক্সিকিউট হয়, অর্থাৎ এগুলোতে প্রাথমিকভাবে কোডকে মেশিন ভাষায় অনুবাদ করতে হয় না।
তথ্যসূত্র
[সম্পাদনা]- ↑ "Smoothing data with Julia's @generated functions"। ৫ নভেম্বর ২০১৫। সংগ্রহের তারিখ ৯ ডিসেম্বর ২০১৫।
Julia's generated functions are closely related to the multistaged programming (MSP) paradigm popularized by Taha and Sheard, which generalizes the compile time/run time stages of program execution by allowing for multiple stages of delayed code execution.
- ↑ ক খ "LICENSE.md"। GitHub। সেপ্টেম্বর ২০১৭।
- ↑ "Contributors to JuliaLang/julia"। GitHub।
- ↑ "Release 1.11.1"। ১৬ অক্টোবর ২০২৪। সংগ্রহের তারিখ ২২ অক্টোবর ২০২৪।
- ↑ "Non-GPL Julia?"। Groups.google.com। সংগ্রহের তারিখ ২০১৭-০৫-৩১।
- ↑ "Introduce USE_GPL_LIBS Makefile flag to build Julia without GPL libraries"। GitHub।
Note that this commit does not remove GPL utilities such as git and busybox that are included in the Julia binary installers on Mac and Windows. It allows building from source with no GPL library dependencies.
- ↑ Stokel-Walker, Chris। "Julia: The Goldilocks language"। Increment। Stripe। সংগ্রহের তারিখ ২৩ আগস্ট ২০২০।
- ↑ ক খ গ ঘ "Home · The Julia Language"। docs.julialang.org (ইংরেজি ভাষায়)। সংগ্রহের তারিখ ২০১৮-০৮-১৫।
- ↑ "Programming Language Network"। GitHub। ২০ ডিসেম্বর ২০২০ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ৬ ডিসেম্বর ২০১৬।
- ↑ "What Should We Call the Language of Mathematica?—Stephen Wolfram Writings"। writings.stephenwolfram.com (ইংরেজি ভাষায়)। সংগ্রহের তারিখ ২০২১-০৬-২৪।
- ↑ "JuliaCon 2016"। JuliaCon। সংগ্রহের তারিখ ৬ ডিসেম্বর ২০১৬।
He has co-designed the programming language Scheme, which has greatly influenced the design of Julia
- ↑ Bryant, Avi (১৫ অক্টোবর ২০১২)। "Matlab, R, and Julia: Languages for data analysis"। O'Reilly Strata। ২০১৪-০৪-২৬ তারিখে মূল থেকে আর্কাইভ করা।
- ↑ Singh, Vicky (২৩ আগস্ট ২০১৫)। "Julia Programming Language – A True Python Alternative"। Technotification।
- ↑ ক খ Krill, Paul (১৮ এপ্রিল ২০১২)। "New Julia language seeks to be the C for scientists"। InfoWorld।
- ↑ Finley, Klint (৩ ফেব্রুয়ারি ২০১৪)। "Out in the Open: Man Creates One Programming Language to Rule Them All"। Wired।
- ↑ PackageCompiler.jl
- ↑ AppBundler.jl
- ↑ Holy, Tim (২০১৯-০৯-১৩)। "GitHub - timholy/ProfileView.jl: Visualization of Julia profiling data."। GitHub। ৩১ জানুয়ারি ২০২০ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৯-০৯-২২।
- ↑ Gregg, Brendan (২০১৯-০৯-২০)। "GitHub - brendangregg/FlameGraph: Stack trace visualizer."। GitHub। ২৬ সেপ্টেম্বর ২০১৯ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৯-০৯-২২।
- ↑ "A Julia interpreter and debugger"। julialang.org। সংগ্রহের তারিখ ২০১৯-০৪-১০।
- ↑ "Home · Rebugger.jl"। timholy.github.io। ৩১ মার্চ ২০১৯ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৯-০৪-১০।
- ↑ Torre, Charles। "Stefan Karpinski and Jeff Bezanson on Julia"। Channel 9। MSDN। ৪ ডিসেম্বর ২০১৮ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ৪ ডিসেম্বর ২০১৮।
- ↑ Bezanson, Jeff (২ এপ্রিল ২০২১)। "CAS Benchmarks"। discourse.julialang.org। ২ এপ্রিল ২০২১ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২ এপ্রিল ২০২১।
- ↑ "Newsletter August 2021 - Julia Computing Completes $24 Million Series A Fundraise and Former Snowflake CEO Bob Muglia Joins Julia Computing Board of Directors - JuliaHub"। juliahub.com। ১৬ নভেম্বর ২০২২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২২-১১-১৬।
- ↑ "JuliaCon 2020"। JuliaCon 2020 (ইংরেজি ভাষায়)। ১২ অক্টোবর ২০২৩ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২৩-১০-০৬।
- ↑ "JuliaCon 2020 Wrap-up"। julialang.org। ২০২০-০৮-১১। ৩০ নভেম্বর ২০২০ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২০-১২-২০।
- ↑ "JuliaCon 2021 Highlights"। julialang.org (ইংরেজি ভাষায়)। ৬ সেপ্টেম্বর ২০২১ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২১-০৯-০৬।
- ↑ "Julia language co-creators win James H. Wilkinson Prize for Numerical Software"। MIT News। ২৬ ডিসেম্বর ২০১৮। ২৮ জানুয়ারি ২০১৯ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৯-০১-২২।
- ↑ "Alan Edelman of MIT Recognized with Prestigious 2019 IEEE Computer Society Sidney Fernbach Award | IEEE Computer Society" (সংবাদ বিজ্ঞপ্তি) (ইংরেজি ভাষায়)। ১ অক্টোবর ২০১৯। ৯ অক্টোবর ২০১৯ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৯-১০-০৯।
- ↑ "Julia 0.6 Release Announcement"।
- ↑ Jeff Bezanson; Stefan Karpinski; Viral Shah; Alan Edelman; ও অন্যান্য। "The Julia Language"। julialang.org (ইংরেজি ভাষায়)। সংগ্রহের তারিখ ২০২০-০৮-১৪।
There are some size-based limits to which structs can be stack allocated, but they are unlikely to be exceeded in practice.
- ↑ Jeff Bezanson; Stefan Karpinski; Viral Shah; Alan Edelman; ও অন্যান্য। "The Julia Language"। julialang.org (ইংরেজি ভাষায়)। সংগ্রহের তারিখ ২০২০-০৯-১৬।
- ↑ Jeff Bezanson; Stefan Karpinski; Viral Shah; Alan Edelman; ও অন্যান্য। "Julia 1.6 Highlights"। julialang.org (ইংরেজি ভাষায়)। ২৬ মার্চ ২০২১ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২১-০৩-২৬।
- ↑ "Upgrade to OpenBLAS 0.3.13 · Pull Request #39216 · JuliaLang/julia"। GitHub (ইংরেজি ভাষায়)। ২৩ মার্চ ২০২২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২১-০৪-২৬।
Given that 1.7 is not too far away (timed releases going forward)
- ↑ "[Zlib_jll] Update to v1.2.12+3 by giordano · Pull Request #44810 · JuliaLang/julia"। GitHub (ইংরেজি ভাষায়)। ২৫ মে ২০২২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২২-০৫-২৫।
- ↑ "Backports for Julia 1.8.5 by KristofferC · Pull Request #48011 · JuliaLang/julia"। GitHub (ইংরেজি ভাষায়)। ৪ জানুয়ারি ২০২৩ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২৩-০১-০৮।
- ↑ "compiler: speed up bootstrapping time by 25% by aviatesk · Pull Request #41794 · JuliaLang/julia"। GitHub (ইংরেজি ভাষায়)। ৩ মার্চ ২০২২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২২-০৩-০৩।
the bootstrapping took about 80 seconds previously, but on this PR the time is reduced to about 60 seconds.
- ↑ "Julia v1.10 Release Notes · The Julia Language"। docs.julialang.org। ২৫ ডিসেম্বর ২০২৩। ৩০ মার্চ ২০২৪ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ৩০ মার্চ ২০২৪।
- ↑ "JuliaCon 2014"। juliacon.org। সংগ্রহের তারিখ ২০২১-০৬-২০।
- ↑ "JuliaCon 2016 at MIT"। mit.edu। ১৮ জুলাই ২০১৬। ২৪ জুন ২০২১ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২১-০৬-২০।
- ↑ "JuliaCon 2019 at UMB"। technical.ly। ২৩ জুলাই ২০১৯। ২৪ জুন ২০২১ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২১-০৬-২০।
- ↑ "JuliaCon 2020 wrap up"। julialang.org। ৩০ নভেম্বর ২০২০ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২১-০৬-২০।
- ↑ "JuliaCon 2021"। Juliacon.org। ২০ জুন ২০২১ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২১-০৬-২০।
- ↑ "JuliaCon 2021 Highlights"। julialang.org (ইংরেজি ভাষায়)। ৬ সেপ্টেম্বর ২০২১ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২২-০৩-০৩।
This year's JuliaCon was the biggest and best ever, with more than 300 presentations available for free on YouTube, more than 20,000 registrations, and more than 43,000 unique YouTube viewers during the conference, up from 162 presentations, 10,000 registrations, and 28,900 unique YouTube viewers during last year's conference.
- ↑ "Jan Vitek Homepage"। janvitek.org। ২২ জানুয়ারি ২০২৪ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২১-০৬-২০।
- ↑ "Soumith Chintala Homepage"। soumith.ch। ২৪ জুন ২০২১ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২১-০৬-২০।
- ↑ "Julia: NumFOCUS Sponsored Project since 2014"। numfocus.org। ২৮ সেপ্টেম্বর ২০২০ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২০-০৯-২৯।
- ↑ "The Julia Language"। julialang.org। ২৬ জুলাই ২০১৯ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৯-০৯-২২।
- ↑ Cimpanu, Catalin। "Mozilla is funding a way to support Julia in Firefox"। ZDNet (ইংরেজি ভাষায়)। ১০ জুলাই ২০১৯ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৯-০৯-২২।
- ↑ "Julia in Iodide"। alpha.iodide.io। ২২ সেপ্টেম্বর ২০১৯ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৯-০৯-২২।
- ↑ "Language plugins - Iodide Documentation"। iodide-project.github.io। ২২ সেপ্টেম্বর ২০১৯ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৯-০৯-২২।
- ↑ "Mozilla Research Grants 2019H1"। Mozilla (ইংরেজি ভাষায়)। ৯ অক্টোবর ২০১৯ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৯-০৯-২২।
running language interpreters in WebAssembly. To further increase access to leading data science tools, we're looking for someone to port R or Julia to WebAssembly and to attempt to provide a level 3 language plugin for Iodide: automatic conversion of data basic types between R/Julia and Javascript, and the ability to share class instances between R/Julia and Javascript.
- ↑ "Literate scientific computing and communication for the web: iodide-project/iodide"। iodide। ২০১৯-০৯-২০। ২৪ আগস্ট ২০১৮ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৯-০৯-২২।
We envision a future workflow that allows you to do your data munging in Python, fit a quick model in R or JAGS, solve some differential equations in Julia, and then display your results with a live interactive d3+JavaScript visualization ... and all that within a single, portable, sharable, and hackable file.
- ↑ "Sponsor the Julia Language"। github.com। ৫ জুলাই ২০২১ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২১-০৬-০৫।
- ↑ "The Julia Language" (official website)। ২১ ফেব্রুয়ারি ২০১৭ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ৯ ডিসেম্বর ২০১৬।
General Purpose [..] Julia lets you write UIs, statically compile your code, or even deploy it on a webserver.
- ↑ Green, Todd (১০ আগস্ট ২০১৮)। "Low-Level Systems Programming in High-Level Julia"। ৫ নভেম্বর ২০১৮ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ৫ নভেম্বর ২০১৮।
- ↑ Moss, Robert (২৬ জুন ২০১৫)। "Using Julia as a Specification Language for the Next-Generation Airborne Collision Avoidance System"। ১ জুলাই ২০১৫ তারিখে মূল (পিডিএফ) থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২৯ জুন ২০১৫।
Airborne collision avoidance system
- ↑ ক খ Biggs, Benjamin; McInerney, Ian; Kerrigan, Eric C.; Constantinides, George A. (২০২২)। "High-level Synthesis using the Julia Language"। arXiv:2201.11522 [cs.SE]।
We present a prototype Julia HLS tool, written in Julia, that transforms Julia code to VHDL.
- ↑ "Announcing Dash for Julia"। plotly (সংবাদ বিজ্ঞপ্তি) (ইংরেজি ভাষায়)। ২০২০-১০-২৬। ২ সেপ্টেম্বর ২০২১ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২১-০৯-০২।
- ↑ Anaya, Richard (২০১৯-০৪-২৮)। "How to create a multi-threaded HTTP server in Julia"। Medium (ইংরেজি ভাষায়)। ২৫ জুলাই ২০১৯ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৯-০৭-২৫।
In summary, even though Julia lacks a multi-threaded server solution currently out of box, we can easily take advantage of its process distribution features and a highly popular load balancing tech to get full CPU utilization for HTTP handling.
- ↑ Anthoff, David (২০১৯-০৬-০১)। "Node.js installation for julia"। GitHub। ৪ সেপ্টেম্বর ২০২৪ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৯-০৭-২৫।
- ↑ "Translate Julia to JavaScript"। JuliaGizmos। ২০১৯-০৭-০৭। ২৮ মার্চ ২০১৯ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৯-০৭-২৫।
- ↑ Fischer, Keno (২০১৯-০৭-২২)। "Running julia on wasm"। GitHub। ২১ নভেম্বর ২০২০ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৯-০৭-২৫।
- ↑ "AppBundler.jl"। PeaceFounder। ২০২৩-১২-১৩। ১৮ ডিসেম্বর ২০২৩ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২৩-১২-১৮।
- ↑ "[ANN] AppBundler.jl - Bundle Your Julia GUI Application"। Julia Programming Language (ইংরেজি ভাষায়)। ২০২৩-১১-৩০। ৪ সেপ্টেম্বর ২০২৪ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২৩-১২-১৮।
- ↑ ক খ "GitHub - JuliaLang/PackageCompiler.jl: Compile your Julia Package."। The Julia Language। ২০১৯-০২-১৪। ২৩ মার্চ ২০১৯ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৯-০২-১৫।
- ↑ Moss, Robert (২৬ জুন ২০১৫)। "Using Julia as a Specification Language for the Next-Generation Airborne Collision Avoidance System"। ১ জুলাই ২০১৫ তারিখে মূল (পিডিএফ) থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২৯ জুন ২০১৫।
Airborne collision avoidance system
- ↑ ক খ "Learn Julia in Y Minutes"। Learnxinyminutes.com। ১৫ আগস্ট ২০১৮ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৭-০৫-৩১।
- ↑ "PythonCall & JuliaCall"। JuliaPy। ২০২৩-১০-২৯। ৩১ অক্টোবর ২০২৩ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২৩-১০-৩০।
- ↑ "RCall.jl"। JuliaInterop। ২০২৩-১০-১৬। ৩০ এপ্রিল ২০১৯ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২৩-১০-৩০।
- ↑ "CxxWrap"। JuliaInterop। ২০২৩-১০-২৮। সংগ্রহের তারিখ ২০২৩-১০-৩০।
- ↑ "Julia and Spark, Better Together"। juliacomputing.com। ২০২০-০৬-০২। ১৪ জুলাই ২০২০ তারিখে মূল থেকে আর্কাইভ করা।
- ↑ Foster, Claire (২০২৩-১০-২৩)। "SQLREPL.jl"। ২৭ সেপ্টেম্বর ২০২২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২৩-১০-৩১।
- ↑ Noh, WooKyoung (২০২৩-১০-১৮)। "Octo.jl"। সংগ্রহের তারিখ ২০২৩-১০-৩১।
- ↑ "Usage Guide · FunSQL.jl"। mechanicalrabbit.github.io। ৩১ অক্টোবর ২০২৩ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২৩-১০-৩১।
- ↑ "Using Julia with Oracle Databases"। ২১ অক্টোবর ২০২২। ৮ নভেম্বর ২০২২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ৮ নভেম্বর ২০২২।
- ↑ Short, Tom (২০২৩-১০-৩০)। "StaticCompiler"। ৩১ অক্টোবর ২০২৩ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২৩-১০-৩০।
- ↑ "The Julia REPL · The Julia Language"। docs.julialang.org। ২২ সেপ্টেম্বর ২০১৯ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৯-০৯-২২।
- ↑ "Introducing Julia/The REPL - Wikibooks, open books for an open world"। en.wikibooks.org। ২৩ জুন ২০১৯ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৯-০৯-২২।
you can install the Julia package OhMyREPL.jl [..] which lets you customize the REPL's appearance and behaviour
- ↑ "Getting Started · The Julia Language"। docs.julialang.org (ইংরেজি ভাষায়)। ১০ আগস্ট ২০১৯ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৮-০৮-১৫।
- ↑ দেখুন: docs
.julialang .org /en /v1 /manual /strings / স্ট্রিং ইন্টারপোলেশন এবং string(greet, ", ", whom, ".\n")
উদাহরণটি স্ট্রিং একত্র করার জন্য। জুলিয়াতে println এবং print ফাংশন রয়েছে, পাশাপাশি একটি @printf ম্যাক্রো (অর্থাৎ, ফাংশনের রূপে নয়) রয়েছে যা রন-টাইম ওভারহেড বাদ দেয় ফরম্যাটিং-এর জন্য (C-তে একই ফাংশনের বিপরীতে)। - ↑ "Julia Documentation"। JuliaLang.org। ১৭ ডিসেম্বর ২০১৬ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ১৮ নভেম্বর ২০১৪।
- ↑ "Unicode 15.1 support by stevengj · Pull Request #253 · JuliaStrings/utf8proc"। GitHub (ইংরেজি ভাষায়)। ২২ জানুয়ারি ২০২৪ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২৪-০১-২২।
- ↑ "support Unicode 15 via utf8proc 2.8 by stevengj · Pull Request #47392 · JuliaLang/julia"। GitHub (ইংরেজি ভাষায়)। ৩ নভেম্বর ২০২২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২২-১১-০৩।
- ↑ "Project Jupyter"। ২৯ জুন ২০১৭ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ১৯ আগস্ট ২০১৫।
- ↑ Boudreau, Emmett (২০২০-১০-১৬)। "Could Pluto Be A Real Jupyter Replacement?"। Medium (ইংরেজি ভাষায়)। ১২ এপ্রিল ২০২৩ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২০-১২-০৮।
- ↑ Machlis, Sharon (২০২২-০৭-২৭)। "RStudio changes name to Posit, expands focus to include Python and VS Code"। InfoWorld (ইংরেজি ভাষায়)। সংগ্রহের তারিখ ২০২৩-০১-১৮।
- ↑ "Heads up! Quarto is here to stay. Immediately combine R & Python in your next document: An extension on a recent post."। ds-econ (ইংরেজি ভাষায়)। ২০২২-০৭-২০। ৩১ জানুয়ারি ২০২৩ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২৩-০১-১৮।
- ↑ Foster, Chris (২০২২-০৪-০৪)। "SQLREPL.jl"। GitHub। ২৭ সেপ্টেম্বর ২০২২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২২-০৯-২৭।
- ↑ "Getting Started · RCall.jl"। juliainterop.github.io। ৪ সেপ্টেম্বর ২০২৪ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২২-০৯-২৭।
- ↑ "Julia crashes on installation of the RCall module"। Julia Programming Language (ইংরেজি ভাষায়)। ২০২৪-১০-২১। সংগ্রহের তারিখ ২০২৪-১০-২২।
For me RCall loads without issue on Julia 1.11 on MacOS
- ↑ "juliacall fails in julia 1.11 with undefined symbol: jl_stdout_obj · Issue #234 · Non-Contradiction/JuliaCall"। GitHub (ইংরেজি ভাষায়)। সংগ্রহের তারিখ ২০২৪-১০-২২।
- ↑ "Home · LibPQ.jl"। invenia.github.io। ৮ নভেম্বর ২০২২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২২-১১-০৮।
- ↑ ক খ "Home · FunSQL.jl"। docs.juliahub.com। ৮ নভেম্বর ২০২২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২২-১১-০৮।
- ↑ Hood, Doug (২১ অক্টোবর ২০২২)। "Using Julia with Oracle Databases"। ৮ নভেম্বর ২০২২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ৮ নভেম্বর ২০২২।
- ↑ "Genie Builder - Visual Studio Marketplace"। marketplace.visualstudio.com (ইংরেজি ভাষায়)। ৮ নভেম্বর ২০২২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২২-১১-০৮।
- ↑ "How to Build Your First Web App in Julia with Genie.jl"। freeCodeCamp.org (ইংরেজি ভাষায়)। ২০২২-০২-০১। ৮ নভেম্বর ২০২২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২২-১১-০৮।
- ↑ "JuliaRegistries / General"। GitHub। ৩ আগস্ট ২০২০ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২০-০৪-৩০।
- ↑ "Pkg.jl - Artifacts"। ২ আগস্ট ২০২০ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২০-০৬-০৪।
- ↑ "Pkg.jl - Registries"। ১৩ জুন ২০২০ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২০-০৪-৩০।
- ↑ Bezanson, Jeff (৬ জুন ২০১৯)। "JeffBezanson/femtolisp"। GitHub। ২২ ডিসেম্বর ২০২২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ১৬ জুন ২০১৯।
- ↑ "JuliaSyntax"। The Julia Programming Language। ২০২২-০৮-২৮। ২৮ আগস্ট ২০২২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২২-০৮-২৮।
- ↑ "Enable JuliaSyntax.jl as an alternative Julia parser by c42f · Pull Request #46372 · JuliaLang/julia"। GitHub (ইংরেজি ভাষায়)। ২৮ আগস্ট ২০২২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২২-০৮-২৮।
- ↑ "Julia v1.7.3 has been released"। JuliaLang (ইংরেজি ভাষায়)। ২০২২-০৫-২৫। ২৬ মে ২০২২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২২-০৫-২৬।
- ↑ "Darwin/ARM64 tracking issue · Issue #36617 · JuliaLang/julia"। GitHub (ইংরেজি ভাষায়)। ১১ নভেম্বর ২০২০ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২০-১২-০৮।
- ↑ "Julia Downloads"। julialang.org। ২৬ জানুয়ারি ২০২১ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৯-০৫-১৭।
- ↑ "julia/arm.md"। The Julia Language। ২০২১-১০-০৭। ১৫ মে ২০২২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২২-০৫-১৫।
A list of known issues for ARM is available.
- ↑ "JuliaGPU"। juliagpu.org। ২৩ মে ২০২০ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২২-১১-১৬।
Almost 300 packages rely directly or indirectly on Julia's GPU capabilities.
- ↑ "Julia on TPUs"। JuliaTPU। ২০১৯-১১-২৬। ৩০ এপ্রিল ২০১৯ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৯-১১-২৯।
- ↑ "Introducing: oneAPI.jl ⋅ JuliaGPU"। juliagpu.org। সংগ্রহের তারিখ ২০২১-০৯-০৬।
- ↑ "AMD ROCm · JuliaGPU"। juliagpu.org। ১৩ জুন ২০২০ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২০-০৪-২০।
- ↑ "Build Julia for RaspberryPi Zero"। Gist (ইংরেজি ভাষায়)। ১ ডিসেম্বর ২০২০ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২০-০৮-১৪।
- ↑ "JuliaBerry: Julia on the Raspberry Pi"। juliaberry.github.io। ৮ জুলাই ২০২০ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২০-০৮-১৪।
- ↑ Giordano, Mosè (২০২২-০৯-২৯)। "Julia on Fugaku (2022-07-23)"। GitHub। ৮ নভেম্বর ২০২২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২২-১১-০৮।
- ↑ "Julia available in Raspbian on the Raspberry Pi"। ৪ মে ২০১৭ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ৬ জুন ২০১৭।
জুলিয়া সব ধরনের Pi-তে কাজ করে, তবে Pi 3 ব্যবহারের সুপারিশ করা হয়।
- ↑ "Julia language for Raspberry Pi"। Raspberry Pi Foundation। ১২ মে ২০১৭। ২ জুন ২০১৭ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ৬ জুন ২০১৭।
- ↑ "Release v1.12-0a92fecc12 · maleadt/julia"। GitHub (ইংরেজি ভাষায়)। সংগ্রহের তারিখ ২০২৪-১০-১২।
- ↑ "julia/doc/src/devdocs/build/riscv.md at master · alexfanqi/julia"। GitHub (ইংরেজি ভাষায়)। সংগ্রহের তারিখ ২০২৪-১০-০৯।
- ↑ "Running Julia baremetal on an Arduino"। seelengrab.github.io। ২৪ মে ২০২২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২২-০৫-২৪।
- ↑ Sukera (২০২৩-০৭-৩১)। "AVRDevices.jl"। ৫ আগস্ট ২০২৩ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২৩-০৮-০৫।
- ↑ Chen, Jiahao। "Jiahao Chen"। Jiahao Chen (ইংরেজি ভাষায়)। ২৩ ফেব্রুয়ারি ২০২৩ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২৩-০২-২৩।
- ↑ "'Why We Created Julia' Turns Ten Years Old"। juliahub.com। ১৬ নভেম্বর ২০২২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২২-১১-১৬।
- ↑ "Newsletter January 2022 - Julia Growth Statistics - Julia Computing"। juliacomputing.com (ইংরেজি ভাষায়)। ২৬ জানুয়ারি ২০২২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২২-০১-২৬।
- ↑ "Introducing Braket.jl - Quantum Computing with Julia"। Julia Community 🟣 (ইংরেজি ভাষায়)। ১৫ নভেম্বর ২০২২। ১৯ জুন ২০২৪ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২৩-০২-২৩।
Python SDK-এর প্রায় সব বৈশিষ্ট্য Julia-তে পুনঃপ্রয়োগ করা হয়েছে — যেগুলো নয় সেগুলোর জন্য আমরা একটি সহায়ক প্যাকেজ, PyBraket.jl, প্রদান করছি যা Julia অবজেক্টগুলিকে তাদের Python সমতুল্যে অনুবাদ করতে এবং Python SDK কল করতে সক্ষম করে।
- ↑ "Getting started with Julia on Amazon SageMaker: Step-by-step Guide" (পিডিএফ)। মে ২০২০। ৯ মার্চ ২০২৪ তারিখে মূল (পিডিএফ) থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২৩ ফেব্রুয়ারি ২০২৩।
- ↑ "Towards Using Julia for Real-Time applications in ASML JuliaCon 2022"। pretalx.com (ইংরেজি ভাষায়)। ২৩ ফেব্রুয়ারি ২০২৩ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২৩-০২-২৩।
- ↑ "Home - CliMA"। CliMA – Climate Modeling Alliance। ১৮ জুন ২০২৩ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ১৮ জুন ২০২৩।
- ↑ "Julia Computing Brings Support for NVIDIA GPU Computing on Arm Powered Servers - JuliaHub"। juliahub.com (সংবাদ বিজ্ঞপ্তি)। ১৬ নভেম্বর ২০২২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২২-১১-১৬।
- ↑ "Julia for HEP Mini-workshop"। indico.cern.ch। ২৭ সেপ্টেম্বর ২০২১। ১১ আগস্ট ২০২২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২২-০৮-২৩।
Julia and the first observation of Ω-_b → Ξ+_c K- π-
- ↑ Mikhasenko, Misha (২০২২-০৭-২৯)। "ThreeBodyDecay"। GitHub। ২৩ আগস্ট ২০২২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২২-০৮-২৩।
- ↑ "Modeling Spacecraft Separation Dynamics in Julia - Jonathan Diegelman" (ইংরেজি ভাষায়)। ৯ মার্চ ২০২১। ৬ সেপ্টেম্বর ২০২১ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২১-০৯-০৬।
- ↑ "Julia in the Wild - Julia Data Science"। juliadatascience.io। ১২ সেপ্টেম্বর ২০২২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২২-০৯-১২।
- ↑ "JuliaSpace/SatelliteToolbox.jl"। JuliaSpace। ২০২০-০৫-২০। ১৬ জুন ২০২১ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২০-০৫-২৬।
- ↑ Hobbs, Kerianne (ডিসেম্বর ২০২২)। "Year of Autonomy in Alaskan Glaciers, Flight, Earth Orbit, Cislunar Space and Mars"। Aerospace America Year in Review। পৃষ্ঠা 48। ১৯ জুন ২০২৪ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২৬ জানুয়ারি ২০২৩।
ফ্লাইট পরীক্ষার দলটি একটি স্বয়ংক্রিয় উল্লম্ব টেকঅফ এবং ল্যান্ডিং যানবাহন প্রদর্শন করতে সক্ষম হয়েছে যা বোর্ডে উভয় বৈদ্যুতিক এবং প্রচলিত জ্বালানী প্রপালশন সিস্টেম সহ। Julia প্রোগ্রামিং ভাষাটি এমবেডেড হার্ডওয়্যারে প্রথমবারের মতো উড়ানো হয়েছে - অ্যালগরিদমগুলি আগাম কম্পাইল করা হয়েছিল।
- ↑ "Case Study - JuliaHub"। juliahub.com। ১০ ফেব্রুয়ারি ২০২৩ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২৩-০২-১০।
- ↑ "Pumas-AI"। Pumas-AI (ইংরেজি ভাষায়)। ১০ ফেব্রুয়ারি ২০২৩ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২৩-০২-১০।
- ↑ "Release v1.3.0 · FRBNY-DSGE/DSGE.jl"। GitHub (ইংরেজি ভাষায়)। ৩ জানুয়ারি ২০২২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২২-০১-০৩।
Model1002-এর নতুন সাবস্পেস যা COVID-19 শকের অনুমান করতে ব্যবহৃত হয়েছে
- ↑ "Finance and Economics Use Cases"। Julia Programming Language (ইংরেজি ভাষায়)। ২০২৩-০৫-০২। সংগ্রহের তারিখ ২০২৩-০৫-০৪।
- ↑ ক খ D'Cunha, Suparna Dutt (২০১৭-০৯-২০)। "How A New Programming Language Created By Four Scientists Now Used By The World's Biggest Companies"। Forbes (ইংরেজি ভাষায়)। ২০২২-১০-০১ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২২-১০-০১।
- ↑ "Julia for Election Security" (ইংরেজি ভাষায়)। Julia Forem। ২৩ সেপ্টেম্বর ২০২২। ৪ সেপ্টেম্বর ২০২৪ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২২-০৯-২৭।
- ↑ "Nobel Laureate Thomas J. Sargent - JuliaHub"। juliahub.com। ১০ ফেব্রুয়ারি ২০২৩ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২৩-০২-১০।
- ২০১২-এর সফটওয়্যার
- অ্যারে প্রোগ্রামিং ভাষা
- কম্পিউটেশনাল নোটবুক
- ক্রস-প্ল্যাটফর্ম সফটওয়্যার
- ডেটা মাইনিং ও মেশিন লার্নিং সফটওয়্যার
- তথ্য-কেন্দ্রিক প্রোগ্রামিং ভাষা
- বিনামূল্যে সংকলনকারী ও দোভাষী
- চলমান-টাইপকৃত প্রোগ্রামিং ভাষা
- মুক্ত কম্পিউটার গ্রন্থাগার
- মুক্ত তথ্য বিশ্লেষক সফটওয়্যার
- মুক্ত তথ্য ভিজ্যুয়ালাইজেশন সফটওয়্যার
- সি-তে প্রোগ্রাম করা মুক্ত সফটওয়্যার
- জুলিয়াতে প্রোগ্রাম করা মুক্ত সফটওয়্যার
- মুক্ত সফটওয়্যার প্রকল্পসমূহ
- মুক্ত পরিসংখ্যানিক সফটওয়্যার
- ফাংশনভিত্তিক প্রোগ্রামিং ভাষা
- উচ্চস্তরের প্রোগ্রামিং ভাষা
- হোমোআইকনিক প্রোগ্রামিং ভাষা
- লিস্প প্রোগ্রামিং ভাষা পরিবার
- মাল্টি প্যারাডাইম প্রোগ্রামিং ভাষা
- লিনাক্সের জন্য সংখ্যাসূচক বিশ্লেষক সফটওয়্যার
- ম্যাকওএসের জন্য সংখ্যাসূচক বিশ্লেষক সফটওয়্যার
- উইন্ডোজের জন্য সংখ্যাসূচক বিশ্লেষক সফটওয়্যার
- সংখ্যাসূচক গ্রন্থাগার
- সংখ্যাসূচক রৈখিক বীজগণিত
- সংখ্যাসূচক প্রোগ্রামিং ভাষা
- বস্তু-সংশ্লিষ্ট প্রোগ্রামিং ভাষা
- প্যারালাল কম্পিউটিং
- পদ্ধতিমূলক প্রোগ্রামিং ভাষা
- প্রোগ্রামিং ভাষা
- ২০১২-এ তৈরি প্রোগ্রামিং ভাষা
- এমআইটি লাইসেন্স ব্যবহার করা সফটওয়্যার
- পরিসংখ্যানগত প্রোগ্রামিং ভাষা
- পাঠ্য-ভিত্তিক প্রোগ্রামিং ভাষা
- পরিমাপের একক সমর্থন করা প্রোগ্রামিং ভাষা
- এমআইটি লাইসেন্স ব্যবহারকৃত সফটওয়্যার