سوال بعدی که پرسیدم این بود که شما گولنگ رو بیشتر یه زبان data oriented میدونید تا object oriented. چه ویژگی های گولنگ باعث شده که اینطور فکر کنید؟
که اولش این نقل رو از rob pike گفت
Data dominates. If you've chosen the right data structures and organized things well, the algorithms will almost always be self-evident. Data structures, not algorithms, are central to programming.
بعدش گفت که اگه شما data رو نشناسی در واقع problem رو نمیشناسی و نمیتونی حلش کنی. چون هر کدی که ما مینویسیم و هر تابعی فقط داره data transformation میکنه.
یه نکته خیلی مهم برای senior بودن شما، اینه که data semantic های گولنگ رو بشناسی و بدونی از کدوم چه وقت استفاده کنی. این که value semantic که یه نسخه از دیتارو کپی میکنه در پروسه زنجیره فراخوانی توابع (function call chain) و pointer semantic که داره دیتارو به اشتراک میذاره چه تفاوت هایی با هم دارن. و من value semantic رو خیلی استفاده میکنم چون مزایای خیلی زیادی داره، هرجا که بتونم ازش استفاده میکنم.
https://users.ece.utexas.edu/~adnan/pike.html
#bill_kennedy
@gocasts
Post #93
963
Go Casts | Systems & Agents 🚀 سوال بعدی این بود که یادگیری concurrency تو گولنگ کار ساده ای نیست، هم به این دلیل که نسبت به زبان های رایج دیگه شیوه متفاوتی داره و هم اینکه در پروژه های تیپیکال هم خود کتابخونه و پکیج هایی که استفاده میکنیم این موضوع رو هندل میکنن و برنامه نویس کمتر میتونه…