همین دیروز بود که به دوستم علی میگفتم «اگر هر جایی و به هر دلیلی به کلمهٔ LaTeX برخوردی، گوشهات رو بگیر و در رو!». خوشبختانه، لاتک با تمام سختیها و پیچیدگیهای لعنتیاش، اینقدر برایم گیرا بود که کار با آن را ادامه دهم تا برایم اثبات کند که نه، جز لاتک با هر حروفچین دیگری کار کردن، حرام است!
تازه تجربهٔ خروجی گرفتن از یک فایل tex را از سر گذراندهام و خیلی خیلی زود است که بخواهم دلیل و مدرک سنگینی بیاورم که «آره آقا، از فردا هر کس با لاتک مطلب ننوشت، و یا کار با لاتک را ندانست، از ما نیست!». اما میخواهم برای فعلا و ثبت در خاطراتم، اینجا بنویسم که چگونه کفهٔ ترازو به نفع لاتک برایم پایین رفت:
- انگلیسی نوشتن، و ساده نوشتن در لاتک، فوقالعاده آسان است! اما وای به حالتان اگر بخواهید فارسی بنویسید، در این صورت باید یک دورهٔ کامل برنامهنویسی بستههایش را بگذرانید (به این شوریها هم که گفتم نیست، در آینده بیشتر در این مورد مینویسم) .
- آسانترین کار ممکن در لاتک، پانویس نوشتن است، که خوب من هنوز هم بلد نیستم که در هیچ کدام از ورد پرسسورهای رایج انجامش دهم!
- فهرست کردن مطالب در لاتک فقط زحمت نوشتن tableofcontent/ را میطلبد!
- تمام سختگیریهای لاتک در مورد پاراگرافها، خطوط، علامتهای مختلف و قابلیتهایش برای تعیین کردن سر فصل، و بخشها نتیجهای فوقالعاده زیبا و خوانا را به شما باز میگرداند (ولی آنچنان دهانی از شما… که…) !
- افزودن تصویر در لاتک به قدری سخت هست، که هنوز جرات نکردهام نزدیکش شوم!
- همهٔ تجربیات بالا را اضافه کنید، به درد و خونریزی شدیدی که باید برای افزودن قابلیتهای تایپ فارسی بدون درد و خونریزی در لاتک متحمل شوید!
- نوشتن مقاله در لاتک، عملا حکم یک برنامهنویسی تمام عیار را دارد!

