اگر قصد ورود به دنياي برنامه نويسي را داريد! اگر جهت انجام فعاليت هاي تخصصي خود به دنبال زبان برنامه‌سازي خاصي هستيد! اگر دانشجوي رشته كامپيوتر بوده و مي خواهيد يكي از زبان هاي برنامه نويسي را با وجود تبليغات فراوان به درستي انتخاب نماييد!
جهت دريافت پاسخ پرسش هاي فوق، مقاله زير را مطالعه نماييد.
يكي از ويژگي هاي دنياي كامپيوتر، سرعت رشد و ارتقاء بسيار بالاي آن مي باشد. اين ويژگي از دو ديدگاه قابل تامل است. اول آنكه هر چقدر سرعت رشد اين صنعت بالاتر رود و علم فوق توسعه يابد، تجهيزات مدرن تر و مفيد تري به جهانيان عرضه خواهد شد. اما نكته دوم، نكته اي قابل تامل براي دست اندركاران اين صنعت، بخصوص دانشجويان رشته كامپيوتر مي باشد.
همانطور كه مي دانيم ويژگي بارز دنياي كامپيوتر، سرعت رشد بسيار بالاي آن است. در چنين شرايطي اگر كسي به اشتباه مسير خود را انتخاب كرده باشد و بخواهد دوباره مسير ديگري را انتخاب نمايد، احتمال موفقيتش در شرايط موجود زياد نمي باشد. مگر آنكه تلاش خود را چندين برابر كند تا زمان از دست رفته را جبران نمايد. در چنين شرايطي، حتي بروز رساني اطلاعات براي كساني كه مسير خود را بدرستي انتخاب كرده اند نيز مشكل مي باشد. مثلا اگر شخصي در سالهاي گذشته با VB 5 كار مي كرد، پس از گذشت مدتي بايد خود را بروز كرده و با VB 6 سپس VB.NET 2001 ، بعد VB.NET 2005، VB.NET 2003 و در نهايت امروزه VB.NET 2008 سازگار نمايد.
توجه نماييد كه كسب مهارت در هر يك از نسخه‌هاي مورد‌نظر با وجود تشابه زياد، بسيار وقت‌گير و هزينه بر بوده و بايد علاوه بر خود نرم افزار، نرم افزار هاي جانبي مورد نياز آنها را نيز بروز نماييم. به عنوان نمونه براي گزارشگيري در VB5 يا VB6 از ابزار Crystal Report 4و Crystal Report 5 در VB.NET2003‌ ازCrystal Report 9 و به همين ترتيب اين روند در نسخه‌هاي جديدتر زبان فوق نيز ادامه خواهد داشت.

حال بخوبي روشن است كه حتي كساني كه راه خود را در ابتدا بدرستي انتخاب كرده اند نيز، براي بروز رساني مداوم خود بايد هزينه هاي بسياري را متحمل گردند و ممكن است در ميان اين افراد كساني باشند كه پس از چند مرحله بروز رساني، ديگر توانايي بروز رساني خود را نداشته باشند. چه رسد به كساني كه در ابتداي راه، مسير خود را بدون مشاوره و توجه به توانايي و استعدادشان، به اشتباه انتخاب كرده و مدت زماني را نيز در اين مسير صرف كرده باشند و بخواهند تغيير مسير داده و در مسير درستي قرار بگيرند.
اكنون در اين مقاله قصد داريم از بين گرايشات مختلف علم كامپيوتر، در مورد شاخه برنامه نويسي صحبت نموده و نكات مفيدي را براي كساني كه قصد ورود به اين گرايش خاص را دارند، بيان نماييم. توجه نماييد كه مطالب بيان شده در ادامه، به اشخاص مورد نظر كمك خواهد كرد تا بتوانند با ملاك ها و معيار هاي انتخاب يك زبان برنامه نويسي مناسب آشنا شوند و در نهايت زبان برنامه نويسيمورد علاقه خود را انتخاب نمايند.
براي شروع بهتر است ابتدا تعريفي براي واژه زبان برنامه نويسي ارئه دهيم.
يك زبان برنامه‌نويسي، مجموعه‌اي از دستور العمل‌ها و قواعدي است كه براي توصيف ساختمان داده‌ها و الگورتيم‌هاي مورد نياز و پياده‌سازي آنها مورد استفاده قرار مي گيرند.
اولين نكته اي كه با توجه به تعريف فوق حاصل مي شود آن است كه، هر زبان برنامه نويسي بر اساس هدف خاصي شكل گرفته است و به همين خاطر داراي ويژگي ها و نقاط مثبت خاص خود مي‌باشد. به عنوان مثال زبان‌هايي مانند prolog ، XIP و Snobol زبانهايي هستند كه براي شاخه هوش‌مصنوعي و پياده سازي الگوريتم هاي خاص آن مورد استفاده قرار گرفته اند.
نكته دوم و بسيار مهم آن است كه بايد با يك ديد حرفه اي و به دور از هرگونه تعصب، با زبانهاي موجود روبرو شده و ويژگيهاي آنها را بايكديگر مقايسه نماييم. دقت كنيد كه در هنگام مقايسه زبان ها، نمي توان هر زباني را با زبان ديگر مقايسه نمود، بلكه بايد زبان هاي مورد مقايسه از يك گروه باشند. مثلا مقايسه زبان Prolog با زبان C# يا جاوا صحيح نمي باشد.
پس باتوجه به مطالب ذكر شده تا اين قسمت، مي‌توان گفت كه مطالعه زبانها قبل از انتخاب زبان خاصي جهت ادامه فعاليت در آن، امري بسيار مهم مي‌باشد.
از جمله دلايل مطالعه زبانهاي برنامه نويسي مي‌توان به موارد زير اشاره نمود:
استفاده مناسب از ويژگي هاي زبان. مانند انتخاب ساختارها و تكنيك هاي مناسب برنامه نويسي مثل آرايه ها، توابع بازگشتي و ...

