سلام دوستان
بسیار استفاده کردیم از نظرات دوستان
من کارشناسی نرم افزار دارم و چهار سالی هست که دارم برنامه نویسی میکنم
چون از مسیر آکادمیک و دانشگاهی اومدم جلو مطمئنا به شما هم همین روش رو پیشنهاد می کنم
مطمئنا خیلی ها شاید با من مخالف باشن اما بدون درک صحیحی از مباحث ساختمان گسسته و ساختمان داده مطمئنا نمیشه کار مهندسی کرد
من بعید میدونم با پی دی اف خوندن کسی بیاد و ساختمان داده و الگوریتم بخونه اما اینا از لازمات هست
طرف اومده آموزشگاه کلاس شبکه هنوز مبنای دو رو بلد نیست
خب مطمئنا نباید انتظار پیشرفت و موفقیت هم داشته باشه
در کل پیشنهاد من اینه : خودت رو مقید به یه پلتفرم خاص نکن
اگر میخوای برنامه نویس باشی باید بتونی توی هر پلتفرمی کد بزنی
چون تو نمی تونی حدس بزنی که مشتری ازت چی میخواد
اگر هم پروژه رو رد کنی این میشه یه تبلیغ منفی برات
موردی که برای خود من پیش اومد و توی رو در بایستی گیر کردم و واسه پروژه ای که گرفته بودم مجبور شدم وب و اندروید رو یاد بگیرم
اول از برنامه نویسی سیستمی شروع میکنم : باید اسمبلی بلد باشی . در درجه بعد هم سی یا سی پلاس پلاس . هم سخته و دیر یاد میگیری هم بازارش محدوده و به درد برنامه نویسی تجاری نمی خوره . پس قیدش رو بهتره بزنی
البته اگر خبره بشی توش که خب خیلی میتونه واست درآمد زا باشه اما چون تجربه اولت هست اصلا سمت سیستمی نرو
در هر صورت واسه اسمبلی کتاب پیتر ایبل خوبه . واسه زبان سی کتاب دنیس ریچی و کنت خوبه . از بین کتاب های جعفر نژاد هم من فقط همین کتاب زبان سی ایشون رو خوشم اومد ازش اما کتاب های جاوا و سی پلاس و سی شارپش رو که دیدم خوشم نیومد .
مورد بعدی : برنامه نویسی دسکتاپ . اگه میخوای واسه ویندوز بنویسی بدون شک برو سمت سی شارپ دات نت . یه زبان خوب و کامل و امکانات زیادی که توی ویژوال استودیو جلوت هست .
من کتاب جان شارپ رو پیشنهاد میکنم خیلی عالی هست . کتاب دیتل هم عالی هست . اگر هم نمیخوای واسه کتاب هزینه کنی پی دی اف آقای هاشمیان رو بخون . البته قدیمی هست ولی برای شروع خوبه . دیدت نسبت بهش باز میشه . بعد میتونی از سایت ها و ویدئو های آموزشی و . . . با نسخه های جدید تر دات نت آشنا بشی
سی شارپ رو که بلد باشی میتونی تحت وب هم کار کنی و ای اس پی دات نت بنویسی
الان هم که ویندوز 10 میخواد مالتی پلتفرم بشه و روی همه سخت افزار ها ( پی سی و تبلت و موبایل و . . . ) قابل نصب باشه
حتی گیم هم بخوای بنویسی به نظر من از انجین یونیتی استفاده کن . جالب اینجاست که اونم زبان برنامه نویسیش سی شارپ هست
در این شکی نیست که الان کشور ما مایکروسافتی هست ولی در برنامه پنجم توسعه اومده که تا سال 96 یعنی سه سال دیگه کل ادارات باید لینوکسی بشن پس اگر دید بلند مدت داشته باشی باید رو بیاری به سمت لینوکس و به تبع اون برنامه نویسی توی محیطش
پیشنهاد من به تو جاوا و پایتون هست . دو تاش هم عالی هست
از برنامه نویسی دسکتاپ که بگذریم می رسیم به وب . یه پلتفرم بی نهایت با بازار عالی . بازاری که هیچ موقع تموم نمیشه . اگر میخوای وب کار کنی باید مرحله به مرحله بیای جلو . پیشنهاد من اینه که قبلش یه کم مباحث مقدماتی شبکه رو بلد باشی . حداقل آی پی و دی ان اس و پروتکل های مختلف و یو آر ال و . . . رو بدونی چی هستن
به نظر من قبل از اینکه مستقیم شروع کنی به کد نوشتن برو سمت سی ام اس ها و مطمئنا پیشنهاد اول و آخر من بهت وردپرس هست
این جوری خیلی زود تر با خیلی چیز ها آشنا میشی
مثلا اولی که ما اومده بودیم دانشگاه بعضی از بچه ها بودن و مهارت کد نویسی شون خیلی بالا تر از من بود اما هیچی از هاستینگ نمی دونستن و از من کمک می گرفتن
کلا دید خوبی بهت میده که بعدا وقتی خواستی خودت کد بنویسی و سی ام اس طراحی کنی با اصول سی ام اس ها آشنا هستی و میدونی چه آپشن هایی براش در نظر بگیری
مثلا این شاید مورد خیلی مسخره ای به نظر برسه اما بعضی از بچه ها نمی دونستن که وب سایت ها پنل مدیریت دارن و حالا توی اون پنل مدیریت چه بخش هایی وجود داره
یا اصلا درک درستی از دیتابیس نداشتن و . . .
خلاصه اینکه وردپرس رو که بخوای یاد بگیری هم با اصول سی ام اس ها آشنا میشی هم کار کردن با هاست و بعدا هم که کد نویسی یاد گرفتی خیلی راحت میتونی توی کد های وردپرست دست بیاری و هم هسته و هم پوسته وردپرس رو دست کاری کنی
یه مزیت دیگه ای هم که این کار داره اینه که خیلی زود نتیجه کارت رو می بینی و انگیزه زیادی پیدا میکنی برای ادامه کار
نصب وردپرس پنج دقیقه بیشتر طول نمی کشه !
اما خب همه چی به همین جا ختم نمیشه ( بر خلاف خیلی ها که فکر میکنن حالا که بلدن با وردپرس یا نیوک یا جوملا کار کنن پس باید بهشون گفت طراح وب !!! )
برای شروع کد نویسی اول اچ تی ام ال و بعد هم سی اس اس رو یاد بگیر . نیک پتیت میگه : اگر وب سایت رو مشابه یه ساختمان در نظر بگیری با اچ تی ام ال در واقع داری بدنه و اسکلت ساختمانت رو میزنی . با سی اس اس یه کم به ظاهر خونه میرسی و واسش نما میزنی و کفش سرامیک میکنی و خلاصه بهش استایل میدی . تا اینجا طراحی استاتیک ما تموم شد . طراحی داینامیک وب سایت مون از طریق اسکریپت نویسی انجام میشه . دو نوع اسکریپت نویسی داریم : تحت کلاینت و تحت سرور
اینی که گفتم اول یه کم شبکه بخون واسه اینه که اینجا فرق کلاینت و سرور رو درست درک کنی
اول از کلاینت شروع می کنیم . تقریبا میشه گفت تنها گزینه پیش روی شما جاوا اسکریپت هست . اشتباه خیلی ها اینه که به جای اینکه بیان اول جاوا اسکریپت رو یاد بگیرن ، مستقیما میرن سمت جی کوئری . من نمیگم نرو سمت جی کوئری تازه واسه این کار تشویقت هم میکنم اما قبلش باید جاوا اسکریپت بخونی
توی اسکریپت نویسی سمت سرور هم معمولا همه یا میرن سمت ای اس پی یا پی اچ پی . من خودم چند ساله دارم پی اچ پی می نویسم . هر کدوم یه سری مزیت های خاص خودشون رو دارن . مثلا اکثر وب سایت های سازمان های دولتی و بانک ها و دانشگاه ها و . . . ای اس پی هستن . اما پی اچ پی اپن سورس و رایگان هست و دستت واسه خیلی کار ها باز تره . با اکثر دی بی ام اس ها جواب میده و روی وب سرور های مختلف اجرا میشه و هاست ارزون تری هم میخواین واسش بخرین ( هاست های لینوکس ارزون تر از هاست های ویندوز هستن )
اما نکته مهم اینه که هر دو در اوج قدرت هستن و تقریبا میشه گفت هیچ وب سایتی نیست که نشه با این دو طراحی کرد
در مرحله بعدی هم مبحث پایگاه داده هست . بازم من توصیه میکنم یه کم راجب مباحث آکادمیک پایگاه داده ها مطالعه کن . مدل داده های مختلف و به خصوص مدل رابطه ای . جبر رابطه ای و حساب رابطه ای و ایندکس گذاری و نرمال سازی و تراکنش ها و . . .
این دیگه بستگی داره به وقتی که میخوای واسه این کار بذاری
اس کیو ال که بین دی بی ام اس های مختلف مشترک هست رو باید یاد بگیری . واسه دی بی ام اس هم پیشنهاد من اینه : واسه پی اچ پی ، مای اس کیو ال و واسه ای اس پی : اس کیو ال سرور
اینا حداقل ها بود . اگر میخوای توی مبحث وب حرفه ای تر عمل کنی بهتره اچ تی ام ال 5 و سی اس اس 3 رو هم یاد بگیری . فریم ورک بوت استرپ هم به شدت توصیه میشه . حتما حتما هم سعی کن کار کردن با ابزار اینسپکتور مرورگرت رو یاد بگیری
فریم ورک جاوا اسکریپت هم که خب مطمئنا باید جی کوئری بخونی . ای جکس هم که باید بلد باشی !
اگر پی اچ پی رو یاد گرفتی یه فریم ورک خوب هم حتما بعدش یاد بگیر . من کدایگنایتر استفاده میکنم چون فریم ورک ساده و خوبی هست اما انتخاب های زیادی پیش روت هستن مثل زند و سیمفنی و لاراول و کیک و . . .
اگر از من میشنوی ایکس ام ال و جی سون رو هم یاد بگیر . خیلی خیلی ساده و در عین حال بسیار پر کاربرد هستن
یک بار دیگه تاکید میکنم وب یه پلتفرم بی نهایت هست که هیچ وقت بازارش تموم نمیشه . میتونی توی سه جبهه کار کنی
طراحی وب سایت ، وب اپلیکیشن و وب سرویس
شاید خیلی ها بگن بازار موبایل بهتره اما اپلیکیشن های موبایلی پر طرفدار هستن که وب بیس هستن و با یه وب سرویس و یه دیتابیس روی وب در ارتباط هستن
آخرین پلتفرمی هم که میخوام راجبش صحبت کنم موبایل هست . بازار حال حاضر ایران میگه اگر سمت هر چیز دیگه ای غیر از اندروید رفتی بزرگترین اشتباه زندگیت رو مرتکب شدی !
توی بازار اپلیکیشن های موبایل خیلی باید خلاقیت به خرج بدی چون هر اپی که بخوای بسازی قبل از تو چند نمونه اش رو ساختند
پس بشین و فکر کن . ببین چه اپی هست که میتونه مفید و کاربردی باشه ولی تا حالا ساخته نشده
واسه اندروید هم باز دو تا گزینه پیش رو داری . میتونی نیتیو بنویسی که با جاوا و ایکس ام ال هست . میتونی هم از فریم ورک ها استفاده کنی مثل کوردوبا و فون گپ و موسینک و . . . که کد نویسیش با اچ تی ام ال و سی اس اس و جاوا اسکریپت هست
واسه کپی شدن غیر مجاز اپت هم بهترین راه حل پرداخت درون برنامه ای هست
از طراحی گیم هم غافل نشو . بازار گیم بازاری هست که همیشه پول های کلانی توش هست و هیچ موقع هم اشباع نمیشه
خلاصه کلام این که برنامه نویسی در حال حاضر اگر پر در آمد ترین شغل دنیا نباشه حداقل جزء پر در آمد ترین ها هست
فقط بستگی داره به اینکه ذهن خلاقی داشته باشی و اگر هم پروژه ای نتونستی سفارش بگیری خودت ایده بدی و بشینی رو ایده خودت کار کنی
هر چند که سفارش پروژه هم زیاد میشه . من خودم که این قدر بهم سفارش زیاد میدن که کلا بعضی هاشون رو قبول نمی کنم و وقت انجامش رو ندارم
متاسفانه مشکل ایران اینه که غیر کامپیوتری ها اومدن و بازار ما کامپیوتری ها رو خراب کردن . هیچ کسی تو کار بقیه نمیره اما نمی دونم چطوره هر کی بی کار موند سریع میگه برم سمت برنامه نویسی و اکثر این افراد هم موفق نمیشن چون کار هر کس نیست خرمن کوفتن !
و معضل بزرگتری که وجود داره اینه که افراد ناشی میان و بازار رو خراب میکنن . در واقع این افراد ارزش کار برنامه نویسی رو پایین میارن . پروژه ای که مثلا سه میلیون هزینه بر میداره رو اون احمق میاد میگه من با پونصد هزار تومن می نویسم . مشتری هم نمی دونه کار ماس مالی با کار مهندسی چقدر فرق داره فقط میخواد هزینه کمتری بکنه . به هر حال این مشکلات سر راه ما هست .
به هر حال امیدوارم مطالبی که گفتم مفید بوده باشه
اگر کمک دیگه ای خواستی من در خدمتم
با تشکر