مشاهده نسخه کامل
: درخواست کمک یک مبتدی از مهندسان و برنامه نویسان حرفه ای کامپیوتر
Alireza9112
26-04-2014, 01:49
سلام من دانشجوی رشته مهندسی عمران ورودی92هستم/ولی به تکنولوژی دیجیتالی وکامپیوتری علاقه و کنجکاوی بسیاری دارم/متاسفانه دانش کامپیوتری من بسیار پایین است وفقط می توانم ویندوز نصب کنم وهیچ آشنایی با Mac و Linux ندارم واطلاعاتم کاملا صفر است/درحال حاظربسیار سردرگم شده ام کل تمرکز خود را ازدست داده ام و یک سری سوالات شاید عجیب ذهن مرا کاملا درگیرکرده وازاین که ان تاپیک طولانی شده معذرت می خواهم خواهش می کنم که آن را بخوانید وددرصورت داشتن وقت کافی مرا راهنمایی کنید :
برای مثال سوالاتی مانند:این که اگر رایانه یک وسیله الکترونیکی است که زمانی فقط اطلاعاتی نظیرمتن راذخیره وبازیابی می کرد هم اکنون چگونه صدا تصویر رنگ ها فیلم را ذخیره می کند/چگونه این سیستم به قدری هوشمند است که اطلاعات موجوددرهارد رابه صورت سیگنال به cpu ارسال می کند وcpu اطلاعات درحال پردازش را موقتادررم ذخیره می کند,حال این رابط گرافیکی چطور طراحی شده که این کارهارا توسط چند کلیک ساده انجام می دهد.پایه و اساس گرافیک کامپوتری چطورایجاد شده.اگربرنامه سازی مجموعه ای ازدستورالعمل های قابل فهم برای رایانه است پس چطورهمین دستورات نرم افزارهایی مثل مایا 3dmax وافترافکت را راه اندازی می کنند که می توان باآن ها انواع جلوه های ویژه وتیتراژفیلم های سینمایی بازی کامپیوتری وانیمیشن ساخت/این نرم افزارهای تحلیلی ومحاسباتی مانند نرم افزارهای مدریتی مهندسی بورس و اقتصاد ریاضیات چگونه همه پدیده های زندگی را شبه سازی می کنند مثلا نرم افزار fluent حرارت منتشرشده درلوله رابا رنگ های مختلف نشان می دهد.نرم افزارهای تحلیل تکنیکال ونرم افزارهای ریاضی ومحاسباتی چگونه ارزش سهام وپدیده های فیزیکی و توابع ریاضی را با گرافیکی عالی به صورت نمودار ترسیم می کنند/چگونه مرورگراینترنت صفحات وب رابارگذاری می کند/چگونه برنامه های سیستمی مانند سیستم عامل و درایور امکان بهره بری از سخت افزار راایجاد می کند.مفهوم اینکه فلان فیلم با فلان فرمت کیفیت بالا یا پایینی داردچست.چرابرخی نرم افزارهاروی یک سیستم عامل اجرا نمی شوند.ماشین مجازی جاوا که مستقل ازپلتفرم است چگونه برنامه ها را اجرامی کندیا جهارچوب دات نت چیست وساختار این برنامه هاچگونه است؟همین پلتفرم که ترکیبی ازپردازنده و سیستم عامل است چگونه ساخته شده است؟وماباچن کلیک وطی مراحلی ساده کارهای خود راانجام می دهیم غافل از این که رایانه چه پروسه ی پیچیده وچندلایه ای راچه ازلحاظ سخت افزاری وچه نرم افزاری طی می کندتااین اعمال انجام شود.
حال مشکل فقط این نیست دردنیای بی کران کامپیوتر من علاقه مندبه ساخت انواع نرم افزارهای مهندسی وتحلیلی وشبه سازهستم میخواهم همه پدیده های زندگی رادرغالب نرم افزارشبیه سازی کنم/ نرم افزارهای سه بعدی سازی و ویرایش تصویروانمیشن ساز بنویسم /بازی کامپیوتری بسازم/برای سیستم عامل های موبایل وpc انواع اپلیکیشن هارا تولید کنم/برای اینترنت موتورجستجو بسازم/
حتی کامپالر واسمبلر و برنامه های سیستمی مانند سیستم عامل ودرایور سخت افزار بنویسم یا حداقل ساختارآن ها رادرک کنم.ولی درمیان این همه زمینه مختلف حسابی گیج ومنگ مانده ام
که باید ازکجاآغازکنم وکدام تخصص آینده بهتری دارد.
درحالی که من حتی ازحل الگوریتم محاسبه ی دترمینان ماتریس N*Nعاجزم ولی این همه هدف بزرگ دارم.گاهی مایوس می شوم و احساس می کنم درحال درجازدن هستم.
هدف من این نیست که درهمه این زمینه ها متخصص شوم بلکه می خواهم عمق کامپیوتر رادرک کنم وروندتوسعه ی آن را به طور عملی ببینم/ودریک زمینه ازاین دنیای بی کران متخصص باشم وبتوانم برای پیشرفت این تکنولوژی تلاش کنم و ایده های جدید ارایه دهم.
حال به نظر شما من باید از چه نقطه ای شروع کنم.نه هدفها برایم مشخص اند ونه مسیر رسیدن به آن ها را می دانم فقط با یک سری اصطلاحات ناآشنا مواجه می شوم.
نمی خواهم که پاسخ سوالات مرا بدهید فقط این که می خواهم مسیر رابرایم مشخص کنید وراه ماهی گیری رابه من بیاموزید.این که چطور از سردرگمی رها شوم و برای رسیدن به تخصص دراین زمینه ها حرکت کنم.وساختار بقیه تکنولوژی های کامپیوتری را درک کنم.وروند توسعه کامپیوتر رابه صورت عمیق مطالعه کنم.
وسوال دیگراین که آیا متخصص واقعی کامپیوتر در تمامی زمینه ها دارای تجارب است برای مثال بازی کامپیوتری میسازد/برنامه های موبایل راتوسعه میدهد/امنیت سایت ها را ایجاد می کند.
وبا هر اصطاحی که درهر زمینه وجود داردآشنایی دارد؟ یا این که فقط یک زمینه را به صورت تخصصی انتخاب می کند وبه صورت عالی آن راادامه می دهد. /چون برخی دانشجویان ترم آخرکامیوتراین نظر را دارند که برای موفقیت باید درهرزمینه ای مجرب بود ولی افراد باتجربه این کاررا رد می کنند و عقیده دارند که باید فقط دریک زمینه فردی بسیار بسیارکارآزموده وحرفه ای بود بالاخره کدام راه صحیح است؟
ممنون از این که حوصله کردید و متن را مطالعه کردید/ پاسخ های ارزشمند شما برای من سرنوشت سازخواهد بود متشکرم
سلام من دانشجوی رشته مهندسی عمران ورودی92هستم/ولی به تکنولوژی دیجیتالی وکامپیوتری علاقه و کنجکاوی بسیاری دارم/متاسفانه دانش کامپیوتری من بسیار پایین است وفقط می توانم ویندوز نصب کنم وهیچ آشنایی با Mac و Linux ندارم واطلاعاتم کاملا صفر است/درحال حاظربسیار سردرگم شده ام کل تمرکز خود را ازدست داده ام و یک سری سوالات شاید عجیب ذهن مرا کاملا درگیرکرده وازاین که ان تاپیک طولانی شده معذرت می خواهم خواهش می کنم که آن را بخوانید وددرصورت داشتن وقت کافی مرا راهنمایی کنید :
مک و لینوکس، اسمشون ترسناکه!!! اونا هم دوتا سیستم عامل مثل ویندوز هستن که همون کارهای ویندوز رو میکنن....
تفاوت اینها با هم، برای یه مهندس عمران رو میشه در تفاوت بین اتد و راپید برای کشیدن نقشه دونست! هر دو کار رو انجام میدن، هر دو به ابزارهای کمکی نظیر خط کش و غیره و ذلک نیاز دارن!!! هر دو امکان تعیین اندازه خط رو دارن، ولی یکیش نوک توش میذاری یکیش جوهر داره و اینا...
کلیتشون یکیه، کارشون هم یکیه، نوع استفادشون قدری فرق میکنه!:)
این که اگر رایانه یک وسیله الکترونیکی است که زمانی فقط اطلاعاتی نظیرمتن راذخیره وبازیابی می کرد هم اکنون چگونه صدا تصویر رنگ ها فیلم را ذخیره می کند
کامپیوتر هیچ وقت متن ذخیره نمیکرده.... کامپیوتر یه وسیله ی بیشعوره که فقط 0 و 1 می فهمه!! امروز هم بعد از قرن ها فقط 0 و 1 رو می فهمه!!!
همونجوری که اطلاع دارید، عکس یک فریم هستش متشکل از هزاران پیکسل! در کل هر تصویری که توی کامپیوتر هست در هر کثری از ثانیه( مثلا 124 هزارم ثانیه) مجموعه ای از پیکسل ها هستن(نقاط رنگی روی صفحه ی نمایش) که بر اساس ارایه هایی 3 بعدی، این مقادیر 0 و 1 شون، خاصیت رنگ به خودش میگیره و این رنگ ها، تصویر مورد نظر ما رو ایجاد میکنه...
حالا هرچی تعداد این پیکسل ها بیشتر باشه، کیفیت خطوط و اشکال ایجاد شده هم بالاتر و خوب تر خواهد بود... همین مسئله برا فیلم هم هست!! با این تفاوت که هر ثانیه، با توجه به تعداد فریم ها(تعداد عکس های ) تشکیل دهنده ی هر ثانیه( بین 24-30 یا 60 یا بیشتر و یا کمتر!)، به همون تعداد در ثانیه پیکسل ها رنگشون عوض میشه! :)...
این مسئله(گرافیک)
گونه این سیستم به قدری هوشمند است که اطلاعات موجوددرهارد رابه صورت سیگنال به cpu ارسال می کند وcpu اطلاعات درحال پردازش را موقتادررم ذخیره می کند,حال این رابط گرافیکی چطور طراحی شده که این کارهارا توسط چند کلیک ساده انجام می دهد.پایه و اساس گرافیک کامپوتری چطورایجاد شده.
من دقیقا یادم نیست که دیتا به صورت سیگنال میرفتن یا چی! :)...
به هر صورت، این 0 و 1 ها، طی یکسری محاسبات بسیار دقیق ریاضیاتی، به پردازنده میرن و در طی یک صفی که تشکیل شده، در هر ثانیه چندصد هزار تاشون توسط CPU پردازش میشه... ارسال و تبادل دیتا بین رم و CPU خودش باز یه مبحث دیگه هستش در درس سیستم عامل که شخصا ازش متنفرم!! ولی همش قواعد ریاضیاتی و الگوریتم های ریاضی داره و در کل، کار چندان پیچیده ای نیست(تئوری! ولی ساختن مدارها و قطعاتی که این کار ها رو بکنن، کار خیلی سخت و پیچیده و نیازمند تکنولوژی بسیار بالایی هستش)...
بذارید خیالتون رو راحت کنم! هیچ کاری توسط کلیک انجام نمیشه!!! قبلا، کامپیوتر ها، رابط کاربری متنی یا کامند لاین داشتن که مستقیما به سیستم عامل و سخت افزار دستور میداد... امروز اومدن یه ظاهر قشنگ درست کردن... وقتی شما روی ایکن یه عکس کلیک میکنی، در پشت کلی کامند اجرا میشن که این کامند ها به سطوح پایین تر میرن و تبدیل به 0 و 1 میشن و این 0 و 1 ها به پردازنده میرن و پردازنده با پردازش اونها، می فهمه که باید یه سری رشته ی 0 و1 رو از فلان جا(که ادرسش باز 0 و 1 هستش) رو پیدا بکنه و فراخونی بکنه... اون یه سری 0 و 1 هم شامل همون مشخصات و رفتار پیکسل ها در هر لحظه هستن که نهایتا عکس رو برای ما تشکیل میدن...
بنابراین، رابط کاربری، فقط یه ظاهره که قرار نباشه ما با کد ها کار بکنیم... اگر با 3Ds MAX کار کرده باشید، اونجا ما میتونیم برای رسم مثلا یک خط، بریم روی ایکنی که شبیه به خط هست و روش نوشته شده line استفاده بکنیم و خط بکشیم( روی یک نقطه کلیک بکنیم، و در یک نقطه ی دیگه کلیک بکنیم...
یا میتونیم بریم به خط فرمان 3DS Max و کدهایی رو اجرا بکنیم و بگیم که مثلا یه خط از نقطه ی با ادرس فلان تا نقطه ای با ادرس فلان برام رسم کن... نتیجه ی جفتش یکی هستش! ولی پر واضحه که اولی برای کاربر عادی راحت تره... اما وقتی شما روی ایکن خط کشیدن کلیک میکنید، نرم افزار خودش در زیر و در دور از چشم شما اون کد ها رو اجرا میکنه...
اگربرنامه سازی مجموعه ای ازدستورالعمل های قابل فهم برای رایانه است پس چطورهمین دستورات نرم افزارهایی مثل مایا 3dmax وافترافکت را راه اندازی می کنند که می توان باآن ها انواع جلوه های ویژه وتیتراژفیلم های سینمایی بازی کامپیوتری وانیمیشن ساخت
ببینید، هدف برنامه سازی، راحت تر کردن کارهاست...
شما وقتی مایا رو باز میکنید، میتونید با یه کامند لاین مواجه بشین... که مجبور باشین بهش یه سری کد نامفهوم مزخرف بدین که براتون کاری بکنه! مثلا یه خط یا یه مربع رسم بکنه! یا اینکه میتونین با رابط کاربری ساخته شده این کار رو بکنین...
در هر دو حالت، سخت افزار فقط یه مشت کد رو میخونه، ولی برنامه نویسی و متخصصین کامپیوتر میان یه لایه ی دیگه به کامپیوتر اضافه میکنن به اسم رابط کاربر... کار این رابط کاربر اینه که کمک میکنه افرادی که متخصص کامپیوتر نیستن هم بتونن باهاش کار بکنن... مثلا شما که رشته ات عمرانه، میری اتوکد یاد میگری و لازم نیست که بری برنامه نویسی و معماری سیستم و طراحی کامپایلر و کلی دروس مزخرف دیگه که سردسته ی همشون زبان ماشین باشه! رو یاد بگیرین تا بتونین باهاش کار بکنین....
شرکت ها میان ماه ها و چه بسا سالها کار میکنن و برنامه هایی مینویسن که اجازه میدن کاربر بدون دانش برنامه نویسی و صرفا با یه تعداد کلیک کردن، برای کامپیوتر کد بنویسه! :))))
این نرم افزارهای تحلیلی ومحاسباتی مانند نرم افزارهای مدریتی مهندسی بورس و اقتصاد ریاضیات چگونه همه پدیده های زندگی را شبه سازی می کنند مثلا نرم افزار fluent حرارت منتشرشده درلوله رابا رنگ های مختلف نشان می دهد.نرم افزارهای تحلیل تکنیکال ونرم افزارهای ریاضی ومحاسباتی چگونه ارزش سهام وپدیده های فیزیکی و توابع ریاضی را با گرافیکی عالی به صورت نمودار ترسیم می کنند
من به شما قول میدم که کامپیوتر مطلقا هیچ دانشی نسبت به ریاضیات و محاسبات و غیره و ذلک نداره!! صرفا برنامه ریزی شده که با رشته های 0 و 1 ارسال شده از سنسور ها یا دریافت شده از هر طریق دیگه ای( از طریق کیبرد یا موس یا اسکنر یا میکروفون یا هر چیز دیگه ای) کار بکنه و با تعداد مشخصی از اونها، کارهای بخصوصی بکنه....
ما چیزی داریم به اسم مدیریت خطا! اگر نباشه، تازه مردم می فهمن که کامپیوتر چقدر بیشعوره... کامپیوتر به خودی خود، فرق اسم و اعداد و چیزای دیگه رو نمیدونه... برنامه نویس ها میان ساختار داده ها و شکل های مختلف رو بهش میدن و بهش میگن برای فلان قسمت، تو داده ای میخوای که فلان شکل باشه... اگر داده ای که بهت دادن اونجوری بود، انجام بده! اگر نبود خطایی صادر بکن و اطلاع بده که داده ی وارد شده اشتباه بوده...
اینها همه از پیش تعیین شده هستن... شما به کامپیوتر میگید 2 + 2 میشه چی؟
کامپیوتر میاد میگه 000010 رو اگر با 000010 جمع بکنم، میشه 000100 و بعد این نتیجه رو میده به سیستم عامل! سیستم عامل هم میاد اون چیز رو رو اصلاح میکنه به عدد 4 و به شما نشون میده! :)....
بنابراین همه ی کارهایی که کامپیوتر انجام میده، قبلا توسط متخصصینی که کارشون طراحی الگوریتم هست(طراحی رویه های کاری) طراحی شده و با صرف ساعت ها، روزها، ماهها و حتی سالها زمان، به الگوریتم هایی رسیدن که جواب های درست رو در زمانی کوتاه به شما میدن... بنابراین وقتی کامپیوتر شما، بهتون نشون میده که ساعت 11 ظهره، هیچ ایده ای نداره که ظهر چیه؟ ساعت چیه؟ ساعت 11 چیه؟ و ساعت 11 ظهر چیه؟! :).... این برنامه نویس ها هستن که هر وقت قرار بود بگی ساعت 11 ظهره، یه عکس خورشید خوشکل هم نشون بده و بگو ظهر بخیر!!!!
چگونه مرورگراینترنت صفحات وب رابارگذاری می کند
سر بسته بگم! که صفحه ای که شما درخواست میکنین( مثلا همین صفحه ی سایتی که این سوالات درش هست)، یه جایی روی یه کامپیوتری ذخیره شده...و یه ادرسی داره! حالا، مادامی که کامپیوتر شما به اون کامپیوتر که صفحه روش هست وصل باشه!( مهم نیست شما یه کابل از کامپیوتر خودتون به اون وصل میکنین یا به کامپیوتری وصل هستین که اون خودش به یه کامپیوتر دیگه وصله که اون کامپیوتر سوم، به کامپیوتر حاوی صفحه وصل باشه!!!!) مادامی که بشه مسیری از کامپیوتر شما به کامپیوتر مقصد برقرار کرد، کامپیوتر شما، ادرسی که وارد میکنین(ادرس سایت رو) تبدیل به یه سری عدد میکنه در لایه ی اول! مثلا 127.0.0.1 بعد در لایه بعدی میاد عدد رو به یه سری 0 و 1 تبدیل میکنه! بعد اون 0 و 1 ها رو به سیگنال تبدیل میکنه( و هر کدوم از این کارها رو مهندسان کامپیوتر، از 60-70 سال پیش تا به امروز روش کار کردن و براش الگوریتم و رویه و قانون نوشتن که چطوری انجام بشه و کار یه روز دو روز نیست!) و این سیگنال ها میرن و میرن تا برسن به ادرسی که بهشون گفته شده!! وقتی رسیدن به اون ادرس، تبدیل میشن به 0 و 1 و میرن لایه بالاتر میشن Ip یا همون 127.0.0.1 و بعد تبدیل میشن به ادرس نهایی که شما داده بودی، یه سری اتفاقات مهندسی شده ی دیگه می افته و این دیتا دوباره تبدیل به 0 و 1 میشه و بعد سیگنال و میاد به سیم ها و راه میوفته تا کامپیوتر شما!! توی کامپیوتر شما، مودم دوباره سیگنال ها رو میگیره و تبدیل میکنه به 0 و 1 و بعد 0 و 1 ها میان به سیستم عامل تحویل مرورگر میشن و تبدیل میشن به دستوراتی برای تشکیل و شکل دهی و رنگ دهی به فریم ها و تصویر برای شما ایجاد میشه...
برای این کار، صدها و چه بسا هزاران راه مختلف هست! دلیل تفاوت سرعت بین این روشهای مختلف، تفاوت در الگوریتم ها و رویه های بین اونها هستش...
چگونه برنامه های سیستمی مانند سیستم عامل و درایور امکان بهره بری از سخت افزار راایجاد می کند
دستورات به شکل کدهای 0 و 1 در میان و کد های 0 و 1 در شکل های خاص، برای سخت افزار مفهوم های بخصوصی ایجاد میکنن... مثلا، اگر بهش 00001010101011011011001010 بهش رسید، یه چراغ رو روشن بکنه، اگر 1010101010 بهش رسید یه چراغ رو خاموش بکنه یا یه بوق بزنه و غیره....
اینا رو مهندس های سخت افزار( برق و الکترونیک) در طول ده ها و چه بسا صد ها سال! تلاش و کار خودشون به این شکل در اوردن و استاندارد هستن...
دلیل استفاده از درایور ها هم همینه... درایور به سیستم عامل میگه که برای انجام هر کاری، چطوری دستورات رو به 0 و 1 تبدیل بکنه تا سخت افزار رفتار مربوطه رو از خودش نشون بده! :)...
مفهوم اینکه فلان فیلم با فلان فرمت کیفیت بالا یا پایینی داردچست
فیلم ها، در رزولوشن( تعداد پیکسل های هر صفحه) و تعداد اونها در ثانیه فرق میکنن... مثلا، در فیلمی که در هر ثانیه اش، 60 فریم (60 ترکیب مختلف از مشخصات و شکل پیکسل ها) در هر ثانیه وجود داره، نرم تر و راحت از فیلمی اجرا میشن که در هر ثانیه اش 15 صفحه وجود داره!!... بحث صدا و غیره هم هست!
چرابرخی نرم افزارهاروی یک سیستم عامل اجرا نمی شوند
روش کار سیستم عامل های مختلف با سخت افزار متفاوته!!!
مثلا، یکی از دستور 10101011010110111110001101010 برای خاموش کردن کامپیوتر استفاده میکنه، دیگری از 10101010101101000000000001111 استفاده میکنه! حالا شما وقتی برنامه ای مینویسی که میخواد کامپیوتر رو خاموش بکنه، باید ترجمه ی کدهات به 0 و1 در هر کدوم از سیستم عامل ها، نتایج مختلفی رو تولید بکنه( یعنی اون شکل 0 و 1 هایی که گذاشتم رو تولید بکنه).... این مسئله باعث ایجاد تفاوت میشه...
ماشین مجازی جاوا که مستقل ازپلتفرم است چگونه برنامه ها را اجرامی کندیا جهارچوب دات نت چیست وساختار این برنامه هاچگونه است؟
ماشین مجازی اسمش رو خودشه! :)...برای همه ی سیستم عامل ها، میاد به یک شکل برخورد میکنه و در سطحی بسیار پاین تر رفتار میکنه... یعنی به جای اینکه به سیستم عامل بگه که کامپیوتر رو خاموش بکنه، به خود سخت افزار میگه که خاموش بشه!( این واقعا اتفاقی که می افته نیست ! ولی شما اینجوری در نظر بگیری کافی هستش! :) )...
همین پلتفرم که ترکیبی ازپردازنده و سیستم عامل است چگونه ساخته شده است؟وماباچن کلیک وطی مراحلی ساده کارهای خود راانجام می دهیم غافل از این که رایانه چه پروسه ی پیچیده وچندلایه ای راچه ازلحاظ سخت افزاری وچه نرم افزاری طی می کندتااین اعمال انجام شود.
دات نت یه مبحث کاملا جداست... دات نت، مجموعه ای کدها هستن که قابل استفاده هستن!! مثلا یه نفر قبلا یه سری کد نوشته که کامپیوتر رو خاموش میکنه! حالا دیگه نیاز نیست ما اون همه کد رو دوباره بنویسیم! همون کدهای اون اقا رو صدا میزنیم که کامپیوتر خاموش بشه و دوباره کاری نشه... این کار رو بهش میگن کتاب خونه! کتاب خونه ی کد نوشتن، امروزه یه شغله! دات نت یه کتاب خونه ی کد هستش برای زبون C#.....
حال مشکل فقط این نیست دردنیای بی کران کامپیوتر من علاقه مندبه ساخت انواع نرم افزارهای مهندسی وتحلیلی وشبه سازهستم میخواهم همه پدیده های زندگی رادرغالب نرم افزارشبیه سازی کنم/ نرم افزارهای سه بعدی سازی و ویرایش تصویروانمیشن ساز بنویسم /بازی کامپیوتری بسازم/برای سیستم عامل های موبایل وpc انواع اپلیکیشن هارا تولید کنم/برای اینترنت موتورجستجو بسازم/
نیاز شما در اینجا، یاد گرفتن کمی سیستم عامل و بیشتر برنامه نویسی هستش....
شاید زیاد مهم نباشه که بدونید چطوری سایت ها بارگذاری میشن! ولی اگر بدونین بهتر میتونین کار بکنین...
در بحث شبیه ساز و تحلیلی و اینا، شما میتونید الگوریتم های جدید رو کشف بکنین و ارائه بکنین و کلی ژورنال و متخصص اون بیرون هست که هر روز این کار رو میکنن و رویه های انجام کارها رو کشف میکنن و ارائه میکنن...
ایجاد برنامه ها اما، ه مبحث جدا گونه هستش و شما باید برید برنامه نویسی یاد بگیرید... مسئله هم اینه که شما نمی تونید یه برنامه نویسی یاد بگیرید و ازش همه جا استفاده بکنین... اگر شما بلد باشین برنامه ی پخش موزیک برای موبایل بنویسید، دلیل نمیشه بتونین برنامه ی حسابداری هم برای همون موبایل بنویسید!! ولی به این معنی هستش که با کمی تحقیق میتونین این کار رو انجام بدید...
حتی کامپالر واسمبلر و برنامه های سیستمی مانند سیستم عامل ودرایور سخت افزار بنویسم یا حداقل ساختارآن ها رادرک کنم.ولی درمیان این همه زمینه مختلف حسابی گیج ومنگ مانده ام
هر کدوم از اینهایی که شما می فرمایید، یک شاخه و گرایش بخصوص است... من دقیقا از عمران خبر ندارم! ولی فکر نمیکنم کسی که متخصص ساخت پل باشه، بتونه با همون کیفیت مثلا زندان درست بکنه یا هتل درست بکنه!! نه که نتونه! ولی با همون کیفیت و دقت و ریز بینی ممکنه نتونه...
شما هم اگر وارد دنیای کامپیوتر میخواید بشید، برادرانه بهتون پیشنهاد میکنم که وارد یک شاخه بشید فقط! مخصوصا اگر برای کار به این بازار میخواید وارد بشین!!!!چون بازار کامپیوتر به شدت بی رحمه!!نیم ساعت عقب بمونین کارتون تمومه....
اکثر بچه های کامپیوتر، با علم به اینکه پایه ی درس هاشون هست، خیلی از این درسهای طراحی کامپایلر و زبان ماشین و غیره و ذلک رو فقط پاس میکنن و چیزی ازش یادشون نمی مونه که نمونه اش هم خودم هستم!! چون امروز نیاز به تمرکز هست...
که باید ازکجاآغازکنم وکدام تخصص آینده بهتری دارد.
طراحی شبکه یک شغل است، امنیت شبکه یک شغل است!! برنامه نویسی شغل دیگیری... انالیز شغل دیگری و خلاصه دو هزار تا شغل هست تو این زمینه... باید ببینید در کدوم میخواید کار بکنین... سن و سالتون به چه شکله! :)...
بیشتر میخواید گرافیک باشید یا برنامه نویس یا انالیزور یا چی؟؟؟
درحالی که من حتی ازحل الگوریتم محاسبه ی دترمینان ماتریس N*Nعاجزم ولی این همه هدف بزرگ دارم.گاهی مایوس می شوم و احساس می کنم درحال درجازدن هستم.
بذارید یه چیز رو بهتون بگم...
به عنوان یه کسی که 4-5 ساله کامپیوتر کار میکنم و برنامه نویسی میکنم و پول در میارم از این راه، از ریاضی همونقدر بلدم که تاریخ هزاره ی دوم تا سوم چین و حکام محلیش رو میشناسم! :))))) ریاضی کامپیوتر یکی از مزخرف ترین مباحث هست... طرف طراحی الگوریتم و زبان ماشین و اینجور چیزا پس به هیچ عنوان نرید!( کامپایلر و اینا هم همخونواده این درس ها و ریاضی محض هستن!!)...
هدف من این نیست که درهمه این زمینه ها متخصص شوم بلکه می خواهم عمق کامپیوتر رادرک کنم وروندتوسعه ی آن را به طور عملی ببینم/ودریک زمینه ازاین دنیای بی کران متخصص باشم وبتوانم برای پیشرفت این تکنولوژی تلاش کنم و ایده های جدید ارایه دهم.
کلاس های درس سیستم عامل و زبان ماشین دانشگاهتون رو شرکت بکنین(همینجوری برین سر کلاس بشینین!!) موقع درس دادن استاد اونقد همه مخشون امپر میچسبونه که اسمشون هم یادشون نیست! چه برسه به اینکه بپرسن شما کی هستی سر کلاس ما!!...
اینجوری مباحث پایه ای و زیر ساختی رو یاد میگیرید....
میتونید دروس طراحی الگوریتم و مدار منطقی رو هم بردارید که باز مرتبط هستن با نحوه ی کار سیستم عامل و سخت افزار در پایه و زیر لایه های سیستم عامل ها...
برای تخصص در یک رشته هم باید هدف رو مشخص بکنین؟
برنامه نویس وب یا PC ؟ کدوم سیستم عامل؟ ویندوز یا لینوکس یا مک؟ متن باز یا بسته؟!! موبایل یا کامپیوتر و غیره و بعدش برید سراغ یادگیری زبان ها...
نمی خواهم که پاسخ سوالات مرا بدهید فقط این که می خواهم مسیر رابرایم مشخص کنید وراه ماهی گیری رابه من بیاموزید.این که چطور از سردرگمی رها شوم و برای رسیدن به تخصص دراین زمینه ها حرکت کنم.وساختار بقیه تکنولوژی های کامپیوتری را درک کنم.وروند توسعه کامپیوتر رابه صورت عمیق مطالعه کنم.
هدف رو مشخص بکنین....
من میخواهم متخصص شوم و همه ی امور را بدانم و برای وب و موبایل و کارخونهی ایران خودرو و ناسا برنامه نویسی بکنم و راه حل ارائه بکنم، نیاز به حداقل 250-300 سال تحصیل دارد! :)...
نه اینکه شدنی نباشه! شدنی هست! ولی اونقدر پخش هست که تو هیچ کدوم متخصص نباشید....
پس هدف واقعی رو مشخص بکنین و برید جلو و واقع نگر باشید باتوجه به بازار کار ایران (اکثر برنامه نویس وب و جدیدا موبایل کمی روی بورس هستن که برنامه نویس وب، بهترین اینده رو داره!)...
وسوال دیگراین که آیا متخصص واقعی کامپیوتر در تمامی زمینه ها دارای تجارب است برای مثال بازی کامپیوتری میسازد/برنامه های موبایل راتوسعه میدهد/امنیت سایت ها را ایجاد می کند.
درگذشته بله!! 50 سال پیش، یه تیم دو نفره یا 4 نفره یه کامپیوتر رو درست میکردن!!
ولی امروز، یک تیم چندصد نفره یک سیستم بزرگ رو انالیز میکنه، یک تیم چند صد نفره دیگه اون رو درست میکنه، یک تیم چندصد نفره دیگه تستش میکنه و یه عده دیگه اون رو مدیریت میکنه....
سایت! هایی مثل گوگل و فیس بوک و یاهو و غیره، هزاران کارمند برنامه نویس دارن که کارشون همین چیزاس...
توی ایران تا حدودی مسئله فرق میکنه و شما باید مثلا یه سایت بنویسید که هم زیبا باشه هم امن باشه هم کار بکنه و پول فقط نصف یکی از اینها رو بگیرید!!( مگر اینکه تو شرکت های معتبر و به روز کار بکنین!)...
ولی معمولا، امنیت شبکه ها یه کار دیگس، نگهداری(امنیت نرم افزار ها) کار یکی دیگه و ایجاد نرم افزار ها کار یکی دیگه...(توی ایران)
وبا هر اصطاحی که درهر زمینه وجود داردآشنایی دارد؟ یا این که فقط یک زمینه را به صورت تخصصی انتخاب می کند وبه صورت عالی آن راادامه می دهد. /چون برخی دانشجویان ترم آخرکامیوتراین نظر را دارند که برای موفقیت باید درهرزمینه ای مجرب بود ولی افراد باتجربه این کاررا رد می کنند و عقیده دارند که باید فقط دریک زمینه فردی بسیار بسیارکارآزموده وحرفه ای بود بالاخره کدام راه صحیح است؟
ببیندی، بستگی به خود شخص دارد...
افرادی هستن که ویندوز نمیتونن نصب بکنن، ولی ماهی 2-3 ملیون پول در میارن از برنامه نویسی!!!
افرادی هم هستن که از شیر مرغ تا جون ادمی زاد بلدن ولی کاری ندارن! :)....
بحث کار بلد بودن با کار گیر اوردن کاملا جداست...
عموم کار اینه که شما باید تقریبا یه سری چیزای کلی رو بدونین!! مثلا به عنوان یه کسی که برنامه نویس کامپیوتره، باید بدونین که مثلا PHP برای چی استفاده میشه و C# برای چی و چه میدونم، دیتابیس چیه و شبکه چطوری کار میکنه و اینا.... ولی نیاز نیست لزوما بلد باشید یه سری کامپیوتر رو شبکه بکنین!!!
داشتن دانش در حدی که بتونین سوالات رو سرچ بکنین و جوابشون رو پیدا بکنین، کافیه!
مثلا اگر یکی ازتون پرسید بهترین نرم افزار سه بعدی ساز برای طراحی داخلی ساختمون چیه؟! شما دم دستتون باشه که من تخصصی کار نکردم ولی 3dmax و مایا و زدبراش و فلان و فلان هستن که ازشون استفاده میشه... شما باید ببینی کدومش به کارت میاد! :)...
ممنون از این که حوصله کردید و متن را مطالعه کردید/ پاسخ های ارزشمند شما برای من سرنوشت سازخواهد بود متشکرم
من مهندس حرفه ای کامپیوتر نیستم! :)... ولی خوب ...
خواهش میشه... امیدوارم که پاسخ سوالاتتون رو گرفته باشید! :)
Alireza9112
24-06-2014, 08:21
درود به شما به خاطر راهنمایی ارزشمند/ببخشید که نتونستم تشکر کنم جون دسترسی به اینترنت نداشتم/ی
می خواستم بدونم که تو سن 20سالگی برا یادگیری برنامه سازی دیره؟
چون من اکثر افراد موفق تو زمینه کامپیوتررو می بینم که از سن 14 سالگی شروع کردن/
به نظرتون من که علاقه بسیاری دارم به این کار ولی احساس می کنم که دیگه فرصت هارو ازدست دادم می تونم اساسی شروع به این کار /هدفم برنامه نویسی بازی برای موبایله/
لطفا راهنمایی کنید/
درود به شم به خاطر راهنمایی ارزشمند/ببخشید که نتونستم تشکر کنم جون دسترسی به اینترنت نداشتم/ی
خواهش میشه....
می خواستم بدونم که تو سن 20سالگی را یادگیری برنامه سازی دیره؟
خیلی از کسانی که از این سن میان رشتهی کامپیوتر و تازه شروع میکنن موفق میشن.... خیر به هیچ عنوان دیر نیست! :)
چون من اکثر افراد موفق تو زمینه کامپیوتررو می بینم که از سن 14 سالگی شروع کردن/
من خودم یکی از اونام که از 11 سالگی با کامیپوتر کار میکردم و تو همون 15 سالگی در خصوص زبان پایتون اموزش برنامه نویسی به فارسی ترجمه کردم و قرار دادم که همینجا هم هست! :).... ولی خیر ربطی به سن نداره... اتفاقا توی این سن اگر طرف به دنبال کار و از لحاظ اقتصادی به کامپیوتر نگاه کنه، سریعا میره و حرفهای یاد میگیره و کار میکنه و سریعا به پول در اوردن میرسه! :)....
به نظرتون من که علاقه بسیاری دارم به این کار ولی احساس می کنم که دیگه فرصت هارو ازدست دادم/هدفم برنامه نویسی بازی برای موبایله/
خیر اینجوری نیست... توی کامپیوتر و مباحث مرتبط اصلا سن مهم نیست و بهش توجه نداشته باشین....
یه پلتفرم مشخص رو انتخاب کنید( مثلا اندروید) و بعد برید براش برنامه نویسی و غیره رو یاد بگیرید... اگر درست و منظم کار کنین، 2 ماه دیگه شما جاوا بلدید و برنامه های سادهی اندرویدی مینویسد و 5 ماه دیگه من و سایر دوستان در خصوص اولین بازی ساخته شده توسط شما نظر میدیم! :))))
Alireza9112
25-06-2014, 10:45
دست شما درد نکنه که مفصل پاسخ دادید/ اگه ممکنه میشه یک سری وب سایت براآموزش برنامه نویسی بهم معرفی کنید/
که قم به قدم آموزش بده/از مقدماتی تا سطح پیشرفته
راستی میشه فیلم های کلاس های دانشگاه های برتر دنیا رو گیرآورد
ممنون از جواب
راستی میشه فیلم های کلاس های دانشگاه های برتر دنیا رو گیرآورد
بهترین سایت، همون یوتوب هستش و بله!کلاس های دانشگاه هایی مثل هاروارد هست ولی زیاد پیشنهاد نمیشه! :)....(چون اونا کارگاه دارن.... مثلا کارگاه CS50 که یه کلاس کامله برای یادگیری چند تا درس کنار هم...)
و اینا ممکنه وقتتون رو تلف بکنه!!!
توی یوتوب، بیشتر به دنبال پلی لیست هایی باشید که کامل اموزش میدن مثلا ۸۰ تا ویدو ۱۰-۱۵ دقیقهای داشته باشه....
من برا اندروید و کلا گوشی نگشتم! و بیشتر واسه PHP,HTML/CSS,C# دارم....
Alireza9112
02-07-2014, 10:44
سلام می خواستم بدونم که آیا مث شبکه تو زمینه برنامه نویسی هم مدارک بین المللی داریم/آیا وجود این مدارک می تونه عدم وجود مدرک آکادمیک روپوشش بده؟
راستش من رشته دانشگاهیم غیرمرتبط باکامپیوتره ولی به دلیل علاقه وامنیت شغلی می خواستم هردورو ادامه بدم/
هدفم مهجرت ازایرانه به منطقه یورو /می خواستم بدونم برای اپلای کردن فقط برای کاریابی تو زمینه برنامه نویسی آیا مدرک کارشناسی(bachelor degree)دانشگاهی خیلی مهمه ویا این که فقط کسب مدارک بین المللی کافیه؟
اگه ممکنه پاسخ بدید چون برام سرنوشت سازه/
فقط دوروز زمان دارم که تا تغییررشته تصمیم بگیرم/
ممنونم
Alireza9112
03-07-2014, 21:43
می خواستم به نرم افزار تغییر رشته بدم/یه خورده تحقیق کردم/
اگه ممکنه جندتا سوال دارم که اگه وقتشودارید لطفا به من پاسخ بدید/
البته منو به خاطراین سوالات بسیار ابتدایی و تکراری ببخشید/متاسفانه ذهنم رو حسابی درگیرکرده وزمان بسیار کمی تا تغییر رشته زمان دارم//
می خواستم بدونم که شما تو زمینه انجام پروژه های بزرگ نرم افزاری کارکردید منظورم جنبه اقتصادی کاره؟
آیا کار توزمینه توسعه نرم افزار بسیارپراسترس وزمان بره ؟ چون من جایی خوندم که رقابت بسیارشدیدی تواین زمینه وجود داره وزندگی برای یه توسعه دهنده همیشه مث شب قبل کنکوره ونرم افزاری ها حسابی تحت فشارروحی اند/
من مشکلی که دارم عدم وجود هدفی مشخص ومسیری درست برای کسب دانش درزمینه نرم افزاره/یعنی یک علم مهارت کلی نسبت به کلیه مباحث وبعد تخصصی عملی دریک زمینه مشخص/
ولی مطالعاتی که انجام میدم کاملا تيوری ونامشخصه/دقیقا مث این که بخوام متخصص تعمیر موتوراتومبیل بشم و بجای این که ساختاروطرزکار موتور رو متوجه بشم فقط دارم بازوبسته کردن پیچ ومهره رویادمی گیرم ووقتم داره تلف میشه و نمی تونم متوجه بشم که ازاین زبان برنامه نویسی چطوری استفاده کنم تا باهاش یه دفترچه تلفن یابازی ساده برای اندروید بنویسم/
آیا آموزش های عملی وجودداره که این هارو توضیح بده یعنی درغالب پروژه ای نوشتن یک بازی یانرم افزاری اداری رو آموزش بده ومن بتونم بابسط اون ها چیزهای جدیدتری خلق کنم ویاقابلیت هاش روافزایش بدم/
حالا اموزش این ها امری زمان برو مشکله /
راستش رو بخواین هدفم مهاجرت به منطقه ی یورو وآمریکای شمالیه وقصد دارم توزمینه هایIT فعالیت کنم/
سایت های کاریابی رو میدیدم که تو زمینه برنامه نویسی مدرک لیسانس(bachelor degree) رو می خواستن/
رفتن به دنبال یه کا ر به ظاهر آسون وبی دغدغه ویا رفتن به سمت حل مسایل و کنجکاوی های مربوط به مسایل کامپیوتری وIT/ دروس دانشگاهی روهم که بررسی می کنم ویک سری دروس پایه ای اند که درعمل کاربرد خاصی ندارن//
البته بقیه دوستانم که دانشجوی کامپیوترهستن هم این مشکل وابهام رو دارن/
خواهش می کنم اگه ممکنه منوراهنمایی کنید واگه وقتشو دارید کمی بهم توضیح بدید درمورد سوالاتی داشتم/ یکی همین بحث اپلای برای کار(بدون مدرک مرتبط باکامپیوتر)
ودیگری نحوه ی مطالعه وتحقیق برای درک وشناخت نرم افزارهای مختلف وروندحرکت برای کسب توانمندی های لازم برای کار توحوزه ی ITوتوسعه ی ندم افزار
من تا یکشنبه وقت دارم که تغییر رشته بدم ممنون ازاین که بهم کمک می کنید//
سلام می خواستم بدونم که آیا مث شبکه تو زمینه برنامه نویسی هم مدارک بین المللی داریم/آیا وجود این مدارک می تونه عدم وجود مدرک آکادمیک روپوشش بده؟
والا تا الان چیزی به گوشم نخورده و من یکی که اطلاعی ندارم در این خصوص! :)
می خواستم بدونم که شما تو زمینه انجام پروژه های بزرگ نرم افزاری کارکردید منظورم جنبه اقتصادی کاره؟
تا حدودی بله تا حدودی خیر....
آیا کار توزمینه توسعه نرم افزار بسیارپراسترس وزمان بره ؟ چون من جایی خوندم که رقابت بسیارشدیدی تواین زمینه وجود داره وزندگی برای یه توسعه دهنده همیشه مث شب قبل کنکوره ونرم افزاری ها حسابی تحت فشارروحی اند/
بله تقریبا.... رقابت بین شرکت ها و گروه ها خیلی زیاده ولی خوب، شرکت ها و افرادی که کاملا شناخته شده هستن و یا اشنا دارن، واسه خودشون کار میگیرن و مشکلی ندارن بقیه باید کلی بدون واسه یه خورده کار! :)
من مشکلی که دارم عدم وجود هدفی مشخص ومسیری درست برای کسب دانش درزمینه نرم افزاره/یعنی یک علم مهارت کلی نسبت به کلیه مباحث وبعد تخصصی عملی دریک زمینه مشخص/
بله متاسفانه نرم افزار صنعتش همین بزرگترین مشکلشه! :)...
باید توجه داشته باشید که بدجوری ادم رو گول میزنه و ممکنه خیلی راحت مسیر رو گم بکنید.....
من خیلی ساده دارم برنامه نویسی کار میکنم، ولی از پایتون، ویژوال بیسیک، بعدش سیپلاس و بعدش سیشارپ و بعدش دوباره پایتون و بعدش جاوا و ..... همینجوری از این شاخه به اون شاخه پریدم و تو هیچکدوم کاملا حرفهای نشدم که بخوام حسابی پول در بیارم و صرفا به صورت مدت دار با برخی دوستان و یا افراد کار کردم.... :(
الان هم به شدت پشیمون و اگر برگردم عقب، الان مسیر دقیق خودم رو میدونم که باید چیکار میکردم!!!!همچنین طرح هایی که چند سال پیش داشتم رو حتمی اجرا میکردم( در همون زمان!) قطعا الان برنامهای که من میخواستم 4 سال پیش بنویسم واسه ایفون و اندروید، الان جای واتس اپ و وایبر، چه بسا برنامهی من روی سیستم های ملت بودش! :)....
ولی مطالعاتی که انجام میدم کاملا تيوری ونامشخصه/دقیقا مث این که بخوام متخصص تعمیر موتوراتومبیل بشم و بجای این که ساختاروطرزکار موتور رو متوجه بشم فقط دارم بازوبسته کردن پیچ ومهره رویادمی گیرم ووقتم داره تلف میشه و نمی تونم متوجه بشم که ازاین زبان برنامه نویسی چطوری استفاده کنم تا باهاش یه دفترچه تلفن یابازی ساده برای اندروید بنویسم/
این شاید دومین اشتباه اکثر کسانی هستش که میخوان برنامه نویسی یاد بگیرن! و اون هم تئوری کار کردنه.....
به هیچ عنوان اینجوری کار نکنید.... بایادگیری هر مبحثی، سریعا از اون توی کدهاتون استفاده کنید..... بهترین راه یاد گرفتن برنامه نویسی کار عملی هستش و بس.... برا خودتون یه مثلا نوت پد بنویسید! و همینجوری بهش امکانات اضافه بکنید.... با یادگرفتن چیزای جدید، کیفیت برنامه رو بالاتر ببرید.... سعی کنید چند تا برنامهی کوچیک و بزرگ مثل همین بسازید.... مثلا دفترچه تلفن، نوت پد، تاکسی تلفنی و کتاب خونه و بعدش کم کم پیشرفته تر و پیشرفته تر کنید تا به سطح مناسبی برسید....
آیا آموزش های عملی وجودداره که این هارو توضیح بده یعنی درغالب پروژه ای نوشتن یک بازی یانرم افزاری اداری رو آموزش بده ومن بتونم بابسط اون ها چیزهای جدیدتری خلق کنم ویاقابلیت هاش روافزایش بدم/
خودتون برای خودتون پروژه تعریف کنید و بسازید....
البته بقیه دوستانم که دانشجوی کامپیوترهستن هم این مشکل وابهام رو دارن/
دانشگاه اخرین جایی هستش که یه نفر بخواد توش برنامه نویسی یاد بگیره! و کتاب های جعفر نژاد و مقسمی از اون بدتر! :))))
برای یادگیری برنامه نویسی، باید از منابع مناسب انگلیسی زبان استفاده کنید و برید جلو... برای کار در بیرون از ایران، جاوا یکی از بهترین گزینه ها هستش و پول خوبی در میاره!! ولی این یه چیز عمومی هستش... و در کل، بهتره که شما اول همونطور که همیشه به افراد مخلتف پیشنهاد میشه، برید و هدف رو مشخص بکنید که میخواید چی بشید....
چون حتی توی شرکت های درست حسابی توی ایران هم، الان دیگه کسی نمیگه برنامه نویس میخوایم!! همه میگن برنامه نویس فلان، اشنا به تکنولوژی های فلان رو میخوایم و واقعا کار میکنن... بنابراین سعی کنید یه مسیر رو انتخاب کبنید و همون رو با تمرکز روی پروژه های متعدد، به جلو برید... که هم رزومه بشه براتون، و هم کار عملی بلد باشید...
خواهش می کنم اگه ممکنه منوراهنمایی کنید واگه وقتشو دارید کمی بهم توضیح بدید درمورد سوالاتی داشتم/ یکی همین بحث اپلای برای کار(بدون مدرک مرتبط باکامپیوتر)
ودیگری نحوه ی مطالعه وتحقیق برای درک وشناخت نرم افزارهای مختلف وروندحرکت برای کسب توانمندی های لازم برای کار توحوزه ی ITوتوسعه ی ندم افزار
من اشنایی بخصوصی با این موارد ندارم... یعنی نمیدونم بیرون از ایران الان دقیقا چه چیزی روی بورسه! :).... ولی چیزی که مشخصه اینه که هر چیزی که بلد باشید و حرفهای باشید، خیلی راحت میتونید توش به فعالیت بپردازید....
برای اصل مسئلهی استخدام که نمونه سوالات استخدامی کشورهای غربی توی اینترنت ریخته که خفن ترین سطحش برا گوگل و فیس بوکه...که جفتشون تا حدودی تمرکزشون روی پایتون و پیاچپی هستش....
برخی شرکت های دیگه که کم هم نیستن و غول های نرمافزاری هم هستن، روی سیستم های ماکروسافتی کار میکنن که یعنی سی پلاس و سی شارپ دات نت و بیشتر همون سی پلاس! :)....
و همچنین تکنولوژی های مرتبط در این حوزه که wcf و wpf و mvvm که تقریبا یکی هستن و تفاوت های کمی دارن و مثلا mvvm معماری هستش و wpf سبک جدید کد نویسی و طراحی رابط کاربری و wcf وب سرویس ها که الان تقریبا همه چیز بر اساس وب سرویس ها هستش مخصوصا خیلی از اپ های موبایلی و شبکه های اجتماعی....
ابجکتیو سی برای اپل خیلی با ارزشه! و کلا جاوا برای برنامه نویسی موبایل و برنامه نویسی تجاری و صنعتی مورد توجه هستش....
بنابراین، شما هر زبان برنامه نویسیی که انتخاب بکنی، با توجه به توانایی هاتون میرید جلو و براتون کار پیدا میشه و اینجوری نمیشه که شما اول زبان انتخاب کنی!! اول باید ببینی کجاها توان کار داری و مستقیم بگم! مغزت میکشه....
برنامه نویسی یه چیز به شدت منطقی و قانون محوره... بنابراین باید از نظر ذهنی این مورد رو در نظر داشته باشید که از پس این مسئله بتونید بر بیاید و کلا گیر نکنید....
------------------
موقع اموزش برنامه نویسی، یه مشت سینتکس بهتون میدن که در بدترین حالت، تو 1 هفته یادشون میگیرید و اگر دید کلی داشته باشید، میتونید مثلا توی 24 ساعت یه زبون جدید رو در سطح سینتکسش یاد بگیرید....
بعدش ساختن برنامه و این صحبت ها، میشه هنر و منطق و توانایی های ذهنی شما در استفاده از اون سینتکس ها برای تولید برنامه ها....
مثل گرافیک که یه دید کلی بهتون میدن که این پالت ها و ابزار ها چیکار میکنن و این دید و سلیقه و توانایی های هنری خودتونه که کار میکشه....
اگر نتونید این کار رو بکنید، واقعا گیر میکنید و واقعا یاد نمیگیرید و پیشرفت نمیکنید...
شاید باورتون نشه! ولی بارها و بارها پیش اومده که ادمهایی رو دیدم که وقتی یه ماشین حساب مینویسن، میان x,y برا عدد اول و دوم به کار میبرن و اگر این x,y رو عوض کنی، بهت میگن الان برنامه خطا میده!!!!
یا من اسمبلی هیچی بارم نیست!!!! این ترم یکی از دوستان یه روبات کد نویسی کرده بود و اومد سر کلاس قسمتی از کدهای شبیه سازش رو نوشت....
اونجا یه سری دستور نوشته بود که left ,right و .... بودن و جهت روبات رو عوض میکردن....
من بهش گفتم سیستم از کجا میدونه left یعنی چپ؟ یکی از بچه ها برگشت گفت left به انگلیسی یعنی چپ! و خود اون شخص هم گفت اون بالا متغییر رو تعریف کردم براش! :)))
برنامه اش کار میکرد، ولی من همش گیر دادم که کجا تعیین کرد که left یعنی روبات به چپ بچرخه و تعجب میکردم که خود اقای برنامه نویس و چند تای دیگه از بچه ها میگفتن خوب لفت یعنی چپ! یا اون بالا متغییره رو تعریف کردیم!! تا استاد گفت اقای فلانی، ایشون کد رو خودش ننوشته و فقط این قسمت رو اورده به ما نشون بده! و این مسئله، با استفاده از ماکرو یا همون کلاس ها صورت گرفته....
یعنی توی یه کلاس 30-40 نفره، فقط 3-4 نفر بودیم که میدونستیم یه متغییر به خودی خود کاری نمیکنه و بقیه، همه این چیزا رو بلد بودن! ولی در حد حفظ کردن.... اگر left رو عوض کنی دیگه کارشون تموم میشه...
شما نباید اینجوری باشی و کسی میتونه توی برنامه نویسی موفق بشه که منطقش رو بفهمه! :))))
دوستان من به مهندسی کامپیوتر گرایش نرم افزار خیلی علاقه دارم پایه ریاضیم هم قویه و می تونم حتی بهترش هم بکنم اما برنامه نویسی رو در حد دبیرستان بلدم .آیا حتما باید قبل از ورود به این رشته برنامه نویسی در سطح ++c رو بلد باشم یا تو دانشگاه میتونم یاد بگیرم؟
دوستان من به مهندسی کامپیوتر گرایش نرم افزار خیلی علاقه دارم پایه ریاضیم هم قویه و می تونم حتی بهترش هم بکنم اما برنامه نویسی رو در حد دبیرستان بلدم .آیا حتما باید قبل از ورود به این رشته برنامه نویسی در سطح ++c رو بلد باشم یا تو دانشگاه میتونم یاد بگیرم؟
تو دانشگاه استاد با این فرض درس میده که شما صفر صفر هستید ، پس مشکلی ندارین.
البته اونایی که از قبل بلد هستن یک قدم جلوتر از بقیه هستن.
اینم در نظر بگیرین که توی درس مبانی کامپیوتر و برنامه سازی که ترم 1 دارین رو خیلی خوب کار کنی و تکالیفش رو کامل حل کنی.
من خودم هیچی بلد نبودم ولی تو این درس C و ++C خیلی قوی شدم و نفر سوم شدم تو این درس ;-)
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.