در کل پس از سبک سنگین کردن قضایای بالا من هم به این نتیجه رسیدم که اگر حرف از با سواد بودن در جامعهٔ امروزی میزنید، و برای مهندس مهندس شنیدن، آب دهانتان سر ریز میشود، حداقلش این است که مقالاتتان را با LaTeX آماده کنید، نه مثل استاد گرامیمان، به مسلط بودن به مجموعه نرمافزار آفیس افتخار ورزید! (گفتم «من هم» ، چون آرش آبادپور و امین ثابتی عزیز در این مورد قبلا سخنها راندهاند) .
فعلا میتوانید برای منبع، به اینها که امین عزیز نشان داده است مراجعه کنید، البته تگ لاتک وبلاگ هر دوی این عزیزان (آرش و امین) خواندنش خالی از لطف نیست.
در ضمن دلتان را هم به این خوش نکنید که لاتک را در وب فارسی جستجو کنید، چون نتیجهاش انواع کاندوم است که نثارتان میشود
توی پردهی اول این سری از پستها به معرفی یک منبع عالی برای آموزش برنامهنویسی به خصوص برای c++ در محیط Qt پرداختم. اما همانطور که گفتم، آموزش خود زبان C++ موجود در اون مجموعه برای کسانی که به عنوان اولین زبان دارند C++ یاد میگیرند منبع مناسبی نیست. در جستجوهای بعدی در این زمینه به بهشتی واقعی برای عاشقان یادگیری کامپیوتر روی اینترنت رسیدم. قصد یادگیری کدام یک از مباحث برنامهسازی زیر را دارید؟
باکی ریموند، کسی که بیشتر این مجموعه عظیم رو آماده و ارائه کرده، اینطور که خودش میگه عاشق علم کامپیوتره. ولی بعد از رفتن به دانشگاه و مشاهده اینکه توی اون محیط بیشتر چیزهایی رو امتحان میده که ربطی به علایقش نداره، بیخیالش شده و تصمیم گرفته از اینترنت یاد بگیره. اما دیده که همهٔ آموزشهای خوب یا پولین، و یا اینکه مشخصههای یه آموزش درست رو پوشش نمیده. بنابراین خودش دست به کار شده و تصمیم گرفته یه همچین منبعی رو آماده کنه. تمامی این آموزشها همونطور که از لیست بالا معلومه هم از سایت Thenewboston در دسترسه و هم روی کانال یوتیوب این سایت قابل مشاهده هست.
مجموعه آموزش C++ این مجموعه که من خودم در حال گذروندن آموزشهاش هستم، فوقالعاده کامله و به جزئیات به زیبایی هر چه تمامتر پرداخته شده. نکتهٔ خیلی قشنگ دربارهٔ آموزشهای باکی این هست که اصلا دوست نداره مسائل رو خسته کننده تحویل مخاطب بده، بلکه از کوچکترین فرصتی برای وارد کرده جکهاش به آموزش استفاده میکنه. باکی دوست نداره مدت زمان ویدیوهاش بیشتر از ۶-۷ دقیقه بشه و این یکی دیگه از دلایل علاقهٔ من به باکی هست! سری اول آموزش C++ داری ۷۳ قسمت هست و از قرار قراره در آیندهای نه چندان دور شاهد سری جدیدی از این مجموعه باشیم.
مجموعه آموزش پایتون که به دو بخش python (اصول برنامه نویسی پایتون و برنامه نویسی تحت خط فرمان) و wxpython (برنامه نویسی دارای رابط کاربری) تقسیم که کثرت مسائل آموزشی موجود در این زمینه اون رو به مجموعهای فوقالعاده تبدیل کرده.. همینطور مجموعه آموزش زبان جاوا که احتمالا یه روزی از این آموزش برای یادگیریش استفاده میکنم.
مجموعه آموزش PHP موجود در این سایت که با همکاری گروه phpacademy آماده شده هم میتونه یه مجموعه عالی برای یادگیری این زبان محبوب باشه. البته پیشنهاد میکنم مجموعه Beginner PHP رو قبل از مجموعهٔ فوق بگذرونید تا با اصول پایهای نحو این زبان کاملا آشنا بشید.
جدای از آموزشهایی که در بالا ذکر کردم، باکی مجموعهای از آموزشها برای برنامههای مختلف و حتی هندسه و ریاضیات پایه داره که به نظرم اگه انگلیسیتون در حد قابل قبولی هست، میتونه خیلی بهتون کمک کنه.
پینوشت: چقدر زندگی لذتبخشتره وقتی میبینی که همچین آدمایی توی دنیا هستن که برای آموزش دادن بهت، هیچ چشمداشت مالیای بهش ندارن!
یه استادی داریم، که یه روز یه حرف خوبی زد (فکر کنم، اولین و آخرین بارش بود). گفتش که: اینترنت خیلی بزرگه و خیلی چیزها میشه ازش یاد گرفت، ولی مهمترین نکتهاش اینجاست که خیلی راحتتر میشه توش وقت تلف کرد. منم که بچه حرف گوش کن، این حرفش رو هیچوقت یادم نرفت!
حالا من میگم تو دانشگاهها (حداقل تو ایرانش) هم بیشتر از اون چیزی که یاد میگیری وقت تلف میکنی؟ پس چی کار کنیم؟ آره درسته، باس خودمون آستینا رو بالا بزنیم. رو همین حساب از این به بعد توی پستهایی با این عنوان منابع آموزشی خوبی که روی Youtube پیدا میکنم معرفی میکنم تا شما هم استفاده ببرین. اینجوری حداقل تونستم دین خودم رو به تولیدکنندههای این آموزشها ادا کنم.
تو این قسمت قصد معرفی کانال VoidRealm’s رو دارم. توی این کانال که مدیریتش رو آقای برایان بر عهده دارن، آموزشهای برنامه نویسی در محیطهایی نظیر Visual Studio و Qt و زبانهای مختلف نظیر C++، Java، C# ارائه میشه که با توجه به تصویری بودن آموزشها و توضیحات خوب جناب برایان، به منابع خیلی به درد بخوری برای یادگیری این زبانها تبدیل شده.
این آقا برایان قبلا یه شرکت برنامه نویسی داشتن، که توسط یه کمپانی بزرگتر خریداری شد، حالا ایشون هم قصد دارن که یه زندگی بیدغدغه رو تجربه کنن و سعی دارن که به چنین آموزشهایی ادامه بدن.
آموزشهایی که بیشتر از همه توجه من رو به خودشون جلب کردن، بیست و خردهای آموزش زبان C++ بود که من در محیط لینوکس (متفاوت با آقای برایان) از اونها خیلی استفاده بردم، و آموزش Qt C++ که با رسیدن شماره قسمتهاش به ۷۸ نوید یه آموزش کامل و خوب رو برای این محیط توسعه به آدم میده. من هنوز دارم روی یاد گرفتن C++ تمرکز میکنم، و قصد دارم بعد از اون به سراغ Qt برم.
حجم آموزشها به طور متوسط چیزی در حدود ده مگ هست، پس پیشنهاد میکنم، حتما اونها رو دانلود و آرشیو کنید که بتونید در موقع نیاز بهشون برگردید. روون بودن آموزشها و مثالهای کاربردیای که زده میشه به شما به درک مفاهیم مختلف کمک میکنم.
فقط به ایننکته توجه داشته باشید، اگر هنوز به هیچ زبان دیگهای برنامه نویسی نکردین و یا با مفاهیم اولیه برنامه نویسی، نظیر شروط، حلقهها و غیره آشنا نیستین، آموزشهای C++ این مجموعه به درد شما نمیخوره. بهتره یا از یه منبع دیگه استفاده کنید، و یا یه زبان دیگه مثل جاوا رو یاد بگیرید.
وقتی هم که زبان مورد علاقتون رو یاد گرفتید میتونید از سایت voidrealms.com به تعدادی سورس و نرمافزار که جناب برایان آماده کردن دسترسی داشته باشید که میتونه کمک خوبی به یادگیریتون باشه.