با چیزهایی که خودت داری میگی، من برداشتم از حرفات اینه:
- یه زبان می خوای که توی کار با اعداد خوب باشه ---> (همه ی زبان ها اینطوری هستن!)
- زبانت قراره تو درسای دانشگاهیت کمکت کنه، نه یه پروژه برای مراکز نظامی امریکا! ---> (پس هرچه ساده تر بهتر)
- زبانت باید آسون باشه که راحت یاد بگیریش چون خیلی وقت نداری. ---> (زبان های دینامیک)
- موقع کار با زبان بتونی به الگوریتم توجه کنی، نه به خود زبان. ---> (زبان های دینامیک... c و ++c و java و go و این ها رو بیخیال شو)
- زبانت باید اجتماع بزرگی داشته باشه که اگه سوالی چیزی داشتی لنگ جواب نمونی (PHP, RUBY, PYTHON)
- زبانت در حدی باشه که برای کارهای روزمره (به غیر ریاضی) هم به دردت بخوره. ---> (فقط از روی تجربه ی شخصی : Python)
واقعا می خواستی کار ریاضی با C انجام بدی؟ یه محاسبه ی ۴ خطی بخوای حل کنی شونصد جا باید با حافظه و پوینتر
ها سر و کله بزنی... اینجوری تقریبا ۹۹٪ باگ هات مربوط میشه به ساختارهای خود زبان، نه به غلط بودن احتمالی الگوریتمت.
یه زبان ساده مثل Python رو یاد بگیر که بتونی روی الگوریتمت تمرکز کنی. توکه نمی خوای برای شرکت های بزرگ
برنامه بنویسی، برای کارهای شخصی خودت میخوای. Python هم کلی برات زیادیه. تازه پایتون پکیج Numpy رو هم داره.
یه سرچ کوچیک بزنی میفهمی که این پکیج توی کارهای ریاضی حرف نداره (حتی بین زبان های دیگه).
کلا اینکه زیاد خودت رو خسته نکن، سعی کن اونی که از همه آسون تره رو یاد بگیری.
فقط یک مورد مهم است، آخرین محدودیت که با هر زبان برنامه نویسی با اون روبرو میشی سرعت انجام مخاسبات است. python زبان خوبی است در صورتی که سرعت محاسبات و حافظه مورد استفاده برات مهم نباشد.
من با basic شروع کردم بعد pascal، C#, perl و در نهایت C/C++ به علاوه R همه نیاز هامو برطرف کرد. اگر الگوریتمی قبلا نوشته شده باشد که خوب می شود ۱ یا ۲ خط R اگر الگوریتم نوشته نشده باشد یک package برای R با C/C++ می نویسم. الیته یک محدودیت R برای داده های حجیم محدودیت حافظه است.
معمولا اول با اسکریپت BASH اول یک آنالیز اولیه انجام می دم بعد آنالیز نهایی را با R انجام می دهم.
حالا چرا اینها رو گفتم!
اگر من روز اول مسیر درست رو می دونستم وقتم صرف pascal، C#, perl نمی کردم.
من از رشته ریاضی اطلاع ندارم ولی شاید بهتر باشه از کسی اطلاعات کامل رو بگیری که این مسیر رو طی کرده و الان راضی است.
بسته به علاقت مقالاتی مرتبط با رشته ات رو که چاپ شده پیدا کن ببین که نرم افزارهایی که جهت آنالیز دادها و توسعه الکوریتم بیشتر استفاده شده چی هستند.
براساس تجربه شخصی اگر الگریتمی کند باشد و جدید انو بایک زبان مثل C یا fortran می نویسند. معمولا اول الگوریتم با یک زبان سطح بالا می نویسند و برسی می کنند که آیا جواب می دهد با نه اگر جواب داد انو را با یک زبان می نوسند که حداکثر سرعت اجرا را داشته باشد.