فوت کوزه گری رشته برنامه نویسی

يكشنبه ، 20 آذر 1390 ، 11:46

فوت کوزه گری رشته برنامه نویسی

چگونه برنامه نویس موفقی شویم؟
اگر از آن دسته افرادى هستيد كه به دنبال آينده و كسب و كارى پر از انرژى و خلاقيت هستند و اگر شديداً از انجام كارهاى روتين و كارمند بانك بودن تنفر داريد(!) و اگر دوست داريد كسب و كارى را برگزينيد كه بدون شك در سال هاى آينده بازار پررونقى داشته باشد، حتماً به برنامه نويسى به عنوان يك شانس مهم توجه داشته باشيد. همواره وقتى به صدر رده بندى پول دارترين مردان دنيا نگاه مي كرديم عادت كرده بوديم نام كسى جز بيل گيتس را نبينيم! برنامه نويس نوجوان و جسور آنقدر در كار خودش پشتكار به خرج مى داد كه گاهى وقت ها به خاطر دستكارى زياد در كامپيوتر دبيرستان شان تهديد به اخراج مى شد و بعد از ورود به دانشگاه هاروارد، طولى نيانجاميد كه دانست آنجا هم نمي تواند يك برنامه نويس ماورايى را ارضا كند، پس به سمت بازار كار رفت و مايكروسافت را با همكلاسى سابقش (استيو بالمر) تاسيس كرد و شبانه روز در آنجا مشغول برنامه نويسى شد و حتى هفته ها خانه نمى رفت تا مايكروسافت، مايكروسافت شد و بيل جوان به بيل گيتس معروف و موفق تبديل شد! سرگذشت بيل گيتس هميشه مي تواند بهترين الگو براى موفقيت برنامه نويسان جوان وآماتور باشد و در نگاهى كلي تر شايد الگويى براى همه جويندگان جوان موفقيت!از اين دست برنامه نويسان موفق، كم نيست و جالب اينكه بسيارى از آنها همگام با موفقيت در برنامه نويسى در زمينه هاى ديگر از جمله تجارت، مديريت، خلاقيت، فضانوردى و غيره نيز موفق ظاهر شده اند. برنامه نويسى را مي توان شغل قرن بيست و يكم ناميد. شغلى كه سراسر تخيل، نوآورى، ايده پردازى، تحقيق، خلاقيت و پشتكار را شامل مي شود. حال، با اين تعاريف، شايد دهان خيلي ها آب افتاده باشد كه از همين امروز سراغ برنامه نويسى بروند تا آينده شغلى خود را حسابى تضمين كنند. اما برنامه نويسى شايد در ظاهر شيك و با كلاس باشد اما در باطن گاو نر مي خواهد و مرد عمل(!)با بررسى چند توضيح ساده بر ما عيان مي شود كه برنامه نويسى بعد از كار كردن در معدن يكى از مشكل ترين و در عين حال، پيچيده ترين مشاغل است!! پس از توضيحات بيشتر به چند جمله كوتاه توجه كنيد : • برنامه نويسى كه پشتكار نداشته باشد، هيچ وقت نخواهد توانست از پس خطاهاى پى در پى بر آيد و ميدان را خالى خواهد كرد، پس هيچ گاه به موفقيت نخواهد رسيد. • برنامه نويسى كه به روز نباشد، با دانش پايه و آكادميك قبلي اش بدون شك پس از مدتى اندك متوقف خواهد شد. • هيچ برنامه نويسى به صرف داشتن ليسانس يا فوق ليسانس سر كار نخواهد رفت! • بسيارى از برنامه نويسان موفق پس از مدتى درخشش سمت هاي کلان مديريتي را در اکثر شرکت هاي آی تی به دست می آورند که خود گوياى اهميت شغلى آنهاست. • گرو ه ها و برنامه نويسان كد باز پس از اينكه ما ه ها وقت خود را روى يك پروژه صرف مي كنند تا آن را به محصولى درخور و ارزشمند تبديل كنند، در پايان، نتيجه تمامى تلاش خود را به صورت كاملاً رايگان در اختيار ديگران قرار مي دهند! • بسيارى از برنامه نويسان، پس از مدتى به علت ركود خلاقيت و دانش روز، کار خود را از دست مي دهند. متاسفانه، معمولاً افراد در مواجهه با علوم كامپيوتر و علي الخصوص برنامه نويسى بسيار عجول هستند و شايد رونق كتاب هاى آموزشى تحت عنوان هاى آموزش برنامه نويسى در 24 ساعت و غيره از همين جا نشات گرفته است. پتر نورويج يكى از مدرسان معروف علوم كامپيوتر در همين مورد، جملات معروفى دارد: « مردم خيلي عجله دارند كه در مورد كامپيوترها چيز ياد بگيرند خيال هم مي کنند كه يادگيري كامپيوتر خيلي آسان تر از يادگيري مسائل ديگر است. وگرنه هيچ كتابي در مورد بتهوون، يا فيزيك كوانتوم يا حتي تربيت سگ، در چند روز وجود ندارد» براى اينكه ما بتوانيم يك برنامه نويس موفق شويم و به درآمد بالا دست پيدا كنيم، بايد بدانيم كه با خواندن چند كتاب و مقايسه و بررسى چند نمونه كد نمي شود ظرف چند ماه به يك برنامه نويس موفق كه درآمد خوبى هم دارد و صاحب شغل و پست مطمئن در شرکت در خوري هم هست تبديل شد. يك برنامه نويس موفق هميشه بايد خود را عقب بداند و در كسب تجربيات ديگران و تكنيك هاى روز كوشا باشد. از زبان و به نقل قول بسيارى از برنامه نويسان حرفه اى شنيده و خوانده ام كه به روزترين و سريع ترين دانش و كسب و كار دنيا برنامه نويسى است. پس يك برنامه نويس موفق هيچ گاه نبايد به داشته هاى هر چند پربارش غره شود و از تكاپوى روزانه باز ايستد. يك مشكل ديگر كه غالباً برنامه نويسان نوجوان و يا كم تجربه تر را درگير مي کند، اين است كه آنها بعد از اينكه در توسعه يك نرم افزار، وب سايت و غيره به خطايي برخورد كردند، پس از چند بار تلاش و كوشش از كوره درمي روند و عطاى موفقيت را به لقايش مي بخشند و كلاً يا پروژه را بي خيال مي شوند يا در صورت امكان، بخش مورد نظر را از پروژه حذف مي كنند و غالباً فكر مي كنند گذاشتن زمان هاى بسيار براى حل يك مشكل اتلاف وقت است، در صورتي كه نتيجه شكست تا هميشه در ذهن شما خواهد ماند و در روند و زمان كلى انجام پروژه باز هم تاثير خود را خواهد گذاشت. نكته عملى اينكه يك برنامه نويس براى موفقيت بايد حداقل روزانه بيش از يك ساعت از وقت خود را در وب براى جستجو در مورد تازه هاى زمينه تخصصى خود صرف كند. يك فرق نامحسوس ديگر كه بين برنامه نويسى حرفه اى و موفق با شكست خوردگان اين راه وجود دارد اين است كه دسته موفق معمولاً از خلاقيت و نوآورى زيادى در كارشان استفاده مي كنند و اين در حالى است كه دسته ديگر با آنكه شايد از بار دانش بيشترى نيز برخوردار باشند، اما به دليل نداشتن تفكر خلاقانه هيچ وقت نمي توانند نمونه محصولات جديدتر، متنوع تر و با كيفيت ترى خلق كنند. بسيارى از برنامه نويسان از حل مسائل الگو ريتمى و رياضيات گريزانند و احساس مي كنند حل مسائل رياضى و الگوريتمى هيچ كمكى به پيشرفت و كسب درآمد بيشتر آنها در آينده نخواهد كرد اما نبايد فراموش كنيم كه يكى از مهم ترين صفات يك برنامه نويس موفق توانايى او در حل مسئله مي باشد و در واقع، اگر برنامه نويسى از حل مسائل گريزان باشد، عملاً نمي توان نام برنامه نويس بر او گذاشت. البته براى فرا گرفتن تمامى اين تكنيك ها يك كليد اصلى و ساده وجود دارد و آن چيزى نيست جز علاقه! اگر سعى كنيد با علاقه كد بزنيد، مطمئن باشيد هيچ گاه دغدغه سختي هاى بالا را نخواهيد داشت. به برنامه نويسي علاقه داشته باشيد. اطمينان حاصل كنيد كه آن قدر از برنامه نويسي لذت مي بريد كه حاضر باشيد 10 سال از عمرتان را صرفش كنيد. در پايان، مي توان گفت عليرغم اينكه برنامه نويسى يك شغل پر درآمد، خلاقانه، پر تنوع و باثباتى است اما نبايد فراموش كرد در اين عرصه تنها كسانى موفق هستند كه تكنيك هاى مطروحه را خوب كسب كرده و به كار گيرند و الباقى متاسفانه در كمال صرف هزينه هاى مالى و زمانى بسيار بايد به داشتن شغل هاى نامربوط و غيرمستقيم و يا پست هاى پايين تر بسنده كنند.

