computer

تبلیغات

دنیای برنامه‌نویسی اینفوگرافی: انتخاب اولین زبان برنامه‌نویسی بر اساس زندگی که می‌خواهید

دنیای برنامه‌نویسی اینفوگرافی: انتخاب اولین زبان برنامه‌نویسی بر اساس زندگی که می‌خواهید

از کجا باید شروع کنم و چه زبانی را به عنوان زبان اصلی خود انتخاب کنم. همه دوست دارند بدانند کار را باید از کجا آغاز کنند و همواره تمایل دارند یک جواب صریح و روشن را در این زمینه دریافت کنند، حتی بسیاری ترجیح می‌دهند گام اول را از همان ابتدا با سخت‌ترین زبان برنامه‌نویسی آغاز کنند به امید آن‌که در دنیای حرفه‌ای حرفی برای گفتن داشته باشند در صورتی که تجربه نشان داده است، این راهکار در بیشتر موارد به بن‌بست ختم می‌شود.

 

چه زبان برنامهنویسی را بهتر است یاد بگیریم؟

سایت 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 به تخصص خاصی رسیده و در عمق آن وارد شوید.

 

سرانجام چارت ضمیمه شده

در ادامه چارتی که توسط یوداسیتی طراحی شده است را مشاهده خواهید کرد. در این چارت سعی شده است، زبان‌های برنامه‌نویسی به تفکیک حقوق دریافتی، انعطاف‌پذیری کاری، تفکیک برنامه‌های کاربردی به‌طور مثال برای طراحی بازی‌ها، برنامه‌های موبایل، تحلیل داده‌ها، برنامه‌نویسی سیستم‌های جایگذاری شده، توسعه برنامه‌های وب چه زبان‌هایی مناسب هستند و محبوبیت زبان‌های برنامه‌نویسی، اطلاعاتی در اختیار کاربران قرار گیرد.

 



برچسب ها : ,

دانلود رایگان 15 کتاب برنامه‌نویسی

دانلود رایگان 15 کتاب برنامه‌نویسی

How to Design Programs

نویسندگان : By Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi

تعداد صفحات: 55 صفحه

ناشر: The MIT Press

لینک دانلود: How to Design Programs

چهارچوب کلی: این کتاب به زبانی ساده فرآیند طراحی برنامه‌های کامپیوتری که شامل طراحی برنامه‌های دسکتاپ، برنامه‌های موبایل و برنامه‌های وب می‌شود را آموزش می‌دهد.

 

97 Things Every Programmers Should Know

نویسندگان : جمعی از نویسندگان

تعداد صفحات: 98 صفحه

ناشر:O’Reilly media

لینک دانلود: 97 Things Every Programmers Should Know

چهارچوب کلی: این کتاب مجموعه مقالاتی گردآوری شده از سوی جمعی از برنامه‌نویسان خبره بوده که همچون گنجینه‌ای ارزشمند به شمار می‌رود.

 

Foundations of Computer Science

نویسندگان : Jeffrey Ullman، Alfred Aho

تعداد صفحات: 775 صفحه

لینک دانلود: Foundations of Computer Science

چهارچوب کلی: این کتاب متنی در سال 1992 منتشر شده است و از آن زمان تاکنون مورد استفاده برنامه‌نویسان قرار دارد. نویسنده این کتاب در مقدمه این کتاب آورده است که این کتاب مقدمه‌ای بر نظریه علوم کامپیوتر است، به نظر می‌رسد، گذشت زمان هیچ‌گونه خدشه‌ای به اعتبار این حرف وارد نکرده است.

 

Introduction to Computing

نویسندگان : David Evans

تعداد صفحات: 266 صفحه

لینک دانلود: Introduction to Computing

چهارچوب کلی: این کتاب مفاهیم ضروری علوم کامپیوتر را پوشش می‌دهد. برای این منظور و بیان دقیق این مفایهم نویسنده از زبان‌های برنامه‌نویسی پیتون و Scheme استفاده کرده است، اما این کتاب مرجعی برای یادگیری این دو زبان برنامه‌نویسی نیست.

 

The Codeless Code

نویسنده : Qi

تعداد صفحات: 195 صفحه

لینک دانلود: The Codeless Code

چهارچوب کلی: این کتاب مجموعه‌ای از 195 داستان افسانه‌گونه است که به بیان هنر اجرا و توسعه نرم‌افزارهای کاربردی می‌پردازد.

 

Producing Open Source Software

نویسنده : Karl Fogel

تعداد صفحات: 24 صفحه

لینک دانلود: Producing Open Source Software

چهارچوب کلی: کتاب ارزشمندی است که نحوه تولید نرم‌افزار‌های متن باز و نحوه طراحی و توسعه آن‌ها را آموزش می‌دهد. این کتاب به بیان این مطلب می‌پردازد که چگونه پروژه‌های موفق جنبه عملیاتی پیدا کردند و فرهنگ نرم‌افزار منبع باز چگونه توانست به نیازهای کاربران و توسعه‌دهندگان پاسخ دهد.

 

