Pardus Altında Go Programlama Dili İle Geliştirme


(◊◊◊◊) #1

golang

Go programlama dili Google firması tarafından Google mühendisleri Ken Thompson, Rob Pike ve Robert Griesiemer tarafından geliştirilmiş açık kaynak bir programlama dilidir. Unix işletim sistemi, C programlama dili , Plan 9 ve UTF-8 gibi bilişim dünyasında çığır açan projeler bu mühendisler tarafından oluşturulmuştur. Go programlama dili tıpkı Java dilinde olduğu gibi platform bağımsız olarak çalışmaktadır. Bu da yazdığımız kodun her yerde çalışacağı anlamına gelmektedir. Go programlama dili işletim sistemi olarak Linux, macOS, FreeBSD, NetBSD, OpenBSD,Windows, Plan 9 işletim sistemlerini destekliyor.

Go programlama dili söz dizimi olarak C programlama diline benzesede C den daha basit bit yapıdadır. Son dönemlerde özellikle gösterdiği performans ve geliştirme süresini kısaltmasından dolayı bir çok yapı tarafından sıklıkla kullanılmaktadır. Linux dünyasına baktığımızda ise Ubuntu dağıtımının go programlama dilini hazır olarak sunması, Deepin Linux dağıtımının projelerinde go programlama diline yer vermesi bu dilin Python’u yerinden edeceği gözüyle bakmamıza olanak sağlıyor. Kapladığı küçük alan ve tamamiyle esnek bir yapıda geliştirme ortamı sunmasından dolayı yeni nesil programlama dilleri arasında kendine yer bulmuştur.

Söz Dizimi

package main

import "fmt"

func main() {
    fmt.Println("Merhaba Dünya")
}

Bu kod örneğinde görüleceği gibi biraz C, biraz Python, biraz Pascal 'a benzesede geliştiriciler Pascal, Modula, Oberon dillerinden esindiklerini belirtiyor.

Değişkenler modern yazılım geliştirme dünyasında aşına olduğumuz şekilde tanımlanıyor.

var x int

veya

var x int = 2018

veya

x := 2018

Go programlama dili golang adı altında geliştirlmeye devam ediyor. Her ne kadar nesne yönelimli bir programlama dili olsa da go tam bir sınıf yapısı bizlere sunmuyor. Genelde fonksiyon tabanlı bir programlama dili yapısı ile bizleri karşılıyor.

Paket Yönetimi

Her programlama dilinde olduğu gibi kütüphane kavramı go programlama dilinde de bulunmaktadır. Kütüphane kavramı go programlama dilinde paket olarak adlandırılmakta ve ihtiyaç duyduğumuz kütüphaneler GOPATH\src klasörüne kaynak kodları ile indirilip projelerimizde kullanımımıza sunulmaktadır. Örnek paket kurulumu şu şekildedir.

go get github.com/revel/cmd/revel

Son derece hızlı ve basit bu paket yönetimi sistemi ile go programlama dili için hazırlanmış binlerce paket ücretsiz ve açık kaynak olarak geliştiricilerin hizmetine sunulmuştur.

Go Programlama Dilinin Pardus’a Kurulumu

Özellikle DDE masaüstü ortamında go programlama dilinin çok fazla kullanılmasından dolayı ve Pardus’un DDE masaüstü ortamını kullanıcılara sunmasından sonra go programlama dili de depoda yerini almıştır. İster synaptic arayüzü ile istersek uç birim aracılığı ile go programlama dilini Pardus’a kurma şansımız var.

sudo apt-get install golang

komunu uç birimde çalıştırdığımız taktirde go programlama dili kullanımımıza hazır olarak gelecektir. Kaynak koddan derlemek istersek eğer kaynak kodları golang indirme sayfasından sıkıştırılmış dosyayı indirip şu adımları yapmamız gerekecektir.

  1. Kaynak kodların arşivden çıkarılması
tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz
  1. Go programlama dilinin yolunu belirtilmesi
