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

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

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

نویسنده موضوع: نزدیکترین زبان برنامه نویسی به زبان علم؟  (دفعات بازدید: 26908 بار)

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

آفلاین کیان

  • High Hero Member
  • *
  • ارسال: 2338
  • جنسیت : پسر
چه زبان برنامه نویسی برای دانشجوهای علوم پایه بهترینه؟ تو دانشکده مون (ریاضی) زیاد دیدم ارشدی ها فورترن فورترن میکنند.

میخوام زبان خالص علم باشه! زبانی که بتونه با معادلات دیفرانسیل و جبری، ماتریسها، تانسورها، انتگرال ها، مدل سازی شکل های فضایی و غیره توانا عمل کنه. بینهایتش بالا باشه.‌ سینتکس باحال باشه که کمک کنه احتمال خطا بیاد پایین و سرعتش هم مهمه.

1. C رو تا سطح پیشرفته برم جلو؟
تغییر مسیر بدم به زبانی مثل فورترن؟ پایتون، پرل و... چطورند؟
تو انجمن دیدم بچه خیلی از Go‌ تعریف میکنم، منم وسوسه شدم یاد بگیرم؟ ;D‌ این زبان به درد توضیحاتی که دادم  میخوره؟
2. در موسسات تحقیقاتی بزرگ علمی چه زبانهایی مطرح ترند؟
3. برنامه هایی مثل متلب (R) و متمتیکا (ماکسیما) زبان برنامه نویسی اند؟
4. جمع بندی: برم دنبال یاد گرفتن یک زبان برنامه نویسی یا روی ماکسیما وقت بذارم؟



(برنامه نویسی هم کار کردم. html و C‌ بلدم. نگید خودش C ‌بلده اومده وقتمون رو بگیره. C رو بلدم ولی نمیدونم کجا کاربرد داره. سطح بالا و سطح پایین نمی فهمم. بلدم تمرین های کتاب رو بعد از حل ریاضی مسئله پیاده سازی کنم.)
« آخرین ویرایش: 10 دی 1391، 04:11 ب‌ظ توسط کیان »

آفلاین alend

  • High Hero Member
  • *
  • ارسال: 1319
fortran:
برای جبر خطی می گن خیلی مناسب است به کمک کتابخانه lapacه k.
کد به صورت اتوماتیک به میزان زیادی بهینه می شود.
gcc براش زیاد مناسب نیست و کامپایلر اینتل را براش توصبه می کنند.
اگر با زبانهایی که شبیه c هستند کار کردی به نظرم یاد گرفتنش یکم سخت می شود.

1- من ++C به علت شی گرایی بر C ترجیه می دهم.
2- توی موسسات تحقیقاتی fortran, c++/c, R,scilab,sas,matlab,...
3- R زبان برنامه نویسی است ولی در مورد متمتیکا اطلاع ندارم.
4- یک زبان میانی مثل ++C و یک زبان سطح بالا مثل R یاد بگیری بهتر است.

 R از توانایی هایی رو که لازم داری این ها رو دارد:
انتگرال،ماتریسها و مدل سازی شکل های فضایی

سرعت R هم بستگی به تجربه دارد.

تانسور هم نمی دونم چی هست که بگم داره یا نه :)

در مورد matlab, scilab , ... اطلاعی ندارم.

راجب به go هم اطلاع ندارم ولی به طور کلی توسیه می کنم زبانی یاد بگیری که منابع زیاد داشته باشد و وابسته به شرکت خاصی نباشد. ممکن یک زبان بسار عالی باشد ولی به دلیل عدم وجود منابع کافی یادگیری و رفع ایرادات برنامه نویسی مشکل باشد.

وجود ide و debuger و profiler هم برای زبان مورد نطر (که نیاز به توضیح ندارد).
« آخرین ویرایش: 10 دی 1391، 05:31 ب‌ظ توسط alend »

آفلاین سلمان م.

  • ناظر انجمن
  • *
  • ارسال: 4106
  • جنسیت : پسر
  • GNU Operating System - سیستم عامل گنو