شناخت ساختارهاي مفيد زبانها و شبيه سازي آنها در زبانهاي مورد استفاده.

استفاده مناسب از يك زبان خاص با توجه به اهداف شكل گيري و ايجاد زبان مذكور.

...
تا به امروز حدود 120 زبان مختلف شناسايي شده است.
زبانهاي برنامه نويسي از نظر كاربردي به چند دسته تقسيم مي شوند. كه بطور خلاصه عبارتند از :
زبانهاي علمي و محاسباتي : اكثر زبانها جزء اين دسته مي‌باشند. از جمله اين زبانها مي توان به Fortran ، Ada ،SmallTalk،Basic‌ اشاره نمود.

زبانهاي تجاري: مانند Cobol

زبانهاي پيشرفته : اين گروه از زبانها معمولا بدنبال اهداف پيشرفته و جديد مانند هوش مصنوعي مي باشند. مانند Prolog ، XIP ، Snobol

زبانهاي سيستمي : به كمك اين زبانها سيستم هاي بزرگي مانند سيستم عامل و نرم افزار هاي سيستمي و ... توسعه داده مي شوند. از جمله اين زبانها مي توان به C/C++ ، Java‌ و ... اشاره نمود.
سئوالي كه ممكن است تا به اين قسمت بوجود آيد، آن است كه:
دلايل پيشرفت زبانهاي برنامه سازي چيست؟ به بيان ديگر چرا حدود 120 زبان تا به امروز شناسايي شده است؟
در پاسخ به اين پرسش مي توان به موارد زير اشاره نمود:
پيشرفت سيستم عامل و سخت افزار

كاربردهاي خاص مانند هوش مصنوعي كه سبب ايجاد زبان Prolog گرديد.

روش ها وتكنيك هاي مختلف برنامه نويسي. بطور مثال تكنيك شيءگرايي سبب ايجاد زبان SmallTalk گرديد.
اكنون با گذر از مطالب فوق، نوبت به آن مي رسد تا برخي از ملاك هاي مهم انتخاب يك زبان برنامه سازي مناسب را مورد بررسي قرار دهيم.
1- سادگي و وضوح
يكي از ويژگي هاي بسيار مهم يك زبان برنامه سازي، سادگي و وضوح دستورات بكار گرفته شده در آن زبان مي باشد. به عنوان نمونه بايد بتوان بر اساس ظاهر دستور، نوع عملي را كه آن دستور انجام مي دهد را تشخيص دهيم. اين در پياده سازي الگوريتم هاي مورد نظر برنامه نويس كمك شاياني مي كند. زبان اسمبلي يكي ا زبان هايي است كه اين ويژگي در آن وجود ندارد.
نكته: دليل اصلي ايجاد زبانهاي سطح بالا، پياده سازي اين ويژگي در زبانها مي باشد. سادگي و وضوح دستورات به خوانايي خطوط برنامه هاي نوشته شده و در نتيجه درك سريعتر منطق برنامه ها كمك شاياني مي كند و ديگر نياز نيست تا كليه خطوط برنامه را comment نماييم.
2- امكان تركيب ( Arthogonality)
از جمله ويژگي هاي ديگر يك زبان مناسب آن است كه بتوان ويژگيهاي و امكانات و ساختارهاي متفاوت زبان مورد نظر را با يكديگر تركيب نمود و نتيجه حاصله نيز با معنا و قابل استفاده باشد.

