بیشتر برنامه نویسهای امروزی باور دارند که برای یادگیری برنامه نویسی و تبدیل شدن به یک فرد حرفهای شما نیاز دارید که حتما کتاب بخوانید. تا حد بسیار زیادی این موضوع درست است و براستی که به همین شکل است. کتاب خواندن در زمینه برنامه نویسی به شما این امکان را میدهد که با حجم عظیمتری از اطلاعات روبرو شوید و نگاه عمیقتری به موضوعات مختلف پیدا کنید.
به همین دلیل است که ما پیشتر و حتی در این مطلب از اهمیت این مطلب صحبت خواهیم کرد و حدالمکان به شما لیستی از مهمترین کتابهای برنامه نویسی را معرفی خواهیم کرد.
در این رابطه کتابهایی در رنج گستردهای از موضوعات مختلف، برای زبانها و تکنولوژیهای متفاوت و البته سطوح مختلف نوشته شده است که باعث میشود در نهایت شما بتوانید در هر حالتی امکان مطالعه کتابهای مختلف را داشته باشید.
اما بگذارید پیش از هر چیزی بیشتر از اهمیت این موضوع صحبت کنیم و به این قناعت برسیم که واقعا کتاب خواندن میتواند برای شما مفید باشد.
آیا واقعا به کتاب خواندن نیاز دارید؟
تفاوت موضوعاتی که در کتاب بررسی میشوند با این که در مطالب آموزشی ویدیویی وجود دارد در این است که کتاب درک عمیقتری از موضوعات را به شما میدهد و دورههای آموزشی به صورت تنها کاربردی و پروژه محور این موضوعات را بیان میکند. حتی وبسایتها و مستندات متنی نیز به همین شکل است. به همین دلیل است که به بیشتر افراد اینگونه پیشنهاد میشود که ابتدا از طریق دورههای آموزشی و مستندات با کلیات یک تکنولوژی آشنایی پیدا کرده و به خوبی با آن کار کنند و سپس برای اینکه سطح دانشی خود را بیشتر کنند سراغ مطالعه کتابهای مختلف بروند.
در هر زمینهای نیز کتابهای مختلفی را میتوانید پیدا کنید. برای مثال اگر شما فردی هستید که به صورت حرفهای برنامه نویسی را انجام ميدهید و نیاز دارید که سراغ موضوعات پیشرفتهتر بروید برای شما کتابهایی در این زمینه وجود دارد. بلعکس اگر مبتدی باشید نیز چنین امکانی وجود دارد.
کتاب به شما کمک میکند تا جوهر اصلی مطالب را یاد بگیرید
کتاب به دلیل اینکه حجم زیادی داشته و امکان ارائه توضیحات در آن بسیار زیاد است، در ارتباط با هر موضوعی، شما میتوانید اطلاعات بسیار زیادی را پیدا کرده و در ارتباط با آن تخصصیتر پیش بروید. این موضوع به دلیل قالب ویدیوهای آموزشی به این شکل نخواهد بود چرا که در ویدیوهای آموزشی اصل بر این است که مطالب در قالب کوتاهتری گفته شده و کاربر از مشاهده کردن آن خسته نشود و همچنین به سرعت بتواند به صورت عملی موضوعاتی که میخواهد را پیاده سازی کند.
کتابهای مختلف و موضوعات متفاوت (پیشنهادات ما)
همانطور که گفته شد در زمینههای مختلفی کتابهای متفاوتی وجود دارد و نمیتوان این موارد را به همگان پیشنهاد داد چرا که هر کس مطابق با تخصص و خواسته خودش باید سراغ کتابها برود. اما یکسری از کتابها هستند که جنبه عمومیتری داشته و از بقیه موارد جامعه خواننده گستردهتری دارد. برای مثال کتاب «آشنایی با ساختمان دادهها» کتابیست که باید توسط همه برنامه نویسها که متخصصین زبانهای مختلفی هستند مطالعه شود چرا که خود ساختمان داده در زبانهای برنامه نویسی مختلف وجود داشته و برنامه نویسها باید به خوبی با آن آشنایی داشته باشند.
کتاب Clean Code یا کد تمیز
در این کتاب مفاهیم مختلفی در ارتباط با چگونگی نوشتن کدی تمیز، خوانا و درک پذیر ارائه خواهد شد که برای تمام زبانهای برنامه نویسی مشترک است. قطعه کدهایی که در این کتاب وجود دارد نیز با استفاده از زبان جاوا نوشته شده است.
در بخشی دیگر از این کتاب به صورت مقدماتی و پایهای شما با توسعه تست محور یا Test Driven Development (TDD) آشنا خواهید شد که خود موضوع جذاب و کاربردی دیگریست.
بسیاری از توسعه دهندگان این کتاب را مطالعه کرده و همواره نیز به آن ارجاع میدهند. این کتاب جزو کتابهاییست که در دستهبندی «حتما مطالعه شود» قرار میگیرد.
کتاب Test Driven Development (TDD) یا توسعه تست محور
سختترین کتابی که در این لیست برای مطالعه وجود دارد همین کتاب است. منظور از سخت بودن آن این نیست که قابل خواندن نبوده و بهتر است به آن دست نزنید، منظور این است که فرایند مطالعه این کتاب کُند است چرا که نیاز هست تا با مفاهیم مختلفی سر و کله بزنید و موضوعات مختلفی را درک کنید.
اما جدای از این مسائل هدف کلی کتاب این است که شما را به یک استاد توسعه تست محور تبدیل کند. در این کتاب مثالهای مختلفی از چگونگی پیادهسازی TDD آورده شده که میتوانید هر کدام را یک نمونه والا در نظر بگیرید.
کتاب The Phoenix Project یا پروژه فونیکس
در مقایسه با دیگر کتابهایی که در این لیست مشاهده میکنید این مورد متفاوت است. در این کتاب بجای آنکه یکسری سرفصل و مواردی از این دست داشته باشید با یک داستان طرف هستید که در آن گروهی از افراد که در یک شرکت آیتی مشغول به کار هستند همواره کارهای اشتباهی انجام داده و هیچ چیز به درستی انجام نمیشود.
در خلال این داستان، رویکردهایی نشان داده میشود که نشان از چگونگی به خطا رفتن همه چیز است. رویکردهای توسعه اپلیکیشن به درستی پیش نمیرود، اهمیت DevOps و... . همه این موارد در خلال یک داستان سرگرم کننده و جذاب تعریف خواهد شد. اگر علاقه دارید که به صورت یک تعریف کتابی را در حوزه توسعه نرم افزار مطالعه کنید به شما پیشنهاد میکنم که این کتاب را حتما مطالعه کنید.
در پایان
اگر به دنبال یادگیری عمیق تکنولوژی یا زبان برنامه نویسی خاصی هستید میتوانید به سادگی بعد از گذراندن دورههای مختلف آموزشی و پروژهای کدنوشتن، سراغ کتابهای مختلف بروید و آنها را یاد بگیرید. در زیر چند عنوان از کتابهایی را مشاهده میکنید که برای زبانهای برنامه نویسی مختلف میتواند مورد استفاده قرار بگیرد.
- Python Crash Course – 2nd Edition
- Head First Python
- Python Cookbook: Recipes for Mastering Python 3
- Head First Java
- Java: A Beginner's Guide
- Learning PHP, MySQL, JavaScript, CSS & HTML5: A Step-by-Step Guide to Creating Dynamic Websites
- The Joy of PHP: A Beginner's Guide to Programming Interactive Web Applications with PHP and MySQL
- Laravel: Up & Running: A Framework for Building Modern PHP Apps
- Eloquent JavaScript
- JavaScript and JQuery: Interactive Front-End Web Development
- JavaScript: The Good Parts
- Introducing Go: Build Reliable, Scalable Programs
- For the Love of Go
- Learn Data Structures and Algorithms
- Introduction to Algorithms
- Algorithms for Interviews
- Database Systems: The Complete Book
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید