پرش به محتوای صفحه

برنامه‌نویسی

در این دسته کتاب‌های آموزش برنامه‌نویسی گرد آمده است؛ از نخستین قدم‌ها در پایتون تا پروژه‌های کاربردی در هوش مصنوعی و رشته‌های مهندسی.
کتاب‌های این دسته۵۰۰ کتاب
چینشپرفروش‌ترین
جلد کتاب برنامه‌نویسی با پایتون

حسام صدیقی

فاطمی

۱۵٪۷۹۰٬۰۰۰۶۷۱٬۵۰۰تومان
جلد کتاب برنامه نویسی اکسپرت به زبان MQL4 طراحی اندیکاتور

مهدی صفائی

ترجمه‌ی ی مهدی صفایی

آراد

۵٪۸۹۵٬۰۰۰۸۵۰٬۲۵۰تومان
جلد کتاب استراتژی های معاملاتی با طعم الگوریتم
۵٪۷۴۵٬۰۰۰۷۰۷٬۷۵۰تومان
جلد کتاب معاملات الگوریتمی (استراتژی های برتر و اساس آنها)

ارنست پی. چان

ترجمه‌ی جواد رباط جزی، فاطمه هراتی

آراد

۵٪۷۴۵٬۰۰۰۷۰۷٬۷۵۰تومان
جلد کتاب واقعیت افزوده جهت توسعه برنامه های اندروید

جنز گروبرت، رافائل گراست

ترجمه‌ی مریم طایفه محمودی

آراد

۵٪۴۹۵٬۰۰۰۴۷۰٬۲۵۰تومان
جلد کتاب اموزش برنامه نویسی سالیدیتی (SOLIDITY)
۵٪۳۸۵٬۰۰۰۳۶۵٬۷۵۰تومان
جلد کتاب سوالات تخصصی کامپیوتر آزمون استخدامی

علی یگانه، مظاهر مقصودلو

فارابی(چهارخونه)

۱۰٪۸۸۰٬۰۰۰۷۹۲٬۰۰۰تومان
جلد کتاب 97نکته در مدیریت پروژه های نرم افزاری

دانش جمعی از متخصصین مدیریت پروژه

ترجمه‌ی افشین خدابنده.ابوذر عرب سرخی

علم

۲۰٪۳۵۰٬۰۰۰۲۸۰٬۰۰۰تومان
جلد کتاب برنامه نویس هزار دلاری (چگونه با ورود به برنامه نویسی به درآمد چندهزار دلاری برسیم)
۲۰٪۱۸۰٬۰۰۰۱۴۴٬۰۰۰تومان
جلد کتاب برنامه کامپیوتری آمار در علوم اجتماعی (SPSS)

هوشنگ نایبی

ترجمه‌ی سینا عمرانلو

نشر نی

۱۵٪۱٬۵۰۰٬۰۰۰۱٬۲۷۵٬۰۰۰تومان
جلد کتاب برنامه نویس 1 دقیقه ای (سفر به دنیای کدها و ربات ها)

زهره دارابیان

ترجمه‌ی صادق طباطبایی

طلایی

۲۰٪۳۰۰٬۰۰۰۲۴۰٬۰۰۰تومان
جلد کتاب برنامه نویس 1 دقیقه ای (سفر به دنیای کدها و ربات ها)،همراه با سی دی سخت افزار آی کد (ICODE)
۲۰٪۳۰۰٬۰۰۰۲۴۰٬۰۰۰تومان
جلد کتاب کلید برنامه نویسی در متلب

محمدتقی مروج

ترجمه‌ی سینا عمرانلو

کلید آموزش

۲۰٪۱۴۰٬۰۰۰۱۱۲٬۰۰۰تومان
جلد کتاب کلید تلگرام

احسان مظلومی

کلید آموزش

۲۰٪۲۴۰٬۰۰۰۱۹۲٬۰۰۰تومان
جلد کتاب مبانی اقتصاد سنجی با python

رضا طالبلو

ترجمه‌ی شهریار آیرملو تبریزی

روزنه

۲۰٪۹۷۰٬۰۰۰۷۷۶٬۰۰۰تومان
جلد کتاب دامیز کودک و نوجوان (برنامه نویسی کامپیوتری)

کریس مینیک، اوا هالند

ترجمه‌ی نیلوفر رحیم زاده

آوند دانش

۲۰٪۳۵۰٬۰۰۰۲۸۰٬۰۰۰تومان
جلد کتاب دامیز کودک و نوجوان (طراحی وب سایت)

گرگ ریکابی

ترجمه‌ی شیدا سرمدی

آوند دانش

۲۰٪۳۵۰٬۰۰۰۲۸۰٬۰۰۰تومان
جلد کتاب SQL (اصول و مبانی)،(کتاب های دامیز)

ریچارد بلوم، الن جی. تیلور

ترجمه‌ی امید ابراهیمی

آوند دانش

۲۰٪۷۰۰٬۰۰۰۵۶۰٬۰۰۰تومان
جلد کتاب بازی برنامه‌نویسی برای کوچولوها
۲۰٪۲۰۰٬۰۰۰۱۶۰٬۰۰۰تومان
جلد کتاب کلید واتس آپ

احسان مظلومی

کلید آموزش

۲۰٪۶۰٬۰۰۰۴۸٬۰۰۰تومان

درباره‌ی برنامه‌نویسی

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

چه نوجوانی باشید که می‌خواهید اولین برنامه‌تان را بنویسید، چه دانشجوی رشته‌ی کامپیوتر یا مهندسی که به یک منبع منظم نیاز دارد، چه کسی که می‌خواهد شغلش را عوض کند، ادامه‌ی این متن به شما کمک می‌کند بدانید از کجا شروع کنید.

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

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

چند مزیت دیگر هم دارد:

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

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

برنامه‌نویسی را از کجا شروع کنیم؟

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

الگوریتم و فلوچارت: زبان پیش از زبان

در فهرست این دسته چند کتاب دارید که به الگوریتم و فلوچارت اختصاص دارند، مثل «الگوریتم و فلوچارت» و «آموزش الگوریتم و فلوچارت به زبان ساده». الگوریتم یعنی مراحل حل یک مسئله به ترتیب و بدون ابهام، و فلوچارت یعنی رسم همین مراحل با شکل‌ها. کسی که این دو را بلد باشد، هر زبانی را بهتر یاد می‌گیرد چون مسئله را پیش از نوشتن کد فهمیده است.

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

انتخاب زبان اول

اگر می‌خواهید یک زبان ساده و خوانا انتخاب کنید، پایتون معمولا اولین پیشنهاد است. اگر هدف‌تان دانشگاه و مبانی است، ممکن است زبان درس شما سی، سی‌پلاس‌پلاس یا سی‌شارپ باشد. در فهرست ما «مبانی الگوریتم و برنامه‌نویسی مقدماتی» با سی‌شارپ و «آموزش سی‌شارپ برای نوجوانان (مقدماتی و پیشرفته)» را می‌بینید. عنوان دوم نشان می‌دهد که زبان با رویکردی برای نوجوان‌ها آموزش داده می‌شود.

سطح خود را بشناسید

اگر هرگز کد ننوشته‌اید، سراغ کتاب پیشرفته نروید. بعضی کتاب‌ها فرض می‌گیرند که شما قبلا برنامه نوشته‌اید. مشخصات و فهرست مطالب هر کتاب را ببینید و مطمئن شوید نقطه‌ی شروع آن با نقطه‌ی شروع شما جور است.

برنامه‌نویسی وب: از ری‌اکت تا وردپرس

خیلی از خواننده‌ها با هدف ساختن وب‌سایت سراغ برنامه‌نویسی می‌آیند. در این مسیر دو راه اصلی هست.

راه اول: ساختن با ابزار آماده

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

راه دوم: کد نویسی از پایه

وقتی می‌خواهید هر جزء سایت را خودتان بسازید، به ابزارهایی مثل ری‌اکت نیاز پیدا می‌کنید. کتاب «پروژه‌های ری‌اکت» از نامش پیداست که رویکرد پروژه‌محور دارد؛ یعنی یادگیری از راه ساختن چیزهای واقعی. این نوع کتاب‌ها برای کسانی مناسب‌اند که مبانی را می‌دانند و می‌خواهند وارد مرحله‌ی ساختن شوند. پیش از خرید ببینید نیاز است چه چیزهایی را از قبل بلد باشید.

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

کتاب‌های پایه‌ای که برنامه‌نویس حرفه‌ای هم به آن‌ها برمی‌گردد

یک اشتباه رایج این است که فقط دنبال ابزار روز باشیم. ابزارها عوض می‌شوند، ولی مبانی می‌ماند. به همین دلیل کتاب‌هایی که درباره‌ی موضوع‌های بنیادی نوشته شده‌اند، ارزش طولانی‌مدت دارند.

نظریه‌ی محاسبات

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

پایگاه داده

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

الگوریتم‌ها

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

پردازش تصویر و کاربردهای مهندسی

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

عنوان‌های نمونه در یک نگاه

