انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: ‫PDF پارسی - معرفی زبان برنامه نویسی ‪Go  (دفعات بازدید: 41990 بار)

0 کاربر و 2 مهمان درحال مشاهده موضوع.

آفلاین !

  • High Sr. Member
  • *
  • ارسال: 586
  • جنسیت : پسر
  • Don't Panic!
    • مانیتورینگ سایت
من الان پاشدم اومدم پشت سیستم که دانلود کنمش و بخونم.ممنون بابت کار قشنگت :D
I just felt like running

Altern AI Directory --- GitHub

آفلاین AmirrezaGhaderi

  • Jr. Member
  • *
  • ارسال: 90
  • جنسیت : پسر
    • حساب تویتر من
من الان پاشدم اومدم پشت سیستم که دانلود کنمش و بخونم.ممنون بابت کار قشنگت :D

امیدوارم از خوندنش لذت ببری.

به طرز بسیار واضحی معلومه که Go تا 4-5 سال آینده به یکی از اصلی ترین زبان های وب تبدیل میشه.
همین الآنش هم سیستم Backend سایت بزرگی مثل Youtube در Go‌ نوشته شده.

یه زبان کامپایلری native ، سینتکس تمیز، سیستمی و تقریبا سطح پایین، استاتیک، بسیار ساده، سریع، نیاز کم به حافظه، بسیار قدرتمند در برنامه نویسی Concurrent و.....

تیم توسعه اش هم که خالقین C و Unix و UTF-8 و memcached و livejurnal و OpenID و plan9 و ... هستن.

وقت ای که برای یاد گرفتنش می ذارید صد در صد ارزش داره.

-------------
پ.ن: زبان اول من که علاقه ی شدیدی هم بهش دارم Go‌ نیست!  8) اما Go رو واقعا دوست دارم، مخصوصا به خاطر وجود Thompson 
« آخرین ویرایش: 09 دی 1391، 01:00 ق‌ظ توسط AmirrezaGhaderi »

آفلاین !

  • High Sr. Member
  • *
  • ارسال: 586
  • جنسیت : پسر
  • Don't Panic!
    • مانیتورینگ سایت
تموم شد. ;Dبا تشکر از دوست خوبم آقا امیر رضا.خیلی جالب بود و حض کردم.درون مایه؛نگارش؛ گرافیک عالی بودن.به نظرم باید سرکی تو این زبان بکشم به زودی. 8)
I just felt like running

Altern AI Directory --- GitHub

آفلاین سید مسعود امامیان

  • Hero Member
  • *
  • ارسال: 951
نقل‌قول
پ.ن: زبان اول من که علاقه ی شدیدی هم بهش دارم Go‌ نیست!

کنجکاو شدم بدونم زبان اول شما چی ؟
به عمل کار برآید     به سخندانی نیست . . .

آفلاین AmirrezaGhaderi

  • Jr. Member
  • *
  • ارسال: 90
  • جنسیت : پسر
    • حساب تویتر من
تموم شد. ;Dبا تشکر از دوست خوبم آقا امیر رضا.خیلی جالب بود و حض کردم.درون مایه؛نگارش؛ گرافیک عالی بودن.به نظرم باید سرکی تو این زبان بکشم به زودی. 8)

خوشحالم که نوشته براتون مفید واقع شد.

کنجکاو شدم بدونم زبان اول شما چی ؟

Lisp ... البته توی اون جمله منظورم از «زبان اول»، از نظر محبوبیت قلبی بود...
« آخرین ویرایش: 09 دی 1391، 02:16 ق‌ظ توسط AmirrezaGhaderi »

آفلاین کیان

  • High Hero Member
  • *
  • ارسال: 2338
  • جنسیت : پسر
« آخرین ویرایش: 22 بهمن 1391، 05:40 ب‌ظ توسط کیان »

آفلاین AmirrezaGhaderi

  • Jr. Member
  • *
  • ارسال: 90
  • جنسیت : پسر
    • حساب تویتر من