برای چه کاری می‌خوای؟
میخوای باهاش برای خودت مساله‌ها تو حل کنی یعنی library داشته باشی یا یه برنامه می‌خوای بنویسی که GUI داره.
اگه برای مقاله دادن می‌خوای فکر کنم که برنامه‌هایی مثل Scilab , GNU Octave و ... کارت رو راه بندازن.
ولی اگه می‌خوای بری تو مراکز تحقیقاتی باید سی یا سی++ حتما بلد باشی.
چونکه سی بلدی، بنظر من سی رو برو جلو. وقتت رو حروم نکن با یاد گرفتن یه زبون دیگه.

* برای کارای عادی = C + GSL (GNU Scientific Library
     http://en.wikipedia.org/wiki/GNU_Scientific_Library
     توسط بچه‌های Los Alamos نوشته شده :) البته یا کمک دیگران.
     http://en.wikipedia.org/wiki/Los_Alamos_National_Laboratory

* برنامه‌نویسی موازی = C + OpenMP
     http://en.wikipedia.org/wiki/OpenMP

آفلاین alend

  • High Hero Member
  • *
  • ارسال: 1319
در تکمیل حرف سلمان اگر می خواهی پردازش موازی با cuda انجام بدی c , ++c بر fortran برتری دارد.
« آخرین ویرایش: 11 دی 1391، 06:35 ق‌ظ توسط alend »

آفلاین majidkamali1370

  • Hero Member
  • *
  • ارسال: 928
  • جنسیت : پسر
matlab بسیار برنامه خوبیه. کلی toolbox داره که کار آدم رو راه میندازه.
ولی اگه یه زبون برنامه نویسی خالص میخوای سی++ بهترینه چون همه جا میشه ازش استفاده کرد. سرعتش هم که عالیه.
Ubuntu 14.04 LTS 64-bit - unity

آفلاین امید توانا

  • Hero Member
  • *
  • ارسال: 981
  • جنسیت : پسر
چه زبان برنامه نویسی برای دانشجوهای علوم پایه بهترینه؟ تو دانشکده مون (ریاضی) زیاد دیدم ارشدی ها فورترن فورترن میکنند.

میخوام زبان خالص علم باشه! زبانی که بتونه با معادلات دیفرانسیل و جبری، ماتریسها، تانسورها، انتگرال ها، مدل سازی شکل های فضایی و غیره توانا عمل کنه. بینهایتش بالا باشه.‌ سینتکس باحال باشه که کمک کنه احتمال خطا بیاد پایین و سرعتش هم مهمه.

1. C رو تا سطح پیشرفته برم جلو؟
تغییر مسیر بدم به زبانی مثل فورترن؟ پایتون، پرل و... چطورند؟
تو انجمن دیدم بچه خیلی از Go‌ تعریف میکنم، منم وسوسه شدم یاد بگیرم؟ ;D‌ این زبان به درد توضیحاتی که دادم  میخوره؟
2. در موسسات تحقیقاتی بزرگ علمی چه زبانهایی مطرح ترند؟
3. برنامه هایی مثل متلب (R) و متمتیکا (ماکسیما) زبان برنامه نویسی اند؟
4. جمع بندی: برم دنبال یاد گرفتن یک زبان برنامه نویسی یا روی ماکسیما وقت بذارم؟



(برنامه نویسی هم کار کردم. html و C‌ بلدم. نگید خودش C ‌بلده اومده وقتمون رو بگیره. C رو بلدم ولی نمیدونم کجا کاربرد داره. سطح بالا و سطح پایین نمی فهمم. بلدم تمرین های کتاب رو بعد از حل ریاضی مسئله پیاده سازی کنم.)
اول سه نرم‌افزار تجاری رو بررسی می‌کنم. ولی قطعیت کامل نداره و باید ببینی در کجا و چه شاخه خاصی قراره کار بکنی.
۱- Maple: بیشتر برای ریاضیات کاربردی
۲- Matlab: بیشتر برای رشته‌های مهندسی
۳- Mathematica: بیشتر برای ترکیبیات و ریاضی محض
در بین این سه‌تا هیچکدوم در مجموع به قدرت و تکامل Mathematica نیست. رابط کاربری اون برحسب Qt است و طبق اینجا (قسمت functionality) کارایی هیچکدام دیگه به اندازه Mathematica نیست. امکان چسباندن کد از زبان‌هایی مثل C++ به هسته‌اش رو داره و همچنین فراخوانی هسته آن از اکثر زبانها و نرم‌افزارهای دیگه وجود داره.