برای اینکه تنوع دسته را ببینید، این فهرست را مرور کنید. همه‌ی توصیف‌ها از روی نام کتاب است و برای جزئیات باید صفحه‌ی خود کتاب را بخوانید.

  • «پروژه‌های ری‌اکت»: آموزش پروژه‌محور برای علاقه‌مندان وب.
  • «مبانی الگوریتم و برنامه‌نویسی مقدماتی»: برای شروع، با تکیه بر سی‌شارپ.
  • «آموزش سی‌شارپ برای نوجوانان (مقدماتی و پیشرفته)»: برای نوجوان علاقه‌مند.
  • «مقدمه‌ای بر نظریه محاسبات»: بنیادی و نظری.
  • «مفاهیم سیستم‌های پایگاه داده (ج۱)»: مرجع درباره‌ی داده.
  • «الگوریتم و فلوچارت» و «آموزش الگوریتم و فلوچارت به زبان ساده»: برای فهم مراحل حل مسئله.
  • «آموزش وردپرس به زبان ساده» و «آموزش وردپرس پیشرفته»: برای ساختن وب‌سایت با ابزار آماده.
  • «پردازش تصویر دیجیتال با متلب»: کاربرد برنامه‌نویسی در حوزه‌ی تصویر.

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

چطور کتاب برنامه‌نویسی مناسب را انتخاب کنیم؟

هدف‌تان را بنویسید

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

سن و سطح را در نظر بگیرید

کتاب نوجوان با کتاب دانشگاهی فرق دارد. اولی با مثال‌های ساده و جذاب شروع می‌کند و دومی سریع وارد نظریه می‌شود. اگر برای فرزندتان کتاب می‌خرید، نام «برای نوجوانان» در عنوان راهنمای خوبی است.

به تاریخ و نسخه‌ی ابزار دقت کنید

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

پروژه‌محور یا نظری؟

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

وجود تمرین و راه‌حل

کتابی که تمرین دارد ولی جواب ندارد، گاهی شما را رها می‌کند. اگر خودآموز هستید، دنبال کتابی بگردید که مثال حل‌شده و توضیح مرحله‌به‌مرحله داشته باشد.

مسیر پیشنهادی برای یک مبتدی

اگر می‌خواهید بدون سردرگمی پیش بروید، این ترتیب را امتحان کنید.

  1. اول با یک کتاب الگوریتم و فلوچارت، فکر کردن مرحله‌ای را تمرین کنید.
  2. بعد یک زبان انتخاب کنید و با کتاب مقدماتی آن مبانی را یاد بگیرید: متغیر، شرط، حلقه و تابع.
  3. هر فصل را با چند تمرین کوچک تمام کنید، حتی اگر ساده به نظر می‌رسد.
  4. یک پروژه‌ی کوچک بسازید: ماشین حساب، لیست کارها، بازی حدس عدد.
  5. بعد سراغ موضوع‌های کاربردی بروید: وب، پایگاه داده یا کاربردهای مهندسی.
  6. در نهایت، اگر علاقه‌مندید، کتاب‌های نظری‌تر مثل نظریه‌ی محاسبات را بخوانید.

نکته‌ی مهم این است که پیش از تمام شدن یک مرحله، عجله نکنید. یک مبتدی که مبانی را محکم بلد باشد، خیلی سریع‌تر از کسی که همه‌جا را نیمه‌کاره رفته پیشرفت می‌کند.

اشتباه‌های رایج در یادگیری برنامه‌نویسی از روی کتاب

فقط خواندن، بدون کد زدن

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

رد شدن از خطاها

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

پریدن از زبانی به زبان دیگر

خیلی‌ها با اولین سختی، زبان را عوض می‌کنند. ولی سختی در همه‌ی زبان‌ها هست. با یک زبان تا وقتی چند پروژه‌ی کوچک نساخته‌اید بمانید.

مقایسه با دیگران

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

نخریدن یا نخواندن کتاب پایه

بعضی‌ها یک راست سراغ ابزار روز می‌روند و بعد در مسائل بنیادی گیر می‌کنند. الگوریتم و ساختار داده را جدی بگیرید.

خرید بیش از حد کتاب

یک کتاب مناسب را تمام کنید، بعد کتاب بعدی را بخرید. کتابخانه‌ی پر از کتاب نیمه‌خوانده، انگیزه را کم می‌کند.

برنامه‌نویسی برای نوجوان‌ها و والدین

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

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

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

برنامه‌نویسی و مسیر شغلی

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

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

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

اولین برنامه‌ی ذهنی: متغیر، شرط و حلقه

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

متغیر: جعبه‌ای با اسم