Example 1:
for(int i=0; i<10 ; i++)
int i;
for(i=0;i<10;i++)
Example 2:
if a=b*c then
a=b*c;
if a then
3- قابليت حمل (Portability)
يكي از ويژگي هاي يك زبان برنامه نويسي مناسب، قابليت حمل زبان مذكور مي باشد. ويژگي فوق به اين معناست كه بتوان بطور مثال برنامه توليد شده توسط يك زبان را از يك كامپيوتر به كامپيوتر ديگر منتقل نموده و سپس آن را بدون مشكل اجرا كنيم.
4- عدم وابستگي به يك سيستم عامل خاص
از ويژگي هاي يك زبان برنامه نويسي مناسب، عدم وابستگي به يك سيستم عامل خاص مي باشد. يعني اينكه بتوان :
1- برنامه توليد شده توسط زبان برنامه نويسي مورد نظر، در سيستم عامل هاي مختلف قابل اجرا باشند.
2- خود زبان برنامه نويسي به سيستم عامل خاصي وابسته نباشد.
توجه نماييد كه ملاك فوق يكي از معيارهاي بسيار مهم جهت انتخاب يك زبان برنامه سازي مي باشد.
5- عدم وابستگي به سخت افزار
از ديگر ويژگي هاي يك زبان قدرتمند آن است كه كه هم خود زبان و هم برنامه توليد شده آن قابليت اجرا شدن روي هر بستر سخت افزاري را داشته باشد. به عنوان نمونه زابن برنامه سازي جاوا از جمله زبانهاي است كه در اين زمينه موفقيت آميز عمل نموده است.
6- سرعت كامپايل و اجرا
يكي ديگر از ملاك هاي انتخاب يك زبان برنامه سازي مناسب، سرعت كامپايل و سرعت اجراي برنامه كامپايل شده توسط آن زبان است.
توجه نماييد كه هر يك از اين دو معيار با توجه به نياز ما مهم مي باشند. بطور مثال در برنامه هاي تجاري سرعت اجراي برنامه بسيار مهم تر از سرعت كامپايل آن مي باشد. زيرا در اين گروه تعداد بار اجراي برنامه سيار بالاتر از دفعات كامپايل برنامه مورد نظر است.
7- محيط برنامه نويسي (IDE)
يكي از معيارهاي موثر در انتخاب يك زبان برنامه ساي، وجود IDE هاي قدرتمند و مناسب براي آن زبان مي باشد. محيط كار يك زبان برنامه نويسي، محيطي است كه مجموعه ابزارهاي مربوط به آن زبان را بصورت يكجا تجمع آوري كرده و كاربر به راحتي مي تواند از ابزارهاي مورد نياز در نوشتن و توسعه برنامه مورد نظر خود استفاده كند. سپس برنامه خود را كامپايل كرده و در نهايت اجرا نمايد.
هر چقدر كه يك IDE كاربرپسند تر باشد، راهنماي قوي تر داشته باشد و قابليت اشكال زدايي آن پيشرفته تر باشد، چنين محيطي بيشتر مورد توجه برنامه نويسان قرار خواهد گرفت. به عنوان نمونه Visual Studio.Net از جمله محيط هاي برنامه سازي است كه تمام اين شرايط را در حد عالي دارا مي باشد و يا در زبان جاوا مي توان به NetBeans، JBuilder، Eclipse و ... اشاره نمود.
8- كاربردهاي زبان برنامه سازي
هر چه توانايي ها و كاربردهاي يك زبان برنامه سازي بيشتر و وسيعتر باشد زبان فوق داراي محبوبيت بشتري خواهد بود. به عنوان مثال زبانهايي مانند JAVA، C# ، VC++ و... از جمله زبانهايي هستند كه قابليت كار در چندين محيط و كاربردهاي متفاوت را دارند. بطور مثال جاوا در زمينه برنامه نويسي تحت شبكه، وب، برنامه نويسي موبايل و دستگاه هاي كوچك مشابه، سخت افزارهايي با حافظه هاي بسيار كوچك و ... قابل استفاده مي باشد.