ولی کلا بهتره همون C++ رو در حد اعلا یاد بگیرید و به فرترن و ... نپردازید. دلیل اینکه بعضی از دانشگاه‌ها روی زبانی مثل فرترن فعالیت می‌کنند اینه که استادی اونجا هست که سالها پیش فقط این زبان رو یاد گرفته و الان اصلا قابلیت به‌روز رسانی خودش رو نداره. (کاشکی با یه دستور ساده می‌شد استادها رو هم به روز کرد. البته شوخی کردم. همین استادها هم خیلی زحمت می‌کشند که تو این شرایط سخت، باز هم به دنبال تحقیق، هرچند جزیی، هستند که تو کل عمرشون به اندازه یه سال یه بازیکن فوتبال تیم‌های باشگاهی ایران هم پول گیرشون نمیاد. ](*,))

آفلاین AmirrezaGhaderi

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

آفلاین کیان

  • High Hero Member
  • *
  • ارسال: 2338
  • جنسیت : پسر
در بین این سه‌تا هیچکدوم در مجموع به قدرت و تکامل Mathematica نیست.
متیمتیکا نسخه لینوکسی نداره! ماکسیما معادلشه. به همون قدرت متمتیکا هست؟

R از توانایی هایی رو که لازم داری این ها رو دارد:
انتگرال،ماتریسها و مدل سازی شکل های فضایی

سرعت R هم بستگی به تجربه دارد.
درباره R‌ یک کنفرانسی تو دانشگاه بود استاده همش مثالهای آمار و عددی میزد.

برای چه کاری می‌خوای؟
بله باید این رو خوب توضیح می دادم. پاسخ واقعیش اینه که نمی دونم برای چی میخوام  :-X
ترم قبل یک درس 4 واحدی مبانی کامپیوتر داشتم و استاده کل وقت کلاس رو گذاشت روی زبان C‌ و از وسطش هم شروع کرد (دو هفته وقت داد خودمون رو برسونیم به سطحی که میخواد - قبل از حذف و اضافه  :o). این شد برنامه نویسی رو شروع کردم. تابستونی HTML‌ کار کردم.
رشتم ریاضی و می دونم که توی مقاطع بالاتر باید برنامه نویسی بلد باشم ولی نمی دونم از کجا و با چی شروع کنم! میدونم که از همین الان باید برنامه نویسی رو شروع کنم. دیرم شده (نیمه راه دوره کارشناسی ریاضی)
دید کلی در مورد برنامه نویسی ندارم. سر درنمیارم چرا خیلیا همش دنبال IDE ای هستید. ولی من نمی تونم ازش استفاده کنم. زاید میاد بنظر. میخوام بگم که ذهنیتم از برنامه نویسی شکل نگرفته هنوز.


کار یک زبان برنامه نویسی پردازش محاسبات هستش. تمام زبان های برنامه نویسی
به درد توضیحاتی که شما دادید می خورند.
بله. ولی با یک زبان برنامه نویسی میشه یک معادله رو در یک خط حل کرد و در 4 ثانیه جواب گرفت با یکی دیگه هزار تا کتابخونه و ... هم بکار بگیری به نتیجه دلخواه نمیرسی.
اون زبانی که بدرد یک دانشجوی ریاضی بخوره چیه؟
برنامه نویسی برای دلم نمیخوام یاد بگیرم بدرد رشته م بخوره :D


آفلاین AmirrezaGhaderi

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

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


چرا خیلیا همش دنبال IDE ای هستید. ولی من نمی تونم ازش استفاده کنم. زاید میاد بنظر.

نگران نباش، از نظر و من خیلی های دیگه هم زاید به نظر میان!

اون زبانی که بدرد یک دانشجوی ریاضی بخوره چیه؟
برنامه نویسی برای دلم نمیخوام یاد بگیرم بدرد رشته م بخوره :D

