iman

راهنمایی در یک انتخاب php بهزاد مرادی یا python جادی میرمیرانی !!!

iman ۱۳۹۶/۱۱/۲۸ زبان برنامه‌نویسی پی‌اچ‌پی

سلام دوستان من با مسائل پایه ای برنامه نویسی اشنایی کامل دارم و میخوام برای سمت back-end وب سایت یه زبان برنامه نویسی یاد بگیرم اما بین php و python موندم شنیدم که php اینده خیلی خوبی نداره و پایتون اینده دار تره (اقای بهزاد مرادی اینو می گفت تو یکی از پادکست ها ) به نظر شما کدوم رو انتخاب کنم و چرا ؟ یه سوال هم از اقای مرادی دارم اگه خوندن این تاپیک رو اینکه چرا گفتن که اگه میخواستن از اول شروع کنن python رو انتخاب میکردن و نه php رو ایا به من هم این توسیه رو می کنن ؟
پاسخ‌ها به این تاپیک
بهزاد مرادی
بهزاد مرادیمدرس، کپی‌رایتر و دولوپر
۱۳۹۶/۱۱/۲۹
سلام و عرض ادب، راستش پاسخ سایر دوستان اینقدر خوب بود که خواستم دیگه عرض اندام نکنم اما دیدم در متن تاپیک بنده رو مخاطب قرار داده‌اید و خارج از ادب هست که پاسخ ندهم! پیش از پاسخ دادن یک چیز بگم و اون‌ هم اینکه هیچ وقت فکر نکن هرچیزی که آدم‌ها می‌گن صد در صد درست هست (البته جادی آدم بزرگی هست و منظور شخص خودم هست). آدم‌ها در طول زمان عقاید مختلفی پیدا می‌کنن؛ مثلاً شاید روزی که من اون پادکست رو ضبط کردم از صبح زود توی باگ بودم و از دست پی اچ پی دلخور و لذا چنین چیزی رو گفتم! حال برسیم به اصل مطلب. به نوعی تک تک پاسخ‌ها یک چیزی داره که مثبت هست و من باهاش موافقم. مثلاً اول ببینید که چه کار می‌خواهید بکنید. آیا یک سایت ساده هست یا در آینده قرار دیتاماینینگ کنید و هوش مصنوعی رو هم درش دخیل کنید. خب قضیه کاملاً فرق می‌کنه و اینجا برد با پایتون هست. علاوه بر اون، تسلط به فریمورک هم خودش جای بحث دارد. امروزه من که ندیده‌ام کسی بدون فریمورک کد بزنه. پس کدنویسی با اون فریمورک هم تعیین کننده هست. یعنی شما هم باید با سینتکس اون زبان حال کنید و هم با ساختار فریمورک مد نظر. پس همون طور که یکی از دوستان گفتن،‌ باید گشتی در هر دو مورد بزنید و ببینید کدام یک براتون لذت‌بخش‌تر هست. همانطور که یکی از دوستان اشاره کرد که دست تون بازتره و راست همیگه. فرض کنید یک پروژه طراحی نرم‌افزار دسکتاپ به شما خورد. خب مسلماً با پی اچ پی نمیشه (ولو یک لایبرری برای این کار هست اما اصولی نیست) و پایتون برگ برنده داره. امروزه زیاد میشنویم که یک برنامه نویس خوب کسی هست که الگوریتم میدونه و فرقی براش نمیکنه که چه زبانی بهش بدن بلکه تفکر برنامه نویسی داره و خودم هم زیاد میگم اما یک نکته رو فراموش نکنیم فرض کنیم زبان‌های برنامه نویسی وسائل نقلیه هستن (دارم میگم فرض کنیم این مثال شاید اساساً اشتباه باشه پس دوستان نیان خرده بگیرن) مثلاً ماشین سواری داریم کامیون داریم موتورسیکلت داریم کشتی داریم و هواپیما هم داریم. اینکه بدونیم موتور چطور کار میکنه و کمی از مکانیک سر دربیاریم در مورد همه وسائل نقلیه صدق میکنه هم در مورد موتورسیکلت و هم در مورد هلیکوپتر؛ دقیقاً مثل همون دیتا اسکتراکچر و الگوریتم هستن. اما بالاخره یک جایی میرسه که ما باید تصمیم بگیریم که میخواهیم راننده کامیون بشیم یا پیک موتوری یا خلبان! پس اینکه هی بگیم زبان مهم نیست بلکه اصول کدنویسی رو بلد باید باشی به نظرم کمی جای تأمل داره مثلاً کسی که گواهینامه داره مسلماً هم میتونه خودروی سدان برونه هم خاور و هم تراکتور اما در هیچ کدام پرفکت نخواهد بود! پس انتخاب زبان ابتدا به ساکن به نظرم مهمه و همانطور که برخی دوستان اشاره کردن، کارهایی که با اون زبان میشه کرد و آینده‌اش و حتی اگر پول براتون مهمه باشه، میزان درامدش همه مهم هستن در انتخاب یادمون نره اگر در HTML5 هم عالی باشیم میتونیم درآمد چند میلیونی داشته باشیم لپ کلام خوب سرچ کن، یک زبان رو انتخاب کن بسته به تمامی متغیرهایی که در این تاپیک ذکر شده سپس در اون حرفه‌ای شو. من جاوا کار میکردم و اندروید اما برای پیاده‌سازی ایده‌ای مجبور شدم پی اچ پی یاد بگیریم و کلاً مسیرم عوض شد. اینکه گفتم اگر برمیگشتم به عقب میرفتم به سراغ پایتون، دقیقاً به خاطر همین چند منظوره بودن و لایبرری های فراوانی که برای یادگیری ماشینی و هوش مصنوعی و غیره براش هست بوده الان من دولوپر پی اچ پی هستم و کارم رو داره راه می اندازه من اساساً نمیگم کدوم رو انتخاب کنید بلکه این یک تصمیم شخصی هست. امیدوارم کمکی کرده باشم. ارادت ببخشید اگر غلط تایپی و املایی در پاسخم هست. سریع تایپ کردم اینطور شد.
iman
iman
۱۳۹۶/۱۲/۰۲
اقای مرادی عزیز مرسی از راهنمایی هاتون میشه شما که تجربه فراوانی دارید به من تازه کار که میخوام php رو شروع کنم یه راهنمایی بکنید که بتونم سریع تر پیش برم و وارد بازار کار بشم ؟ من توی دوره متخصص php سایت سون لرن شرکت کردم اما فکر کنم مطالب خیلی بیشتری نسبت به یه دوره باید یاد بگیرم غیر از یاد گیری مفایم اصلی برنامه نویسی چه چیزهای دیگه برای موفقیت در php نیاز دارم ؟

