++C یک زبان شی گراست؟ بله. میشه توش به صورت غیر شی گرا برنامه نوشت؟ بله
درسته. اینم نکتهی خوبیه. البته برای پایتون و روبی و php هم برقراره این قضیه.
مساله اینه که Go یک زبان Concurrent هست. برای همین نیاز خاصی به شی گرایی نداره. (حالا پیدا کنید ربط
این دو تا قضیه رو باهم!)
امثال Go یا Erlang ذاتا Concurrent هستن، نه اینکه به صورت یک قابلیت جانبی از Concurrency پشتیبانی کنن.
مثلا جاوا ذاتا شی گراست اما شی گرایی در C یک چیز جانبیه.
یا مثلا جاوا قابلیت های Concurrency داره ولی یک زبان COncurrent نیست.
به یک زبان وقتی Concurrent گفته میشه که اون زبان به صورت درونی دارای ساختارهایی برای اینکار باشه
(عین ساختار های if یا for) و سیستم اون زبان از پایه برای برنامه نویسی Concurrent طراحی شده باشه.
به همین صورت هم نمشیه به Go گفت یه زبان شی گرا چون یک ساختار درونی برای اینکار نداره (مثل ساختار class)،
اما میشه به صورت جانبی توش شی گرایی داشت (اگه کسی یه وقت هوس کرد!، همونش هم به روش متفاوتی با چیزی که توی جاوا یا ++C هست صورت میگیره )