غو (لغة برمجة)

غو (بالإنجليزية: GO)‏ هي لغة برمجة مفتوحة المصدر من تطوير شركة جوجل. التصميم الأول للغة كان عام 2007 على يد روبرت غريسيمر و روب بايك و كِن ثومبسون. تم الإعلان رسمياً عن اللغة في نوفمبر 2009، مع تطبيقات صدرت لنظام التشغيل لينُكس و ماك. وقت صدورها، لم تعتبر جاهزة ليتم تبنيها في بيئات الإنتاج. في مايو 2010 صرح روب بايك علناً بأنه يتم استخدام اللغة لبعض الأمور المهمة في أنظمة جوجل.

غو
معلومات عامة
التصنيف
التنميط
ظهرت في
صممها
نظام التشغيل
الرخصة
التطوير
المطور
  القائمة ...
الإصدار الأول
الإصدار الأخير
التأثير
متأثرة بـ
متفرقات
امتدادات الملفات
go
موقع الويب
go.dev[6] (الإنجليزية)

تعريف

لغة غو (Go Lang) هي لغة ثابتة الأنواع Statically-typed, ذات مجمّع نفايات تلقائي Garbage-collected, يجري تجميعها Compiled إلى لغة الآلة Native, وتركّز على المعالجة المتوازية Concurrency بشكل قوي ومدعوم ولذلك نلحظ تميزها في مجال الخوادم Servers.[7]

الشعبية

دخلت لغة غو فهرس تيوبي للغات البرمجة الأكثر شعبية وحصلت على المركز الخامس عشر، لغات أخرى مثل باسكال حصلت على المركز 25 في الأول من نوفمبر.

أمثلة

برنامج أهلا بالعالم باستخدام جو

package main

import "fmt"

func main() {
	fmt.Println("Hello, World")
}

مثال آخر للبرمجة المتزامنة:

package main

import (
	"fmt"
	"time"
)

func taskOne() {
	for i := 0; i < 10; i++ {
		time.Sleep(time.Second * 1)
		fmt.Println("task one in step : ", i)
	}
	fmt.Println("Task One is done")
}

func taskTwo() {
	for i := 0; i < 10; i++ {
		fmt.Println("task two in step: ", i)
		time.Sleep(time.Second * 1)
	}
	fmt.Println("Task tow is Done")
}

func main() {
	go taskOne()
	go taskTwo()
	time.Sleep(time.Second * 10)
}

يحتوي هذا البرنامج على مهمتين. كل مهمة تتطلب 10 ثواني للإنهاء. ما مجموعه 20 ثانية. لكن المهمتين يتم تنفيذهما بالتزامن. لذلك لا يتطلب البرنامج أكثر من 10 ثواني لإتمام المهمتين.

مراجع

  1. وصلة مرجع: https://golang.org/doc/codewalk/functions/. الوصول: 31 يوليو 2019.
  2. وصلة مرجع: https://golang.org/doc/faq#ancestors.
  3. وصلة مرجع: https://talks.golang.org/2015/gophercon-goevolution.slide#19. ذكر كـ: "Object orientation in Go: Interfaces Inspiration: Smalltalk". تاريخ النشر: 2015.
  4. وصلة مرجع: http://golang.org/doc/go_faq.html#ancestors.
  5. وصلة مرجع: https://talks.golang.org/2014/hellogophers.slide#21.
  6. وصلة مرجع: https://go.dev/blog/tidy-web.
  7. لغة غو بالعربي نسخة محفوظة 26 يناير 2020 على موقع واي باك مشين.
  • بوابة برمجة الحاسوب
  • بوابة برمجيات حرة
  • بوابة تقنية المعلومات
  • بوابة جوجل
  • بوابة علم الحاسوب
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.