کدام زبان ؟

در اين بخش مي‌توانيد به مباحث مربوط به انواع زبان هاي برنامه نويسي بپردازيد

مدیران انجمن: athlon64x2, abbas.m.k, شوراي نظارت

ارسال پست
Major II
Major II
نمایه کاربر
پست: 317
تاریخ عضویت: سه‌شنبه ۲۵ مهر ۱۳۸۵, ۱۰:۰۰ ق.ظ
محل اقامت: سرزمين آريايي
سپاس‌های ارسالی: 25 بار
سپاس‌های دریافتی: 20 بار

کدام زبان ؟

پست توسط Mamool »

دوستان مطلع لطفا کمک کننتصویر
من تقریبا با زبان فرترن اشنایی دارم با توجه به اینکه دانشجوی عمران هستم می خواستم ببینم چه زبان دیگه ای به عنوان یه زبان پیشرفته رو علاوه بر این لازمه که یاد بگیرم یا در اینده به دردم می خوره خودم به C++ علاقه مندم .نظر دوستان چیه ؟تصویر
[FONT=Microsoft Sans Serif]
  نمی توانی بالا بروی پس سیب باش تا با افتادنت اندیشه ای بالا  
 
Major II
Major II
نمایه کاربر
پست: 317
تاریخ عضویت: سه‌شنبه ۲۵ مهر ۱۳۸۵, ۱۰:۰۰ ق.ظ
محل اقامت: سرزمين آريايي
سپاس‌های ارسالی: 25 بار
سپاس‌های دریافتی: 20 بار

Re: کدام زبان ؟

پست توسط Mamool »

خیلی ممنون از راهنماییهای بی دریغتون :-O واقعا مشکلمو حل کردین :K:L
[FONT=Microsoft Sans Serif]
  نمی توانی بالا بروی پس سیب باش تا با افتادنت اندیشه ای بالا  
 
New Member
پست: 1
تاریخ عضویت: سه‌شنبه ۲۰ اسفند ۱۳۸۷, ۱۱:۴۶ ب.ظ
سپاس‌های ارسالی: 1 بار
سپاس‌های دریافتی: 1 بار

Re: کدام زبان ؟

پست توسط lovely_girl »

سلام
بهتره با همون c++ شروع کنی.من خودمم با C++ شروع کردم
Captain II
Captain II
پست: 512
تاریخ عضویت: یک‌شنبه ۱۵ مهر ۱۳۸۶, ۷:۱۷ ب.ظ
محل اقامت: يه جايي خيلي دور شايد هم خيلي نزديک
سپاس‌های ارسالی: 159 بار
سپاس‌های دریافتی: 377 بار
تماس:

Re: کدام زبان ؟

پست توسط ta.abad »

