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

**গো** একটি প্রোগ্রামিং ভাষা  যেটি ২০০৭ সালে গুগলে ডেভেলপ করা হয়। এটি স্ট্যাটিক টাইপড ল্যাঙ্গুয়েজ যার সিনট্যাক্স  সি প্রোগ্রামিং এর মত । এটিতে গ্যারবেজ কালেকশন, টাইপ সেফটি, ডাইন্যামিক টাইপিং ক্যাপাবিলিটি, সিএসপি ধরনের কনকারেন্সি, বড় লাইব্রেরী রয়েছে । গুগলের তিনজন কর্মকর্তা রবার্ট গ্রিসেমার, রব পাইক এবং কেন থম্পসন একত্রে এই ভাষাটি নির্মাণ করেন। এর সোর্স কোড ২০০৯ সালে উন্মুক্ত করে দেওয়া হয় । জাভা এবং সি এর মত প্রতিষ্ঠিত ল্যাংগুয়েজ এর তুলনায় এর সোর্স কোড সহজবোধগম্য এবং দ্রুত কার্যকারী ॥ এটিকে এমনভাবে বানানো হয় যাতে এই প্রোগ্রামিং ল্যাঙ্গুয়েজটি Linux, OS X, Windows, এছাড়াও BSD এবং Unix এর কিছু ভার্শন এ চলতে পারে ।  এমনকি ২০১৫ সাল থেকে এটি স্মার্টফোন এও ব্যবহারযোগ্য হয় । বিবিসি , সাউন্ড ক্লাউড , ফেসবুক এর মত বড় বড় ওয়েবসাইটে গুগল গো এর ব্যবহার দেখা যায় ।

## ইতিহাস
ভাষাটি নভেম্বর,2009 সালে ঘোষণা করা হয় । এটি সাধারনত গুগলের বিভিন্ন পন্যে ব্যবহার করা হয় । তাছাড়াও অন্য কোম্পানি দ্বারা এটি ব্যবহার করা হয় ।

## ভাষার ডিজাইন
গো (প্রোগ্রামিং ভাষা)' একটি ওপেন সোর্স সফটওয়্যার এবং এটি তৈরির সময় সকল প্লাটফরম যেমন লিনাক্স,ম্যাক ওএস,মাইক্রোসফট উইন্ডোজ এর কথা মাথায় রাখা হয় ।

গো তে হ্যালো ওয়ার্লড এর প্রোগ্রামের ধরন নিচের মতন ।

`package main
import "fmt"
func main() {
fmt.Printf("Hello, world")
}`

## প্রোগ্রাম রান করানো
গো এর অফিশিয়াল সাইট থেকে ঘুরে আসতে পারেন। উইন্ডোজ লিনাক্স ম্যাক এর জন্য ১.৭ রিলিজ রয়েছে  , ওয়েব ও কোড রান করাতে পারবেন  ।  চাইলে আমাদের লোকাল মেশিনেও এই ট্যুর রান করতে পারি । সেক্ষেত্রে আমাদের ইন্টারনেটে কানেক্টেড না থাকলেও চলবে । লোকাল মেশিনে রান করায়, আমাদের কোডও দ্রুত কম্পাইল হবে এবং আমরা দ্রুত রেসপন্স পাবো । অফলাইনে এই ট্যুর রান করার দুটো উপায় আছে - 
* আপনি যদি গো এর অফিশিয়াল কোন বাইনারী ইনস্টল করে থাকেন, তাহলে এই কমান্ডটি রান করলেই হবে - $ go tool tour 
* তবে আপনি যদি কোন প্যাকেজ ম্যানেজার বা অন্য কোন সোর্স থেকে ইনস্টল করে থাকেন তবে বাই ডিফল্ট ট্যুর ইন্সটল করা নাও থাকতে পারে । এক্ষেত্রে আমরা ভার্সন কন্ট্রোল থেকে খুব সহজেই ইন্সটল করে নিতে পারি - $ go get golang.org/x/tour/gotour এরপর এই ট্যুর রান করার জন্য এই কমান্ডটি রান করলেই চলবে - $ gotour (আলাদা ভাবে ইন্সটল করলে $ go tool tour কমান্ড কাজ করবে না আর অবশ্যই আপনার গো পাথ এর bin ডিরেক্টরী সিস্টেম পাথে ইনক্লুডেড থাকতে হবে)

## ভেরিয়েবল

গো তে ভ্যারিয়েবল গুলো এক্সপ্লিসিটলি ডিফাইন করে দিতে হয় । `var` কিওয়ার্ডটি ব্যবহার করে আমরা এক বা একাধিক ভ্যারিয়েবল ডিফাইন করতে পারি । এই কিওয়ার্ডটির পর ভ্যারিয়েবল এর নাম এবং তারপর টাইপ নির্দেশ করতে হয় ।

## ধরন

## নতুন একটি প্রোগ্রামিং ভাষা কেন?