در پاسخ به

بهزاد مرادی
بهزاد مرادیمدرس، کپی‌رایتر و دولوپر
۱۳۹۶/۱۲/۰۲
سلام مجدد من تجربهٔ فراوانی ندارم بلکه در حد توان خودم در ادامه نظرم رو خدمت شما عرض می‌کنم اگر می‌خواهید سریع پیشرفت کنید، واقعیت امر آن است که بنده نمی‌تونم خیلی راهنمایی کنم چرا که اعتقاد دارم هیچ آسانسوری برای رسیدن به موفقیت وجود ندارد بلکه باید از راه‌پله مسیر را طی کرد!!! شما ابتدا باید Pure PHP را خوب بلد باشید (حتماً به جای نسخهٔ ۵.۶ از نسخهٔ ۷ به بالا استفاده کنید). با همین پی اچ پی خالی، یک CRUD بنویسید. سپس مفاهیم OOP و MVC را خوب یاد بگیرید و CRUD خود را با این تئوری‌ها ریفکتور کنید. در نهایت، یک فریمورک -همچون لاراول- را انتخاب نمایید و مجدد CRUD خود را با آن بازنویسی کنید. یادتون باشه که پروژه‌هایی که ما در خانه کد می‌زنیم هرگز ما را برای چیزهای عجیب و غریبی که کارفرمایان یا مشتریان از ما می‌خواهند آماده نمی‌کنند؛ لذا کارآموزی در این پروسه بسیار مهم است. ارادت

