এই নিবন্ধটিতে এত বেশী কারিগরি পরিভাষা ব্যবহার করা হয়েছে যে হয়ত অধিকাংশ পাঠকের জন্য এটি বোঝা দুরূহ হতে পারে।(সেপ্টেম্বর ২০২১) |
এই নিবন্ধটি ইংরেজি থেকে আনাড়িভাবে অনুবাদ করা হয়েছে। এটি কোনও কম্পিউটার কর্তৃক অথবা দ্বিভাষিক দক্ষতাহীন কোনো অনুবাদক কর্তৃক অনূদিত হয়ে থাকতে পারে। |
নকশাকার | Julien Verlaguet, Alok Menghrajani, Drew Paroski, and others[১] |
---|---|
বিকাশকারী | ফেসবুক |
প্রথম প্রদর্শিত | ২০১৪ |
টাইপিং পদ্ধতি | Static, dynamic, weak, gradual |
ওএস | Cross-platform |
লাইসেন্স | MIT License[২] |
ওয়েবসাইট | hacklang |
যার দ্বারা প্রভাবিত | |
পিএইচপি, OCaml, জাভা, C#, Scala, Haskell |
হ্যাক হিপহপ ভার্চুয়াল মেশিন (এইচএইচভিএম) এর জন্য একটি প্রোগ্রামিং ল্যাঙ্গুয়েজ। কাজের সুবিধার্থে পিএইচপি-র উপভাষা হিসাবে ফেসবুক একে তৈরি করেছে। ভাষা বাস্তবায়ন ওপেন-সোর্স, এমআইটি লাইসেন্সের আওতায় লাইসেন্সযুক্ত।[৩][৪]
হ্যাক প্রোগ্রামারকে গতিশীল টাইপিং এবং স্ট্যাটিক টাইপিং উভয়ই ব্যবহার করতে দেয়। এই ধরনের একটি সিস্টেমকে গ্রাজুয়াল টাইপিং বলা হয়, যা অন্যান্য প্রোগ্রামিং ভাষায় যেমন অ্যাকশনস্ক্রিপ্টেও প্রয়োগ করা হয়।[৫] হ্যাকের টাইপ সিস্টেমটি ফাংশন আর্গুমেন্ট, ফাংশন রিটার্ন মান এবং শ্রেণীর বৈশিষ্ট্যগুলির জন্য নির্দিষ্ট প্রকার করার অনুমতি দেয়। তবে স্থানীয় ভেরিয়েবলের প্রকারগুলি সর্বদা অনুমিত হয় এবং নির্দিষ্ট করা যায় না।[৩]
হ্যাক ২০ মার্চ, ২০১৪ সালে চালু হয়েছিল।[৬] নতুন প্রোগ্রামিং ভাষা ঘোষণার আগে ফেসবুক ইতোমধ্যে কোডটি প্রয়োগ করে এবং "ওয়েবসাইটের পরীক্ষিত" করা হয় যার জন্য এটি ফেসবুক ওয়েবসাইটের একটি বড় অংশে প্রয়োগ করেছে।
হ্যাক পিএইচপি-র সাথে নির্বিঘ্নে আন্তঃসংযোগ স্থাপনের জন্য ডিজাইন করা হয়েছে। এটি একটি বহুল ব্যবহৃত ওপেন সোর্স স্ক্রিপ্টিং ভাষা যা ওয়েব বিকাশে আলোকপাত করে এবং এইচটিএমএলে এমবেড করতে পারে। বেশিরভাগ বৈধ পিএইচপি স্ক্রিপ্ট হ্যাকের ক্ষেত্রেও বৈধ। তবে, হ্যাকের জন্য অনেক কম ঘন ঘন ব্যবহৃত পিএইচপি বৈশিষ্ট্য এবং ভাষা নির্মাণ সমর্থন করে না।[৭]
হ্যাক পিএইচপি ৫ উপলব্ধ ইঙ্গিত প্রকারটি স্ট্যাটিক টাইপিংয়ের প্রবর্তনের মাধ্যমে প্রসারিত করে নতুন ধরনের ইঙ্গিতগুলি যুক্ত করে (উদাহরণস্বরূপ, স্কেলার জাতীয় ধরনের যেমন পূর্ণসংখ্যা বা স্ট্রিংয়ের জন্য) পাশাপাশি প্রকারের হিন্টগুলির ব্যবহার প্রসারিত করে (উদাহরণস্বরূপ, শ্রেণীর বৈশিষ্ট্য বা ফাংশন রিটার্ন মানগুলির জন্য)। তবে স্থানীয় ভেরিয়েবলের ধরন নির্দিষ্ট করা যায় না।[৮] যেহেতু হ্যাক ধীরে ধীরে টাইপিং সিস্টেম ব্যবহার করে, ডিফল্ট মোডে, টাইপ টীকাগুলি এমন স্থানে বাধ্যতামূলক হয় না যেখানে এমনকি সেগুলি অনুমান করা যায় না। টাইপ সিস্টেমটি ধরে নেবে লেখক সঠিক এবং কোডটি মেনে নিচ্ছেন।[৯]
মৌলিক ফাইল গঠন একটি হ্যাক স্ক্রিপ্ট অনুরূপ একটি পিএইচপি স্ক্রিপ্ট কয়েক পরিবর্তন সঙ্গে একটি হ্যাক ফাইল অন্তর্ভুক্ত নয় <?পিএইচপি
খোলার মার্কআপ ট্যাগ এবং ব্যবহার নিষিদ্ধ টপ লেভেল ঘোষণা।[১০] কোড মধ্যে স্থাপন করা আবশ্যক একটি entrypoint ফাংশন. এই আপনি স্বয়ংক্রিয়ভাবে মৃত্যুদন্ড কার্যকর করা হয়, তাহলে তারা এর মধ্যে শীর্ষ-পর্যায়ের ফাইল, কিন্তু না, তাহলে ফাইল অন্তর্ভুক্ত করা হয় এর মাধ্যমে অন্তর্ভুক্ত
, প্রয়োজন
, বা autoloader. বিশ্বের অন্যান্য কার্যাবলী মধ্যে হ্যাক, ফাংশন নাম অনন্য হওয়া আবশ্যক মধ্যে একটি প্রকল্প– অর্থাৎ প্রকল্পের সঙ্গে একাধিক entrypoints কল করতে পারবেন না উভয় প্রধান :
<<__EntryPoint>>
function main(): void {
echo 'Hello, World!';
}
উপরের স্ক্রিপ্ট পিএইচপির অনুরূপ। যা কার্যকর করা হবে এবং নিম্নলিখিত আউটপুটটি ব্রাউজারে প্রেরণ করা হবে:
Hello, World!
পিএইচপি ৭ এর মতো হ্যাক ফাংশন আর্গুমেন্ট এবং ফাংশন রিটার্ন ধরনের মানগুলির জন্য নির্দিষ্টকরণের অনুমতি দেয়। হ্যাকের ক্রিয়াকলাপগুলি নীচের মতো করে টীকায়িত হয়:
// Hack functions are annotated with types.
function negate(bool $x): bool {
return !$x;
}