زبان های Functional نزدیک ترین منطق فکری رو به علوم ریاضایت دارن. یکی از اون ها رو یاد بگیر.

آفلاین سلمان م.

  • ناظر انجمن
  • *
  • ارسال: 4106
  • جنسیت : پسر
  • GNU Operating System - سیستم عامل گنو
متیمتیکا نسخه لینوکسی نداره! ماکسیما معادلشه. به همون قدرت متمتیکا هست؟
عزیزم داره
http://www.wolfram.com/mathematica/features/system-requirements.html#Linux

سایلب scilab هم عالی هست، خیلی از مراکر تحقیقاتی بزرگ ازش استفاده می‌کنن. البته کارای عددی می‌کنه و برای کارای closed-form (فارسیش یادم رفته یعنی همون غیرعددی :) )میتونه با maxima قاطی بشه :)
« آخرین ویرایش: 10 دی 1391، 09:25 ب‌ظ توسط سلمان العلما شیرازی! »

آفلاین alend

  • High Hero Member
  • *
  • ارسال: 1319
یک مشکل R اینه که بیش از ۴۰۰۰ پکیج دارد و هر روز هم حدود ۱۰ تابهشون اضافه می شود!
امروز ۴۲۰۴ بسته فقط در cran داشت و ۶۰۸ تا هم در bioconductor.
« آخرین ویرایش: 11 دی 1391، 06:53 ق‌ظ توسط alend »

آفلاین کیان

  • High Hero Member
  • *
  • ارسال: 2338
  • جنسیت : پسر
ممکنه چیزی که الآن میخوای و داری از ما سوال میکنی، چیزی باشه که برات مناسب نیست
و خودت هم ازش خبر نداشته باشی! باید مقداری به خودت وقت بدی تا هدفت رو بهتر مشخص کنی.
وقت زیاد ندارم. از الان تا تابستون وقت دارم. از تابستون 92 تا اردیبهشت 93 که هیچی چون درگیر کنکور ارشد آزاد و سراسری و پروژه میشم.) دوباره از تابستون 93 تا اول مهر بشرطی ارشد قبول بشم وقت دارم. با شروع ارشد باید زبان برنامه نویسی بلد باشم. کمتر از یکسال تایم دارم.


ویکی پدیا قدمت زبان سطح بالای لیسپ رو با فرترن یکی دونسته: 1958-1957 این زبان چه وضعی داره؟ بیشتر کاربردش کجاست این زبانهای مدرن از این زبانهای قذیمی بهترن؟
« آخرین ویرایش: 13 دی 1391، 01:00 ب‌ظ توسط کیان »

آفلاین Midgårdsormen

  • Hero Member
  • *
  • ارسال: 900
  • جنسیت : پسر
دوستان معمولا به این بی‌محلی میکنن:

http://www.sagemath.org

آفلاین علی نعمت اللهی

  • High Sr. Member
  • *
  • ارسال: 648
  • جنسیت : پسر
  • every thing is [im]possible
    • وبلاگ شخصی من
1- من ++C به علت شی گرایی بر C ترجیه می دهم.
چه بسیارند افرادی که شی گرایی را نمی پسندند. یکیشون آقا استالمن

راجب به go هم اطلاع ندارم ولی به طور کلی توسیه می کنم زبانی یاد بگیری که منابع زیاد داشته باشد و وابسته به شرکت خاصی نباشد. ممکن یک زبان بسار عالی باشد ولی به دلیل عدم وجود منابع کافی یادگیری و رفع ایرادات برنامه نویسی مشکل باشد.
منابع رو نمیدونم ولی go به شرکتی وابسطه نیست. اگه منظورتون گوگله باید بگم اصلا اینطور نیست مثلا شما در وب go هیچ نشانی از گوگل نمی بینید.
اگه به انگلیسی مسلطید خیلی زیاد پیشنهاد میکنم یاد بگیرید.

آفلاین alend

  • High Hero Member
  • *
  • ارسال: 1319
اگر خواستی R کار کنی مطمن شو که تمام چیز های که در آینده لازم داری دارد.

اگر رشته آمار باشی که هیچ شکی نیست  R  همه نیازهاتو بر طرف می کند.