باید دید چقدر علاقه داری و اون هم در چه زمینه ای میتونی از delphi یا یکی از زبانهای visual studio استفاده کنی (البته delphi جدید هم بر پایه visual studio هستش) اون زبانهایی هم که توی دانشگاه تدریس میشن مال زمان فیلمهای گودزیلایی ژاپن هستش و توی دنیا دارن ریشه کن میشن(شده اند فقط بعضی جاها استفاده میشن) توی دانشگاه هم به 2 دلیل اینارو یاد میدن 1. اینکه میگن زبانهای پایه هستن و برای آموزش راهت تره (البته دلیلیه برای لاپوشونی دلیل دوم) 2. عدم تسلط و دانش لازم اساتید (جسارته) به زبانهای نوین برنامه نویسی
توی visual studio هم شما میتونی با توجه به علاقتون از بین زبانهای (Visual basic , C# , C++, java) یکی رو انتخاب کنی برنامه نویسی هر 4 تا ، تا حدود زیادی به هم شبیه که سخت ترینشون C++ هستش (امیدوارم توضیحات فوق مفید واقع بشه)
 



 
Colonel I
Colonel I
پست: 643
تاریخ عضویت: سه‌شنبه ۱۹ تیر ۱۳۸۶, ۱:۰۸ ب.ظ
سپاس‌های ارسالی: 300 بار
سپاس‌های دریافتی: 1161 بار

Re: کدام زبان ؟

پست توسط Frogfoot »

البته delphi جدید هم بر پایه visual studio هستش

صحیح نیست! آخرین نسخه دلفی 2009 هست که در RAD Studio تحت Win32 اجرا میشه، و ربطی به Visual Studio نداره. تنها Delphi Prism که نسخه دات نتی دلفی هست در Visual Studio اجرا میشه. یعنی برنامه نویسان دلفی برای نوشتن برنامه های دات نت با دلفی، می تونند از Delphi Prism در Visual Studio استفاده کنند. اما Delphi for Win32 که آخرین نسخه اش دلفی 2009 هست، در IDE خودش اجرا میشه.

اون زبانهایی هم که توی دانشگاه تدریس میشن مال زمان فیلمهای گودزیلایی ژاپن هستش و توی دنیا دارن ریشه کن میشن(شده اند فقط بعضی جاها استفاده میشن) توی دانشگاه هم به 2 دلیل اینارو یاد میدن 1. اینکه میگن زبانهای پایه هستن و برای آموزش راهت تره (البته دلیلیه برای لاپوشونی دلیل دوم) 2. عدم تسلط و دانش لازم اساتید (جسارته) به زبانهای نوین برنامه نویسی

این هم صحیح نیست! زبان های برنامه نویسی که برای تدریس در دانشگاه انتخاب میشند با توجه به دو نکته مهم انتخاب میشند:
1- توانایی آن زبان در انتقال مفاهیم درست برنامه نویسی به دانشجو.
2- امکان بکارگیری دانش آموخته شده از راه یادگیری آن زبان در پروژه های واقعی و تجاری.

اگر زمانی در دانشگاه ها پاسکال با جدیت زیادی تدریس میشد، بخاطر آن بود که دانشجو با مفاهیم برنامه نویسی ساخت یافته به خوبی آشنا شود. چون در آن زمان رهیافت قالب برنامه نویسی ساخت یافته بود. الان از زبان های شی گرا استفاده میشه، چون در حال حاضر رهیافت قالب برنامه نویسی شی گرا هست. مثلا برای همین در خیلی از نقاط دنیا در دانشگاه جاوا تدریس میشه، چون برنامه نویس را مجبور میکنه که با شی گرایی درگیر بشه. شی گرایی کلید همه مسائل برنامه نویسی نیست، ولی چون رهیافت غالب هست، و دانشجو باید حتما با آن آشنا باشه، زبانی را که برنامه نویس را مجبور به درگیر شدن با شی گرایی می کند، انتخاب می کنند.

و اما درباره منقرض شدن همچین زبان هایی، در حال حاضر پر کاربردترین زبان برنامه نویسی در دنیا C\C++ هستند. حالا حالا ها هم قصد منقرض شدن ندارند. اگر شما دور و برخودتان هر جا را می بینید، برنامه نویس VB یا #C پیدا می کنید، دلیل بر آن نیست که سایر زبان ها در حال انقراض هستند! الان تمام سیستم عامل های مطرح دنیا، درایورهای سخت افزاری، بازی های گرافیکی تولید شده توسط شرکت های معروف بازی سازی، همگی با C گاهی با ++C توسعه داده میشند. نرم افزارهای معروفی مثل فایرفاکس، MySQL، Microsoft Office, Adobe Photoshop، و غیره هم با این زبان ها توسعه داده شدند و همچنان توسعه داده میشند.
در کشوری که عمده فعالیت برنامه نویسی اش تولید نرم افزار حسابداری و انبارداری و امثالهم باشه، و بخاطر عدم وجود قانون کپی رایت، بخش عمده ایی از نرم افزارهای آن اختصاصا برای سیستم عامل ویندوز نوشته بشند، و عملا تولید نرم افزارهایی غیر از نرم افزارهای اتوماسیون اداری برای شرکت های نرم افزاری سوددهی کافی نداشته باشه، و بخش عمده ایی از برنامه نویسانش بدون آنکه اصول اولیه برنامه نویسی را هم بدانند، ادعای برنامه نویس بودند دارند، و همواره بدنبال آن هستند که الان کدام زبان مد هست، طبیعی هست که VB یا VB.Net یا #C پر کاربردترین زبان ها باشند.


من تقریبا با زبان فرترن اشنایی دارم با توجه به اینکه دانشجوی عمران هستم می خواستم ببینم چه زبان دیگه ای به عنوان یه زبان پیشرفته رو علاوه بر این لازمه که یاد بگیرم یا در اینده به دردم می خوره خودم به C++ علاقه مندم

بستگی به نوع کاری داره که می خواید انجام بدید. اگر می خواید در همون حوزه تحصیلی خودتون فعال باشید، فرترن و Matlab حرف اول را می زنند، و تسلط بر هر دوی اینها برای شما یک مزیت عمده محسوب میشه. اگر قصد دارید بطور کلی به سمت مهندسی نرم افزار گرایش پیدا کنید، او چیزی که در وهله اول مهم هست، درک شما از اصول اولیه برنامه نویسی و توسعه نرم افزار هست. در توسعه نرم افزار شما یک سری مبانی دارید که هر چند ده سال یک بار تغییر می کنند، و یکسری مفاهیم روبنایی دارید که هر چند سال تغییر می کنند، و یکسری تکنولوژی دارید که ماهانه، یا گاهی هفتگی تغییر می کنند. هر چه درک بهتری از مبانی داشته باشید، فهم مفاهیمی که بر پایه آن مبانی مطرح میشند، و تکنولوژی هایی که بر پایه این مفاهیم ساخته میشند، برای شما راحت تر هست. اگر بدون درک مبانی اولیه، و بعد از آن مفاهیم مربوطه به سراغ یک تکنولوژی خاص برید، عملا برنامه نویس نیستید. برای نمونه می توانید به جامعه برنامه نویسان VB کشورمان در سال های گذشته، و جامعه برنامه نویسان دات نت کشورمان در سال های اخیر مراجعه کنید. تعداد افرادی که در این جوامع مشغول برنامه نویسی هستند و واقعا می فهمند که چیکار دارند می کنند، بسیار کم هست! (البته قصدم توهین به کسی نیست) اکثرا فقط نام یکسری کلاس، خصوصیات آن، و متدهای آن را یاد می گیرند، و شروع به برنامه نویسی می کنند. از آنجایی هم که این تکنولوژی ها بسیاری از جزئیات فنی را از برنامه نویس مخفی می کنند، فکر می کنند که واقعا کار درستی انجام داده اند، و برنامه های خوبی نوشته اند! مثلا زبانی مثل #C یک زبان تماما شی گرا، یا اصطلاحا Pure Object-Oriented هست. برید ببینید چند نفر از برنامه نویسان #C در مملکت ما می توانند تعریف درستی از مفاهیم اولیه شی گرایی مثل کلاس، شی، Polymorphism، Encapsulation، و امثالهم ارائه کنند؟! نه اینکه کسی نباشه! هستند، و اما تعدادشان به نسبت جمعیتی که #C کار می کنند، بسیار کم هست. اگر هم به سوابق آن افراد نگاه کنید، اکثرا افرادی هستند که قبل از ظهور دات نت به شدت با این مفاهیم سر و کار داشتند، و به تناسب موقعیت های شغلی به عرصه دات نت و #C وارد شدند. به انجمن های برنامه نویسی ایرانی (البته در خیلی نقاط دیگه دنیا هم وضع به همین صورت هست، حالا با شدت کم و زیادتر) مراجعه کنید، ببینید در تالارهای VB یا دات نت عمداتا چه نوع سوالاتی پرسیده می شود. می بینید که اکثرا سوالات سطحی هستند. علتش این هست که اکثر افراد آن جامعه بجای آنکه وقت صرف یادگیری مفاهیم کنند، وقت صرف یادگیری تکنولوژی کرده اند. اگر ازشان بپرسید فلان گزینه را در دات نت با کدام خصوصیت می توان تغییر داد، بلد هستند، اما اگر بپرسید، چرا؟ خیلی هایشان گیر می کنند. اگر ازشان بپرسید کار CLR در دات نت را برای شما توضیح دهند، اکثرشان یا نمی دانند، یا یک جواب کلی که در فصل های اول کتاب های آموزش دات نت خوانده اند، ارائه می کنند!
اینها به معنی این نیست که فلان زبان یا تکنولوژی بد هست، و مثلا شما بجای اینکه #C کار کنید، باید اسمبلی کار کنید! بلکه منظور این هست که انتخاب زبان در برنامه نویسی امر خیلی مهمی نیست. سرمایه گزاری بسیار زیادی هم نمی خواهد. شما اگر با مفاهیم به خوبی آشنا باشید، و وقتی کاری در یک زبان برنامه نویسی می کنید، مفهوم آن را خوب درک کنید، خواهید دید که این مفاهیم بین زبان های برنامه نویسی یا اصلا تغییر نمی کنند، یا تغییراتشان بسیار کم هست. در این صورت، یادگیری یک زبان برنامه نویسی جدید برای شما فقط زحمت یادگیری Syntax آن زبان را به همراه دارد، که کار زمانبری هم نیست.
شما اگر میخواید کارتان برنامه نویسی، یا بطور کلی توسعه نرم افزار باشد، بجای آنکه زبان برنامه نویسی بر شما سوار شود، خودتان بر زبان های برنامه نویسی سوار باشید؛ یعنی مفاهیم را خوب درک کنید، با قابلیت ها و نقاط ضعف زبان ها و تکنولوژی هاب مختلف آشنا باشید، و به فراخور نیازهای خودتان و پروژه تان، تکنولوژی مناسب را برای انجام آن انتخاب و استفاده کنید.
Major II
Major II
نمایه کاربر
پست: 317
تاریخ عضویت: سه‌شنبه ۲۵ مهر ۱۳۸۵, ۱۰:۰۰ ق.ظ
محل اقامت: سرزمين آريايي
سپاس‌های ارسالی: 25 بار
سپاس‌های دریافتی: 20 بار

Re: کدام زبان ؟

پست توسط Mamool »

Frogfoot
دوست عزیز از توضیحاتتون ممنونم :)
هدف من از یاد گرفتن زبان برنامه نویسی توسعه نرم افزار نیست با توجه به زمینه تحصیلی و احتمالا شغلی و اینکه اعتقاد به اتکای مطلق به چند تا نرم افزار مثل ETABS و ... ندارم می خواستم از دنیا عقب نباشم . حالا با توجه به فرمایشات شما برای درک مفاهیم چکار باید بکنم ؟
[FONT=Microsoft Sans Serif]
  نمی توانی بالا بروی پس سیب باش تا با افتادنت اندیشه ای بالا  
 