پاسخ : کتاب زبان برنامه نویسی Go چاپ 2012
« پاسخ #36 : 10 دی 1391، 12:06 ق‌ظ »
http://www.amazon.com/Programming-Go-Creating-Applications-Developers/dp/0321774639
http://comments.gmane.org/gmane.comp.lang.go.general/54502
اگه کسی گیرش آورد به منم لینک بده. (اینجا ایرانه و دسترسی نداریم. گیر ندید لطفا)

فکر نمیکنم نیازی به این کتاب داشته باشید. من مقداری از این کتاب رو خوندم،
مستندات خود سایت خیلی کامل هستش. حالا باز تصمیم با خودتونه.

تور زبان go
ExpressivenessOfGo.pdf
GoCourseDay1.pdf 2011
GoCourseDay2.pdf 2011
GoCourseDay3.pdf 2011
The Go frontend for GCC 2010

Writing Web Apps 2011

لطفا دقت کنید هر منبعی که برای زبان Go می خواید مطالعه کنید حتما برای نیمه ی دوم
سال ۲۰۱۲ باشه (حتی اگه یه پست ساده در یک وبلاگ بود) تقریبا تمام این منابعی که معرفی
کردید برای مطالعه مناسب نیست. زبان بعد از نسخه ی 1.0 پایدار شد، تا قبل از اون هر  چند ماه
از نظر ساختاری مقداری تغییر میکرد.

نام گذاری به Go بخاطر اسم Google انجام شده؟

ابدا خیر... زبان Go جزو محصولات گوگل نیست، اما گوگل ازش پشتیبانی مالی میکنه، مثل ده ها پروژه ی
متن باز دیگه ایی که ازشون پشتیبانی میکنه. این اسم به طور ناخداگاه به ذهن Rob Pike رسیده. دوست داشته
اسمی انتخاب کنه که بشه به عنوان پسوند سورس کدها هم ازش استفاده کرد (file.go)
« آخرین ویرایش: 10 دی 1391، 12:09 ق‌ظ توسط AmirrezaGhaderi »

آفلاین کیان

  • High Hero Member
  • *
  • ارسال: 2338
  • جنسیت : پسر
کتاب زبان برنامه نویسی Go چاپ 2012
« پاسخ #37 : 10 دی 1391، 12:34 ق‌ظ »
ممنون از توضیحات.
کتاب رو پرینت میکنی میخونی

لینک دانلود کتاب Programming in Go چاپ 2012 - پی دی اف: http://libgen.info/view.php?id=855569
« آخرین ویرایش: 09 بهمن 1391، 10:43 ب‌ظ توسط کیان »

آفلاین AmirrezaGhaderi

  • Jr. Member
  • *
  • ارسال: 90
  • جنسیت : پسر
    • حساب تویتر من
پاسخ : کتاب زبان برنامه نویسی Go چاپ 2012
« پاسخ #38 : 10 دی 1391، 01:35 ق‌ظ »
لینک دانلود پی دی اف: http://li---.info/view.php?id=855569
ای پاب: http://li---.info/view.php?id=855570
(با کپی رایت و از این چیا کلاس نذارین لطفا. اینجا ایرانه و دسترسی برای خریدنداریم. چکار کنیم؟)

درک میکنم که شما دوست دارید کتاب رو داشته باشید تا بتونید پرینت بگیرید، اما خواهش می کنم
متوجه باشید که نوشته ی شما می تونه باعث بسته شدن این پست بشه. این جزو قوانینی هست که همه ی ما
موقع ثبت نام در این فروم قول دادیم که رعایت کنیم. پیدا کردن اون کتاب در گوگل کاری نداره، اگه میشه لطف
کنید و اون لینک ها رو بردارید که این پست بسته نشه تا بتونیم دوستان بیشتری رو در رابطه با این زبان
رهنمایی کنیم.
« آخرین ویرایش: 10 دی 1391، 02:02 ق‌ظ توسط AmirrezaGhaderi »

آفلاین کیان

  • High Hero Member
  • *
  • ارسال: 2338
  • جنسیت : پسر