در پاسخ به

iman
iman
۱۳۹۶/۱۲/۰۳
مرسی مرسی مرسی

در پاسخ به

Amir Moh
Amir Moh
۱۳۹۶/۱۱/۲۹
عالی ، واقعا مثالتون خوب بود ⁦

در پاسخ به

iman
iman
۱۳۹۶/۱۱/۲۹
واقعا عالی پاسخ دادید کامل جامع و دلسوزانه :)

در پاسخ به

Amir Moh
Amir Moh
۱۳۹۶/۱۱/۲۹
سلام، منphp رو‌ پیشنهاد میکنم ،البته بستگی به پروژه هم داره که با کدوم ابزار میشه بهتر انجام داد .
پویا نظری
پویا نظریدانشجوی نرم‌افزار
۱۳۹۶/۱۱/۲۹
سلام البته من در مورد گذشته میگم php خوبه فریم ورک های خوبی داره یادگیریش اسونه اگه حتی یه روزی بدونی داره کم کم پایتون جاشو میگیره میتونی تو ی زمان کمی مهاجرت کنی به پایتون چون تو مفاهیم رو بلدی تجربشو داری اون موقع ((نظر شخصی من اینه اگه هدفم برنامه نویسی سایت باشه اول میرم سمت PHP)) جاوا اسکریپتم هست حتی میتونی روی اونم فکر کنی ببینی کدومش علاقه داری موفق باشی
میلاد پاشنه
میلاد پاشنه
۱۳۹۶/۱۱/۲۹
سلام! اشاره کردید که تازه می خواهید Back-End دولوپمنت را یاد بگیرید پس می تونیم بگیم که اولین موقعییت شغلی خودتون رو در حوزه ی Back-End به عنوان یک Junior Developer و یا کارآموز حدودا 6 ماه تا 1 سال دیگر (بسته به مهارت های مطالعاتی و زمانی که می گزارید) دست خواهید آورد. پس نمیتونیم فقط به آمار فعلی تعداد شغل موجود در بازار اکتفا کنیم. باید به نمودار رشد محبوبیت و تعداد پروژه های انجام شده در یک سال اخیر توجه کنید. زمانی که یک وب دولوپر قابل شدید و بین دو زبان گیر کردید دیگه نیازی به کامنت گذاشتن و سوال پرسیدن ندارید به bench mark های موجود در استک اور فلو یا هر جای دیگه مراجعه میکنید (یا این که اصلا خودتون با آزمایش یک بنچ مارک بدست میارید) و با توجه به بزرگی، تخصص افراد موجود در تیم توسعه، زمان تحویل و بودجه پروژه، تحلیل می کنید و یکی رو انتخاب می کنید. اما شما تازه در ابتدای راه هستید! درسته که انتخاب زبان اول برای برنامه نویسی مهم نیست، اما انتخاب زبان اولی که در آن مسلط و متخصص می شوید خیلی مهم است. چون پروژه هایی که قراره با مشقت های فراوان برای تمرین کردن و آماده شدن برای مصاحبه کاری انجام بدید بدون داشتن یک کامیونیتی فعال و پویا خیلی سخت است و همچنین شغل اول به عنوان برنامه نویس می تونه سکوی پرتاب بزرگ، یک نردبان یا فقط یک پله باشه. پس برای انتخاب زبانی که قراره در اون متخصص بشید بهتره ویژگی های زیر رو در نظز بگیرید: -رشد محبوبیت و استفاده در 2 سال اخیر - پروزه های ACTIVE اپن سورس - وضعیت کامیونیتی (Sub/Reddit ، Stack و .... ) - فرصت های شغلی در محل زندگی شما (نه سیلیکون ولی!) - منابع انلاین و کتاب برای یادگیری (هم کمیت و هم کیفیت) اما برای اینکه ترقیب بشید پایتون رو یاد بگیرید میتونیم به نکات زیر اشاره : - Tech Giants Support: تا وقتی شرکت های بزرگ نرم افزاری (مثل گوگل، یاهو، یوتیوب، پیکسار، نوکیا و ....) بخش مهمی از سرویس هاشون رو با پایتون نوشتند به اون احتیاج دارند ته تنها اجازه نمیدن اون زبان بمیره بلکه به رشدش کمک هم می کنند. - برای ساخت prototype و پیاده سازی کلی ایده سریع و کار امده. - یکی از مهم ترین دلایل یادگیری پایتون Django هستش که سرعت خوبی فراهم می کنه: با جنگو می تونید Domain تون رو خیلی سریع مدل دهی کنید، Class های مورد نیازتون رو تعریف کنید و تمام! به همین راحتی ORM خودتون رو درست کردید. - امنیت : به صورت پیش فرض Django از بسیاری خطا های امنیتی متداول جلوگیری میکنه و این کار رو بهتر از فریمورک های PHP انجام میده. - به صرفه از لحاظ قیمت HOSTING - کمتر بنویس بیشتر انجام بده! - و ..... نظر من در مورد PHP همون چیزیه که دولوپر های PHP میگن : « ?!PHP is a toothbrush, you can brush your teeth what else you want from a toothbrush» PHP مثل یه مسواک میمونه باهاش میتونی دندونتو مسواک بزنی دیگه نباید انتظار بیشتری داشته باشی ! :)
محمد
محمد
۱۳۹۶/۱۲/۲۷
سلام میلاد آخرت کامنت بود انصافا :))) واقعا لذت برم از خوندنش ، منم به نود و پایتون خیلی خوشبینم :) بین دوستام بیشتر تمایل کار با پایتون وجود داره ، انصافا یه زبان چند منظوره عالی هست... به لطف مطالبی که در سکان آکادمی خوندم نسبت به گذشته دید خیلی کامل تری دارم به وب! مرسی که هستین