Colonel I
Colonel I
پست: 643
تاریخ عضویت: سه‌شنبه ۱۹ تیر ۱۳۸۶, ۱:۰۸ ب.ظ
سپاس‌های ارسالی: 300 بار
سپاس‌های دریافتی: 1161 بار

Re: کدام زبان ؟

پست توسط Frogfoot »

با توجه به آنکه شما نمی خواید درگیر مسائل توسعه نرم افزار بطور خاص بشید، همین که در حوزه مربوط به تخصص خودتان مهارت کافی کسب کنید، و با امکانات برنامه نویسی نرم افزارهای مورد استفاده تان به خوبی آشنا بشید، کمک بسیار زیادی به شما میکنه. چون نرم افزارهایی که در این حوزه ها نوشته میشند، بیشتر از اینکه نیاز به یادگیری مفاهیم خاص توسعه نرم افزار داشته باشند، نیاز دارند که شما به مفاهیم حوزه تخصصی خودتان کاملا مسلط باشید.
برای اینکه درباره برنامه نویسی بطور کلی مهارت هایی کسب کنید، کتبی که الگوریتم می پردازند، یا کتبی که به روش های مختلف برنامه نویسی می پردازند، می توانند به شما کمک بکنند. زبان های برنامه نویسی مورد استفاده شما از یک سری Paradigm های برنامه نویسی پشتیبانی می کنند، که شما می توانید با مطالعه راهنمای موجود برای کامپایلرهای آن زبان، و کتب مرجعی که درباره آن زبان ها وجود دارند، به آن Paradigmها پی ببرید. اینگونه کتب مرجع به شما دید کلی درباره آنکه به غیر از مطالعه زبان مربوطه، و تخصص خودتان، به چه چیزهای دیگه ایی نیاز دارید، خواهند داد.

موفق باشید
ارسال پست

بازگشت به “برنامه نويسي”