export PATH=$PATH:/usr/local/go/bin
  1. Go programlama dili dizin yolunun belirtilmesi
export GOROOT=$HOME/go1.X
export PATH=$PATH:$GOROOT/bin

işlemler başarı ile yapıldıktan sonra uç birim aracılığı ile

  go env

komutu ile nerelerde hata olduğu ve go programlama dili geliştirme ortamı bilgilerine erişebilmekteyiz.

Editör Seçimi

Go programlama dil her ne kadar daha yeni yeni popülerleşmeye başlamış olsa da bir çok metin editörü ve IDE tarafından desteklenmektedir. Benim önerim JetBrains firması tarafından üretilen GoLand ürünüdür. Çağın gerektirdiği tüm araçları ve eklentileri üzerinde barındırdığı için bu ürünü öneriyorum.(Linux, macOS, Windows, FreeBSD ve java destekleyen tüm işletim sistemlerinde çalışır)

Tabi ücretli olmayan binlerce seçenek var. Hatta basit bir metin editörü veya uç birim ile bile go programlama dili ile geliştirme yapabilirsiniz.

Çalıştırma ve İnşaa

Go programlama dili geliştirme yaparken bize iki farklı programımızı çalıştırma imkanı sunmaktadır. Birincisi geliştirme aşamasında kullanılan run komutudur. Bu komut projemizi ikili sayı sistemine çevirmeden projemizi çalıştırmamızı sağlıyor.

İkinci olarak üretim anında kullandığımız build komutudur. Bu komut projemizin geliştirilmesi tamamlandığında projenin yayına alınacağı zaman kullandığımız bir komuttur. Projemizi ikili sayı sistemine çevirmekte ve tıpkı c++ daki gibi çalıştırmaya hazır bir dosya bize oluşturmaktadır. Örnek bir merhaba dünya projesinde bu komutların nasıl kullanıldığına bakalım

  • merhaba.go içeriği
package main

import "fmt"

func main() {
    fmt.Println("Pardus üzerinde go programlama çok kolay ")
}

  • run komutu
go run merhaba.go

çıktı

Pardus üzerinde go programlama çok kolay
  • build komutu
go build merhaba.go

bu komuttan sonra çıktı olarak çalıştırılabilir bir şekilde merhaba isminde bir dosya oluşacaktır. Bu dosyayı açmak için uç birimde ./merhaba komutunu vermemiz yeterli olacaktır.

Pardus üzerinde go programlama çok kolay

Pardus üzerinde go ile programlama bu kadar basit bir işlemdir. Go programlama dili ile ilgili daha fazla bilgi Golang sayfasında ve GoLang Türkiye sayfasında bulabilirsiniz.


(Enes Boğaz) #2

Hocam teşekkürler, elinize sağlık! İlk defa öğrendim :sweat_smile:
Biraz saçma gibi gelebilir ama kurulumnda (bkz. sudo apt-get install golang) get’i yazmasak sıkıntı olur mu? (Koyu da belirtmişsiniz, ilgimi çekti :smile: )

Teşekkürler, saygıyla


(◊◊◊◊) #3

apt-get install apt paket yönetimine özgü bir komut olduğundan, komutun doğru girilmesi gerekmektedir. :slight_smile:


(Enes Boğaz) #4

Fazla konudan uzaklaşmak istemiyorum fakat sudo apt install golang ile sudo apt-get install golang farkı nedir?


(◊◊◊◊) #5

Debian paket yöneticisinde apt install diye bir komut olmadığından dolayı bu konu hakkında bir yorum yapmam yanlış olur. Paket yöneticileri apt install değil de apt-get install şeklinde tasarlamışlar paket yöneticisini.


(Yunusemre Şentürk) #6

@MehmetNuri bey apt , apt-get apt-cache … vb apt toollarının unified halidir. apt-[tool] şeklindeki non unified yapının şuanki debian stable old stable düştüğünde deprecate olması bekleniyor bilginiz olsun. Eğer konuya hakim değilseniz yanlış bilgi vermemeye çalışın.

Selamlar.


(system) #7