IDE های زبان گو: http://go-lang.cat-v.org/text-editors/
SublimeText 2 Goclipse  BBedit  Eclipse  IntelliJ IDEA  Gedit  Mcedit  Textmate  Textpad  JEdit  SciTE  Nano Notepad++  Geany. SlickEdit  vim
GoSublime
زئوس روی wine

http://go-ide.com

پیدا کردن اون کتاب در گوگل کاری نداره
گوگل این چیزای کپی رایتی رو از نتایج جستجوش حذف میکنه
« آخرین ویرایش: 10 دی 1391، 01:50 ق‌ظ توسط کیان »

آفلاین vandu

  • Hero Member
  • *
  • ارسال: 741
  • جنسیت : پسر
خیلی ممنون جتاب قادری
من هم الان مطالعه اش کردم. بسیار خوب و تمیز نوشتید.
فقط یه سوال: در مورد کار با دیتابیس‌های مختلف شخصا تجربه‌ای داشتید توی این زبان؟ پکیج‌های ارتباط با دیتابیسش چطوریه؟
ممنون...
Nothing is particularly hard if you divide it into small jobs

Henry Ford

آفلاین AmirrezaGhaderi

  • Jr. Member
  • *
  • ارسال: 90
  • جنسیت : پسر
    • حساب تویتر من
فقط یه سوال: در مورد کار با دیتابیس‌های مختلف شخصا تجربه‌ای داشتید توی این زبان؟ پکیج‌های ارتباط با دیتابیسش چطوریه؟

Go یه ست API واحد برای این کار داره. مثل DB-API‌ در پایتون یا JDBC در جاوا.

من شخصا کار جدی با دیتابیس برام پیش نیومده، اما با رابط Postgres توی Go کمی بازی کردم و به نظرم عالی بوده.
از طرفی چون از خیلی وقت پیش میل لیست این زبان رو به صورت روزانه مطالعه میکنم و با توجه به بحث هایی که در اونها
میشه، میدونم که رابط Postgres و MongoDB در Go جزو قوی ترین و کامل ترین رابط های دیتابیس در این زبان هستن که در حال
حاظر در شرکت هایی مثل کنونیکال (اوبونتو) و heroku‌ (سرویس کلود معروف) در حال استفاده شدن هستن و خیلی هم مورد تمجدید
قرار گرفتن.

برای MySQL هم که چندین رابط وجود داره، اما من اصلا باهاشون کار نکردم پس نظر نمیدم. برای Redis‌ هم رابط
وجود داره. Sqlite‌ هم که رابطش توسط یکی از اعضای اصلی تیم Go نوشته شده...

کلا فکر نمیکنم مشکلی از نظر کار با دیتابیس پیدا کنید. تنها نکته ایی که میشه بهش اشاره کنم اینه که ORM ها زیاد در
جامعه ی Go محبوب نیستن. من شخصا با ORM ها رابطه ی خوبی ندارم. به نظرم مثل IDE ها یه چیز اضافه هستن!
البته فراموش نشه که ORM ها همونطور که از اسمشون پیداست تو زبان های شی گرا زیاد استفاده میشن و Go هم که موضعش در
این باره مشخصه  :D

یه چیز جالب دیگه هم هست اینه که به علت اینکه Go یک زبان سیستمی هست و رابطه ی خوبی با C داره، اکثر رابط های
این دیتابیس ها در خود Go نوشته شدن. مثلا pq رابط Postgres تماما در Go‌ نوشته شده!

آفلاین aliboy

  • High Sr. Member
  • *
  • ارسال: 558
  • جنسیت : پسر
پاسخ : ‫PDF پارسی - معرفی زبان برنامه نویسی ‪Go
« پاسخ #42 : 18 بهمن 1391، 11:25 ب‌ظ »

سلام

بابت مطالب و اطلاعاتتون تشکر  :)
به نظرم زبان موفقی میشه چون گوگل ازش حمایت میکنه و خودم به شخصه از شئی گرایی خوشم نمیاد  ;)
این نمونه کد رو توی homepage سایتشون دیدم و یه چیزی رو متوجه نشدم:
package main

import "fmt"