در پاسخ به

iman
iman
۱۳۹۶/۱۱/۲۹
نظرشخصی خود شما چیه برای بازار کار فعلی در ایران و اینده back end ؟ php رو توصیه می کنید یا python رو ؟

در پاسخ به

میلاد پاشنه
میلاد پاشنه
۱۳۹۶/۱۱/۲۹
بین PHP و Python من پایتون رو انتخاب می کنم ! البته من به Nodejs بیش از هر دو علاقه دارم :) کلا وسواس به خرج ندید! همین پایتون عالیه ! این طوری نباشه که 6 ماه دیگه برگردید ببینید هنوز در حال پیدا کردن زبان و موقعیت مناسب برای مطالعه هستید! «هر چه سریع تر اشتباه کن !» این مقاله از New YorkTimes رو وقت داشتید بخونید! http://editrans.com/be-wrong-as-fast-as-you-can/blog موفق باشید!

در پاسخ به

iman
iman
۱۳۹۶/۱۱/۲۹
چشم مرسی از راهنمایی های خوبتون فقط حیف که با python نمیشه wordpress کار کرد

در پاسخ به

mostafa
mostafa
۱۳۹۶/۱۱/۲۹
سلام - هر جفتشون خوبن ، اما با پایتون دستتون بازتره تا غیر از backend ، در زمینه های دیگری هم کدنویسی کنید،شرکت های خیلی بزرگ مثل گوگل و.... از پایتون هم استفاده میکنن
mostafa
mostafa
۱۳۹۶/۱۱/۲۹
ولی یکی از ضعفهای پایتون ، ضعف در کانکارنسی هستش که در این مورد در مقابل زبانهای Jvm base مثل گو،جاوا ضعف بزرگی به نظر میاد