تجربه ی دو:
یک برنامه‌نويس، حدود ده الی بيست درصد زمان خود را به کد‌نویسی مشغول است و بيشتر برنامه‌نویس‌ها بدون توجه به تجربه و مهارت، در هر روز حدود ده الی دوازده خط کد‌برنامه که در محصول نهایی به‌کار گرفته خواهد شد، می‌نویسند.
برنامه‌نويس‌های حرفه‌ای نود درصد زمان خود را صرف‌ فکر‌کردن، تحقیق و آزمایش برای پیدا‌کردن بهترین طراحی می‌کنند، اما برنامه‌نويسان بد، نود‌ ‌درصد زمان خود را صرف تغییر تصادفی کد، مشاهده نتیجه و اشکال‌زدایی آن می‌كنند. بیل گیتس در‌این‌باره می‌گوید‌‌:‌یک تراشکار ماهر و شایسته حقوقی چندین برابر یک تراشکار معمولی دريافت مي‌كند، اما ارزش یک برنامه‌نويس خیلی خوب و ماهر ده هزار برابر یک برنامه‌نويس معمولی است.
یک برنامه‌نويس خوب، ده برابر بیشتر از یک برنامه‌نويس ساده تولید‌کننده، مولد و مفید است و یک برنامه‌نويس حرفه‌ای و ماهر بيست تا صد برابر بیشتر از یک برنامه‌نويس ساده مفید خواهد بود. این یک اغراق نیست. مطالعات از دهه 1960 تاکنون بدون تناقض مؤید این امر است. یک برنامه‌نويس بد، تنها بی‌فایده نیست. او نه تنها هیچ کاری را انجام نمی‌دهد، بلکه کارهای بسیاری ایجاد کرده و برای حل آن‌ها برای دیگران دردسر ایجاد می کند.
برنامه‌نويسان حرفه‌ای زمان خیلی کمی را به کد‌نویسی (کدی که در محصول نهایی به‌کار خواهد رفت) اختصاص می‌دهند. افرادی که بيشتر‌ زمان خود را صرف کد‌نویسی می‌کنند بسیار تنبل، سهل انگار و متکبر هستند و زمانی برای پیدا کردن راه حل قدیمی برای مسئله پیش روی خود اختصاص نمی‌دهند. برنامه‌نويسان حرفه‌ای استاد تشخیص و استفاده دوباره از الگوهای برنامه‌نويسی هستند.
آن‌ها از بازنویسی و استفاده دوباره کد خود برای دستیابی به بهترین طراحی نمی‌ترسند و تا دست‌یابی به نتیجه مطلوب، دست از تلاش بر نمی‌دارند. در مقابل، یک برنامه‌نويس بد کدهایی می‌نویسد که از عدم وجود یکپارچگی مفهومی رنج می‌برند، قوانین و قواعد تکرار، بازنویسی و وراثت در آن‌ها رعایت نشده و از هیچ الگویی پیروی نمی‌کنند و به همین دلیل، بازنویسی و ایجاد تغییر در آن‌ها بسیار مشکل است. همیشه، کنار گذاشتن کد نامناسب و شروع اصولی همه چیز، بسیار بهتر از تغییر و دست و پا زدن در انواع مشکلات است.
نرم افزارها نیز مانند مفاهیم دیگر از قوانین بی نظمی پیروی می‌کنند. تغییرات پی در پی به خرابی و فرسایش کد منجر شده و در نهایت یکپارچگی طراحی اصلی را از بین می‌برند. با این‌که تغییرات و به تبع آن فرسایش کد امری اجتناب‌ناپذیر است، اما برنامه‌نويسی که در به‌کارگیری یکپارچگی مفهومی طرح خود خوب عمل نمی‌كند، نرم‌افزاری تولید می‌کند که خیلی خیلی سریع دچار فرسایش کد شده و قبل از اتمام، از ارزش و اعتبار مناسب ساقط ‌مي‌شود.
به همین دلیل، مهم‌ترین دلیل مشترک شکست پروژه‌های نرم‌افزاری، شکست درزمینه حفظ نظم در یکپارچگی مفهومی طرح نرم‌افزار به شمار می‌رود. دومین دلیل مهم مشترک در زمینه شکست پروژه‌های نرم‌افزار، ارائه محصولی غیر از آنچه مشتری خواسته است،به حساب مي‌آيد.نکته قابل توجه دیگر آن‌ است که فرسایش کد، سرعت پروژه‌های برنامه‌نويسی را به شدت و به صورت نمایی کاهش می‌دهد و به همین دلیل، بسیاری از پروژه‌ها در زمان برنامه‌ریزی شده به اتمام نمی‌رسند و هزینه‌های بسیاری به سیستم تحمیل می‌كنند و در نهایت نیز کنار گذاشته می‌شوند.
براساس تحقیقي كه در سال 2004 انجام شده حدود 51 درصد از پروژه‌های نرم‌افزاری در وضعیت حیاتی خود دچار شکست شده و حدود پانزده درصد از آن‌ها به‌طور کلی به شکست منتهی می‌شوند. با این حال، این آمار حکایت از پیشرفت شرکت‌ها و توسعه‌دهندگان در رابطه با برنامه‌ریزی و طراحی نسبت به ده سال قبل از آن دارد. در سال 1994 آمار گویای آن بودند که 31 درصد پروژه‌های نرم‌افزار به شکست منجر شده‌اند.
برنامه‌نويسی یک کار بسیار دشوار، تمام وقت و یک فعالیت ذهنی سنگین است. برنامه‌نويسان حرفه‌ای در تمام مدت روز و هفت روز هفته به کار خود فکر می‌کنند. آن‌ها به‌طور معمول حجم بسیاری از کد برنامه خود را در حمام یا در تخت‌خواب می‌نویسند و به این دلیل که حجم بسیاری از کار برنامه‌نويسی جایی غیر از روبه‌روی صفحه‌كليد انجام می‌شود، افزایش ساعت کاری افراد در دفتر اداری یا افزایش افراد پروژه کمکی به افزایش سرعت پیشرفت پروژه نخواهد كرد.
تجربه ی سه:
دستورالعمل من برای موفقیت در برنامه نویسی:
o    به برنامه نویسی علاقه داشته باشید. اطمینان حاصل کنید که انقدر از برنامه نویسی لذت می برید که حاضر باشید 10 سال از عمرتان را صرفش کنید.
o    با برنامه نویسان دیگر ارتباط داشته باشید. کد برنامه های دیگر را مطالعه کنید. این خیلی مهم تر از هر کتاب یا دوره ی آموزشی است.
o    برنامه بنویسید. بهترین نوع آموزش ، انجام دادن است. در واقع حداکثر سطح کارایی برای افراد در هر رشته ای ، به طور خودکار با تجربه ی بیشتر حاصل نمی شود بلکه نیاز به تلاش تعمدی برای بهبود دارد.
o    می توانید تحصیلاتتان را در دانشگاه هم ادامه بدهید. این کار باعث می شود از رشته تان درک عمیق تری به دست آورده و همچنین به کارهایی مشغول شوید که نیاز به مدرک دانشگاهی دارند. البته اگر از مدرسه و درس لذت نمی برید ، می توانید تجربه ی مشابهی را در کار کسب کنید (البته با تلاش بیشتر) Eric Raymond در دیکشنری هکر ها می گوید: "مطالعه و تحصیلات آکادمیک در رشته ی کامپیوتر یک شخص را تبدیل به یک برنامه نویس حرفه ای نمی کند ، همانطور که یک فرد فقط با مطالعه ی رنگ و قلم مو نمی تواند نقاش شود". یکی از بهترین افرادی که در عمرم استخدام کردم (Jamie Zawinski) ، فقط تا دبیرستان درس را ادامه داده بود؛ با این وجود این شخص نرم افزار های خیلی خوبی تولید کرده (موزیلا و xemacs) و گروه خودش را در googlegroups دارد و حتی انقدر پول دراورد که بتواند یک کلوب شبانه بخرد.
o    روی پروژه های تیمی کار کنید. در بعضی از پروژه ها بهترین و در بعضی دیگر بدترین برنامه نویس باشید. وقتی بهترین هستید توانایی های خودتان به عنوان یک رهبر گروه را تست کرده و به دیگر افراد الهام می دهید. وقتی هم که بدترین باشید یاد می گیرید که حرفه ای ها چه کار می کنند و همچنین چه کارهایی را دوست ندارند انجام دهند (چون این کارها را می سپارند به شما!)
o    روی پروژه های دیگران کار کنید. برنامه هایی که دیگران نوشتند را مطالعه کنید. سعی کنید باگ های برنامه های دیگران را رفع کنید. به این فکر کنید که چطور برنامه هایتان را طراحی کنید که کار کسانی که می خواهند ان را نگهداری کنند آسان تر شود.
o    کلی زبان برنامه نویسی یاد بگیرید. یک زبان که از شی گرایی و کلاس ها پشتیبانی کند (مثل جاوا یا سی پلاس پلاس) ، یک زبان تابعی (مثل لیسپ یا ML) (م: یا Haskell) ، یک زبان اعلانی (مثل پرولوگ یا قالب ها در سی پلاس پلاس) ، یک زبان که از coroutine ها پشتیبانی کند (مثل Scheme یا Icon) (م: امروزه زبان های دیگری از جمله سی شارپ هم coroutine را دارند) و یک زبان که از برنامه نویسی موازی پشتیبانی کند (مثل Sisal) (م: و Erlang)
o    یادتان باشد که ما با کامپیوتر سر و کار داریم. بدانید که چقدر طول می کشد تا کامپیوترتان یک دستورالعمل را اجرا کند، یک کلمه را از حافظه واکشی کند (در هر دو حالت وجود و نبودش در کش) ، کلماتی متوالی را از دیسک بخواند ، یا به یک مکان از دیسک برود (seek) (م: منظور نویسنده آشنایی با معماری کامپیوتر است. آقای Stroustrup خالق سی پلاس پلاس هم روی این نکته تاکید دارند)
o    درگیر استاندارد سازی یک زبان شوید. حالا می تواند کمیته ی ANSI C++ باشد یا استاندارد شخصی تان برای کدنویسی (مثلا این که برای تورفتگی از 2 فاصله استفاده کنید یا 4 تا) در هر حال یاد می گیرید که بقیه چه چیزهایی را در یک زبان دوست دارند و همینطور علت این دوست داشتن را.
تجربه ی چهارم:
چگونه برنامه نویسی را شروع کنیم ؟
چه زبانی را برای برنامه نویسی انتخاب کنیم؟
بهترین زبان برنامه نویسی چیست؟
چگونه برنامه نویسی را یاد بگیریم؟
دلفی بهتر است یا C++ ؟
دات نت بهتر است یا جاوا ؟
php بهتر است یا ASP.net یا JSP؟
C# بهتر است یا C++ ؟
ویژوال بیسیک بهتر است یا دلفی؟
و بالاخره J# بهتر است یا C# ؟


اینها سوالاتی است که هر برنامه نویسی در شروع کارش با آنها کلنجار می‌رود. خیلی ها ممکن است سالها فقط روی اینکه چه زبانی را انتخاب کنند وقت بگذارند و هیچگاه برنامه نویسی را شروع نکنند! مثلا خودم حدود یک سال طول کشید تا تصمیم بگیرم روی چه زبانی بیشتر کار کنم ولی خوشبختانه بالاخره شروع کردم. واقعیت این است که همان طور که هر کسی را بهر کاری ساختند، هر زبانی را برایی ساختند! هر زبان برنامه نویسی برای کار خاصی مناسبتر است و باید بسته به نیاز خودمان، زبان مناسب را انتخاب کنیم. واقعیت مهمتر این است که آنچه اهمیت دارد، یادگرفتن یک زبان برنامه نویسی است، چرا که وقتی یک زبان را خوب یاد گرفتید، یادگیری سایر زبانها، به یک سرگرمی مفرح تبدیل می‌شود!
کلا زبانهای برنامه نویسی را به دو دسته مهم می‌توان تقسیم کرد: زبانهای برنامه نویسی دسکتاپ و زبانهای برنامه نویسی وب؛ زبانهای برنامه نویسی دسک تاپ برای تولید نرم افزارهای کاربردی مثل برنامه های آفیس، نرم افزارهای اتوماسیون اداری، نرم افزارهای چند رسانه ای و هر چیزی  دیگری که فکرش را بکنید! و بتوان روی کامپیوتر شخصی اجرا کرد، استفاده می شوند. از سوی دیگر زبانهای برنامه نویسی وب به طور خاص برای تولید وب سایتهای پویا و نرم افزارهای تحت وب استفاده می شوند. در هر دو گروه زبانهای متعددی وجود دارد که هر کدام مزایا و معایبی دارد:
•    زبانهای برنامه نویسی وب
زبانهای برنامه نویسی وب خود به دو دسته سمت خدمتگزار (یا سرور) و سمت کاربر (یا کلاینت) تقسیم می‌شوند. زبانهای HTML، CSS و جاوا اسکریپت زبانهایی هستند که برای طراحی صفحات وب استفاده می شوند و تمام کدها در سمت کاربر اجرا می شود. از سوی دیگر زبانهایی مثل ASP.net، PHP و JSP برای پویا ساختن صفحات وب (مثلا تعامل با کاربر) استفاده شده و به منظور امنیت و سرعت بهتر، در سمت سرور اجرا می‌شوند. برای کسی که قصد دارد برنامه نویسی وب را یاد بگیرد، یاد داشتن CSS و HTML الزامی است ، جاوا اسکریپت مستحب موکد است و یاد داشتن یکی از زبانهای سمت سرور واجب عینی است. از میان زبانهای سمت سرور، مشهورترین، محبوب ترین و امن ترین آنها PHP است، آسانترین آنها ASP.net میکروسافت است و JSP هم که مبتنی بر جاوا است جزء زبانهای حرفه ای به حساب می‌آید! فعلا قصد پرداختن به زبانهای تحت وب نداریم.
•    زبانهای برنامه نویسی دسک تاپ
در زمینه برنامه نویسی دسکتاپ، زبانهای ++C، دلفی، #C (سی شارپ)، ویژوال بیسیک، جاوا و زبان جدید التاسیس #J مهمترین زبانهای قابل ذکر هستند. در این میان زبانی مثل ویژوال بیسیک شاید از همه ساده تر باشد و برای بسیاری از برنامه های کاربردی مناسب است. لیکن اگر برنامه شما نیاز به سرعت و کارایی بالایی دارد گزینه مناسبی نیست.
دلفی نیز که بر پایه زبان پاسکال شیءگرا بنا شده است، ساده و در عین حال کارآمد است. مهمترین ویژگی دلفی وجود کامپوننتهای متعددی است که روند برنامه نویسی را تسریع و تسهیل می کند. لیکن دلفی محدودیتهایی برای کار با پوینترها دارد که اگر نیاز به انجام کارهای پردازشی سنگین و کار زیاد با حافظه دارید کارتان را با مشکل روبه رو می کند. مشکل دیگر دلفی عدم پشتیبانی از یونیکد است که برای ما فارسی زبانان از نان شب هم واجبتر است.
جاوا یک زبان قدرتمند و کاملا شیءگراست. معمولا نرم افزاریها سراغ این زبان می روند (شاید به دلیل اینکه جزء دروس دانشگاهی آنهاست). مهمترین ویژگی این زبان این است که مستقل از سیستم عامل است و فایلهای خروجی آن روی لینوکس و ویندوز کار می کند. امروزه بسیاری از نرم افزارهای موبایل نیز با J2ME نوشته می شود. فایلهای خروجی جاوا برای اجرا نیازمند سکوی J2RE هستند.
#C و سکوی دات نت: می توان گفت تقلید بزرگی از جاوا است، چرا که همانند جاوا کاملا شیءگرا بوده و فایلهای خروجی آنها برای اجرا نیازمند سکوی دات نت هستند. #C که امروزه گل سرسبد زبانهای تحت دات نت است در تولید برنامه های تحت ویندوز و ارتباط با پایگاههای داده جزء زبانهای پیشرو است.
و اما C++: فرزند خلف C، زبانی شیءگرا، سریع، حرفه‌ای و سخت. بیشتر برای کارهای پردازشی استفاده می‌شود و غالبا سیستم عاملها توسط C و ++C نوشته می‌شوند، چرا که بر خلاف سی شارپ و جاوا نیازمند سکوی خاصی نیستند و خروجی آنها کد ماشین خالص است. ++C تقریبا قابل حمل (پرتابل) است! یعنی از آنجا که در تمام سیستم عاملها پشتیبانی می‌شود کدهای ++C را می توانیم با اندک تغییراتی (البته گاهی وقتها بیش از اندکی) در هر سیستم عاملی کامپایل کنیم.
از چه سنی برنامه نویسی را شروع کنیم ؟

