برنامهنویسی امروزه به یکی از مهمترین مشاغل در حوزه کامپیوتر تبدیل شده است. از این بابت معرفی شغل برنامهنویسی در عین سادگی کمی مشکل به نظر میرسد. چرا که شغل برنامهنویس مدام در معرض تغییر است و حوزه کاری و وظایف او نیز با توجه به پیشرفتهای سریعی که در این حوزه بدست میآید تغییر میکنند.
روز به روز بر حوزه کاری این شغل افزوده میشود. جالب است بدانید هر چیز هوشمندی که در اطرافتان میبینید ردپایی از برنامه نویسی با خود به همراه دارد. از یک سیستم نوبتدهی بیمارستان گرفته تا دستگاه خودپرداز، وسایل آزمایشگاهی پیشرفته تا هر چیزی که در گوشی تلفنتان از آن بهعنوان برنامههای اندرویدی و جاوا و ios استفاده میکنید،. سیستمهای آماری، دستگاه زلهنگار، چراغ راهنمایی و رانندگی، دوربینهای ثبت تخلفات، صفحات سایتهای اینترنتی و خیلی چیزهای دیگر. شاید با خودتان فکر کنید چرا برای آشنا شدن با شغل برنامهنویسی کمی مرتبتر عمل نکرده و مثالها را دستهبندی نکردهایم. دلیل این آشفتگی واضح است. به خاطر این که کاربرد برنامهنویسی از چند حوزه ساده، بسیار فراتر است.
امروزه با توجه به اینکه زندگیها از زندگی ساده به زندگی رباتیک سوق پیدا میکنند، نقش برنامهنویسی روز به روز پر رنگتر میشود و ردپای آن در اطراف ما بیشتر به چشم میخورد. چند سال پیش برای استفاده از خدمات بانکها نیاز داشتید از منزل بیرون بروید اما امروزه به لطف شغل برنامه نویسی در خانه، با دسترسی داشتن به یک سیستم هوشمند و اتصال به اینترنت، به وسیله یک برنامه که کاربری سادهای دارد و یک برنامهنویس آن را برای شما نوشته است، کارهای خود را با نهایت آرامش انجام میدهید. اگر به اهمیت شغل برنامه نویسی پی بردید، بهتر است تا انتهای این مقاله با ما همراه باشید و از زیر و بم این شغل باخبر شوید. آیا شما هم میتوانید یک برنامهنویس باشید و از سختیها و لذتهای آن آگاهی دارید؟ با ما همراه باشید تا با معرفی شغل برنامه نویسی، شما را با شغل برنامه نویسی آشنا کنیم و وظایف برنامه نویس را بهتر بدانیم.
برنامه نویسی یعنی کد نویسی. کد ها دستوراتی هستند که باید در محیطی مناسب و با ترتیب و قواعدی درست نوشته شوند تا یک خروجی که هدف ماست به ما بدهند. در اصل صفحهای که روبروی شماست و شما دارید آن را مطالعه میکنید تحت یک سری کد نوشته شده و از پیش تعیین شده نوشته شده است. همه نرمافزارهایی که شما با آنها سر و کار دارید، حاصل پشت سر هم قرار گرفتن یک سری کد و دستور و برنامه هستند و گاهی پشت کاربری ساده این نرمافزارها محاسبات و الگوریتمهای پیچیدهای نهفته است. برای این که ساده تر با مفهوم برنامهنویسی آشنا شوید، یک مثال از زندگی روزانه خواهیم آورد. برای مثال روشن کردن ماشین را درنظر بگیرید. برای اینکه ماشینی روشن شود، راننده باید در محیط ماشین بنشیند و یک سری دستورات را طبق عملیاتی منظم انجام دهد تا بتواند ماشین را روشن کند و به سلامت و درستی به رانندگی بپردازد. نظم انجام امور برای روشن کردن ماشین شبیه روشن کردن یک برنامه است. اگر قبل از اینکه سوئیچ ماشین را بچرخانید، پایتان را روی گاز بگذارید، هرگز ماشین روشن نمیشود. درست است که فشار دادن پدال گاز نیز یکی از مجموعه دستوراتی است که باید برای حرکت یک خودرو به آن عمل کرد. اما اگر در جای درست خود انجام نشود، کاری از پیش نخواهد برد. برنامهنویسی نیز دقیقا به همین صورت است. برنامه نویسی به یک سری دستورات گفته میشود که حتما باید طبق نظم خاصی پشت سر هم قرار بگیرند تا هدف برنامهنویس را محقق کنند.
هدف شغل برنامه نویسی حل کردن یک مشکل است که میتوان بوسیله کامپیوتر آن را به راحتی انجام داد. هر برنامه نویس اگر بخواهد با موفقیت عمل کند، باید هدف شغل خود را درک کند. هدف شغل برنامه نویسی را به طور کلی میتوان گفت اما بیان کردن آن با جزئیات کمی طولانی خواهد بود. در کل شغل برنامه نویسی بوجود آمده تا کاری که انسانها در مدت زمانی طولانی و به سختی و با احتمال بروز خطا انجام میدهند، در سرعتی کمتر و به آسانی و بدون خطا انجام دهد. یکی دیگر از اهداف برنامهنویسی انجام کارهایی است که انسانها قادر به انجام آن نیستند.
برنامهنویسی به عملیاتی گفته میشود که با اعمال آنها در سیستم کامپیوتری، یک مسئله با سرعت بالا و نظم خاصی حل میشود. برنامهنویسی حل یک مسئله است. مسئلهای که انجام آن بوسیله سیستم هوشمند، برای ما نفعی بیشتر نسبت به حل همان مسئله بوسیله یک نیروی انسانی دارد. امروزه اکثر کارهایی که بوسیله کامپیوتر انجام میشوند با خطایی کمتر و سرعت بالاتری نسبت به انجام همان کار توسط نیروی انسانی صورت میگیرد. هدف برنامهنویسی هم همین است. حل مسائل با سرعت بالا و خطای کم.
تمامی نرمافزارها نیز به همین منظور طراحی میشوند. وقتی به هدف تولید یک برنامه نرمافزاری دقت کنید میبینید که برنامهی نوشته شده برای حل یک مسئله برنامهنویسی شده است.
برنامهنویس به فردی گفته میشود که تخصص برنامهنویسی را کسب کرده و بوسیله زبانهای برنامه نویسی، اقدام به نوشتن برنامه برای هدف و منظوری خاص نموده است. برنامه نویس کسی است که علاوه بر دانش کامپیوتری دانش منطقی نیز دارد. برنامه نویس موفق کسی است که به خوبی هدف را شناسایی میکند، الگوریتم مینویسد و در محیطی مناسب برنامهنویسی با یک زبان مناسب، اقدام به طراحی و نوشتن یک برنامه مینماید.
چیز دیگری که در معرفی شغل برنامهنویسی باید به آن اشاره کرد، این مسئله هست که چه نوع شخصیتهای مناسب این شغل هستند و در این وادی موفقتر عمل میکنند. یک برنامهنویس موفق ویژگی و خصوصیاتی دارد که اگر کسی این خصوصیات را در خود ببیند میتواند با خیال راحت وارد این شغل شده و کار خود را شروع کند.
یک برنامهنویس میتواند در شرکتهای برنامهنویسی شروع به کار نماید. یک برنامهنویس که در شرکتهای کامپیوتری مشغول به کار میشود ممکن است در سمتهایی مانند: مدیر فنی، کارشناس، کارشناس ارشد، برنامهنویس، برنامهنویس وب و . به کار گمارده شود. لازم به ذکر است که تنها کسانی که شغل اصلی آنها برنامهنویسی است نیاز به یادگیری این مهارت ندارند. بلکه علاوه بر فارغالتحصیلان رشتههای مربوط به کامپیوتر، دیگر رشتهها نیز به این دانش نیاز دارند و میتوانند در کنار شغل خودشان، یک برنامهنویس هم باشند. تعداد موقعیتهای شغلی بسیاری وجود دارد که برای کسب این موقعیتها باید دستی در برنامهنویسی هم داشت.
همانطور که گفتیم برنامهنویسی جای خود را در بین مشاغل به خوبی باز کرده است و برای کسب جایگاه خیلی از مشاغل علاوه بر دانش اصلی مربوط به آن شغل، باید پیشدرآمدی از برنامهنویسی هم داشت. این مسئله نشان میدهد که مشاغل مختلف تا چه اندازه به برنامهنویسی مرتبط هستند و کم کم به ارتباط و نیاز آنها به برنامهنویسی افزوده نیز خواهد شد و جایگاه شغل برنامه نویسی از این نظر در بین مشاغل مختلف از امتیاز بالایی برخوردار است.
شغل برنامهنویسی در ایران و جهان، امتیاز بالایی دارد. برای تحلیل جایگاه برنامهنویسی در بازار کار امروز ایران باید مسائل متفاوتی را کنار هم قرار داد و بررسی کرد. خیلی از تحلیلگران جایگاه شغل برنامه نویسی را در ایران به صورتی مثبت ارزیابی میکنند و برخی نیز از کسادی بازار کار برنامهنویسان خبر میدهند. ارزیابی مثبت این شغل به این دلیل است که اگر فردی بتواند در برنامهنویسی را در مسیری درست فراگرفته و دانش خود را در مسیری درست هدایت نماید، همواره مورد توجه خواهد بود و تواناییهایی او نادیده گرفته نمیشود. اما اوضاع زمانی نابسامان میشود که هر روزه بر فارغالتحصیلان رشته کامپیوتر افزوده میشود بدون اینکه بازار کاری برای این حجم از دانشآموختگان فراهم شود. از طرف دیگر سیستم آموزشی دانشگاهی در کشور به صورتی نیست که فارغالتحصیلی در رشته کامپیوتر و برنامهنویسی به این معنی باشد که فرد مورد نظر تواناییهای لازم برای این زمینه را کسب نموده است. امروزه با توجه به جو رقابتی بین برنامهنویسیان این شرایط پیشآمده که اگر فردی بخواهد پیشرفت کند، یا باید به صورت کاملا جدی و تخصصی شروع به آموزش آن کند یا کلا قید آن را بزند. از این رو، میتوان گفت امروزه بازار کار برای شغل برنامه نویسی، برای افراد متخصص بسیار خوب و برای افرادی که آموزش برنامهنویسی را به صورت مبتدی و تنها با تکیه بر مباحث کلاسی و بدون تمرین و تکرار فراگرفته باشند، کمی کساد است.
در معرفی شغل برنامه نویسی باید قید کرد که آینده شغلی این رشته بسیار روشن ارزیابی میشود. چه در جهان و چه در ایران، تکنولوژی رو به پیشرفت است و مشاغلی که از تکنولوژی دور باشند کمی در خطر خواهند بود. اما آینده مشاغلی مانند برنامهنویسی با آیندهای مثبتتر پیشبینی میشوند.
این که یک برنامهنویس در چه شرکتی و چه سمتی مشغول به کار شود بسیار در میزان درآمد او تاثیرگذار است. میزان درآمد این شغل در شهرهای مختلف و ارگانهای مختلف با تفاوتهایی همراه است که نمیتوان میزان درآمد آنها را به صورت قطعی بیان کرد. علاوه بر شغلهای ثابت، برنامهنویسان این مزیت را دارند که میتوانند به صورت آزاد نیز کار کنند. قیمت پروژههای برنامهنویسی که در بازار آزاد به برنامهنویسان داده میشود با توجه به پیچیدگی کاری که به آنها محول میشود مختلف است. برای مثال ممکن است قیمت یک پروژه پانصد هزار تومان و قیمت یک پروژه دیگر 100 میلیون تومان برآورد شود. پس بهتر است بگوییم میزان درآمد یک برنامهنویس با توجه به تخصص او در این زمینه تایین خواهد شد.
برنامهنویسی شغل منعطفی است و کسی که شغل برنامه نویسی را پیشه کار خود میکند هم میتواند به صورت ثابت در یک شرکت مشغول بکار شود و هم فعالیت خود را به صورت آزاد انجام دهد.
همانطور که خیلی از افرادی که در شغل برنامه نویسی مشغول به کار هستند از شغل خود رضایت دارند، هستند افرادی نیز که این شغل را برای خود مناسب نمیدانند. هر شغلی ممکن است برای فردی بهترین شغل و برای فردی دیگر بدترین شغل تلقی شود. تمامی مشاغلی راحتیها و سختیهای مربوط به خود را دارند و افراد باید با توجه به روحیه و توانایی و شخصیت خود شغل خود را انتخاب کنند. انتخاب شغل برنامه نویسی نیز از این قاعده مستثنی نیست.
کار مداوم با سیستم، ممکن است مشکلات فیزیکیای را برای افرادی که شغل برنامه نویسی را برای خود انتخاب کردهاند پیش بیاورد. از طرف دیگر، کار پشت سیستم و برنامهنویسی علاوه بر اینکه برای افرادی جالب است، میتواند یک شغل کسل کننده برای خیلی از افراد دیگر باشد که این افراد باید از انتخاب این شغل برای خود اجتناب کنند. یکی دیگر از مشکلاتی که برنامهنویسان با آن مواجه میشوند پیدا کردن پروژه و مشتری است که ممکن است زمانی خوب و راحت و زمانی با مشقت باشد. یعنی ممکن است در یک برهه زمانی سرشان شلوغ شود و زمانهایی دیگر مشکل بیکاری داشته باشند. البته این برای افرادی است که شغل برنامه نویسی را به صورت ثابت انجام نمیدهند و وارد بازار کار آزاد شدهاند
تایپوگرافی: سبک، چیدمان و ظاهر حروف، هنر انتخاب و طراحی حروف چاپی.
تراز ستون: ردیف کردن متن در دو حاشیه چپ و راست یک ستون.
تگ لاین: متنی شامل دریفی از کلمات که از متن استخراج شده است. و در انتهای صفحه کامپیوتر یا کاغذ نوشته میشود.
تی آی اِف اِف: مخفف عبارت Tag Image File Format که یک قالب گرافیکی غیر فشرده برای ذخیره و انتقال الکترونیکی تصاویر رنگی و خاکستری و سیاه و سفید است. این قالب گرافیکی یک قالب مطلوب سنتی برای چاپ است.
سایه نما: تصویری که پس زمینه ی آن حذف شده باشد و فقط یک تصویر یا شی در آن باشد.
سطر بیوه: خط کوتاه در انتهای پاراگراف که در بالای صفحه یا ستون آمده است.
سطر یتیم: اولین سطر یک پاراگراف جدید یا یک عنوان فرعی در پایین یا بالای صفحه یا ستون.
سینک: قسمتی توخالی یا فرورفته در سطوح لوح چاپ.
صفحه بندی: چیدمانی از عناصری مانند حروف چاپی و عناصر بصری دیگر در یک صفحه کاغذ یا کامپیوتر.
فونت: یک سبک واحد از طرح حروف است.
پیکا: واحد اندازه گیری حروف؛ یک پیکا برابر با 12 پوینت میباشد.
افست وب: چاپ افست روی نوار پیوسته کاغذ.
مفتول زنی زینی: صحافی با سیم های مشابه مفتول.
صفحافی مفتول تخت: منگنه تخت یا مفتول تخت همان منگنه متداولی است که استفاده از آن در ادارات و منازل و دفاتر رایج است.
صحافی مفتول لوپ: مفتول یا منگنه لوپ به شکل یک نیمدایره یا حلقه است که ظاهر کار را فانتزی و زیباتر کرده و همچنین باعث قرارگیری راحت و آسان داخل زونکن و کاتالوگ میشود.
صحافی ته چسب: تکنیک صحافی با چسب. روشی از صحافی که در آن لبه های آزاد اوراق که بدنه ی کتاب را تشکیل میدهند با لایه ای از چسب بسیار قوی و انعطاف پذیر پوشیده میشود و آستری از کاغذ، تنظیف یا دیگر موارد از این دست روی آن کشیده میشود و در داخل جلد قرار میگیرد.
زمانی که HTML پا به عرصه دنیای اینترنت گذاشت، فرض بر این که این زبان تنها برای نمایش متن و عکس بوجود آمده است. عملا در آن زمان، کسی حتی فکر آن را نمی کرد که روزی برسد که اینترنت به خانه های صدها میلیون آدم و بر روی کامپیوترهای شخصی نفوذ کند.
HTML زبانی بود که بسیاری از موارد پیشرفته در طراحی در آن لحاظ نشده بود. بعلاوه اینکه این زبان قابلیت تغییر، کاربر پسندی و بسیاری دیگر از مباحثی که در دنیای برنامه نویسی و طراحی با گذشت زمان بوجود آمده اند را در خود جای نداده است.
CSS یا Cascade Style Sheets زبان برنامه نویسی می باشد که کنسرسیوم بین المللی شبکه جهانی وب یا W3C برای غلبه بر مشکلاتی که در طی زمان با استفاده از HTML بوجود آمده است پیشنهاد داده است. عملا این زبان برنامه نویسی، مکملی بر زبان باستانی HTML است و سعی در پر کردن نقاط ضعف و خلاء های آن دارد.
CSS زبانی است که توسط آن قادر خواهید تا استیل طراحی صفحات وب سایت تان را یکبار تعریف و به صفحات مورد نیازتان اعمال نمایید.
برای این منظور مثالی را می زنیم. تصور کنید که سایت شما شامل 100 صفحه استاتیک می باشد و شما آنها را تماما به زبان HTML نوشته اید. بعد از یک هفته تصمیم گرفته اید تا فونت تمام کلمات را کمی بزرگتر کنید. گفتن اینکه فونت تمام کلمات بزرگتر شود بسیار کار راحتی است و تنها یک جمله است. ولی آیا در عمل تغییر 100 صفحه نیز به همان راحتی خواهد بود؟
قطعا نه. CSS دقیقا همان زبانی است که جمله یک خطی شما را تبدیل به همان یک جمله خواهد کرد. شما تنها کافی است تا استیل مورد نیازتان را در طراحی تغییر دهید و آن هم تنها با تغییر یک یا چند مورد کوچک.
جمله آخر اینکه، استفاده از CSS باعث تمیزتر شدن کدهای برنامه نویسی تان می شود، تغییرات آتی را آسان می کند و همچنین دید شما را بیشتر به طراحی معطوف می کند تا سر و کله زدن با کدهای برنامه نویسی.
اگر بخواهیم تفاوت استاتیک و داینامیک را مشخص کنیم، خیلی خوب است که اینکار را در قالب یک مثال انجام دهیم. فرض کنید که دو صفحهی وب مختلف داریم. یک صفحهی وب داینامیک (Dynamic) و یک صفحهی وب استاتیک (Static). حالا میخواهیم بصورت تک به تک، هرکدارم ازین این صفحات وب را بررسی کنیم که به چه صورت هستند؟ چه ویژگی هایی دارند؟ برای انجام چه کارهایی مناسب هستند و چرا باید/نباید از آنها استفاده کنیم و بصورت کلی تفاوت استاتیک و داینامیک را درک کنیم.
اگر کلمهی Static را در دیکشنری سرچ کنید، با معنای ایستا، ثابت و… مواجه میشوید. در تعریف صفحات وب استاتیک میتوانیم بگوییم:
صفحات وبی هستند که تمام محتوای آنها توسط کدهای HTML, CSS و جاوا اسکریپت نوشته شده است و این صفحات، هیچ ارتباطی با دیتابیس ندارند و هیچ اطلاعاتی را از دیتابیس دریافت نمیکنند.
در واقع محتویات صفحات وب استاتیک، بصورت کامل توسط کدهای HTML تولید شده است و هرگز این محتویات از جای دیگری تغذیه نمیشوند
سایت های استاتیک، سایت هایی هستند که اطلاعات درون آنها همگی توسط کدهای مستقیم نوشته شده اند.
حالا ممکن است برایتان سوال پیش بیاید که چرا یک سایت باید بصورت استاتیک طراحی شود. جواب این سوال میتواند این باشد که سایت هایی که نیاز به تغییرات اطلاعات زیادی ندارند و اطلاعات کمی را قرار است در خود جای دهند، میتوانند بصورت سایت های استاتیک طراحی شوند.
برای مثال سایت یک شرکتی را فرض کنید که فقط قرار است خدمات آن شرکت به همراه آدرس و شماره تماس آنرا نمایش دهد و هیچ اطلاعات دیگری را به کاربران خود ارائه نمیدهد. به این دلیل که محتویات این سایت قرار نیست بصورت مکرر بروز شود، میتوان این سایت را بصورت استاتیک طراحی و برنامه نویسی کرد.
اما سایت هایی که نیاز دارند اطلاعات بروز داشته باشند چی؟ آنها را بصورت داینامیک طراحی میکنیم!
صفحات وبی هستند که محتویات آنها بصورت پویا و داینامیک تغییر پیدا میکند. این صفحات وب معمولا به دیتابیس وصل میشوند و اطلاعات خودشان را از طریق پایگاه داده یا دیتابیس میگیرند.
برای مثال سایت یک فروشگاه اینترنتی را در نظر بگیرید. این سایت نمیتواند یک سایت استاتیک باشد، زیرا باید هرروز مقادیر زیادی از اطلاعات را دربارهی محصولات اضافه یا حذف کند. به همین دلیل انجام اینکار بصورت استاتیک غیرقابل انجام است. پس از دیتابیس برای ساخت سایتی این چنینی استفاده میکنند و وقتی که اطلاعات یک سایت از دیتابیس خوانده میشود، میتوانیم بگوییم که این سایت، یک سایت داینامیک است.
برای مثال اگر شما به سایت دیجی کالا سر بزنید، متوجه میشوید که هزاران کالا در آن وجود دارد. آیا بنظرتان منطقی است که برای هر تغییر کوچکی در کالا، کد را عوض کنند؟ هرگز.
بجای اینکه کد را تغییر دهند، اطلاعات را در دیتابیس تغییر میدهند و این دقیقا ویژگی سایت های داینامیک (Dynamic) است.
یک سایت داینامیک، برای سایت هایی مناسب است که اطلاعات که در آن سایت قرار است نمایش داده شود، به مقدار بسیار زیادی در زمان های کوتاه دستخوش تغییرات میشود. و همینطور سایت هایی که اطلاعات زیادی را قرار است به کاربران خود نشان دهند. این ها دقیقا همان سایت هایی هستند که باید از از یک سیستم داینامیکِ متصل به دیتابیس برخوردار باشند.
اگر میخواهید دربارهی دیتابیس و پایگاه داده بیشتر بدانید، مقالهی دیتابیس چیست میتواند بسیار مفید باشد.
در ادامهی پاسخ به سوال تفاوت استاتیک و داینامیک ممکن است این سوال نیز برایتان پیش بیاید که وبسایت داینامیک مناسب شما و کسب و کارتان است یا وب سایت های استاتیک؟ پاسخ به این سوال کاملا بستگی به هدف و کارکرد سایت شما دارد.
اگر میخواهید سایتی داشته باشید که اطلاعات کمی را قرار است ارائه دهد و آن اطلاعات به ندرت و شاید چند ماهی یک بار نیز قرار نیست تغییر کنند و هیچ چیز جدیدی به سایت شما بصورت مکرر اضافه نمیشود:قطعا یک سایت استاتیک نیاز شما را پاسخ میدهد.
اما اگر قرار است وبسایت شما بصورت مداول و همیشگی بروزرسانی شود و یا حجم اطلاعاتی که میخواهید به کاربرانتان ارائه دهید بالا است، حتما نیاز به یک سایت داینامیک دارید که بتواند با دیتابیس ارتباط برقرار کند و اطلاعات را از دیتابیس بگیرد و به کاربران شما نشان دهد.
نمیتوان گفت که سایت های استاتیک بهتر هستند یا سایت های دانامیک، پاسخ این سوال کاملا بستگی دارد به نوع استفاده ای که شما میخواهید از سایتتان بکنید. در نظر داشته باشید که برای سایتتان چه هدفی دارید، سپس ببینید که میخواهید یک سایت داینامیک داشته باشید یا استاتیک.
درباره این سایت