গুগল মনে করে বর্তমানে প্রচলিত প্রোগ্রামিং ভাষাগুলো তাদের উপযোগিতার সীমা প্রায় পূর্ণ করে এনেছে। সোজা কথা হল, এদের আর নতুন কিছু দেয়ার নেই। বর্তমানে সবচেয়ে জনপ্রিয় ও বিখ্যাত যে ভাষাগুলো প্রচলিত আছে (যেমন সি, সি++, জাভা, সি#) সেগুলো প্রায় একই ধরনের সিনট্যাক্স কাঠামোকে ভিত্তি করে প্রতিষ্ঠিত। এসব প্রোগ্রামিং ভাষাকে হালনাগাদ করা বা এগুলোতে নতুন বৈশিষ্ট্য যোগ করার মানে হল, এদের লাইব্রেরিকেই শক্তিশালী ও বিস্তৃত করা, মূল ল্যাংগুয়েজের কাঠামোতে কিন্তু কোনো মৌলিক পরিবর্তন আনা হচ্ছে না। এ কারণে এ জায়গাটাতে গুরুত্ব দিতে চায় গুগল। কেবল নতুন একটি লাইব্রেরি অ্যাড করাই নয়, তার চাইতেও বেশি কিছু দিতে চায় গুগল। সি থেকে আজ পর্যন্ত কম্পিউটিং-এর ভুবনটি কিন্তু নানাভাবে পরিবর্তিত হয়েছে। গুগল-এর পক্ষ থেকেও তাই বলা হচ্ছে: ‘বর্তমানে কম্পিউটারের শক্তি প্রচন্ডভাবে বেড়ে গেছে, কিন্তু তার সঙ্গে তাল মিলিয়ে সফটঅয়্যার ডেভেলপমেন্ট ততটা শক্তি সঞ্চয় করতে পারছে না।’ প্যারালাল প্রসেসিং বা গারবেজ কালেকশন-এর মত কনসেপ্টকে সমর্থন বা ধারণ করতে গেলে প্রোগ্রামিং ভাষাগুলোর নিজেদের পাল্টে ফেলতে হবে অনেকটাই। এ কারণেই গুগল ‘গো’ প্রোগ্রামিং ভাষাকে ডিজাইন করেছে একেবারে শুরু থেকে, দ্রতগতির কম্পাইলেশনের সুবিধাসহ একটি সমসাময়িক, গারবেজ-কালেক্টেড ভাষা হিসেবে।

## ব্যাবহারিক প্রয়োগ
Go এর শক্তিশালী স্ট্যান্ডার্ড লাইব্রেরি এবং ব্যবহারের সহজতার কারণে বিভিন্ন ডোমেনে ব্যাপক গ্রহণযোগ্যতা পেয়েছে।

জনপ্রিয় অ্যাপ্লিকেশনগুলির মধ্যে রয়েছে: **ক্যাডি** , একটি ওয়েব সার্ভার যা HTTPS সেট আপ করার প্রক্রিয়াটিকে স্বয়ংক্রিয় করে,  **ডকার** , যা সফ্টওয়্যার বিকাশ এবং স্থাপনার জটিলতাগুলিকে সহজ করার লক্ষ্যে কনটেইনারাইজেশনের জন্য একটি প্ল্যাটফর্ম প্রদান করে,  **কুবারনেটস** , যা স্থাপনা স্বয়ংক্রিয় করে , স্কেলিং, এবং কন্টেইনারাইজড অ্যাপ্লিকেশনের ব্যবস্থাপনা,  **ককরোচডিবি** , স্কেলেবিলিটি এবং শক্তিশালী সামঞ্জস্যের জন্য প্রকৌশলী একটি বিতরণ করা SQL ডাটাবেস,  এবং **হুগো** , একটি স্ট্যাটিক সাইট জেনারেটর যা গতি এবং নমনীয়তাকে অগ্রাধিকার দেয়, যা বিকাশকারীদের দক্ষতার সাথে ওয়েবসাইট তৈরি করতে দেয়।

## তথ্যসূত্র

বিষয়শ্রেণী:প্রোগ্রামিং ভাষা
বিষয়শ্রেণী:পদ্ধতিমূলক প্রোগ্রামিং ভাষা
বিষয়শ্রেণী:কনকারেন্ট প্রোগ্রামিং ভাষা
বিষয়শ্রেণী:মার্কিন উদ্ভাবন
বিষয়শ্রেণী:ক্রস-প্ল্যাটফর্ম সফটওয়্যার
বিষয়শ্রেণী:গুগল সফটওয়্যার
বিষয়শ্রেণী:২০০৯-এর সফটওয়্যার
বিষয়শ্রেণী:ক্রস-প্ল্যাটফর্ম মুক্ত সফটওয়্যার
বিষয়শ্রেণী:উচ্চস্তরের প্রোগ্রামিং ভাষা