متغیر یک جعبه است که اسم دارد و چیزی داخلش می‌گذارید: یک عدد، یک نام، یک جمله. مثلا جعبه‌ای به اسم «سن» و داخلش عدد دوازده. هر وقت خواستید، مقدار آن را می‌خوانید یا عوض می‌کنید. همین ایده‌ی ساده پایه‌ی هر برنامه‌ای است.

شرط: اگر این، آن

زندگی روزمره پر از شرط است: اگر باران بیاید چتر بردار، وگرنه نه. برنامه هم همین‌طور تصمیم می‌گیرد. در برنامه‌ی یک فروشگاه، اگر موجودی صفر بود پیام «ناموجود» نشان بده. شرط‌ها برنامه را باهوش می‌کنند.

حلقه: تکرار بدون خستگی

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

با ترکیب همین سه ایده می‌توان چیزهای شگفت‌انگیز ساخت. هر کتاب مقدماتی، چه با سی‌شارپ، چه با زبان‌های دیگر، به شیوه‌ی خودش این‌ها را توضیح می‌دهد. پس اگر یک ایده را در کتابی نفهمیدید، همان را در کتاب دیگری هم نگاه کنید؛ گاهی فقط شیوه‌ی توضیح مهم است.

پایگاه داده را با یک مثال ساده بشناسیم

تصور کنید یک کتابخانه دارید. هر کتاب اسم، نویسنده و سال چاپ دارد. اگر همه را در یک دفتر بنویسید، پیدا کردن یک کتاب خاص سخت می‌شود. پایگاه داده یعنی این اطلاعات را در جدول‌هایی مرتب نگه دارید که هر ردیفش یک کتاب باشد و هر ستونش یک ویژگی. بعد بتوانید بپرسید: «همه‌ی کتاب‌های یک نویسنده را نشان بده» و پاسخ را فوری بگیرید.

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

چطور کتاب برنامه‌نویسی را بخوانیم که چیزی یاد بگیریم؟

کتاب برنامه‌نویسی را مثل رمان نمی‌خوانند. یک روش ساده که برای بسیاری از یادگیرنده‌ها جواب می‌دهد این است.

  1. صفحه‌ی مربوط به یک مفهوم را با حواس جمع یک بار بخوانید.
  2. مثال را دقیقا خودتان تایپ کنید و اجرا کنید.
  3. یک چیز کوچک را عوض کنید: یک عدد، یک شرط، یک متن. ببینید چه می‌شود. این «بازی کردن» بیش از هر چیز به یادگیری کمک می‌کند.
  4. عمدا یک اشتباه بسازید تا خطا را ببینید و بشناسید.
  5. تمرین آخر فصل را بدون نگاه به جواب حل کنید. اگر نشد، بعد از تلاش جدی جواب را ببینید.
  6. در پایان جلسه، یک جمله بنویسید: امروز چه یاد گرفتم؟

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

برنامه‌ی زمانی هم مهم است. نیم ساعت در روز بهتر از پنج ساعت در آخر هفته است. ذهن ما با تکرار کوتاه و منظم بهتر یاد می‌گیرد تا با خواندن فشرده و نامنظم.

برنامه‌نویسی و ریاضی: آیا باید ریاضی‌دان باشیم؟

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

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

الگوریتم و ساختار داده جایی است که منطق و ریاضی به هم می‌رسند. کتاب‌هایی که این دو را آموزش می‌دهند، مثل «مبانی الگوریتم و برنامه‌نویسی مقدماتی»، کم‌کم شما را با این نوع فکر کردن آشنا می‌کنند، بدون اینکه ترسناک باشند.

وقتی گیر می‌کنید: چند راه‌حل عملی

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

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

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

پرسش‌های پرتکرار درباره‌ی کتاب برنامه‌نویسی

برای شروع برنامه‌نویسی کدام کتاب بهتر است؟

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

بدون دانشگاه هم می‌شود برنامه‌نویس شد؟

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

آیا کتاب چاپی از ویدیو بهتر است؟

بهتر یا بدتر نیست، مکمل است. کتاب ترتیب و عمق می‌دهد و ویدیو مثال زنده. ترکیب هر دو معمولا نتیجه‌ی بهتری دارد.

کتاب‌های قدیمی هنوز به درد می‌خورند؟

کتاب‌های مبانی، الگوریتم و نظریه بله. کتاب‌های ابزارهای خاص بستگی به ابزار دارد. تاریخ و نسخه را در مشخصات کتاب ببینید.

برای نوجوان ۱۲ ساله کتاب مناسب هست؟

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

زبان اول چه باشد؟

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

قیمت و موجودی چطور است؟

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

جمع‌بندی

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

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