ممکن است برای شما این سوال پیش آمده باشد که بهترین سن برای یادگیری برنامه نویسی چه سنی است؟ از نظر تئوری از هر سنی که الفبای انگلیسی را یاد گرفتید می‌توانید آموزش برنامه نویسی را هم شروع کنید؛ ولی تئوری به درد کتاب نوشتن می‌خوره! در عمل هر چه جوانتر باشید بهتر است. چرا که جوان سه ویژگی مهم دارد که فرد مسن ندارد: فراغت، انگیزه‌ و انرژی
هر چقدر سن انسان بالاتر برود، ملاحظه کارتر شده و ترس وی از رفتن به سمت برنامه نویسی بیشتر می‌شود؛ این فقط یک حرف نیست، واقعیت بزرگیست که شاید شما هم متوجه شده باشید! اگر سن شما به بالای 40 رسیده و تازه به فکر برنامه نویسی افتاده‏اید، کار بسیار سختی در پیش دارید. لیکن اگر دبیرستانی یا دانشجو هستید و می‌خواهید برنامه نویسی را شروع کنید باید بگویم که بهترین زمان را انتخاب کرده اید.
چه مدت طول می‌کشد که برنامه نویسی را یاد بگیریم؟
کتابهای زیادی در بازار یافت می‌شود با عناوین ویژوال بیسیک در 21 روز، یادگیری ++C در 24 ساعت، PHP در سه سوت! و از این دست. اگر شما هم دنبال این هستید که در عرض 21 روز یا 24 ساعت یا یک ماه و دو ماه برنامه نویسی را یاد بگیرید، بهتر است که این پنبه را از گوشتان دربیاورید. درست مثل این است که بگوییم مهندسی هوافضا در 21 روز! یا مثلا دکتری فیزیک در دو ماه! خنده داره و اصلا چنین عناوینی را در کتابها نمی بینیم. لیکن رایانه بیچاره چون برای همه آشناست و همه دوست دارند از آن سر دربیاورند، اینجور بازارهایی پیدا کرده است.
یادگیری برنامه نویسی نیازمند مطالعه و تمرین مداوم است و اگر انگیزه کافی نداشته باشید خیلی راحت 6 ماه از عمرتان را تلف کرده و بعد بی خیال ماجرا می شوید.


► اطلاعات دانشگاهی رشته برنامه نویسی
نرم افزارهای رشته برنامه نویسی ◄

مطالب مرتبط
بنر