تاکنون مطالب بسیاری در مورد برنامهنویسی نوشتهایم، اما هر چه به عقب باز مینگریم، مشاهده میکنیم هیچ چیز نوشته نشده است. دنیای برنامهنویسی به قدری گسترده، جذاب و قدرتمند است که هر فردی را وسوسه میکند، حداقل یک بار هم که شده برنامهنویسی را مورد آزمایش قرار دهد. شاید کارهای گرافیکی و خلق جلوههای ویژه با نرمافزارهایی شبیه به مکس یا افترافکت کار بسیار جذابی به شمار رفته و متنوع باشد، اما باید یادمان باشد، اینگونه نرمافزارها نیازمند سختافزارهای قدرتمندی هستند. اما در نقطه مقابل دنیای برنامهنویسی حال و هوای خاص خود را دارد. زمانیکه فردی تصمیم میگیرد به دنیای برنامهنویسی گام نهند با یک سؤال بزرگ روبرو میشود.
مطلب پیشنهادی: دانلود رایگان 15 کتاب برنامهنویسی
از کجا باید شروع کنم و چه زبانی را به عنوان زبان اصلی خود انتخاب کنم. همه دوست دارند بدانند کار را باید از کجا آغاز کنند و همواره تمایل دارند یک جواب صریح و روشن را در این زمینه دریافت کنند، حتی بسیاری ترجیح میدهند گام اول را از همان ابتدا با سختترین زبان برنامهنویسی آغاز کنند به امید آنکه در دنیای حرفهای حرفی برای گفتن داشته باشند در صورتی که تجربه نشان داده است، این راهکار در بیشتر موارد به بنبست ختم میشود.
چه زبان برنامهنویسی را بهتر است یاد بگیریم؟
سایت Udacity.com اینفوگرافی جالبی را در ارتباط با انتخاب زبان برنامهنویسی، همراه با میزان تقاضای بازار و تفکیک الگوهای مختلف طراحی کرده است. اما به جای آنکه مستقیما این اینفوگرافی را به شما نشان دهیم، ابتدا بهتر است کمی درباره انتخاب زبان برنامهنویسی مناسب و معیارهایی که در این زمینه باید رعایت شوند نکاتی را مورد بررسی قرار دهیم. شیوهای که سایت یوداستی برای ساخت این اینفوگرافی مورد استفاده قرار داده در نوع خود جالب توجه به شمار میرود. اما برای آنکه توصیهها متمایز از یکدیگر باشند، آنها را در گروههای تفکیک شده از یکدیگر قرار دادیم. بهطور مثال، توصیههایی برای عاشقان سفر، طراحان وب، کاربران دنیای فناوریاطلاعات یا افرادی که در مسیرهای شغلی دیگر گام بر میدارند. برای آنکه بتوانیم پاسخ شما را به درستی دهیم، ابتدا باید مصاحبههای مختلفی را با متخصصان و افراد تازهکار انجام داده تا در نهایت علایق آنها را با نیاز شرکتهای حوزه فناوری مورد بررسی قرار دهیم. این مکانیزم باعث میشود بدانیم فناوری در چه بخشهایی متمرکز شده است و نیازهای روز دنیای فناوری چه هستند. بهطور مثال، شما ممکن است به زبان برنامهنویسی اسمبلی علاقمند باشید اما باید ببنید آیا بازار کار این زبان برنامهنویسی در ایران رایج است یا تنها شرکتهای بسیار محدودی به آن نیاز دارند.
چگونه در هر مکانی میتوانم کارم را انجام دهم؟
آیا عاشق مسافرت کردن هستید؟ اگر چنین است بهتر است زبانهای برنامهنویسی تحت وب را یاد بگیرید. پایتون گزینه خوبی در این زمینه به شمار میرود. البته اگر اندکی روی زبان برنامهنویسی سی سرمایهگذاری کنید کار عاقلانهای خواهد بود. ( شاید کمی تعجب کنید اما زبان برنامهنویسی سی در بعضی از کشورهای شرق آسیا بازار خوبی دارد.) همچنین به فکر یادگیری پلتفرمهای ابری همچون Heroku، BlueMix و Azure نیز باشید. Amazon AWS گزینه قابل تعمل دیگری در این زمینه به شمار میرود، اما منحنی یادگیری آن در مقایسه با دیگر پلتفرمها به زمان بیشتری نیاز دارد. البته به عنوان یک تازهکار، بهتر است به جای آنکه روی پیکربندی متمرکز شوید، تمرکز خود را روی مفاهیم پایه قرار دهید. برای این منظور سرفصلهای آموزشی مقدماتی و بسیار مفیدی در سایت Stack Overflow Careers و Angel.co وجود دارد.
چگونه میتوانم سختافزارهای قدرتمندی طراحی کنم؟
اگر در نظر دارید دستگاههای فیزیکی طراحی کنید، دو برد بسیار عالی برای این منظور وجود دارد، رزبری پای و آردوینو. ( برای اطلاعات کامل در مورد نحوه کار با برد رزپری پای به ویژهنامه اسفندماه شبکه مراجعه کنید.)
مطلب پیشنهادی: انقلاب برنامهنویسی گرافیکی
البته به عقیده شخصی نویسنده برد رزپری پای برای شروع گزینه مناسبی است به دلیل اینکه یادگیری پایتون در مقایسه با زبان برنامهنویسی سی سادهتر است. اما اگر در نظر دارید برنامهنویسیهایی را در سطح لایه نزدیک به سختافزار انجام دهید بدون شک به سی یا سی پلاس پلاس نیاز خواهید داشت. همچنین، اگر در نظر دارید روی پروژههای شخصی در ارتباط با اینترنت اشیا کار کنید، بهتر است یک آیفون یا آندروید ارزان قیمت یا حتی معیوب که صفحهنمایش آن شکسته شده است خریداری کنید. موقعیتیاب سه بعدی و حالت لرزشی آن بدون آنکه نیازی به برنامهنوسی وجود داشته باشد با ابزار IBM BlueMix IoT Demo در اختیارتان قرار خواهد داشت.
چگونه میتوانم سطح دستمزدی که دریافت میکنم را افزایش دهم؟
جدای از یادگیری یک زبان برنامهنویسی جدید، یک استراتژی خوب یادگیری مفاهیم مرتبط با سیستمهای سازمانی است. بهطور مثال، متمرکز شدن روی سیستمهای مرتبط با دادههای حجیم شبیه به Handoop یا Spark انتخاب عاقلانهای به شمار میرود. ( سایتها و منابع آنلاین زیادی وجود دارند که این مفهوم را بهطور رایگان به شما آموزش میدهند. سایت EdX.ORG نمونهای از این مکانهای یادگیری آنلاین به شمار میرود.)
اگر شغل انتخابی من برنامهنویسی نیست باید چه کنم؟
تا این قسمت توصیههایی که ارائه کردیم بهطور مستقیم در ارتباط با برنامهنویسی بود. اما در مورد صنایع دیگر چگونه میتوانیم عمل کنیم؟ جایی که دانش برنامهنویسی به میزان اندکی مورد نیاز خواهد بود. در ابتدا، اگر عبارت ()sumif معنای خاصی برای شما ندارد، در اولین گام به سراغ اکسل بروید. صفحات گسترده این روزها بیشتر از آن چه مردم تصور میکنند راهگشا خواهد بود. بیشتر برنامهنویسان قبل از آنکه به سراغ کدنویسی مستقیم بروند تا جایی که امکان دارد از مزایای صفحات گسترده در محاسبات خود استفاده میکنند. بهطور مثال، زمانی که برای دادههای خود به نمودار گرافیکی زیبا نیاز دارد و اکسل در عرض چند دقیقه چنین نموداری را در اختیارتان قرار میدهد چه لزومی دارد ساعتها یا بلکه روزها وقت خود را برای طراحی و پیادهسازی چنین چارتی در یک زبان برنامهنویسی هدر دهید؟ ( بویژه آنکه مایکروسافت در آفیس 2016 ویژگیها و امکانات شاخصی را در اکسل 2016 قرار داده است. ویژگیهایی که در گذشته تنها در نسخه تجاری اکسل و آفیس 365 در اختیار کاربران قرار داشت.) بعد از یادگیری اکسل شما نیازمند یادگیری مفاهیم زیر هستید:
1.HTML، هر سایتی توسط HTML ساخته شده است. (همراه با برنامههای جانبی دیگری). اگر تصور میکنید، HTML کمی ساده بوده و تمایل دارید فراتر از اصول اولیه گام بردارید، باید به سراغ وردپرس بروید، همچنین اگر موقعیت شغلی شما در ارتباط با ابزارهای بازاریابی دیجیتالی خواهد بود، توصیه میکنیم HTML را فراموش نکنید. HTML همراه با برچسبها، متادیتاها و مؤلفههایش کمک فراوانی در این زمینه ارائه میکند.
2. Cascading stylesheets یا به اختصار CSS یک قالببندی ویژه کدها بوده که توسط سایتها مورد استفاده قرار میگیرد. این ابزار برای قالببندی فونتها و رنگها در صفحات وب مورد استفاده قرار میگیرد.
3. جاوا اسکرپیت مقدماتی، اگر در نظر دارید سایتی که طراحی میکنید، رییستان را تحت تأثیر قرار دهد، دانستن کمی جاوا اسکرپیت در این زمینه کمک کننده خواهد بود.
4. PHP یا ASP.Net یا Visual Basic، یادگیری هر یک از این سه زبان بسیار ساده است. این زبانها مستقل از یکدیگر هستند. زبانهای اشاره شده به شما اجازه میدهند چیزهایی که به آنها نیاز دارید در سریعترین زمان ممکن در اختیارتان قرار بگیرد. ( در ایران تمرکز بیشتر روی زبان برنامهنویسی PHP است.)
این زبانهای برنامهنویسی در برنامهنویسیهای روزمره و کارهای مختلف و بویژه کار با اسکریپتها مورد استفاده قرار میگیرند. بهطور مثال، وردپرس به زبان PHP نوشته شده است. ویژوال بیسیک به شما اجازه میدهد نه تنها وب سایتها، بلکه برنامههای ویندوز را در سریعترین زمان ممکن سفارشی کنید. دانستن زبانهایی شبیه به پیتون یا جاوا در این زمینه چندان راهگشا نمیباشند به دلیل اینکه آنها به گونهای طراحی شدهاند که در مقیاس وسیع برای برنامهنویسی سرورها، توسعه برنامهها یا اسکرپیتهای سیستمی مورد استفاده قرار گیرند. اگر در نظر دارید پیتون یا زبانهایی در این رده را در آینده یاد بگیرید حرکت از جاوا اسکرپیت یا PHP به پیتون کار سادهای خواهد بود به دلیل اینکه اصول اولیه و پایه یکسان هستند.
اگر شغل من فناوری اطلاعات باشد چه زبانی برای من مناسب است؟
اگر کاربر پلتفرم ویندوز هستید، HTML و PowerShell برای شما مناسب است. اگر کاربر پلتفرم لینوکس هستید، یادگیری HTML و bash scripting برای شما مناسب خواهد بود.
برای آنکه در حوزه IT موفق باشید نیازی نیست برای یادگیری زبانهای برنامهنویسی هزینه زیادی کنید. مردان IT با گواهینامه یا تخصصی که در فناوریهای سازمانی دارند موفق خواهند بود. در این حوزه تخصص حرفهای برنامهنویسی توفیق زیادی برای شما به همراه نخواهد آورد. بهطور مثال در تجارت الکترونیک یا سیستمهای برنامهریزی منابع سازمانی(ERP) ابری و منبع باز به کارشناس خبره برنامهنویسی نیازی نیست. اما بهتر است اطلاعاتی در مورد اسکرپیتها داشته باشید.
اگر شغل من طراحی سایتها باشد، بهتر است چه زبان برنامهنویسی را یاد بگیرم ؟
یادگیری زبانهای برنامهنویسی CSS محور شبیه SASS یک آغاز و انتخاب هوشمندانه برای شروع راه خواهد بود. در ادامه باید تمرکز خود را روی جاوا اسکرپیت قرار دهید. در نهایت، یادگیری Node.JS که نسخه ویژه جاوااسکرپیت بوده و روی سرورها اجرا میشود ضروری است. بازار Node.Js این روزها بسیار داغ است و در طولانی مدت بازار کار آن به همین منوال خواهد بود. اما جاوا اسکرپیت را ترک نکنید و از آن غافل نشوید. . همچنین سعی کنید در Node.JS به تخصص خاصی رسیده و در عمق آن وارد شوید.
سرانجام چارت ضمیمه شده
در ادامه چارتی که توسط یوداسیتی طراحی شده است را مشاهده خواهید کرد. در این چارت سعی شده است، زبانهای برنامهنویسی به تفکیک حقوق دریافتی، انعطافپذیری کاری، تفکیک برنامههای کاربردی بهطور مثال برای طراحی بازیها، برنامههای موبایل، تحلیل دادهها، برنامهنویسی سیستمهای جایگذاری شده، توسعه برنامههای وب چه زبانهایی مناسب هستند و محبوبیت زبانهای برنامهنویسی، اطلاعاتی در اختیار کاربران قرار گیرد.
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