در پاسخ به

محمدعلی بحرینی
محمدعلی بحرینی
۱۳۹۶/۱۱/۲۹
سلام و وقت بخیر خدمت شما. نظر شخصی بنده اینه که هر کدوم از اینها میتونه اون آینده ای که مد نظر شما هست رو داشته باشه. نکته اینجاست که شما نباید زیاد درگیر این سوال بشید وگرنه حتی با انتخاب یکی، در نیمه راه یادگیری هم وقتی که به قسمت های پر زحمت برسید، احتمال اینکه کمی مایوس بشید و به فکر کنار گذاشتن و شروع دیگری بشید زیاد هست. بله، ممکنه یکی از اینها (یا گزینه های دیگر) جزء ترند های سال باشند یا محبوبیت بالایی بین دولوپر های جوان داشته باشند ولی خب نگاه کردن به همین امار و آرقام و مقایسه ها میتونه شما رو از هدف اصلی منحرف کنه. به نظرم یک چرخ کوتاه توی هر کدوم بزنید و یک سری کد ببینید و با هر کدوم که احساس بهتری داشتید، شروع کنید و تا آخر برید. اگر آینده به معنی دولوپر شدن و تامین زندگی مد نظر شماست، به نظرم حتی توی MATLAB هم تخصص داشته باشید، قطعا کارهای زیادی برای شما وجود خواهد داشت. موفق و پیروز باشید.
iman
iman
۱۳۹۶/۱۲/۰۲
مرسی از راهنماییتون اما خب من زیاد شنیدم که php روز به روز بازار رو از دست خواهد داد و python و ... جایگزین خواهند شد به نظر شما این مهم نیست که اگه میخوایم وقت بزاریم وقت رو زبانی بزاریم که اینده دار باشه ؟

در پاسخ به

محمدعلی بحرینی
محمدعلی بحرینی
۱۳۹۶/۱۲/۰۲
خب اجازه بدید نظر شخصی خودم رو خدمت شما عرض کنم. خیلی خلاصه، من به شما پایتون رو پیشنهاد میکنم. دوستان توضیحات خیلی مفصلی دادند و خب تقریبا همه اطلاعاتی که لازم دارید رو به نظرم میتونید از همین کامنت ها جذب کنید و بر اساس همه اینها به نظر میرسه که اگر الان میخواید یکی رو انتخاب کنید و شروع به کار کنید، پایتون انتخاب عاقلانه تری باشه. دقت کنید که چون اول راه یادگیری هستید این رو گفتم. مثلا من خودم کارم در زمینه وردپرس هست و نمیتونم PHP رو بذارم کنار یا اینکه همونطور که آقای مرادی گفتند اگر به عقب برگردند پایتون رو انتخاب میکنند، احتمالا دلیلی که الان پایتون کار نمیکنند اینه که در حال حاضر به شدت با PHP سروکار دارند. اگر تصمیم خودتون رو گرفتید و شروع به یادگیری پایتون کردید، توصیه میکنم که یک بازه زمانی برای خودتون مشخص کنید و توی این بازه به هیچ چیز دیگه فکر نکنید و تمام تمرکز خودتون رو بذارید روی یادگیری. اگر هدفتون یادگیری عمیق پایتون باشه، به نظرم حداقل 3 ماه وقت لازم دارید. البته این فقط برای خود پایتون هست و نه مثلا فریمورک Django یا چیز های دیگه. در نهایت به عنوان یکی از بهترین منبع های یادگیری، پیشنهاد میکنم که از کتاب زیر استفاده کنید و همین الان هم به شما هشدار میدم که کار سختی خواهد بود، چون هم نیاز به زیان انگلیسی خوب دارید و هم اینکه به خاطر حجم زیاد، ممکنه در وسط راه کمی خسته بشید ولی به شما قول میدم که متن روان و توضیحات کاملی که نویسنده توی این کتاب ارائه میده، میتونه یک پایتون کار قوی از شما بسازه. https://www.amazon.com/Learning-Python-5th-Mark-Lutz/dp/1449355730 برای شما آرزوی موفقیت میکنم.

