Matlab + C

فني Add comments

امشب یک سوال جالب برایم پیش آمد که نمی دانم چرا کسی این کار را نکرده. بگذارید توضیح بدهم.

برنامه نویسی در MATLAB بسیار ساده تر از برنامه نویسی در زبان هایی مانند c++ است. یکی از علت های اصلی آن این است که متغییرهای این زبان اصولا به صورت مارتیس تعریف می شوند و شما می توانید روابط ریاضی را همانطور که در جبر خطی می نویسید در MATLAB هم بنویسید. اما در c شما چنین قابلیتی ندارید و همه چیز را باید بر اساس متغییرهای جزء بنویسید و بعد برایشان توابع یا کتابخانه و انواع جدید بسازید. در عوض MATLAB در اجرای حلقه ها بسیار کند تر از C++ است.

سوال من این است که چرا تا به حال کسی یک انشعاب از C++ ارائه نکرده که بشود درش عبارتی مثل این نوشت و قابلیت های C را هم داشته باشد؟ آنهم با این همه کاربرد C در محاسبات و جبر خطی؟!

B = (A’A) ^ -1*A ;

عبارت بالا خیلی قابل فهم تر و انسانی تر است از یک مشت متغییر جانبی و توابع.

چرا زبان برنامه نویسی سطح پایینی وجود ندارد که چنین Syntax ای را قبول کند و بعد ترجمه کند و بعد کامپایل؟ با با همه ایرادهایی که به MATLAB می گیرند که کند است و یا اینکه زبان برنامه نویسی نیست اما به نظرم این نوع برنامه نویسی آینده بیشتری دارد چون سرعت رایانه ها با قانون موور بالا می روند و رابط برنامه نویسی هرچقدر انسانی تر باشد بهتر است.

Balatarin

3 Responses to “Matlab + C”

  1. ImAn Says:

    داغ دلم رو تازه کردی!!!

  2. SoloGen Says:

    ۱) با چنین کاری از روح C دور می‌شویم و تبدیل می‌شویم به زبان‌ای که کلی باید type checking و غیره بکند. توجه بکن که چنین کاری باید داینامیک باشد (یعنی نه فقط در زمان کامپایل) چون سایز ماتریس و غیره در طول زمان عوض می‌شود. این کار باعث خواهد شد که سرعت کار خیلی پایین بیاید (حالا شاید نه به اندازه‌ی مفسری که MatLab را می‌چرخاند).

    ۲) حدس می‌زنم زبان‌ای چون Python تا حدی در این مسیر حرکت می‌کند. نمی‌دانم واقعا عبارت‌ای که نوشته‌ای را به راحتی قبول می‌کند یا نه، اما زبان‌ای است چون C ولی خیلی راحت‌تر. در عوض کند هم هست.

  3. Ramin Says:

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

Leave a Reply

WP Theme & Icons.FoxTheme and Localized by Behrang Yarahmadi
Entries RSS Comments RSS