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

من ويكيبيديا، الموسوعة الحرة
اذهب إلى التنقل اذهب إلى البحث
غو
Go Logo Blue.svg
معلومات عامة
التصنيف
 Incomplete list.svg القائمة ...
لغة برمجة — structured programming language (en) ترجم — لغة برمجة إجرائية — لغة متعددة أنماط البرمجة — لغة برمجة متزامنة — لغة برمجة أمرية — لغة مجمّعة — لغة برمجة كائنية التوجه عدل القيمة على Wikidata
التنميط
ظهرت في
صممها
روب بايككين تومسن — Robert Griesemer (en) ترجم عدل القيمة على Wikidata
نظام التشغيل
 Incomplete list.svg القائمة ...
دارغون فلاي بي إس دي — فري بي ‌إس ‌ديلينكسماك أوسنت بي إس ديأوبن بي إس دي — نظام التشغيل بلان 9 من مختبرات بل — سولاريسمايكروسوفت ويندوزآي أو إسأندرويدآي بي إم إيه آي إكس — اي لوم او اس عدل القيمة على Wikidata
الرخصة
التطوير
المطور
 Incomplete list.svg القائمة ...
جوجلروب بايككين تومسن — The Go Authors (en) ترجم — Robert Griesemer (en) ترجم عدل القيمة على Wikidata
الإصدار الأول
الإصدار الأخير
التأثير
متأثرة بـ
 Incomplete list.svg القائمة ...
سي[3] — Oberon-2 (en) ترجمليمبو — Active Oberon (en) ترجم — communicating sequential processes (en) ترجمباسكال[3] — Oberon (en) ترجم[3]سمول توك[4]صرير جديد[5] — Modula-2 (en) ترجم[5]ايلفآي بي إل[6]لغة البرمجة الأساسية المختلطةمودولاأوكام عدل القيمة على Wikidata
متفرقات
امتدادات الملفات
go عدل القيمة على Wikidata
موقع الويب
(الإنجليزية) go.devالاطلاع ومراجعة البيانات على ويكي داتا

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

تعريف[عدل]

لغة غو (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. أ ب "Go 1.17". الوسيط |CitationClass= تم تجاهله (مساعدة)
  3. أ ب ت وصلة مرجع: https://golang.org/doc/faq#ancestors.
  4. ^ وصلة مرجع: https://talks.golang.org/2015/gophercon-goevolution.slide#19. ذكر كـ: "Object orientation in Go: Interfaces Inspiration: Smalltalk". تاريخ النشر: 2015.
  5. أ ب وصلة مرجع: http://golang.org/doc/go_faq.html#ancestors.
  6. ^ وصلة مرجع: https://talks.golang.org/2014/hellogophers.slide#21.
  7. ^ لغة غو بالعربي نسخة محفوظة 26 يناير 2020 على موقع واي باك مشين.
HelloWorld.svg
هذه بذرة مقالة عن لغة برمجة بحاجة للتوسيع. شارك في تحريرها.