آخرش برای برنامه نویسی باید ریاضی بلد باشم یا نه؟

یکی از سوال هایی که بیشتر باهاش مواجه میشم اینه

اصن لازمه ریاضی بدونم؟ بعضیا میگن اره؛ بعضیا میگن نه، خب اینجا بحث میکنیم و با چند تا چالش توی زمینه های مختلف آشنا میشیم


برنامه نویسی به زبان ساده یعنی به کامپیتور بفهمونیم کاری رو که ازش میخوایم رو انجام بده. ( ساده بود، نه؟ ? )

خب برای انجام دادن این کار، ما برای کامپیوتر روند اجرای اون کار رو تعریف کنیم

روند اجرای ی کار میتونه روند درست کردن ی کیک باشه، روند رایت کردن روی یک CD یا حتی روند ضرب دوتا ماتریس

http://matrixmultiplication.xyz/
http://matrixmultiplication.xyz/



خیلی واضحه که برای نوشتن اون روند درست کردن کیک، باید آشپزی بلد باشید ( یا از ی آشپز کمک بگیرید ) ، برای رایت کردن روی CD در مورد مفاهیم پایه ایش چیزی بدونید و برای نوشتن روند ضرب 2 ماتریس باید در اون حد ریاضی بلد باشید ?


خب با چیزایی که تا حالا گفتم میشه برداشت کرد که اگر کسی ریاضیش قوی تر باشه، لزوما برنامه نویس بهتری نیست ( میتونه باشه ولی فقط توی حوزه برنامه هایی که با ریاضی سر و کله میزنن ).

ولی اگر قصد شروع برنامه نویسی رو دارید از یادگیری کمی ریاضی هم نترسید ? چون بعضی موقع ها واقعا لازم میشه


یا مثلا برای درست کردن ی موتور شبیه سازی و پردازش تصویر 3 بعدی، اینجا هم به ریاضیات احتیاج داریم

شما باید ی شکل 3بعدی رو توی ی مانیتور 2 بعدی به کاربر نشون بدید! سخت نیست؟
شما باید ی شکل 3بعدی رو توی ی مانیتور 2 بعدی به کاربر نشون بدید! سخت نیست؟


از کجا بفهمیم این دوتا شکل که ممکنه زاویه ها و مکانشون تغییر کنه به هم برخورد میکنن؟
از کجا بفهمیم این دوتا شکل که ممکنه زاویه ها و مکانشون تغییر کنه به هم برخورد میکنن؟


یک برنامه موتور فیزیک آنلاین که اومده بعضی پدیده های فیزیک رایج مثل جاذبه و... رو شبیه سازی کرده


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

برنامه نویسی خیلی شاخه داره - و هرشاخه درک و تحلیل مخصوص به خودش رو میطلبه اگر کسی میخواد وارد اون شاخه بشه باید چند هفته یا ماه یا حتی سال روی اون پروژه وقت بزاره یا با موانع و مشکلاتش آشنا بشه

یکی سواد و تحصیلات خوبی داره میاد ی نظریه جدید در مورد پردازش موازی ( از اونجایی که cpu های جدید چند هسته ای هستن ما میخوایم از همه توان cpu استفاده کنیم - یکی از روش هاش اینه که یک کار رو به چند قسمت غیر وابسته تقسیم کنیم و تا کامپیوتر همزمان اون ها رو اجرا کنه ) میده، یکی دیگه میاد نرم افزار ویرایش صدا یا فیلم میسازه، یکی توی زمینه توسعه زبان برنامه نویسی فعالیت میکنه و....


افراد مختلفی روی پروژه های مختلفی کار میکنن. نمیشه هیچکدوم رو با دیگری مقایسه کرد

میبینید؟! ، دنیای برنامه نویسی بزرگه! ?


? happy programming ?