در پاسخ به

iman
iman
۱۳۹۶/۱۲/۰۲
واقعا ممنون از راهنمایی هاتون مرسی که وقت گذاشتین اما ایکاش زودتر جواب میدادید چون من بازم مشورت کردم اخرش php رو انتخاب کردم و توی دوره متخصص php سون لرن هم با مبلغ 1 ملیون و 500 هزارتومان شرکت کردم و فکر کنم با این پولی که دادم همون php و laravel رو انتخاب کنم شما که تجربه فراوانی دارید میشه برای موفقیت در زمینه php و وردپرس و laravel هم یه راهنمایی بکنید ممنون میشم

در پاسخ به

محمدعلی بحرینی
محمدعلی بحرینی
۱۳۹۶/۱۲/۰۳
خب اجازه بدید من همینجا بگم که انتخاب اشتباهی نداشتید. اصلا نگران این نباشید که خلاف اون چیزی که یه جای به شما پیشنهاد شده دارید میرید جلو و اینکه این راه اشتباهی هست. یک زبان قدرتمند رو به همراه محبوب ترین فریمورک اون انتخاب کردید و اگر توی همین حرفه ای بشید، خیلی کار ها میتونید بکنید. من حقیقتا تجربه کار با Laravel رو ندارم و این رو هم میدونم که برای کار با وردپرس، به میزان خیلی زیادی نیاز به دانش فنی PHP ندارید. در بخش بک اند، برای انجام کارهای حرفه ای در وردپرس، باید بیشتر خود وردپرس، نحوه کار و توابعی رو که در اختیار شما میزاره بشناسید. مدتی هست که به وررپرس به چشم یک پلتفرم نگاه میشه و با اضافه شدن چیز های جدیدی مثل قابلیت پشتیبانی از REST API و موارد دیگر، میتونید با ترکیب کمی دانش PHP و خلاقیت، محصول موفقی ارائه کنید. بازار کار توسعه دهندگان فرانت اند وردپرس هم که مثل همیشه داغ هست و اونجا دیگه خیلی نیازی به دانش بالای PHP نیست ولی به موراد دیگر مثل HTML, CSS, JS نیاز دارید.

در پاسخ به

iman
iman
۱۳۹۶/۱۲/۰۳
واقعا ممنون از راهنمایی های فوق العادتون خیلی کمک کننده بود :)

در پاسخ به

RONIN
RONIN
۱۳۹۶/۱۱/۲۹
بستگی به آینده ای که برای خودتون تجسم کردین داره هر دو زبان ویژگی های خودشو داره و البته معایب ولی در نگاه اجمالی بله پایتون شرایط به مراتب مناسب تری داره.
محمد عزیزی
محمد عزیزی
۱۳۹۶/۱۱/۲۹
سلام دوست عزیز. بعید میدونم کسی پیدا بشه بگه php خوب نیست و python خوبه! همچین حرفی اساسا صحیح نیست. چرا که هر کدام برای منظور خاصی استفاده می شوند. گرچه شما میتونید از جانگوی پایتون هم برای صفحات وب استفاده کنید، اما پیشنهاد من این است که شما ابتدا زمینه کاری که علاقه مند هستید روی آن کار کنید مشخص کنید بعد برید سراغ انتخاب زبان. البته تاکید تمام بزرگان بر این است که بیشتر روی اصول برنامه نویسی و قواعد حل مسئله تمرکز کنید. بعد بسته به نیاز میتونید ابزارتون رو انتخاب کنید.
iman
iman
۱۳۹۶/۱۲/۰۲
من که گفتم توی سوال میخوام backend یاد بگیریم برای طراحی وب و بین phython و php موندم

در پاسخ به