View Full Version : درخواست ایجاد تالار Fortran
رافعی مهدی
یک شنبه 01 اردیبهشت 1387, 10:56 صبح
با عرض سلام و احترام
بنده دانشجوی اواخر دوره ی کارشناسی ارشد مکانیک, گرایش تبدیل انرژی هستم. در این رشته نیاز مبرمی به کد نویسی وجود دارد به طوری که گاهی حس می شود باید بیشتر از یک دانشجوی رشته ی نرم افزار برنامه نویسی کرد!
از آنجا که به علت پیچیده بودن معادلاتی که با آنها سر و کار داریم (معادلات دیفرانسیل با مشتقات جزئی غیر خطی مرتبه بالا) برای برنامه نویسی به یک زبان با سرعت اجرای بسیار بالا نیاز داریم , بنابر توصیه ی شرکت مایکروسافت از زبان فرترن استفاده می کنیم.
فرترن یک زبان فوق العاده قوی (اگر نگوییم قوی ترین زبان) برای انجام محاسبات ریاضی پیچیده محسوب می شود. این است که با وجود قدمت بسیار بالا مدام شرکتهای بزرگ امتیاز این زبان برنامه نویسی را از یکدیگر خریداری می کنند و آن را بهبود می بخشند. چنانچه Compaq Computer Corporation آن را از Microsoft خریداری کرده و پس از مدتی کار بر روی آن, آن را به کمپانی مشهور Intel فروخته است...
آنچه مرا به سوی "برنامه نویس" کشاند Import کردن dll های فرترن به سی شارپ و لذا ضرورت تسلط نسبی بر هر دوی این زبانها در غالب Mixed-language programming بوده است. بنده بارها زبان فرترن را تدریس کرده ام ( و هم اکنون نیز این کار را انجام می دهم) بیشتر اطلاعات خود را از طریق خواندن کتابهای موجود در بازار و Help فرترن بدست آورده ام. اما همواره مسائلی بوده و هست که هنوز برایم به عنوان سوال مطرح هستند و یافتن آنها عمدتاً به این سادگی ها میسر نیست.
سوالی که در اینجا می توان آن را مطرح کرد این است که چرا هیچ سایت فارسی زبانی به صورت تخصصی برای به اشتراک گذاشتن "مباحث برنامه نویسی به زبان فرترن" پیدا نمی شود؟ شاید پاسخ در این باشد که هرگاه از دانشجویان رشته ی نرم افزار راجع به فرترن می پرسم یا لبخند می زنند و یا تعجب می کنند و می گویند فرترن؟
همه ی آنچه عرض شد توجیهی بود برای این درخواست که در سایت خود بخشی را هم به این زبان اختصاص دهید.
با تشکر
مهدی رافعی
ravanfar
یک شنبه 01 اردیبهشت 1387, 14:54 عصر
سلام
من هم قبلاً متقاضی چنین بخشی بودم ولی آنطور که بنظر میرسد متقاضی چندانی نداشت و بعد از مدتها شما با این درخواست را مطرح کردید.
جسارتا شما در صحبتهایتان فرمودید: "به علت پیچیده بودن معادلاتی که با آنها سر و کار داریم (معادلات دیفرانسیل با مشتقات جزئی غیر خطی مرتبه بالا) برای برنامه نویسی به یک زبان با سرعت اجرای بسیار بالا نیاز داریم , بنابر توصیه ی شرکت مایکروسافت از زبان فرترن استفاده می کنیم."
من نیز مشکل شما را داشتم و هر RUNNING من حدود 36 تا 72 ساعت طول میکشید (با همین فورترن) البته با کلی بهینه سازی و انتخاب صحیح اندازه متغیر ها و بهینه سازی سخت افزار (مثل افزایش میزان ram وسرعت cpu) و ... مقدار اندکی از زمان اجرا کاسته میشد ولی با این حال هنوز هم زمان بالا بود.
تا اینکه با توصیه افراد با تجربه از نرم افزار Matlabنسخه R2007A بر روی یک سکو با CPU اینتل نسخه extreme با cache 8mb و 4gb ram توانستیم به بهره وری خیلی با لاتری دست پیدا کنیم (البته در همون matlab هم، ما در قسمتی که core های cpuرا شناسایی میکند بطور دستی آنها را به نرم افزار معرفی کردیم )
رافعی مهدی
یک شنبه 01 اردیبهشت 1387, 16:32 عصر
جناب آقای/خانم روانفر
سلام. پیش از هر چیز از اینکه در این بحث شرکت کرده اید ممنونم.
:
:
جالب است بدانیم سرعت حلقه های داخلی نرم افزار Matlab تا بیست و پنج برابر به کمک فرترن بهبود یافته است!:متعجب: این مسئله بیانگر کارآیی بالای فرترن است و البته به عقیده ی من بزرگترین دلیل بر بقای این زبان.
توجه به اینکه شرکتهای بزرگ سازنده ی قطعات اصلی سخت افزاری این زبان را از یکدیگر خریداری می کنند نشان می دهد که ساختار این زبان می تواند ارتباط مستقیمی با نحوه ی عملکرد CPU داشته باشد...
البته قابلیت دیگری هم وجود دارد که به کمک آن می توان سرعت اجرای برنامه های هر زبان مخصوصاً فرترن را به دو تا چند برابر افزایش داد و آن قابلیت این است که اطلاعات اضافی فایلهای میانی که غالباً مربوط به پروسه ی Debugging هستند را از فایل exe حذف کرد و نسخه ی Release فایل exe را بوجود آورد. ممکن است در مورد برنامه ی شما این نکته مراعات نشده باشد. (یعنی سرعت نسخه ی Debug فرترن با Release مطلب مقایسه شده باشد)
همچنین شما به استفاده از نوعی برنامه مجهز به تکنیک Multi-Threads اشاره کردید که به کمک آن می توان زمان بندی CPU را در اختیار گرفت که البته خود عامل بسیار خوبی در افزایش سرعت یک برنامه است. (ولی نه همیشه)
آنچه از مقایسه های متعدد بین Runtime برنامه های فرترن و بالاخص مطلب (با لحاظ کردن امکانات بکار رفته ی مساوی در این برنامه ها) حاصل شده, بیانگر اختلاف چشمگیر سرعت آنهاست.
با احترام
رافعی مهدی
دوشنبه 16 اردیبهشت 1387, 20:18 عصر
با عرض سلام مجدد
چند وقت قبل تقاضای ایجاد تالار فرترن را تنها به این دلیل که فرترن زبان خوبی است و در بسیاری از موارد علمی از قدرت خوبی برخوردار است تقدیم مسئولین محترم سایت کردم. ضمناً بیان شد که این زبان در زمینه های علمی همچنان طرفداران زیادی دارد, هرچند که برای دانشجویان رشته های مختلف کامپیوتر (نرم افزار, علوم کامپیوتر و ...) تحت عنوان یک زبان منسوخ و از رده خارج شده محسوب شود.(آن هم فقط به دلیل بی/کم اطلاعی از این زبان!)
با این حال هیچ جوابی مبنی بر مثبت یا منفی بودن نظر مسئولین سایت دریافت نکردم. لطفاً اگر با این درخواست موافق هستید/نیستید نظر خود را (حتی المقدور اگر موافق نیستید با ذکر دلیل) بفرمائید. در ضمن اگر برای موافقت لازم است اطلاعات بیشتری ارائه شود بفرمائید تا این کار را انجام دهم.
با احترام
مهدی رافعی
meytim
شنبه 19 مرداد 1387, 18:01 عصر
جناب آقای/خانم روانفر
سلام. پیش از هر چیز از اینکه در این بحث شرکت کرده اید ممنونم.
:
:
جالب است بدانیم سرعت حلقه های داخلی نرم افزار Matlab تا بیست و پنج برابر به کمک فرترن بهبود یافته است!:متعجب: این مسئله بیانگر کارآیی بالای فرترن است و البته به عقیده ی من بزرگترین دلیل بر بقای این زبان.
توجه به اینکه شرکتهای بزرگ سازنده ی قطعات اصلی سخت افزاری این زبان را از یکدیگر خریداری می کنند نشان می دهد که ساختار این زبان می تواند ارتباط مستقیمی با نحوه ی عملکرد CPU داشته باشد...
البته قابلیت دیگری هم وجود دارد که به کمک آن می توان سرعت اجرای برنامه های هر زبان مخصوصاً فرترن را به دو تا چند برابر افزایش داد و آن قابلیت این است که اطلاعات اضافی فایلهای میانی که غالباً مربوط به پروسه ی Debugging هستند را از فایل exe حذف کرد و نسخه ی Release فایل exe را بوجود آورد. ممکن است در مورد برنامه ی شما این نکته مراعات نشده باشد. (یعنی سرعت نسخه ی Debug فرترن با Release مطلب مقایسه شده باشد)
همچنین شما به استفاده از نوعی برنامه مجهز به تکنیک Multi-Threads اشاره کردید که به کمک آن می توان زمان بندی CPU را در اختیار گرفت که البته خود عامل بسیار خوبی در افزایش سرعت یک برنامه است. (ولی نه همیشه)
آنچه از مقایسه های متعدد بین Runtime برنامه های فرترن و بالاخص مطلب (با لحاظ کردن امکانات بکار رفته ی مساوی در این برنامه ها) حاصل شده, بیانگر اختلاف چشمگیر سرعت آنهاست.
با احترام
اين نتيجهگيري ميتواند حاصل يك مقايسة نادرست باشد؛ چون حرفهايهاي متلب از حلقة for استفاده نميكنند و به جاي آن از عملگرهاي برداري استفاده ميكنند، كه سرعتش بسيار بيشتر از حلقة for است. فرترن توانايي انجام چنين عملي را ندارد. بنابراين شما نميتوانيد اين دو را با هم مقايسه كنيد، اما ميتوانيد سرعت انجام يك كار به خصوص را كه يك فرد حرفهاي فرترن و يك فرد حرفهاي متلب نوشته است را با هم مقايسه كنيد. اين كار را در مورد مسائل مختلف قبلاً انجام دادهاند؛ فرترن برتري خاصي بر متلب ندارد، اما متلب يك دنيا برتري بر فرترن دارد.
vcldeveloper
شنبه 19 مرداد 1387, 22:51 عصر
با این حال هیچ جوابی مبنی بر مثبت یا منفی بودن نظر مسئولین سایت دریافت نکردم. لطفاً اگر با این درخواست موافق هستید/نیستید نظر خود را (حتی المقدور اگر موافق نیستید با ذکر دلیل) بفرمائید.
در اینجور موارد، سیاست مسئولین سایت این هست که سکوت کنند و میزان استقبال کاربران از تقاضای مربوطه را بسنجند. اگر میزان تقاضا قابل توجه بود، درباره ایجاد یا عدم ایجاد تالارا مورد درخواست تصمیم گیری می کنند. همانطور که می بینید، فعلا استقبال قابل توجهی از ایجاد این تالار نشده.
موفق باشید
رافعی مهدی
دوشنبه 21 مرداد 1387, 14:30 عصر
خدمت meytim عرض شود كه ...
اساساً Matlab را نمي توان جزو زبانهاي برنامه نويسي به شمار آورد، Matlab صرفاً يك نرم افزار (غول پيكر) است، اگرچه كه با آن بتوان برنامه هم نوشت. بنابراين مقايسه ي Matlab با Fortran يك قياس مع الفارق است.
آنچه راجع به فرترن مي توان گفت اين است كه داراي قوي ترين و گسترده ترين كتابخانه ي رياضي در ميان تمام زبانهاي برنامه نويسي است. علاوه بر اين، حتي بدون استفاده از كتابخانه هاي جانبي و در محيط برنامه نويسي معمولي، مثلاً مي توانيد دو بردار را در هم ضرب داخلي كنيد، يا دو ماتريس را در هم ضرب كنيد يا دو عدد مختلط را به توان هم برسانيد. ممكن است اين سؤال ايجاد شود كه پس كتابخانه هاي رياضياتي چه كاري انجام مي دهند؟ در اين مورد مي توان به استفاده از توابع بسل مختلف، سري فوريه و ... اشاره كرد. بنابراين نمي توان گفت فرترن اپراتورهاي برداري را نمي شناسد!!!
رافعی مهدی
دوشنبه 21 مرداد 1387, 14:37 عصر
در اینجور موارد، سیاست مسئولین سایت این هست که سکوت کنند و میزان استقبال کاربران از تقاضای مربوطه را بسنجند. اگر میزان تقاضا قابل توجه بود، درباره ایجاد یا عدم ایجاد تالارا مورد درخواست تصمیم گیری می کنند. همانطور که می بینید، فعلا استقبال قابل توجهی از ایجاد این تالار نشده.
موفق باشید
جناب آقاي كشاورز
با سياستي كه در پيش گرفته ايد، كاملاً موافقم. راستش اگرچه كه هنوز هم فرترن رو تدريس مي كنم، ولي ديگه با اون مثل قبل برنامه نمي نويسم. اينقدر برنامه نويسي در محيط هايي مثل #C جذاب است كه تنها براي انجام كارهايي كه به محاسبات سنگين نيازمند هستند به فرترن مراجعه مي كنم.:لبخندساده:
با تقديم احترام
meytim
چهارشنبه 30 مرداد 1387, 18:10 عصر
جناب آقای/خانم روانفر
سلام. پیش از هر چیز از اینکه در این بحث شرکت کرده اید ممنونم.
:
:
جالب است بدانیم سرعت حلقه های داخلی نرم افزار Matlab تا بیست و پنج برابر به کمک فرترن بهبود یافته است!:متعجب: این مسئله بیانگر کارآیی بالای فرترن است و البته به عقیده ی من بزرگترین دلیل بر بقای این زبان.
توجه به اینکه شرکتهای بزرگ سازنده ی قطعات اصلی سخت افزاری این زبان را از یکدیگر خریداری می کنند نشان می دهد که ساختار این زبان می تواند ارتباط مستقیمی با نحوه ی عملکرد CPU داشته باشد...
البته قابلیت دیگری هم وجود دارد که به کمک آن می توان سرعت اجرای برنامه های هر زبان مخصوصاً فرترن را به دو تا چند برابر افزایش داد و آن قابلیت این است که اطلاعات اضافی فایلهای میانی که غالباً مربوط به پروسه ی Debugging هستند را از فایل exe حذف کرد و نسخه ی Release فایل exe را بوجود آورد. ممکن است در مورد برنامه ی شما این نکته مراعات نشده باشد. (یعنی سرعت نسخه ی Debug فرترن با Release مطلب مقایسه شده باشد)
همچنین شما به استفاده از نوعی برنامه مجهز به تکنیک Multi-Threads اشاره کردید که به کمک آن می توان زمان بندی CPU را در اختیار گرفت که البته خود عامل بسیار خوبی در افزایش سرعت یک برنامه است. (ولی نه همیشه)
آنچه از مقایسه های متعدد بین Runtime برنامه های فرترن و بالاخص مطلب (با لحاظ کردن امکانات بکار رفته ی مساوی در این برنامه ها) حاصل شده, بیانگر اختلاف چشمگیر سرعت آنهاست.
با احترام
خدمت meytim عرض شود كه ...
اساساً Matlab را نمي توان جزو زبانهاي برنامه نويسي به شمار آورد، Matlab صرفاً يك نرم افزار (غول پيكر) است، اگرچه كه با آن بتوان برنامه هم نوشت. بنابراين مقايسه ي Matlab با Fortran يك قياس مع الفارق است.
آنچه راجع به فرترن مي توان گفت اين است كه داراي قوي ترين و گسترده ترين كتابخانه ي رياضي در ميان تمام زبانهاي برنامه نويسي است. علاوه بر اين، حتي بدون استفاده از كتابخانه هاي جانبي و در محيط برنامه نويسي معمولي، مثلاً مي توانيد دو بردار را در هم ضرب داخلي كنيد، يا دو ماتريس را در هم ضرب كنيد يا دو عدد مختلط را به توان هم برسانيد. ممكن است اين سؤال ايجاد شود كه پس كتابخانه هاي رياضياتي چه كاري انجام مي دهند؟ در اين مورد مي توان به استفاده از توابع بسل مختلف، سري فوريه و ... اشاره كرد. بنابراين نمي توان گفت فرترن اپراتورهاي برداري را نمي شناسد!!!
ـ اينكه نوشتيد "مقايسهي Matlab با Fortran يك قياس معالفارق است" من هم نخواستم مقايسه كنم؛ شما در مورد سرعتها صحبت كرده بوديد، خواستم يادآوري كنم كه اون ادعا غلطه.
ـ اينكه نوشتيد "نميتوان گفت فرترن اپراتورهاي برداري را نميشناسد" يك حرف غلط ديگه هست؛ چون اين چيزي كه شما نوشتيد چند تا عمل ساده روي بردارها و ماتريسها بود، كه هيچ ارتباطي با "عملگر برداري" نداره. اگه خواستيد بدونيد عملگر برداري چيه ميتونيد بخش 10.1 و 19.1 كتاب "شگردهاي عددي (http://mmnrecipes.blogspot.com/)" رو بخونيد؛ اونجا در موردشون توضيح دادم.
پينوشت: من قبل از اينکه با MATLAB آشنا بشم، اولش Pascal ياد گرفتم، بعد C ياد گرفتم، بعدش Basic، بعد از اون هم Fortranياد گرفتم. اما بعد از اينکه متلب ياد گرفتم، همة اون زبانها رو کنار گذاشتم و هيچوقت هم به هيچکدومشون هيچاحتياجي پيدا نکردم.
دليل اونهمه تعويض زبان برنامهنويسي اين بود كه اون زبانها توانايي برآوردن نيازهاي من رو نداشتند؛ البته با توجه به پيچيده بودن پروژههايي كهاستادان تعريف ميكردند و نيز زمان محدودِ دردست. اگه قرار باشه يكي از اين محيطهايي رو كه باهاشون كار كردم، براي انجام پروژهاي انتخاب كنم، اولويت اين طور ميشه:
متلب
پاسكال
سي
بيسيك
فرترن
البته اين نظر منه، ممكنه با نظر ديگران فرق داشته باشه.
رافعی مهدی
پنج شنبه 31 مرداد 1387, 12:56 عصر
پينوشت: من قبل از اينکه با MATLAB آشنا بشم، اولش Pascal ياد گرفتم، بعد C ياد گرفتم، بعدش Basic، بعد از اون هم Fortranياد گرفتم. اما بعد از اينکه متلب ياد گرفتم، همة اون زبانها رو کنار گذاشتم و هيچوقت هم به هيچکدومشون هيچاحتياجي پيدا نکردم.
دليل اونهمه تعويض زبان برنامهنويسي اين بود كه اون زبانها توانايي برآوردن نيازهاي من رو نداشتند؛ البته با توجه به پيچيده بودن پروژههايي كهاستادان تعريف ميكردند و نيز زمان محدودِ دردست. اگه قرار باشه يكي از اين محيطهايي رو كه باهاشون كار كردم، براي انجام پروژهاي انتخاب كنم، اولويت اين طور ميشه:
متلب
پاسكال
سي
بيسيك
فرترن
البته اين نظر منه، ممكنه با نظر ديگران فرق داشته باشه.
اگر ادعا کردم Matlab از Fortran بسیار کند تره علتش این است که سرعت اونها رو در موارد مختلف مقایسه و تجربه کردم. البته این تنها نظر من نیست. تمام کسانی که در سایتهای پژوهشی دانشگاه مدلهای عددی خوشان رو با Matlab ران می کنند همین حرف رو می زنند. در هر صورت نمی توان گفت که حتما این ادعای من درست است، چون ممکن است همه ی ما اشتباه کرده باشیم و واقعاً نکاتی وجود داشته باشند که اگر آنها را در نظر بگیریم سرعت اجرای Matlab به Fortran برسد. اگر این طور است خوشحال می شوم شما راهنمایی بفرمایید که چطور همچین امری امکان پذیر است، چون باعث می شه دیگه در دانشگاههایی مثل فردوسی مشهد، صنعتی اصفهان، شیراز و ... دیگه از فرترن استفاده نشود و همه رو به Matlab بیاورند. اونوقت دیگه لازم نیست معادلات Navier-Stokes رو به سختی با فرترن بنویسیم و هزار تا مزیت دیگه. در حال حاضر در برخی مراکز از فرترن تحت Linux استفاده می شود که البته سرعت بالاتری نسبت به نسخه ی تحت Windows داره ولی سراغ Matlab نمی روند.
در مورد اپراتورهای برداری هم باید بگم راستش وقت ندارم به کتاب شما مراجعه کنم. اگر خواستید راجع به اونها با هم بحث کنیم آنها رو در همین تاپیک معرفی کنید.
.
samir2253122
سه شنبه 14 آبان 1387, 23:02 عصر
با سلام
هنگام كار براي پايان نامه ام به برنامه اي به زبان فرترن FORTRAN برخورده ام اما چون خيلي بهش وارد نيستم به مشكلات زيادي برخوردم. فكر ميكنم ايجاد تالاري براي اين برنامه كم طرفدار ولي پر كاربرد ميتونه در آينده مشكلات به مهندسان مكانيك و عمران كمك بزرگي بكنه لازم به ذكر هست مهندسان عمران و مكانيك از طريق جستجو وارد اين سايت ميشوند چون حرفه آنها برنامه نويسي نيست.
amir_arman2000
پنج شنبه 29 بهمن 1388, 12:57 عصر
با سلام ، من هم دانشجوی کارشناسی ارشد عمران هستم و مي خواستم به اظهارات دوستان اين مطلب را اضافه کنم که بسياري از کدهاي قبلي براي کاراي محاسباتي مهندسی به اين زبان نوشته شده اند و استفاده آنها تنها با تسلط به اين زبان میسر مي شود . همچنين امروزه استفاده از کدهاي پيش نوشته در برنامه نويسي و فراخواني آنها توسط زبان هاي جديد تر امري مرسوم است .:چشمک:
amirokhovat
شنبه 07 فروردین 1389, 19:13 عصر
با عرض سلام لطفا یک تاپیک مربوط به فرترن قرار دهید
sia_2007
شنبه 07 فروردین 1389, 20:12 عصر
حتی اگر فرض را بر این بگذاریم که در صورت ایجاد تالاری برای فرترن، این تالار کم رونق خواهد بود، ایجاد آن بلا اشکال است.
باید تعریف رونق را با توجه به مسئله مطرح کنیم.
چه اشکال دارد که جایی باشد تا دوستان مشکلاتشان رو حل کنند ؟
قرار نیست که هر روز 10 تا تاپیک زده بشه.
خیلی ها حتی اسم فرترن رو هم نشنیده اند، اما بالاخره FORTRAN و Python و یا سایر زبان هایی که مفیدند ولی استفاده کننده کم دارند، هم باید جایی در این سایت داشته باشند.
موفق باشید
amin1softco
یک شنبه 08 فروردین 1389, 09:33 صبح
فکر کنم Python یک تالار داشته باشه البته با پرل و اینها همسایست:چشمک:
saleh.hi.62
سه شنبه 10 فروردین 1389, 05:40 صبح
منم فکر کنم پایتون یک زبان همه فن حریفه که همه کار ازش بر میاد حتی برای محاسبات خیلی عالی جواب میده
این دوتا لینک رو دوستان میتونن یک نگاه بندازن:
http://cauchy.math.okstate.edu/~ullrich/PyPlug/
http://dirac.cnrs-orleans.fr/plone/Members/hinsen/courses-and-lecture-notes/python/an-introduction-to-python-for-scientists/part-1-python-as-a-calculator
http://www.edparadis.com/pyode (http://www.edparadis.com/pyode/)
bahar_engineer
دوشنبه 07 تیر 1389, 10:05 صبح
سلام
لطفا یک تالار برای فرترن قرار بدین
فرترن چون به قول بچه ها توی نرم افزار منسوخ شده و کسی ازش استفاده نمی کنه اما من که یه کارشناس نرم افزارم الان به مشکل بر خوردم
چون یه پروژه گرفتم که فرترن 77 و هیچ تالاری برای پرسیدن ساده ترین سوالام پیدا نمی کنم!
وقتی فرترن یه زبان برنامه نویسی 100% باید یه تالار هم داشته باشه
لطفا هر چه سریعتر نسبت به ایجاد تالار فرترن اقدام کنید. اگه تا به حال تالار ایجاد شده بود شاید کلی از سوالات من پرسیده شده و پاسخ داده شده بود
می دونین که پروژه های فنی و مکانیکی مثل هلیکوپتر و اینها با فرترن نوشته می شن چون ما هنوز تکنولوژی 50 سال پیش رو در این زمینه داریم باید از زبان های قدیمی هم استفاده کنیم!
o4.pro
جمعه 09 مهر 1389, 00:51 صبح
در باره بحث دوستان در مورد مقایسه فرترن و متلب باید عرض کنم در اینکه سرعت زبانهایی نظیر فرترن و سی از دیگر زبانهای برنامه نویسی بیشتر است شکی نیست. ولی شاید دلیل اینکه دوستان توانسته اند با فرترن با سرعت بیشتری برنامه ها یشان را اجرا کنند قطعا به علت کتاب خانه های متعدد این نرم افزار است ولی قطعا اگر کد موجود را بر اساس زبان های برنامه نویسی فرترن و سی به درستی و با لحاظ کردن تمامی قواعد برنامه نویسی انجام شود بدون شک سرعت بالاتری خواهند داشت به هر حال این زبان ها زبان پایه ای تری به حساب می آیند. ولی تنها مزیت برنامه نویسی با متلب سهولت برنامه نویسی به جهت داشتن تعداد زیاد تابع از پیش تعریف شده برای برنامه نویسان است.
به هر حال من هم از آنجایی که عموم مدل های مطرح موجود در زمینه علم منابع آب از و به عنوان یک دانشجوی کارشناسی ارشد منابع آب درخواست ایجاد این تالار را دارم باشد که با کمک دوستان حرکتی مثبت در جهت ارتقاع برنامه نویسی مهندسی دوستان انجام شود.
jblaox
جمعه 29 مهر 1390, 01:13 صبح
آشغال ترین زبان کل کائنات Fortran است
من خودم تجربه کار با این زبان ها را دارم
C/C++ فوق حرفه ای !!
C# متوسط !
Matlab حرفه ای !
PHP حرفه ای !
و ...
Fortran متوسط رو به پایین !
این که میگوید فورترن سریعتر درسته (این سند (https://modelingguru.nasa.gov/docs/DOC-1762)) ، اما آشغال به خدا ، کاری که با matlab میشود با 3 خط کد کرد با فورترن با 30-15 خط هم نمیشود تازه کلی مشکل هم داره ... فقط سعی کن یک بار یک نمودار بکشی ، هر تابع ریاضی که دلت خواست ، بعد با وجدان خوت قضاوت کن که مطلب راحت تر است یا این .
در کل اصلا به ان سرعت نمی ارزه بقیه مشکلات گسترده ان .
این از تجربه من ، یک بنده خدای این ها را گفته :
- استفاده از تکنولوژی و تکنیکهای قدیمی برنامه نویسی بدلیل تنبلی و یا ترس از ایجاد یک سیستم جدید با تکنولوژی مدرن به نظر من کاری احمقانه وعبث می باشد. این یکی نوع ارتجاع علمی است.
2- آیا به نظر شما آقایون کفار و مشرکین در بلاد کفر ، متخصص هم هنوز به زبانهای قدیمی مثل فرترن چسبیده اند؟(اگر پاسخ مثبت است پس این همه نرم افزار تخصصی که با زبانهای برنامه نویسی روز دنیا نوشته شده اند رو چگونه توجیه می کنید؟)
3- جای اشاعه این طرز فکر ارتجاعی بهتر بود روی بروز رسانی نرم افزارهای تخصصی رشته خود با استفاده از زبانهای نسل فعلی کار کنید.
SAASTN
چهارشنبه 25 آبان 1390, 22:29 عصر
اینجا جای بحث فنی نیست ولی روندی که تو تاپیک طی شده یکم نیاز به اصلاح داره.
- استفاده از تکنولوژی و تکنیکهای قدیمی برنامه نویسی بدلیل تنبلی و یا ترس از ایجاد یک سیستم جدید با تکنولوژی مدرن به نظر من کاری احمقانه وعبث می باشد. این یکی نوع ارتجاع علمی است.
خیلی عذر می خوام، ولی از اونجایی که شما استفاده از ابزاری مثل زبان Fortran رو احمقانه می دونید به خودم اجازه میدم که بگم این پست شما هم به نظر من پر از حرفای بی معنی هست و نشون از بی اطلاعی شما نسبت به موضوعی داره که در موردش اظهار نظر می کنید!!! لطف بفرمائید بیشتر در مورد فرترن تحقیق کنید، Fortran 2008 کلیدواژه مناسبی برای جستجو تو گوگل خواهد بود!
آیا به نظر شما آقایون کفار و مشرکین در بلاد کفر ، متخصص هم هنوز به زبانهای قدیمی مثل فرترن چسبیده اند؟(اگر پاسخ مثبت است پس این همه نرم افزار تخصصی که با زبانهای برنامه نویسی روز دنیا نوشته شده اند رو چگونه توجیه می کنید؟)
تا جایی که می دونم بخش اعظم توابع محاسباتی و ماتریسی همون Matlab با فرترن نوشته شده. موتورهای محاسباتی خیلی از نرم افزار های فنی و محاسباتی با این زبان نوشته می شه. هر زبانی کاربرد خودش رو داره و باید بجاش استفاده بشه، البته وقتی Matlab و C و PHP رو کنار هم بذاریم و به همشون بگیم زبان برنامه نویسی و تازه در مورد زبان های کل کائنات هم نظر بدیم بهتر از این نمیشه.
جای اشاعه این طرز فکر ارتجاعی بهتر بود روی بروز رسانی نرم افزارهای تخصصی رشته خود با استفاده از زبانهای نسل فعلی کار کنید.
لطفا اینقدر راحت نسخه نپیچید، ممکنه دیگران رو به اشتباه بندازید.
اما در مورد بخش فرترن، خوب توضیحات آقای کشاورز هست، سیاست این سایت هم در مورد خیلی از تالارهای درخواستی مشخص بوده. خیلی از دوستان تصور می کنن به محض ایجاد یک بخش جدید چند نفر علامه دهر هم پیدا میشن و کلیه مشکلات اون حوزه رو حل می کنن. ولی اینطور نیست، واقعیت اینه که تعداد دانش آموختگان رشته نرم افزار که می دونن زبانهایی مثل فرترن هنوز زنده هستن و توسعه داده میشن از تعداد پستهای این تاپیک هم کمترند، چون در اثر وضعیت بازار کار مضحکمون خیلی از همین دانش آموختگان فکر می کنن فوتوشاپ هم یه دیتابیس SQL داره. می مونن افرادی که با توجه به زمینه تحصیلی و تحقیقاتیشون به سمت این زبان ها می رن، این افراد هم گذرشون به یه سایت نرم افزاری کمتر میافته، تازه اگه اینجا هم بیان با توجه به اینکه زمینه تحصیلیشون چیز دیگه ای بوده، با حفظ احترام، عموما مرجع خوبی برای برنامه نویسا نیستن. در عمل این جور بخش ها به راحتی می تونن تبدیل به یه مکان ایده آل برای پرورش عنکبوت بشن. اما شاید بگید وجود همچین بخشی بهتر از نبودش هست، ولی نظر شخصی من اینه که ایجاد یه بخش مربوط به فرترن توی این سایت عملا کمکی به استفاده کنندگان حقیقی این زبان نمی کنه، اگه محصلین رشته های مختلف توی تالارهای تخصصی رشته خوشون این مسئله رو مطرح کنند به نتیجه بهتری میرسن. اگه این بخش تو این سایت هم ایجاد بشه میره کنار همون لینکهای پراکنده ای که با جستجو توی گوگل پیدا می کنید. شاید توی یه شرایط نرمال، این واقعا وظیفه یه سایت نرم افزاری بود که مشکلات برنامه نویسی دانشجویان رشته های دیگه رو هم پوشش بده، ولی همونطور که گفتم مقصر شرایط بازار کار هست که اون هم خودش معلول عدم رعایت Copy Right تو کشوره.
البته معمولا مسئولان سایت هم برای تخمین بهتر، یه بخش اشتراکی رو برای انجام فعالیت این جور زمینه های خاص معرفی می کنن که این اتفاق تا بحال در مورد فرترن نیافتاده یا من بی اطلاعم.
من بازم از همه عذر می خوام که اومدم و اینطور گرد و خاک راه انداختم، من خودم تا حالا یه خطم با فرترن ننوشتم!:لبخند: ولی تو کارم با افراد زیادی برخورد داشتم که رشته مهندسی دیگه ای خوندن و با توجه به کارای تحقیقاتیشون برنامه نویسی می کنن، این مطالبی هم که گفتم نقل از همین دوستان هست که شخصا قبولشون دارم، ولی خوب شما که نمیشناسیدشون پس بیشتر تحقیق کنید.:چشمک:
meytim
جمعه 15 اردیبهشت 1391, 19:05 عصر
آشغال ترین زبان کل کائنات Fortran است
من خودم تجربه کار با این زبان ها را دارم
C/C++ فوق حرفه ای !!
C# متوسط !
Matlab حرفه ای !
PHP حرفه ای !
و ...
Fortran متوسط رو به پایین !
این که میگوید فورترن سریعتر درسته (این سند (https://modelingguru.nasa.gov/docs/DOC-1762)) ، اما آشغال به خدا ، کاری که با matlab میشود با 3 خط کد کرد با فورترن با 30-15 خط هم نمیشود تازه کلی مشکل هم داره ... فقط سعی کن یک بار یک نمودار بکشی ، هر تابع ریاضی که دلت خواست ، بعد با وجدان خوت قضاوت کن که مطلب راحت تر است یا این .
در کل اصلا به ان سرعت نمی ارزه بقیه مشکلات گسترده ان .
این از تجربه من ، یک بنده خدای این ها را گفته :
- استفاده از تکنولوژی و تکنیکهای قدیمی برنامه نویسی بدلیل تنبلی و یا ترس از ایجاد یک سیستم جدید با تکنولوژی مدرن به نظر من کاری احمقانه وعبث می باشد. این یکی نوع ارتجاع علمی است.
2- آیا به نظر شما آقایون کفار و مشرکین در بلاد کفر ، متخصص هم هنوز به زبانهای قدیمی مثل فرترن چسبیده اند؟(اگر پاسخ مثبت است پس این همه نرم افزار تخصصی که با زبانهای برنامه نویسی روز دنیا نوشته شده اند رو چگونه توجیه می کنید؟)
3- جای اشاعه این طرز فکر ارتجاعی بهتر بود روی بروز رسانی نرم افزارهای تخصصی رشته خود با استفاده از زبانهای نسل فعلی کار کنید.
آقا خیلی ممنون از این سند بسیار جالب؛ البته این سند هم داره نشون می ده که اگه به صورت حرفه ای از متلب استفاده کنید، در اکثر مواقع سرعتش از فرترن بیشتره.
IamOverlord
شنبه 16 اردیبهشت 1391, 23:00 عصر
آشغال ترین زبان کل کائنات Fortran است
من خودم تجربه کار با این زبان ها را دارم
C/C++ فوق حرفه ای !!
C# متوسط !
Matlab حرفه ای !
PHP حرفه ای !
و ...
Fortran متوسط رو به پایین !
این که میگوید فورترن سریعتر درسته (این سند (https://modelingguru.nasa.gov/docs/DOC-1762)) ، اما آشغال به خدا ، کاری که با matlab میشود با 3 خط کد کرد با فورترن با 30-15 خط هم نمیشود تازه کلی مشکل هم داره ... فقط سعی کن یک بار یک نمودار بکشی ، هر تابع ریاضی که دلت خواست ، بعد با وجدان خوت قضاوت کن که مطلب راحت تر است یا این .
در کل اصلا به ان سرعت نمی ارزه بقیه مشکلات گسترده ان .
این از تجربه من ، یک بنده خدای این ها را گفته :
- استفاده از تکنولوژی و تکنیکهای قدیمی برنامه نویسی بدلیل تنبلی و یا ترس از ایجاد یک سیستم جدید با تکنولوژی مدرن به نظر من کاری احمقانه وعبث می باشد. این یکی نوع ارتجاع علمی است.
2- آیا به نظر شما آقایون کفار و مشرکین در بلاد کفر ، متخصص هم هنوز به زبانهای قدیمی مثل فرترن چسبیده اند؟(اگر پاسخ مثبت است پس این همه نرم افزار تخصصی که با زبانهای برنامه نویسی روز دنیا نوشته شده اند رو چگونه توجیه می کنید؟)
3- جای اشاعه این طرز فکر ارتجاعی بهتر بود روی بروز رسانی نرم افزارهای تخصصی رشته خود با استفاده از زبانهای نسل فعلی کار کنید.
answers.yahoo.com/question/index?qid=20071031145208AAHKp1Z
www.usq.de/f90/why.htm
www.cs.rpi.edu/~szymansk/OOF90/f90ex.html
www-h.eng.cam.ac.uk/help/tpl/languages/C/teaching_C/node57.html
S_Hvaz
دوشنبه 12 فروردین 1392, 13:30 عصر
پیشنهاد میشه این تالار تشکیل بشه و هر کس هم که علاقه مند هست ازش استفاده کنه و کسایی هم که به فرترن علاقه مند نیستند میتونن ازش بازدید نداشته باشن.
همچنین، شاید خیلی ها نیاز کارشون باشه ولی میان میبینن خبری نیست، میرن.
من یه سوال درباره نحوه تبدیل فایل فرترن به dll در نرم افزار Plato داشتم.
با تشکر از نظرات دوستان
ASKaffash
شنبه 17 فروردین 1392, 07:58 صبح
سلام
پیشنهاد میکنم تالار فرترن ایجاد شود ولی یادمان نرود که زبان #F برای سرعت بخشیدن در محاسبات ریاضی در دات نت ابداع شده است
Desaghi
شنبه 17 فروردین 1392, 11:34 صبح
در این صورت دانشجویان رشته های دیگه(غیر از نرم افزار) هم جذب میشن
جای بحث در مورد محاسبات عددی خالیه
FastCode
دوشنبه 19 فروردین 1392, 22:06 عصر
اگر واقعا مشکل سرعته میشه از اسمبلی یا C و C++ استفاده کرد.
ولی چیزی که باعث میشه فرترن هنوز یک زبون برنامه نویسی باشه میزان تلاشی هست که برنامه نویس برای رسیدن به این سرعت انجام میده.که به نظر من در موارد مهندسی(عدم سواد برای نوشتن الگوریتم درست/بله.حقیقت تلخه)میتونه استفاده عملا قابل قبولی داشته باشه.
به نظر من قابل استفادست.(البته من احتمالا تا آخر عمرم باهاش کد ننویسم.)
یوسف زالی
شنبه 24 فروردین 1392, 15:35 عصر
سلام.
من باهاش یک بار کد نوشتم و بیچاره شدم.
حس می کردم دارم با اسمبلی می نویسم. البته ممکن بوده که نسخه ای که من داشتم باهاش کد می زدم اون جوری بوده باشه. نمی دونم.
برنامه برای محاسبات روی مقطع بال هواپیما بود و قرار بود تبدیل بشه به زبان سطح بالا. من دلفی رو ترجیح دادم و ابدا از سرعت کم نیاوردم.
اون روز به علت نبود منبع و آموزش و تالار خودم راه اکتشاف رو پیش گرفتم.
ترجیح من فورترن نیست. فکر هم نمی کنم اگر مجبور نباشم برم باهاش کد بزنم. دلفی تمام نیاز های من رو برآورده کرد. البته مقایسه درستی نیست.
شاید پردازش های من اصلا چیزی محسوب نمی شده.
در کل حس می کنم بودن تالار براش مفیده. ممکنه پرورش عنکبوت بشه! اما خب بشه. چه اشکالی داره؟ جامون رو که تنگ نکرده.
من با ایجادش موافقم.
مهدی کرامتی
دوشنبه 02 اردیبهشت 1392, 23:24 عصر
تالاربرنامه نویسی Fortran (http://barnamenevis.org/forumdisplay.php?201-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-Fortran)ایجاد شد: http://barnamenevis.org/forumdisplay.php?201
shahab_h2006
پنج شنبه 15 خرداد 1393, 23:17 عصر
آقا خیلی ممنون از این سند بسیار جالب؛ البته این سند هم داره نشون می ده که اگه به صورت حرفه ای از متلب استفاده کنید، در اکثر مواقع سرعتش از فرترن بیشتره.
دوست عزيز تو اين سند کجا سرعت فرترن از متلب کمتره. فرترن جديد ifort است که تو همه زمينهها از متلب سرعتش بيشتره.
Saeedhszd
سه شنبه 16 آذر 1400, 21:09 عصر
سلام دوستان،
من دنبال راه حل واسه مشکلم میگشتم که اینجارو یهویی پیدا کردم. امیدوارم که بعد از گذشت چندین سال از این تاپیک، کسی اینجا باشه و منو راهنمایی کنه.
سوالی که دارم اینه که چطور میتونم از طریق C به فرترن دسترسی داشته باشم و نتایج محاسبتی رو که در توابع مختلف در فرترن بدست اومده رو در C فراخوانی کنم و از آنها در فرمولهای بعدی که در C نوشته شده است، استفاده کنم.
پیشاپیش ممنون از شما
یوسف زالی
چهارشنبه 17 آذر 1400, 02:57 صبح
سلام. اینجا رو ببینید
https://stackoverflow.com/questions/8207997/calling-a-fortran-subroutine-from-c
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.