senatordxx

شروع برنامه نویس شدن وب از زبان c++/c

senatordxx ۱۳۹۷/۱۰/۲۸ 269 مباحث عمومی برنامه‌نویسی

دوستان به نظرتون برای شخصی که می خواد حسابی مسلط بشه به دنیای نرم افزار و تولید و توسعه اش آیا شروع کردن از زبان سی منطقی محسوب میشه؟

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

+از اواسط تابستون هم یادگیری رو آغاز کردم و نسبتا به طراحی قالب و وردپرس مسلط شدم و یه پروژه بالا آوردم و با تحقیقاتی که داشتم می خوام جاوا رو انتخاب کنم برای تبدیل شدن به یک  Senior Web Application Development!


به نظرشما با شروع یادگیری از زبان سی ( به عنوان مادر زبان های برنامه نویسی ) در آینده حرفه ایم تغیری به وجود خواهد اومد در مواجه با پیاده سازی ایده ها و گسترش سیستم ؟

لطفا اساتید نظرتون رو بهم هدیه کنید!

پاسخ‌ها به این تاپیک
میلاد جعفری
میلاد جعفریدولوپر استک فول و عاشق هستم :(
۱۳۹۷/۱۱/۰۶

سلام دوست من وقتت بخیر

تقریبا میشه گفت که اول همه درگیر این جور مسائل هستند و طبیعی هم هست

ولی به اگر نظر منو بخوای چند تا نکته بهت میگم که خودت راه خودت رو پیدا میکنی مطمئن باش😉

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

زبان هایی که بهت میگم رو حتما شروع به یادگیری کن که ضرر نمیکنی: 

#Java ,C حتما این دوتا زبون رو جدی بگیر مخصوصا سی شارپ خیلی خیلی قوی و کاربردی هست جوری که تقریبا تمام کار هایی که نیازت هست رو میتونی باهاش انجام بدی ( توسعه وب با ASP.NET , موبایل با Xamarin و ...) و جاوا هم دیگه جای خود.

اگر بخوای سریع وارد دنیای وب بشی به نظر من به ترتیب یاد بگیر اینارو: 

html5

CSS3 (فلکس باکس ها رو فرامموش نکن)

bootstrap4 , Bulma

javascript که این روزا شده زبان همه جا تقریبا و همه ازش استفاده میکنن پس اینو تو اولویت بزار به صورت حررفه ای یادش بگیر

jquery هم یادبگیری بد نیست حداقل باهاش اشنا باش

بعدش باید زبان بک اند خودتون انتخاب کنی که مهم ترین و گیج کننده ترین راه ممکنه

به نظرم php و فریم ورک لاراول یه گزینه خوب هست که همین رو امتحان کن و اینو بدون که تقریبا هر نوع پروژه ای میتونی با لاراول بزنی

امیدوارم کمک کنه 

senatordxx
senatordxx
۱۳۹۷/۱۱/۰۹

ممنونم آقا میلاد از انتقال تجارب با ارزشتون ، واقعا لطف کردید 3>

در پاسخ به

بهنام صباغی
بهنام صباغیتوسعه‌دهنده c++ (دیتا ویژوال و nosql)
۱۳۹۷/۱۱/۰۲

با سلام

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

در مورد بخش اول که فرمودید :

«دوستان به نظرتون برای شخصی که می خواد حسابی مسلط بشه به دنیای نرم افزار و تولید و توسعه اش آیا شروع کردن از زبان سی منطقی محسوب میشه؟ »

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

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

پس اول این که قرار نیست کسی حسابی به دنیای نرم افزار مسلط بشه.

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

شروع از سی میتونه خوب باشه ولی این رو در نظر داشته باشید که سی برای شروع و درک مطالب خوبه ولی نرم افزار نوشتن با سی کار هر کسی نیست به دلیل نزدیکی به سخت افزار و عدوم وجود مدیریت حافظه خودکار و تایپ سیف نبودن و ... در واقع با سی شروع کنید بد نیست ولی خیلی درگیر سی نشید (اگر نمیخواید یک برنامه نویس سی باشید ).

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

اما برای موردی که شما انتخاب کردید یعنی تبدیل شدن به Senior Web Application Development تا مراحلی میشه گفت سی و سی پلاس پلاس به کارتون نمیاد فقط توی کارهای سنگین و خیلی خیلی جدی و تجاری سی و سی پلاس پلاس توی سرور استفاده می‌شند. مثلا فیسبوک و گوگل و ... از سی پلاس پلاس برای هسته پردازشی سرور استفاده می‌کنند ولی بعید میدونم شما توی پنج سال اول کارتون نیازی به رفتن سراغ سی پلاس پلاس و سی توی وب داشته باشید و اگر هم با دیگر زبان ها پیش برید و لازمتون بشه میتونید برای هسته پردازشی از این دو زبان استفاده کنید ولی زبان اصلی که باهاش کار خواهید کرد البته توی بک اند میتونه چیز دیگری باشه مثلا از انتخاب‌ها خوبی که هست میشه به php و java اشاره کرد که البته جاوا کاربرد های خاص تری داره مثلا توی سیستم های بانکی و توی بحث امنیت وب زیاد استفاده میشه و کلی کاربرد دیگه هم داره البته میتونید node.js رو هم در نظر بگیرید در کل دنبال یاد گیری یک زبان تحت وب باشید سی و سی پلاس پلاس توی کارهای خیلی سنگین مثل کارهایی که گفتم استفاده میشند و استفاده ازشون توی کارهای سبک تر مثل فروشگاه اینترنتی و ... نه معقول هست نه بصرفه.

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

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

یکم که پیش برید دیگه این مباحث براتون میشه مبتدیات و درگیر مسائل بزرگتری از جمله دیزاین پترن و معماری میشید که اون دیگه مفهومی فراتر از زبان داره و فرقی نمیکنه توی کدوم زبان باشید. این اوایل رو خیلی حساسیت به خرج ندید و پیش برید مسائل مهم تری در ادامه منتظر شماست.

senatordxx
senatordxx
۱۳۹۷/۱۱/۰۳

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

توضیح انقدر کامل بود که سوالی برام نموند ، بهترین هارو برات آرزو میکنم آقا بهنام و جا داره باز هم از آقا بهزاد تشکر کنم 3> 3>

در پاسخ به

RONIN
RONIN
۱۳۹۷/۱۰/۳۰

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

senatordxx
senatordxx
۱۳۹۷/۱۰/۳۰

خیلی ممنونم از شما بابته پاسخگویی ! راهنمایی فوق العاده ای بود

در پاسخ به

omid
omid
۱۳۹۷/۱۰/۳۰

سلام
دوست عزیز این تفکر درست نیست که چون c زبان مادره یا هرچی بیام از سی شروع کنم !
اول هدف
دوم شناخت پارادایم های برنامه نویسی که دوتان شاخص ترینشون oop و functional
حالا انتخاب یه زبانی که به بهترین شکل ممکن اون پارادایم انتخابی رو پیاده کردن که به نظر من الان یادگیری oop منطقی تره پس بهترین گزینه میشه یادگیری زبان java

senatordxx
senatordxx
۱۳۹۷/۱۱/۰۱

از شماهم ممنونم امید جان ، لطف کردی

در پاسخ به