- شروع کننده موضوع
- #1
hermit2
کاربر فوقفعال
- ارسالها
- 148
- امتیاز
- 395
- نام مرکز سمپاد
- فرزانگان1
- شهر
- دزفول، اهواز
- دانشگاه
- علوم پزشکی تهران
- رشته دانشگاه
- پزشکی
>اشاره : کدام زبان برنامه نویسی را انتخاب کنم؟ از کدام نوع دیتابیس استفاده کنم؟ این ها سؤالات قدیمی و تاحدودی کلیشه ای هستند. با این حال خواندن یکی دو مقاله جالب در اینترنت باعث شد، طرح مجدد این موضوع همیشگی را خالی از فایده ندانم. اصولا هر از گاهی باید این پرسش را مجددا در کلیه سطوح مهندسی نرم افزار، چه در صنعت، چه در رسانه ها و چه در دانشگاه ها مطرح کرد و دلیل آن هم، بسیار ساده است. زبان های برنامه نویسی نیز مانند زبان های گویشی انسان ها پویا هستند و مرتبا متحول می شوند. در این راستا برخی خود را با نیازهای روز تطابق داده و برخی نیز از این تحولات جا می مانند. به همین دلیل لازم است هر چند وقت یک بار این پرسش را مطرح کرده و جدیدترین پاسخ ها را به نقد بگذاریم. برای این که بحث از حالت نظری خارج شود و حالت کاربردی پیدا کند، اجازه می خواهم نظرم را در این مورد به اختصار بیان کنم.برنامه نویسی وب فعلا برنامه نویسی تحت وب داغ ترین سوژه در دنیای برنامه نویسی است. شاید بد نباشد یادآوری کنم که اصولا فلسفه برنامه نویسی تحت وب چه بود که به اینجا رسید. علت محبوبیت و رشد گسترده برنامه نویسی تحت وب، حل شدن مشکل کلاینت بود. در این مدل از برنامه نویسی، برنامه نویس دغدغه چندانی درباره قابل نصب بودن برنامه اش روی پلتفرم های مختلف ندارد زیرا وضعیت تقریبا روشن است. همین که برنامه شما روی یکی دو مرورگر معروف مانند فایرفاکس و اینترنت اکسپلورر جواب بدهد، کافی است. بنابراین در پاسخ به این سؤال که کدام زبان برنامه نویسی وب را انتخاب کنیم، باید گفت زبان هایی که از همه ساده ترند و تغییر و تحولات را به سرعت می پذیرند. در حال حاضر در این زمینه دو فناوری 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 موضوع متفاوتی است که در بحث ما نمی گنجد. یک نکته دیگر هم باقی می ماند و آن هم دیدگاه محافل آکادمیک درباره زبان های برنامه نویسی است. بدون تردید زبان جاوا هنوز هم محبوب ترین زبان در محافل آکادمیک است و پس از آن سی شارپ به دلیل شباهتش به جاوا مطرح است. البته در برخی از دانشگاه های ایران هنوز هم ممکن است زبان های قدیمی و فرسوده ای مانند فرترن تدریس شود که اگر چنین باشد جای تأسف است. ولی به نظر من علاقه محافل آکادمیک به این یا آن زبان ممکن است گمراه کننده باشد. آنچه اهمیت دارد کاربرد و کارایی زبان در یک زمینه به خصوص و انعطاف پذیری آن در مقابل تغییراتی است که در صنعت و نیازهای مصرف کنندگان پدید می آید. بقیه مسائل، همگی سلیقه ای هستند و نباید با تعصب با این موضوع برخورد کرد.
مببع :ماهنامه شبکه
مببع :ماهنامه شبکه