Patterns of Software

نویسنده : Richard P. Gabriel

تعداد صفحات: 239 صفحه

لینک دانلود Patterns of Software

چهارچوب کلی: این کتاب مجموعه‌ای گردآوری شده از مقالات برنامه‌نویسی است. این کتاب با بیانی نافذ و سرگرم کننده شما را به دنیای برنامه‌نویسی وارد خواهد کرد.

 

The Architecture of Open Source Applications

نویسنده : جمعی از نویسندگان

تعداد صفحات: -----

لینک دانلود: The Architecture of Open Source Applications

چهارچوب کلی: این کتاب به بیان طراحی و معماری نرم‌افزارهای منبع باز می‌پردازد. در مقدمه این کتاب آمده است که اگر یک توسعه‌دهنده تازه‌کار هستید، و در نظر دارید نحوه تعامل و همفکری با همکاران خود را یاد بگیرید، این کتاب نقطه شروع مناسبی برای شما به شمار می‌رود.

 

Foundations of Programming

نویسنده : Karl Seguin

تعداد صفحات: 79 صفحه

لینک دانلود: Foundations of Programming

چهارچوب کلی: این کتاب بر اساس مجموعه مقالاتی که به قلم همین نویسنده به نام اصول پایه برنامه‌نویسی منتشر شده‌اند نوشته شده است. این کتاب دورنمای دیدگاه‌های یک برنامه‌نویس دات‌نت است که درباره مفاهیم کلیدی برنامه‌نویسی همچون واحد تست، تخصیص حافظه  صحبت می‌کند.

 

The Nature of Code

نویسنده : Daniel Shiffman

تعداد صفحات: 17 صفحه

لینک دانلود: The Nature of Code

چهارچوب کلی: این کتاب اکتشافی در موضوعات طبیعی زندگی ما همچون فیزیک، فرکتال و... دارد، به‌طوری که سعی کرده است به شبیه‌سازی این مفاهیم بپردازد. نمونه کدهای این کتاب به زبان Processing هستند.

 

Learn Regex The Hard Way

نویسنده : Zed. A. Shaw

تعداد صفحات: 31 صفحه

لینک دانلود: Learn Regex The Hard Way

چهارچوب کلی: عبارات با قاعده (regx) تکنیک پر قدرتی در دنیای برنامه‌نویسی به شمار می‌روند، اما یادگیری این مفهوم به‌طور ذاتی مشکل است. تاریخچه Regex به سال 1950 میلادی باز می‌گردد، اما همچنان به عنوان یکی از تکنیک‌های قدرتمند دنیای برنامه‌نویسی مدرن مورد استفاده قرار می‌گیرد.

 

The Little Introduction To Programming

نویسنده : Karl Seguin

تعداد صفحات: 7 صفحه

لینک دانلود: The Little Introduction To Programming

چهارچوب کلی: این کتاب مفاهیم پایه برنامه‌نویسی از قبلی نوع‌های داده‌ای و دستورات شرطی را به زبان ساده‌ای آموزش می‌دهد.

 

How to Think Like a Computer Scientist

نویسندگان : Peter Wentworth, Jeffrey Elkner, Allen B. Downey, Chris Meyers

تعداد صفحات: 39 صفحه

لینک دانلود: How to Think Like a Computer Scientist

چهارچوب کلی: مهم‌ترین مهارتی که یک دانشمند کامپیوتر به آن نیاز دارد حل مشکلات است. حل مشکل به معنای فرموله کردن مشکل، فکر کردن درباره حل مشکل و در نهایت بیان راه حلی واضح و روشن برای حل مشکل است. این کتاب با ارائه چنین تفکری در اختیار برنامه‌نویسان قرار گرفته است.

 

Essential Coding Theory

نویسندگان : Venkatesan Guruswami, Atri Rudra, Madhu Sudan

تعداد صفحات: 226 صفحه

لینک دانلود: Essential Coding Theory

چهارچوب کلی: این کتاب به گونه‌ای نوشته شده است که شما را به عمق مفاهیم ریاضی، الگوریتم‌ها و الگوهای وابسته به کدها ببرد. هر چند خواندن این کتاب در مقایسه با کتاب‌هایی که معرفی کردم کمی دشوار است اما در مقابل یک منبع ارزشمند در این زمینه به شمار می‌‌رود.

 

Building Skills in Programming

نویسندگان : Steven F. Lott

تعداد صفحات: 491 صفحه

لینک دانلود: Building Skills in Programming

چهارچوب کلی: این کتاب بر مبنای زبان برنامه‌نویسی پیتون مفاهیمی از قبیل توابع, نوع‌های داده‌ای، اشیا، دستورات شرطی و نکات پایه‌ای که در برنامه‌نویسی به آن‌ها نیاز دارید را به شما آموزش می‌دهد.

 



برچسب ها : ,
ليست صفحات
تعداد صفحات : 31
.