// fib returns a function that returns
// successive Fibonacci numbers.
func fib() func() int {
a, b := 0, 1
return func() int {
a, b = b, a+b
return a
}
}

func main() {
f := fib()
// Function calls are evaluated left-to-right.
fmt.Println(f(), f(), f(), f(), f())
}

اینکه توی این تابع بازگشتی چرا 4 بار تابع رو فراخونی گرده در حالی که همون یکبار باید کفایت میکرد( البته توی زبان های C و C++ و پاسکال یک بار می نوشتیم)
   fmt.Println(f(), f(), f(), f(), f())

تشکر
و ما میطوانیم

آفلاین AmirrezaGhaderi

  • Jr. Member
  • *
  • ارسال: 90
  • جنسیت : پسر
    • حساب تویتر من
پاسخ : ‫PDF پارسی - معرفی زبان برنامه نویسی ‪Go
« پاسخ #43 : 19 بهمن 1391، 11:05 ب‌ظ »

اینکه توی این تابع بازگشتی چرا 4 بار تابع رو فراخونی گرده در حالی که همون یکبار باید کفایت میکرد( البته توی زبان های C و C++ و پاسکال یک بار می نوشتیم)
   fmt.Println(f(), f(), f(), f(), f())
سلام، چیزی که اینجا باید بهش دقت کرد مقداری هست که return برگشت میده. عبارت return‌ در تابع fib حاصل
محاسبه رو برگشت نمیده!! این عبارت داره یک «تابع بی نام» رو برگشت میده (صفحه ۴۶ از کتابچه) و در متغیر
f میریزه. حالا متغیر f برابر این تابع شده و میشه عین یه تابع معمولی صداش زد.

این تابعی که به عنوان خروجی از fib‌ اومد بیرون و الآن در f قرار گرفته، خودش هم یه عبارت return داره که
حاصل هر مرحله از دنباله‌ی فیبوناچی رو محاسبه میکنه. اما برای اینکه این مقدار از این تابع بی‌نام return بشه،
باید این تابع رو صدا زد. برای همین هست که متغیر f رو ۵ بار عین یک تابع معمولی صدا زده و در هر بار صدا زدن هم
یکی از اعداد دنباله‌ی فیبوناچی برگشت داده میشه. شما اگه آخرین تابع رو از داخل Println پاک کنی میبینی که توی خروجی
هم یک عدد کم شده.

در واقع تابع fib فیبوناچی رو محاسبه نمیکنه. این تابع، تابعی رو برگشت میده که میتونه عمل محاسبه‌ی فیبوناچی رو به شکل
مرحله ایی انجام بده. دقت کن که با اینکه تابع fib صدا زده میشه و کارش رو هم تموم میکنه، اما متغیرهای a و b از بین
نرفتن! چون هنوز به وجود اونها در تابع بی‌نام نیاز هست. به این صورت هست که میگیم f تبدیل به یک closure شده (صفحه ۴۷
از کتابچه).

این در واقع مثالی بود که چاشنی های برنامه‌نویسی فانکشنال در Go رو نشون میداد. برای کار با این قابلیت ها باید با شیوه
ی برنامه نویسی فانکشنال آشنا باشی. برنامه نویسی فانکشنال روش خیلی قدرتمندی هست. ارزش مطالعه رو داره.

آفلاین AmirrezaGhaderi

  • Jr. Member
  • *
  • ارسال: 90
  • جنسیت : پسر
    • حساب تویتر من
پاسخ : ‫PDF پارسی - معرفی زبان برنامه نویسی ‪Go
« پاسخ #44 : 22 بهمن 1391، 05:33 ب‌ظ »
جهت اطلاع رسانی، دانشگاه معتبر MIT برای درس «سیستم‌های توزیع شده» (Distributed Systems) شروع به
استفاده از زبان Go کرده! برنامه نویسی Concurrent و پردازش های Parallel، مخصوصا در بستر شبکه، از جمله
هدف های اصلی به وجود اومدن Go‌ بوده و یکی از نقاط قوتش حساب میشه. اینطور که به نظر میاد نظر مسئولان
دانشگاه MIT هم کاملا متوجه این قضیه شده  8)