Amirhoo3in
مــدیـر بـازنشـسـتـه
- تاریخ ثبتنام
- Dec 27, 2013
- ارسالیها
- 1,083
- پسندها
- 913
- امتیازها
- 113
- محل سکونت
- ساحل کارون
- دل نوشته
- زندگی آبراهی است به نام وفا,میریزد توی جویی به نام صفا,میرود به رودی به نام عشق,میریزد به دریایی به نام وداع:(
اعتبار :
كدام زبان برنامه*نویسی را انتخاب كنیم؟
برنامه*نویسی وب*
فعلاً برنامه*نویسی تحت وب داغ*ترین سوژه در دنیای برنامه*نویسی است. شاید بد نباشد یادآوری كنم كه اصولاً فلسفه برنامه*نویسی تحت وب چه بود كه به اینجا رسید. علت محبوبیت و رشد گسترده برنامه*نویسی تحت وب، حل شدن مشكل كلاینت بود.
در این مدل از برنامه*نویسی، برنامه*نویس دغدغه چندانی درباره قابل نصب بودن برنامه*اش روی پلتفرم*های مختلف ندارد زیرا وضعیت تقریباً روشن است. همین كه برنامه شما روی یكی دو مرورگر معروف مانند فایرفاكس و اینترنت اكسپلورر جواب بدهد، كافی است.
بنابراین در پاسخ به این سؤال كه كدام زبان برنامه*نویسی وب را انتخاب كنیم، باید گفت زبان*هایی كه از همه ساده*ترند و تغییر و تحولات را به سرعت می*پذیرند. در حال حاضر در این زمینه دو فناوری PHP و ASP.NET پیشتاز هستند. زبان اسكریپت*نویسیPHP شباهت*هایی به زبان C دارد.
به همین دلیل سرعت كامپایل شدن آن بالا است و سایت*هایی كه از این زبان استفاده می*كنند اندكی سریع*ترند. فناوریASP.NET از ویژوال بیسیك دات*نت یا سی*شارپ استفاده می*كند. این دو زبان، به ویژه در جدیدترین نسخه فناوری دات*نت در یك حد هستند.
اما به نظر من ویژوال بیسیك همچنان جذاب*تر و ساده*تر به نظر می*رسد. سایت*هایی كه با این دو زبان نوشته می*شوند نرم*افزارهای قدرتمندی را پدید می*آورند كه قدرت انعطاف و گستره كارایی آن*ها بالاست زیرا هر دو زبان OOP هستند. علاوه بر سهولت برنامه*نویسی، پشتیبانی از برخی موج*های نو مانند ای*جكس هم بحث روز است.
هم PHP و هم ASP.NET وضع خوبی در این زمینه دارند. علاوه بر این، برخی فناوری*های روز هم خیلی مهم هستند كه وب*سرویس یكی از آن*هاست. در حال حاضر رقابت شدیدی میان فناوریSOAP كه از سوی آی بی*ام و مایكروسافت و دیگران پشتیبانی می*شود و فناوری REST كه از سوی یاهو و برخی شركت*های بزرگ دیگر حمایت می*شود، وجود دارد.
اما وضع بعضی زبان*ها مانند جاوا (JSP) و ColdFusion در دنیای وب خراب است و برخی زبان*ها اخیراً دوباره مورد توجه قرارگرفته*اند كه از آن جمله می*توان به Python و Ruby اشاره كرد. وضعیت جاوا در وب در این میان جالب توجه است. برخلاف موفقیت چشمگیر جاوا در برنامه*نویسی برای سیستم*های بزرگ، این زبان به شدت در وب دچار ناكامی است. وب یك دنیای بصری است و به سادگی و ظاهر سیستم*ها اهمیت می*دهد.
به همین دلیل زبان*های فاقد ابزارهای ویژوال و قدرتمند كه در عین حال ساده نیز هستند در این وادی محكوم به زوالند و این مسئله برای جاوا كه در زمینه وارد كردن مفاهیم بصری و پویا به دنیای وب پیشگام بود، ناگوار است، البته این قضیه هیچ ربطی به زبان اسكریپت*نویسی «جاوااسكریپت» كه با ظهور ای*جكس جان تازه*ای پیدا كرده، ندارد.برنامه*نویسی سیستم*های بزرگ*
اما وضعیت در صنایع و سازمان*های بزرگ بسیار متفاوت است. در جاهایی مانند صنایع مالی و بانكی، صنایع پتروشیمی و نفت، صنایع مخابراتی، سازمان*های دولتی، صنایع خودروسازی و مانند این*ها، هنوز هم جاوا و مشتقاتش حرف اول را می*زنند. قدرت جاوا در این حوزه*ها به قدری است كه حتی می*توان - البته با كمی احتیاط - گفت موفقیت سیستم*های دیگری مانند اوراكل (كه مبتنی بر جاوا است) نیز بی ارتباط با استیلای جاوا بر این محیط*ها نیست. كاركردن با جاوا در محیط*های بزرگ كار آسانی نیست. اوراكل هم آسان نیست و به طور كلی ورود به این عرصه*ها چالش*های مختلفی را پیش روی برنامه*نویسان و شركت*های نرم*افزاری قرار می*دهد، به همین دلیل سیستم*های مبتنی بر جاوا، گران و پرهزینه و غولآسا هستند. با این حال توجه كنید كه منظور از سازمان*های بزرگ در اینجا سازمان*هایی هستند كه از نظر ابعاد، تعداد كلاینت*ها و تراكنش*ها واقعاً بزرگ هستند و منظور ما از آن شأن و منزلت یك سازمان نیست.
در واقع شركت*هایی مانند اپراتورهای موبایل یا صنعت نفت در ایران را می*توان نمونه*هایی از اینگونه سازمان*ها محسوب كرد. اما بسیاری از سازمان*های دولتی در ایران صرف *نظر از اهمیت استراتژیك یا منزلتشان، به دلیل ساختار قدیمی سازمان و مدرنیزه نشدن و مكانیزه نبودن فرآیندهای سازمان یا تنها به این دلیل كه بیشتر از چند هزار كاربر ندارند، جزء سازمان*های متوسط در این بحث به حساب می*آیند.سازمان*های متوسط و كوچك*
شركت*ها و سازمان*هایی كه كمتر از چند هزار كاربر یا چند صد كلاینت دارند، و آن*هایی كه خیلی كوچك و در حد مجموعه*های ده الی بیست نفره هستند در این خانواده از كاربران سیستم*های نرم*افزاری قرار می*گیرند. برای اغلب این سازمان*های كوچك و بزرگ، هنوز هم چند صد هزار تومان هزینه برای توسعه و استقرار سیستم*های نرم*افزاری، رقم بزرگی به شمار می*رود.
هم به این دلیل و هم به دلایل فنی، این سازمان*ها و شركت*ها باید از فناوری*ها و زبان*هایی برای توسعه سیستم*های نرم*افزاری خود استفاده كنند كه هزینه كمتری دارند و كاركردن با آن*ها ساده*تر است. من برای اینگونه مجموعه*ها استفاده از زبان سی*شارپ و راه*حل*های مبتنی بر ویندوز (مانند SQL Server) را توصیه می*كنم.
سهولت و قدرت كار با دیتابیس، یكی از دلایل اصلی قدرت زبان*های دات*نتی است. البته به تازگی سیستم*عامل، لینوكس هم طرفداران زیادی پیدا كرده است ولی موضوع انتخاب پلتفرم و سیستم*عامل متفاوت از انتخاب زبان و فناوری برنامه*نویسی است.
شاید به همین دلیل، برخی به دنبال پیاده*سازی سی*شارپ در این محیط*های غیرمایكروسافتی هستند. اما به هرحال زبان جاوا در سیستم*های غیرمایكروسافتی طرفداران خاص خودش را دارد، ضمن این*كه تردیدی ندارم كه هنوز هم استفاده از زبان ویژوال بیسیك دات*نت و API نرم*افزارهای آفیس مایكروسافت (مانند اكسس) بهترین گزینه برای شركت*های كوچك و چندنفره است.برنامه*نویسی برای موبایل*
در حوزه برنامه*نویسی وب زبان ++C و پس از آن زبان* جاوا پیشتاز است. زبان*های دات*نت نیز كه اخیراً به این حوزه راه یافته*اند، با فاصله زیادی آن دوتای دیگر را تعقیب می*كنند. زبان ++*C زبان غامض و پیچیده*ای است و به نظر من به تدریج رو به افول گذاشته است.
اما C و ++C زبان سخت*افزار هستند و هربار كه سخت*افزار جدید و ناشناخته*ای خلق می*شود زبان شماره یك آن C است. به*تدریج كه آن پلتفرم سخت*افزاری جان می*گیرد، دوباره زبان*های شیءگرا مانند جاوا و سی*شارپ دوروبرش قوت می*گیرند. ++C *زبان اصلی سیستم**عامل*های سیمبیان و ویندوز موبایل است. زبان جاوا نیز كه مستقل از سیستم*عامل تلقی می*شود، در جایی كه سیمبیان یا ویندوز موبایل غایب باشند، حرف اول را می*زند. البته چنان*كه می*توان حدس زد، هیچ كس روی سیستم*عامل ویندوز موبایل جاوا را جدی نمی*گیرد و نگاه*ها به سوی سی شارپ است.زبان*های دیگر
جدا از برخی زبان*های برنامه*نویسی كه در كاربردهای خاصی مانند هوش مصنوعی ممكن است قدرت بیشتری داشته باشند، سایر زبان*ها دیگر كهنه به نظر می*رسند؛ فرترن و كوبول از آن جمله*اند. البته زبان*های كار با بانك*های اطلاعاتی رابطه*ای مانند T-SQL و PL/SQL موضوع متفاوتی است كه در بحث ما نمی*گنجد. یك نكته دیگر هم باقی می*ماند و آن هم دیدگاه محافل آكادمیك درباره زبان*های برنامه*نویسی است.
بدون تردید زبان جاوا هنوز هم محبوب*ترین زبان در محافل آكادمیك است و پس از آن سی شارپ به دلیل شباهتش به جاوا مطرح است. البته در برخی از دانشگاه*های ایران هنوز هم ممكن است زبان*های قدیمی و فرسوده*ای مانند فرترن تدریس شود كه اگر چنین باشد جای تأسف است.
ولی به نظر من علاقه محافل آكادمیك به این یا آن زبان ممكن است گمراه*كننده باشد. آنچه اهمیت دارد كاربرد و كارایی زبان در یك زمینه به*خصوص و انعطاف*پذیری آن در مقابل تغییراتی است كه در صنعت و نیازهای مصرف*كنندگان پدید می*آید. بقیه مسائل، همگی سلیقه*ای هستند و نباید با تعصب با این موضوع برخورد كرد.
برنامه*نویسی وب*
فعلاً برنامه*نویسی تحت وب داغ*ترین سوژه در دنیای برنامه*نویسی است. شاید بد نباشد یادآوری كنم كه اصولاً فلسفه برنامه*نویسی تحت وب چه بود كه به اینجا رسید. علت محبوبیت و رشد گسترده برنامه*نویسی تحت وب، حل شدن مشكل كلاینت بود.
در این مدل از برنامه*نویسی، برنامه*نویس دغدغه چندانی درباره قابل نصب بودن برنامه*اش روی پلتفرم*های مختلف ندارد زیرا وضعیت تقریباً روشن است. همین كه برنامه شما روی یكی دو مرورگر معروف مانند فایرفاكس و اینترنت اكسپلورر جواب بدهد، كافی است.
بنابراین در پاسخ به این سؤال كه كدام زبان برنامه*نویسی وب را انتخاب كنیم، باید گفت زبان*هایی كه از همه ساده*ترند و تغییر و تحولات را به سرعت می*پذیرند. در حال حاضر در این زمینه دو فناوری PHP و ASP.NET پیشتاز هستند. زبان اسكریپت*نویسیPHP شباهت*هایی به زبان C دارد.
به همین دلیل سرعت كامپایل شدن آن بالا است و سایت*هایی كه از این زبان استفاده می*كنند اندكی سریع*ترند. فناوریASP.NET از ویژوال بیسیك دات*نت یا سی*شارپ استفاده می*كند. این دو زبان، به ویژه در جدیدترین نسخه فناوری دات*نت در یك حد هستند.
اما به نظر من ویژوال بیسیك همچنان جذاب*تر و ساده*تر به نظر می*رسد. سایت*هایی كه با این دو زبان نوشته می*شوند نرم*افزارهای قدرتمندی را پدید می*آورند كه قدرت انعطاف و گستره كارایی آن*ها بالاست زیرا هر دو زبان OOP هستند. علاوه بر سهولت برنامه*نویسی، پشتیبانی از برخی موج*های نو مانند ای*جكس هم بحث روز است.
هم PHP و هم ASP.NET وضع خوبی در این زمینه دارند. علاوه بر این، برخی فناوری*های روز هم خیلی مهم هستند كه وب*سرویس یكی از آن*هاست. در حال حاضر رقابت شدیدی میان فناوریSOAP كه از سوی آی بی*ام و مایكروسافت و دیگران پشتیبانی می*شود و فناوری REST كه از سوی یاهو و برخی شركت*های بزرگ دیگر حمایت می*شود، وجود دارد.
اما وضع بعضی زبان*ها مانند جاوا (JSP) و ColdFusion در دنیای وب خراب است و برخی زبان*ها اخیراً دوباره مورد توجه قرارگرفته*اند كه از آن جمله می*توان به Python و Ruby اشاره كرد. وضعیت جاوا در وب در این میان جالب توجه است. برخلاف موفقیت چشمگیر جاوا در برنامه*نویسی برای سیستم*های بزرگ، این زبان به شدت در وب دچار ناكامی است. وب یك دنیای بصری است و به سادگی و ظاهر سیستم*ها اهمیت می*دهد.
به همین دلیل زبان*های فاقد ابزارهای ویژوال و قدرتمند كه در عین حال ساده نیز هستند در این وادی محكوم به زوالند و این مسئله برای جاوا كه در زمینه وارد كردن مفاهیم بصری و پویا به دنیای وب پیشگام بود، ناگوار است، البته این قضیه هیچ ربطی به زبان اسكریپت*نویسی «جاوااسكریپت» كه با ظهور ای*جكس جان تازه*ای پیدا كرده، ندارد.برنامه*نویسی سیستم*های بزرگ*
اما وضعیت در صنایع و سازمان*های بزرگ بسیار متفاوت است. در جاهایی مانند صنایع مالی و بانكی، صنایع پتروشیمی و نفت، صنایع مخابراتی، سازمان*های دولتی، صنایع خودروسازی و مانند این*ها، هنوز هم جاوا و مشتقاتش حرف اول را می*زنند. قدرت جاوا در این حوزه*ها به قدری است كه حتی می*توان - البته با كمی احتیاط - گفت موفقیت سیستم*های دیگری مانند اوراكل (كه مبتنی بر جاوا است) نیز بی ارتباط با استیلای جاوا بر این محیط*ها نیست. كاركردن با جاوا در محیط*های بزرگ كار آسانی نیست. اوراكل هم آسان نیست و به طور كلی ورود به این عرصه*ها چالش*های مختلفی را پیش روی برنامه*نویسان و شركت*های نرم*افزاری قرار می*دهد، به همین دلیل سیستم*های مبتنی بر جاوا، گران و پرهزینه و غولآسا هستند. با این حال توجه كنید كه منظور از سازمان*های بزرگ در اینجا سازمان*هایی هستند كه از نظر ابعاد، تعداد كلاینت*ها و تراكنش*ها واقعاً بزرگ هستند و منظور ما از آن شأن و منزلت یك سازمان نیست.
در واقع شركت*هایی مانند اپراتورهای موبایل یا صنعت نفت در ایران را می*توان نمونه*هایی از اینگونه سازمان*ها محسوب كرد. اما بسیاری از سازمان*های دولتی در ایران صرف *نظر از اهمیت استراتژیك یا منزلتشان، به دلیل ساختار قدیمی سازمان و مدرنیزه نشدن و مكانیزه نبودن فرآیندهای سازمان یا تنها به این دلیل كه بیشتر از چند هزار كاربر ندارند، جزء سازمان*های متوسط در این بحث به حساب می*آیند.سازمان*های متوسط و كوچك*
شركت*ها و سازمان*هایی كه كمتر از چند هزار كاربر یا چند صد كلاینت دارند، و آن*هایی كه خیلی كوچك و در حد مجموعه*های ده الی بیست نفره هستند در این خانواده از كاربران سیستم*های نرم*افزاری قرار می*گیرند. برای اغلب این سازمان*های كوچك و بزرگ، هنوز هم چند صد هزار تومان هزینه برای توسعه و استقرار سیستم*های نرم*افزاری، رقم بزرگی به شمار می*رود.
هم به این دلیل و هم به دلایل فنی، این سازمان*ها و شركت*ها باید از فناوری*ها و زبان*هایی برای توسعه سیستم*های نرم*افزاری خود استفاده كنند كه هزینه كمتری دارند و كاركردن با آن*ها ساده*تر است. من برای اینگونه مجموعه*ها استفاده از زبان سی*شارپ و راه*حل*های مبتنی بر ویندوز (مانند SQL Server) را توصیه می*كنم.
سهولت و قدرت كار با دیتابیس، یكی از دلایل اصلی قدرت زبان*های دات*نتی است. البته به تازگی سیستم*عامل، لینوكس هم طرفداران زیادی پیدا كرده است ولی موضوع انتخاب پلتفرم و سیستم*عامل متفاوت از انتخاب زبان و فناوری برنامه*نویسی است.
شاید به همین دلیل، برخی به دنبال پیاده*سازی سی*شارپ در این محیط*های غیرمایكروسافتی هستند. اما به هرحال زبان جاوا در سیستم*های غیرمایكروسافتی طرفداران خاص خودش را دارد، ضمن این*كه تردیدی ندارم كه هنوز هم استفاده از زبان ویژوال بیسیك دات*نت و API نرم*افزارهای آفیس مایكروسافت (مانند اكسس) بهترین گزینه برای شركت*های كوچك و چندنفره است.برنامه*نویسی برای موبایل*
در حوزه برنامه*نویسی وب زبان ++C و پس از آن زبان* جاوا پیشتاز است. زبان*های دات*نت نیز كه اخیراً به این حوزه راه یافته*اند، با فاصله زیادی آن دوتای دیگر را تعقیب می*كنند. زبان ++*C زبان غامض و پیچیده*ای است و به نظر من به تدریج رو به افول گذاشته است.
اما C و ++C زبان سخت*افزار هستند و هربار كه سخت*افزار جدید و ناشناخته*ای خلق می*شود زبان شماره یك آن C است. به*تدریج كه آن پلتفرم سخت*افزاری جان می*گیرد، دوباره زبان*های شیءگرا مانند جاوا و سی*شارپ دوروبرش قوت می*گیرند. ++C *زبان اصلی سیستم**عامل*های سیمبیان و ویندوز موبایل است. زبان جاوا نیز كه مستقل از سیستم*عامل تلقی می*شود، در جایی كه سیمبیان یا ویندوز موبایل غایب باشند، حرف اول را می*زند. البته چنان*كه می*توان حدس زد، هیچ كس روی سیستم*عامل ویندوز موبایل جاوا را جدی نمی*گیرد و نگاه*ها به سوی سی شارپ است.زبان*های دیگر
جدا از برخی زبان*های برنامه*نویسی كه در كاربردهای خاصی مانند هوش مصنوعی ممكن است قدرت بیشتری داشته باشند، سایر زبان*ها دیگر كهنه به نظر می*رسند؛ فرترن و كوبول از آن جمله*اند. البته زبان*های كار با بانك*های اطلاعاتی رابطه*ای مانند T-SQL و PL/SQL موضوع متفاوتی است كه در بحث ما نمی*گنجد. یك نكته دیگر هم باقی می*ماند و آن هم دیدگاه محافل آكادمیك درباره زبان*های برنامه*نویسی است.
بدون تردید زبان جاوا هنوز هم محبوب*ترین زبان در محافل آكادمیك است و پس از آن سی شارپ به دلیل شباهتش به جاوا مطرح است. البته در برخی از دانشگاه*های ایران هنوز هم ممكن است زبان*های قدیمی و فرسوده*ای مانند فرترن تدریس شود كه اگر چنین باشد جای تأسف است.
ولی به نظر من علاقه محافل آكادمیك به این یا آن زبان ممكن است گمراه*كننده باشد. آنچه اهمیت دارد كاربرد و كارایی زبان در یك زمینه به*خصوص و انعطاف*پذیری آن در مقابل تغییراتی است كه در صنعت و نیازهای مصرف*كنندگان پدید می*آید. بقیه مسائل، همگی سلیقه*ای هستند و نباید با تعصب با این موضوع برخورد كرد.