PDA

View Full Version : سوال: زمان لازم برای یادگیری هر سه خانواده C (روزی چارساعت)



makhdoosh
چهارشنبه 06 مرداد 1389, 04:59 صبح
من دارم C رو یاد می گیرم (با کتاب). لطفا کسی که با زبانهای:
C
++C
C#‎

آشنایی داره. به لیست زیر جواب کوتاه بده. با توجه به اینکه مطالعه روزانه رو چهار ساعت فرض کنیم. چند روز طول می کشه:
C رو در سطح: آشنایی کلی=؟ آشنایی کامل=؟
++C رو در سطح : آشنایی کلی=؟ آشنایی کامل=؟
C#‎ رو در سطح: آشنایی کلی=؟ آشنایی کامل=؟
البته توجه کنید که چهار ساعت فقط مثلا ابتدا برای C هست نه هر سه.

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

...StacK...
چهارشنبه 06 مرداد 1389, 09:36 صبح
سلام.

اشنایی کلی 1 ماه(روزانه 4 ساعت)

اشنایی کامل 3 تا 5 سال (روزانه 4 ساعت)

البته مطالبی که گفتم برای یادگیری 1 زبان بود .

هر دو رو نمیشه به طور حرفه ای بهش مسلط شد.‎

arian_vc
چهارشنبه 06 مرداد 1389, 11:55 صبح
یاد گرفتن اینها نسبیه یعنی نمیشه تسلط را با یک عدد اندازه گرفت
فقط به ساعت کار کردن هم بستگی نداره ، به علاقه/حوصله/... هم بستگی داره ، هر سه تاشو هم لازم نیست یاد بگیرید CPP بخونید C هم یاد میگیرید با C# هم کمابیش آشنا میشید (در واقع این راه و روش اصولی هست)
اگر احساس کردید به حدی از تسلط رسیدید ، مسائل مسابقات برنامه نویسی رو حل کنید

khafan_bat
چهارشنبه 06 مرداد 1389, 12:37 عصر
اول ++C یادبگیر . فوق العاده ترین زبان هست. از طرفی چون میخوای یک زبان برنامه نویسی رو به صورت کاربردی و اینطور که معلومه سریع یاد بگیری وقتت رو روی حل یکسری الگوریتم هایی که به شناخت زبان کمک نمی کنند و بیشتر رو حل مسئله تمرکز دارند تلف نکن و سعی کن با تمرین هایی که در کتاب های معروفی مثل دیتل اند دیتل یا کتاب های جعفر نژاد هست پی به نکات مطرح شده ببری . الته به نظر من زبان رو نمیشه روی وایت بورد یا روی کاغذ یاد گرفت . کامپایلر رو باز کن کد بنویس !! یه چیز یادت باشه . . . منبع خیلی مهمه . سعی کن به برنامه نویس دات او آر جی به عنوان یک منبع عالی نگاه کنی . این رو من بهش ایمان آوردم .

آشنایی کلی با C++‎ = یک ماه

رسیدن به مرحله ی مبتدی = 3 ماه

حرفه ای = n سال !!

Salar Ashgi
چهارشنبه 06 مرداد 1389, 13:19 عصر
دوست عزیز ، به پیشنهاد من اگه آدم یه زبون رو تا تهش بره ، خیلی بهتره تا اینکه 3 تا زبون رو تو وسط ول کنه و

نصف و نیمه یاد بگیره ؛ حتی اگه اون زبون یاد گرفته شده ، اسمبلی باشه .

makhdoosh
چهارشنبه 06 مرداد 1389, 15:31 عصر
دوست عزیز ، به پیشنهاد من اگه آدم یه زبون رو تا تهش بره ، خیلی بهتره تا اینکه 3 تا زبون رو تو وسط ول کنه و

نصف و نیمه یاد بگیره ؛ حتی اگه اون زبون یاد گرفته شده ، اسمبلی باشه .


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



اول ++C یادبگیر . فوق العاده ترین زبان هست

اونوقت آیا میتونم با این زبان ++C سورس های مثلا لینوکس رو درک کنم؟ میدونید که اکثر برنامه های سیستمی با زبان C نوشته می شن و من می خوام توانایی خوندن سورس های اینطور نرم افزار های سیستمی رو داشته باشم.
بنده یکی از رفیقام ++C بلد بود ولی وقتی یه سورس C جلوش گذاشتن اعتراف می کرد که سر در نمیاره.

hi.alir
چهارشنبه 06 مرداد 1389, 15:44 عصر
اونوقت آیا میتونم با این زبان ++C سورس های مثلا لینوکس رو درک کنم؟ میدونید که اکثر برنامه های سیستمی با زبان C نوشته می شن و من می خوام توانایی خوندن سورس های اینطور نرم افزار های سیستمی رو داشته باشم.
بنده یکی از رفیقام ++C بلد بود ولی وقتی یه سورس C جلوش گذاشتن اعتراف می کرد که سر در نمیاره.
:قهقهه:
++C همون C هست. فقط یه چند تا چیز میز هم بیشتر داره که باید یاد بگیری. نتیجه ++C سخت تر از C :لبخند:
نگرون نباش. می فهمی. البته خود زبان تو تقریبا 1 سال میشه یاد گرفت. ولی همینطور حرفه ای تر و حرفه تر میشی. در واقع تکنیک یاد میگیری. چند تا باگ که کد های قبلی داشتن کد های الانت ندارن. و این جور چیزا.
بستگی به مقدار حرفه ای بودن هست که کد های پیچیده رو درک کنی، نه بلد بودن زبان.

makhdoosh
چهارشنبه 06 مرداد 1389, 16:21 عصر
++C همون C هست. فقط یه چند تا چیز میز هم بیشتر داره که باید یاد بگیری. نتیجه ++C سخت تر از C

گفتم که رفیقم اینو گفت. این دوستم یکی از بانیان اولیه ی گروه آشیانه هم بود.

درست هست شبیه به هم هستن ولی دلیل نمیشه هر کی ++C بلد باشه کاملا با C آشنا باشه.
ولی به نظر من ++C باید راحت تر باشه. چون هر چی زبان سطح بالا تر میشه برنامه نویسی راحت تر میشه و دست آدم بسته تر میشه!
البته میدونم کسی که ++C بلد هست از کدهای C میتونه یه چیزایی بفهمه ولی نه کامل.

makhdoosh
چهارشنبه 06 مرداد 1389, 16:27 عصر
بستگی به مقدار حرفه ای بودن هست که کد های پیچیده رو درک کنی، نه بلد بودن زبان

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

Negative_Se7en
چهارشنبه 06 مرداد 1389, 16:40 عصر
درست هست شبیه به هم هستن ولی دلیل نمیشه هر کی ++C بلد باشه کاملا با C آشنا باشه.دوست عزیز اشتباه فکر نکن !
شما وقتی ++C رو کاملا بلدی ، یعنی C رو بلدی.
++C یعنی C + یکسری Feature های جدید ، مثل کلاس ها و Inheritance و ....
درواقع این نام از خود زبان C اومده.
اگر شما C رو یک متغیر فرض کنید ، و وقتی عملگر Postfix ++ رو بر روی متغییر C اعمال کنید یک واحد به این متغییر اضافه میشه.و نام ++C هم از این قانون استفاده میکنه.


ولی به نظر من ++C باید راحت تر باشه. از لحاظ یادگیری سخت تره ، ولی به خاطر امکانات جدیدش مثل کلاس ها و Polymohrphism و Inheritance و Template ها و .... باعث میشه تا برنامه زیباتر و راحت تر پیاده سازی بشه.


البته میدونم کسی که ++C بلد هست از کدهای C میتونه یه چیزایی بفهمه ولی نه کامل. کسی که ++C بلد هست ، کاملا از کدهای C سر در میاره.
ولی کسی که فقط C بلد هست از کدهای ++C نمیتونه کاملا سر در بیاره.


زمان لازم برای یادگیری هر سه خانواده C (روزی چارساعت)شما هدفت از یادگرفتن C یا ++C یا C#‎‎‎ چیه ؟
چون شما نمیتونی هم توی C#‎‎‎ خیلی حرفه ای بشی و هم توی ++C .
باید یک رو اتخاب کنی.

PC2st
چهارشنبه 06 مرداد 1389, 16:49 عصر
بنده یکی از رفیقام ++C بلد بود ولی وقتی یه سورس C جلوش گذاشتن اعتراف می کرد که سر در نمیاره. روش برنامه‌نویسی C باعث شده این دوست شما با اینکه ++C بلد بوده، نتواند از کدهای نوشته شده در C سر در بیاورد. شما با یادگیری ++C، یاد می‌گیرید که چطور مسائل را توسط آن حل کنید ولی برای همین مسئله، زبان C راه حل متفاوتی ممکن است ارائه دهد. به عبارت دیگر، شما در ++C هم می‌توانید به سبک خودش برنامه بنویسید هم تاحدود زیادی می‌توانید Cگونه برنامه بنویسید. همیشه هم پیشنهاد و توصیه شده که در ++C به روش خودش برنامه بنویسید ولی روش‌های نوشتن همان برنامه در C را هم یاد بگیرید.

C#‎‎‎ هیچ ارتباط خاصی با C و ++C ندارد. رابطهٔ C#‎‎‎ با آنها، همانند رابطهٔ جاوا و پایتون با آنهاست.
++C مفاهیم جدید و قدرتمندی را ارائه کرده است، حتی در استاندارد جدید ++C موسوم به C++‎‎‎0x قابلیت move semantic هم اضافه شده، این قابلیت را هیچ زبان دیگری برای برنامه‌نویس به ارمغان نمی‌آورد (و البته نمی‌تواند به ارمغان بیاورد). یا همین templateها که بسیار زیاد در ++C کاربرد دارند، یکی از مهمترین وظایفش برنامه‌نویسی generic است اما توسط templateها می‌توان علاوه بر برنامه‌نویسی generic، از روش‌های دیگر برنامه‌نویسی هم سود برد. بطوریکه می‌توان به جای استفاده از توابع مجازی از templateها برای رفع این نیاز استفاده کرد (توابع مجازی مقداری سربار اضافه ایجاد می‌کنند) یا اینکه از شیوه template metaprogramming برای سایر نیازها استفاده کرد و ...

در واقع اینطور به شما بگویم، در زبان ++C شما روش‌های متفاوت برنامه‌نویسی را می‌آموزید (یا تجربه می‌کنید) و از آنها باید بدرستی استفاده کنید، روش‌هایی که سایر زبان‌ها از ارائهٔ آن ناتوان هستند. زبان ++C به شدت با کامپایلر خودش گره خورده و اگر شما می‌خواهید بخوبی بتوانید با این زبان کار کنید باید بدانید که یک کامپایلر طبق استاندارد چطور رفتار می‌کند. در واقع استاندارد زبان ++C مشخص کرده که کامپایلر باید چطور رفتار کند و بعضی موارد نیز تصمیم را بر عهدهٔ خود کامپایلر گذاشته است. از همان ابتدای یادگیری، به فکر تعاریف موجود در استاندارد زبان ++C باشید. متاسفانه این استاندارد و مطالب آن بطور یکپارچه در اختیار نیستند و باید در بین انبوه draftها به دنبا آنها بگردید. پس به جای آن بسیار بهتر است که یک منبع آموزشی که ++C استاندارد را به خوبی توضیح داده را بخوانید. معمولا نمی‌توان منبعی را یافت که همه چیز را از سیر تا پیاز یاد داده باشد، پس بهتر است چند منبع آموزشی را مطالعه کنید.

پیشنهاد من این است که ابتدا زبان C و سپس C#‎‎‎ و در انتها ++C را فرا گیرید. البته اگر فقط بخواهید ++C را فراگیرید نیازی به یادگیری C#‎‎‎ نیست و همیشه به خاطر داشته باشید که C++‎‎‎ is not C (به لحاظ روش‌های ارائه شده توسط این زبان، یعنی ++C توصیه می‌کند که به روش C در آن کد ننویسید؛ همچنین ++C بسیار سعی می‌کند که با C سازگار باشد) برای یادگیری ++C نیاز به یادگیری C هم نیست، ولی اگر آشنایی با C داشته باشید، بهتر می‌توانید راه حل‌های ارائه شده توسط ++C را متوجه شوید و شاید مواقعی لازم شود که تنها در C کد بزنید. به همین خاطر است که اغلب برنامه‌نویس‌های باتجربهٔ ++C با قواعد C آشنا هستند.


آشنایی داره. به لیست زیر جواب کوتاه بده. با توجه به اینکه مطالعه روزانه رو چهار ساعت فرض کنیم. چند روز طول می کشه:

C رو در سطح: آشنایی کلی=؟ آشنایی کامل=؟
++C رو در سطح : آشنایی کلی=؟ آشنایی کامل=؟
C#‎‎‎‎‎ رو در سطح: آشنایی کلی=؟ آشنایی کامل=؟

البته توجه کنید که چهار ساعت فقط مثلا ابتدا برای C هست نه هر سه.زمان خاصی نمی‌توان گفت، قبل از هر چیز هدف شما از یادگیری C#‎‎‎ چیست؟ چرا باید هم آن را یاد بگیرید و هم ++C و C را؟ اگر برنامه‌های شما در همان حیطه‌هایی است که C#‎‎‎ برای آنها راه حل ارائه داده، پس همان زبان برای شما کافی است. توجه کنید که ++C یک زبان همه منظوره حساب می‌شود.

بطور کلی، زمان یادگیری ++C با زمان یادگیری C#‎‎‎ اصلاً قابل مقایسه نیست (در سطح حرفه‌ای یا همان آشنایی کامل البته)... در نظر بگیرید که برای ++C تا ۶ ماه زمان لازم است و برای C#‎‎‎ یک ماه کافی است.

نکتهٔ آخر اینکه، طرز تفکر یک C کار با طرز تفکر یک C#‎‎‎ کار با طرز تفکر یک ++C کار متفاوت است (کم و بیش)، پس وقتی که می‌خواهید یک زبان جدید را یاد بگیرید، سعی کنید طرز تفکر خود را با آن زبان وقف دهید تا دچار سردرگمی نشوید.

PC2st
چهارشنبه 06 مرداد 1389, 17:19 عصر
شما وقتی ++C رو کاملا بلدی ، یعنی C رو بلدی.
++C یعنی C + یکسری Feature های جدید ، مثل کلاس ها و Inheritance و ....
درواقع این نام از خود زبان C اومده.با این نظر موافقم، کسانی که ++C را کامل بلدند و باتجربه هستند، غیر ممکن است به زبان C و روش‌های برنامه‌نویسی در آن سر نزده باشند.

مرتضی پیروزی
چهارشنبه 06 مرداد 1389, 17:43 عصر
شما قابلیت های ذهنی بنده رو در حد عالی فرض کن. با این معیار تخمین بزن!
(لطفا سوال رو کامل نخوندید جواب ندید)
سلام
ببین دوست من؛
یادگیری سه تا زبون اصلا مهم نیست؛ ببین بهتر بگم؛ سی پلاس برای کارهای سیستمی مناسبه، سی شارپ اصلا مناسب نیست ولی مثلا برای وب مناسبه؛ خوب؟؟ حالا اینجا زبان مهم نیست، اینجا توانایی سیستمی کار کردن و تحت وب کارکردن دو زمینه کاری کاملاً متفاوته، وب خودش یک دنیای بزرگی هست که یادگیری سی شارپ در مقابل اون عددی نیست!! شما فرضا به سی پلاس مسلط شو، ولی چون سی پلاس
توی گرافیک توانایی زیادی داره دلیل نمیشه که شما بتونی گرافیک کار کنی! شما زمینه کاری رو مشخص کن
و تو همون زمینه ادامه بده. فکر نکن که اگر به یک زبان مسلط شدی میتونی هر کاری باهاش بکنی!
حرف آخرم، سی پلاس و شی شارپ رو میشه کنار هم یاد گرفت، ولی زمینه های کاری سی شارپ و سی پلاس رو هیچ وقت نمیتونی در کنار هم مسلط بشی. مگر اینکه حیطه کاری رو مشخص کنی و از هر دو اونا در
هون جهت استفاده کنی.
- گربه رو دم حجله کشتم!:لبخند:

بهزاد علی محمدزاده
چهارشنبه 06 مرداد 1389, 18:31 عصر
سلام
من هم دارم ++c یاد می گیرم . به عنوان زبان دوم ( یعنی وی بی ) .

توی هنرستان ها و دانشگاه وی بی درس میدن و زبان بعدی رو ++c آموزش میدن .

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

اما در کنارش وی بی رو هم نمی تونم رها کنم . چون به وی بی نیاز دارم . حداقل برای کارهای ویژوالم و پروژه دانشگاه ( کاردانی ) لازمش دارم .

ولی وی بی رو به دات نت انتقال دادم . و کتاب راهنمای برنامه نویسان ویژوال بیسیک دات نت دیتل & دیتل رو تهیه کردم . مسائل دات نت رو هم دارم دنبال می کنم .

الان دارم از وی بی برای مسائلی که توی سی پلاس پلاس درک نمی کنم کمک می گیرم . مثل کلاس ها . get و set و ...

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

تو دانشگاه خودمون کسی رو سراغ ندارم که مثل من برای رشته اش وقت بذاره و کار بکنه . می دونم بعد از هر سختی راحتی خواهد بود .

صحبت های شما رو هم توی بحث و بحث های مشابه دنبال می کنم . ولی یه مساله برام سواله :

اینکه چطور توصیه میشه که فقط یک زبان رو یاد بگیرید ؟

اگر این برای اول کار توصیه میشه خب درسته .

اما چطور میشه دانشجویان کامپیوتر مهندسان این رشته فقط یه زبون و بلد باشن ؟

مگه ما کار دیگه ایی هم غیر از یادگیری و شناخت زبان ها داریم ؟

یعنی کسی که ++c کار می کنه دیگه نباید از php چیزی بدونه ؟

اینکه میشه یه بعدی . و کسی یه بعدی میشه که یه زبون و برای رفع نیاز می خواد مثل بچه های الکترونیک که مثلا بیسیک می خونن برای برنامه نویسی میکروکنترلر .

ولی ما دانشجوی این رشته هستیم . باید با همه این زبان ها کار بکنیم .

من هیچ وقت تصور نمی کنم که روزی که برنامه نویس بشم . یکی ازم بخواد براش یه وب با asp بنویسم در جوابش بگم شرمنده من فقط ++c بلدم !!!

مرتضی پیروزی
چهارشنبه 06 مرداد 1389, 19:42 عصر
اینکه چطور توصیه میشه که فقط یک زبان رو یاد بگیرید ؟
خیر؛ توصیه میشه یک "حوزه" رو ادامه بدید. چند حوزه رو هم میشه، ولی به تجربه بالا نیاز داره و من به شخصه کسی رو ندیدم که حرفه ای باشه، و چند حوزه رو که مسلط هست رو به صورت موازی یاد گرفته باشه.
معمولاً چندسال روی یک زمینه تمرکز میکنه و بعد از تسلط میره دنبال یک زمینه دیگه.

اما چطور میشه دانشجویان کامپیوتر مهندسان این رشته فقط یه زبون و بلد باشن ؟
10 تا زبون یاد بگیر، ولی اگر تونستی توی همه خبره بشی، حتماً بهم خبر بده تا خودم به شخصه مرید و پیرو شما بشم...........

مگه ما کار دیگه ایی هم غیر از یادگیری و شناخت زبان ها داریم ؟
یک نکته جالب به ذهنم رسید؛ توی سوالاتی که از Bjarne Stroustrup (سازنده سی پلاس پلاس) پرسیده شده، یک از سوالات این بود که چرا صفحه وب شخصی شما اینقدر قدیمی هست و مدرن نیست؟؟
ایشون جواب دادند که من طراح وب نیستم! دقت کردی؟ شخصی مثل ایشون هم اذعان داشتند که من تخصصم چیز دیگریست..............

یعنی کسی که ++c کار می کنه دیگه نباید از php چیزی بدونه ؟

اینکه میشه یه بعدی . و کسی یه بعدی میشه که یه زبون و برای رفع نیاز می خواد مثل بچه های الکترونیک که مثلا بیسیک می خونن برای برنامه نویسی میکروکنترلر .

ولی ما دانشجوی این رشته هستیم . باید با همه این زبان ها کار بکنیم .

من هیچ وقت تصور نمی کنم که روزی که برنامه نویس بشم . یکی ازم بخواد براش یه وب با asp بنویسم در جوابش بگم شرمنده من فقط ++c بلدم !!!
این مطلب رو هم به جواب بالا ارجاع میدم.
موفق باشید

بهزاد علی محمدزاده
چهارشنبه 06 مرداد 1389, 19:52 عصر
روزانه هر زبان چهار ساعت یعنی دوازده ساعت !

مگه می خوای رمان بخونی ؟

میشه روزی دوازده ساعت هم برنامه نویسی کار کرد . اما اون ماله وقتیه که شما برنامه نویسی بلدی و مثلا داری روی یه پروژه کار می کنی . اونوقت چون سمت راست مغز فعال میشه زمان و حس نمی کنی . وقتی به خودت میای که ساعت هاست مشغول کار هستی .

اما برای یادگیری . روزی دوازده ساعت ! اونم سه زبان با هم !

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

اما اینقدر تجربه دارم که می دونم سنگ بزرگ نشانه نزدنه . امیدوارم بزنی اما یکی از مشکلاتی که افراد باهوش و به قول معروف پتانسیل بالا باهاش مواجهه هستن اینه که :

این افراد زیاد گول هوش خودشون و می خورن و در نتیجه احساس تفاوت می کنن نسبت به بقیه و انتظار دارن کاری رو که مردم توی 2 سال انجام میدن اینها تو دو ماه انجام بدن !

و بعد از یه مدت وقتی به اون هدف نمیرسن کار و کاملا رها می کنن !

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

تجربه من بهت قول میده . تو با این آتیش تندت که جدای از اون سه زبان دنبال اسمبلی هم هستی ! اگر تو روند یادگیریت تجدید نظر نکنی .

مطمئن باش یا اینها رو رها می کنی و میری سراغ کار دیگه ! و یا خیلی سطحی با هر کدوم از اینها آشنا میشی و یادگیریت در سطح مقدماتی بالاتر نخواهد رفت !

راه برای تجربه کردن بازه . یا یادگیری اصولی و صبورانه مانند بقیه . و یا ...

بهزاد علی محمدزاده
چهارشنبه 06 مرداد 1389, 19:56 عصر
ممنون جناب پیروزی . استفاده کردم .

من فکر می کنم هر برنامه نویسی یه زبان تخصصی خودش و باید داشته باشه .

اما بقیه زبان ها رو هم میشناسه و ازشون استفاده هم می کنه . شاید به اندازه زبان تخصصیش با اونها کار نکنه .

نویسنده های معروفی مثل دیتل ها . چطوری این همه زبون بلدن ؟

مرتضی پیروزی
چهارشنبه 06 مرداد 1389, 20:04 عصر
ممنون جناب پیروزی . استفاده کردم .

من فکر می کنم هر برنامه نویسی یه زبان تخصصی خودش و باید داشته باشه .

اما بقیه زبان ها رو هم میشناسه و ازشون استفاده هم می کنه . شاید به اندازه زبان تخصصیش با اونها کار نکنه .

نویسنده های معروفی مثل دیتل ها . چطوری این همه زبون بلدن ؟
سلام
عرض کردم که زبان رو میتونی چندتا یاد بگیری. بقیه رو هم میشه آشنا شد، حتی بیشتر از آشنایی، ولی زمان این وسط نقش بسیار مهمی داره.
دیتل ها بحث جدایی دارند. اگر اشتباه نکنم یکیشون +35 سال تجربه برنامه نویسی داره و یکی
+20 سال! کم نیست.......

makhdoosh
پنج شنبه 07 مرداد 1389, 00:14 صبح
شما هدفت از یادگرفتن C یا ++C یا C#‎‎‎‎ چیه ؟
چون شما نمیتونی هم توی C#‎‎‎‎ خیلی حرفه ای بشی و هم توی ++C .
باید یک رو اتخاب کنی.


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

khafan_bat
پنج شنبه 07 مرداد 1389, 00:50 صبح
به جای اینکه سر این مسائل بحث کنی و دنبال جواب اینگونه سوالات باشی شروع کن خوندن . . . خدا شاهده من هر چقدر بیشتر میخونم بی سوادیم بیشتر معلوم میشه . کلا بحث سر سی یا فلان زبان نیست . . . چند لحظه فکر کن این سی پی کامپیوتری که از توش داری تایپ میکنی چطوری داره کار میکنه یا چطور ساختنش !!! :عصبانی++::عصبانی++::عصبانی++:

makhdoosh
پنج شنبه 07 مرداد 1389, 00:58 صبح
روزانه هر زبان چهار ساعت یعنی دوازده ساعت !


واسه همینه میگم سوال رو خوب بخونید.
نه داداش منظورم این بود که اول روزی چار ساعت واسه C بعد از اینکه C تموم شد روزی چار ساعت واسه ++C و بعد از اینکه ++C تموم شد روزی چار ساعت C#‎‎
حالا افتاد.

اگه دقت میکردی میدیدی هیچوقت یه انسان این قدر غیر منطقی نیست که بخواد روزانه دوازده ساعت مطالعه کنه.

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

در ضمن من همین طوریش روزانه حد اقل 19 ساعت به کوپ در حال مطالعه کردن هستم. حتی وقتی میرم WC بدو بدو میرم بدو بدو بر میگردم.
و روزانه 12 ساعت خوندن برای من مثلا آب خوردنه. اونم چیزی که بهش علاقه دارم. و کسی زورم نکرده. قرار نیست فرداش برم امتحان برنامه نویسی بدم. دارم واسه دل خودم میخونم. در واقع من دارم روزی 12 ساعت تفریح و عشق و صفا میکنم و بقیه روز رو زحمت میکشم!

عزیز من شمایی که بخاطر پول و مقام و .. مطالعه میکنی(اونم با هزارتا رنج و زحمت که بدت میاد از مطالعه کردن) خودتو با من مقایسه نکن که برنامه نویسی روحم رو ارضا می کنه.
شاید بپرسی با این اوصاف چرا تا به حال چیزی یاد نگرفتی؟
جواب: چون تا بحال مشکلاتی داشتم که بتازگی ازش رها شدم 2- دامنه علایق بنده خیلی خیلی زیاده بنده کنار رایانه فلسفه هم مطالعه می کنم و خیلی چیزای دیگه...

makhdoosh
پنج شنبه 07 مرداد 1389, 00:59 صبح
به جای اینکه سر این مسائل بحث کنی و دنبال جواب اینگونه سوالات باشی شروع کن خوندن . . . خدا شاهده من هر چقدر بیشتر میخونم بی سوادیم بیشتر معلوم میشه . کلا بحث سر سی یا فلان زبان نیست . . . چند لحظه فکر کن این سی پی کامپیوتری که از توش داری تایپ میکنی چطوری داره کار میکنه یا چطور ساختنش !!!



من بیشتر از یک هفته هست که شروع کردم دارم کتاب C جعفر نژاد رو میخونم. خیلی هم راضی هستم و خوب یاد میگیرم. اصلا هم مشکلی ندارم.

makhdoosh
پنج شنبه 07 مرداد 1389, 01:12 صبح
اما اینقدر تجربه دارم که می دونم سنگ بزرگ نشانه نزدنه . امیدوارم بزنی اما یکی از مشکلاتی که افراد باهوش و به قول معروف پتانسیل بالا باهاش مواجهه هستن اینه که :

این افراد زیاد گول هوش خودشون و می خورن و در نتیجه احساس تفاوت می کنن نسبت به بقیه و انتظار دارن کاری رو که مردم توی 2 سال انجام میدن اینها تو دو ماه انجام بدن !

و بعد از یه مدت وقتی به اون هدف نمیرسن کار و کاملا رها می کنن !



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

بنده سنگ های بزرگتر از این هم بر خواهم داشت و خواهم زد چون کسی نمی زنه که عرضه شو نداره.
که من دارم. چون عشقم همینه.

Negative_Se7en
پنج شنبه 07 مرداد 1389, 01:18 صبح
بنده هدفم از یاد گرفتن هر سه این زبان ها، لذت بردن از زیبایی هایی هست که تو هر کدوم از این ها وجود داره!شما که قصد لذت بردن از زیبایی هایی که تو این زبان ها وجود داره رو دارید ، در صورتی میتونید لذت کافی رو ببرید که به صورت حرفه ای اونها رو یاد بگیرید.

دوست دارم مفاهیم ساخت یافته گی C ، از مفاهیم شی گرایی ++C ، و از مفاهیم کتابخانه ها و مفاهیم خالص شی گرایی C#‎‎‎ رو آشنا باشم و ازشون لذت ببرم. همین.
نه قصد دارم برنامه نویسی حرفه ایی بشم که فلان جا استخدامم کنن!وقتی که مفاهیم شی گرایی و ساخت یافتگی و کتابخانه ها رو یاد بگیرید ، چه بخواهید چه نخواهید به صورت خود به خود سطح برنامه نویسیه شما رو بالا میبره.
توی زمان یادگیری شما تجربه کار با چیزهای دیگه هم بدست میارید.
چون که یاد گرفتن اینها شما رو وادار میکنه تا چیزهای دیگه هم یاد بگیرید.

مثلا شما میخواهید Threading رو یاد بگیرید.
از لحاظ اسمی واژه ی کوچیکیه ، ولی شما رو مجبور میکنه ، تا با مفاهیم Resource Sharing و Synchronizing مثل Mutex , Critical Section , Samaphore , Event , ..... کار کنید و با API های سیستم عامل سرو کله بزنید !
میبینید ؟ اینها همیطوری به هم ارتباط پیدا میکنند.


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



تازه خوب میدونید که وقتی من زحمت خودم رو بکشم و C رو یاد بگیرم دیگه واسه یاد گرفتن ++C و C#‎‎‎ کارم چندان سخت نخواهد بود.خوب چرا این کار رو بکنید ؟
شما ++C رو درست و کامل یاد بگیر ، اگه C رو یاد نگرقتی من اکانتمو از این سایت حذف میکنم !


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

این نوشته ها رو از به صورت نصیحت بهشون نگاه نکن ، به صورت نظر بهشون نگاه کن.

hi.alir
پنج شنبه 07 مرداد 1389, 10:49 صبح
خوب چرا این کار رو بکنید ؟
شما ++C رو درست و کامل یاد بگیر ، اگه C رو یاد نگرقتی من اکانتمو از این سایت حذف میکنم !
تایید میشه.

PC2st
پنج شنبه 07 مرداد 1389, 10:55 صبح
در ضمن یکی از هدف هام اینه که وارد دنیای برنامه نویسی لینوکس بشم و تا اونجایی که اطلاع دارم باید با C آشنایی داشت نه ++C .
واسه همینه که خیلی رو C تاکید دارم.در گنو/لینوکس بخوبی برنامه‌های ++C می‌نویسند و کامپایلر GCC به همراه سایر کتابخانه‌ها، نیاز برنامه‌نویس ++C را برطرف می‌کند.


تازه خوب میدونید که وقتی من زحمت خودم رو بکشم و C رو یاد بگیرم دیگه واسه یاد گرفتن ++C و C#‎‎‎ کارم چندان سخت نخواهد بود.
شما اگر C را خوب یاد بگیرید، تنها چیزی از آن را که می‌توانید در C#‎‎ به کار گیرید، syntax است و بس!
شما اگر C را خوب یاد بگیرید، خیلی چیزهای جدید وجود دارد که باید در ++C بیاموزید و تفاوت‌هایی که بین این دو وجود دارد را فراگیرید.

drstrike
پنج شنبه 07 مرداد 1389, 11:07 صبح
بعضی از نوشته های این دوستمون منو یاد خودم میندازه :اشتباه:



بنده هدفم از یاد گرفتن هر سه این زبان ها، لذت بردن از زیبایی هایی هست که تو هر کدوم از این ها وجود داره!



مشکل شما اینه که مثل من بخاطر علاقه مطالعه نمی کنی که بفهمی چی میگم.

دوست عزیز
زود قضاوت نکن! اینجا همه به برنامه نویسی علاقه دارن. مطمئنا هر کسی که به صورت مداوم اینجا میاد از سر علاقه ست نه از سر اجبار.


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

هیچ کس از پول فرار نمی کنه!
شما یه حرفه ای دارید (هر چند به صورت تفریحی کار می کنید)، اگه شما کاری انجام بدید که در قبالش پولی بگیرید، هم تفریح کردید و هم کسب درآمد!



بنده کنار رایانه فلسفه هم مطالعه می کنم

خب بهتر، یکم فلسفی باهات حرف میزنم :لبخندساده:
به نظر من، شما بیش از حد به هوش و نبوغتون تکیه کردید و یه کوچولو غرور دارید (البته این خصلت اکثر آدمای باهوشه).
بدترین اشتباه (در یادگیری کامپیوتر) شاخه به شاخه شدنه، دقیقا چیزی که شما گرفتارش شدید.


شما قابلیت های ذهنی بنده رو در حد عالی فرض کن. با این معیار تخمین بزن!

منم به هوش و استعداد خودم می بالیدم! فک می کردم برنامه نویسی هم مثل زیست و زمین شناسی و تاریخ و... که شب امتحان بخونی و بری سر جلسه...
مثل شما شروع به جمع کردن منابع فارسی و انگلیسی شدم. اگه قفسه کتابمو بهت نشون بدم موهای تنت سیخ میشه(حتی از بعضی از زبانها چند تا کتاب خریدم ولی دریغ از خوندن کامل یکیشون!).
شروع کردم به C خوندن. ولی چون فک می کردم دارم عقب میمونم و بقیه زبانها رو یاد نمی گیرم، از وسط کار می رفتم Pascal می خوندم و... این داستان ادامه داشت تا الان که همه چی بلدم و هیچی بلد نیستم!!!

تاریخ عضویت منو نگاه کن: آبان 1386. اگه از اون موقع یه زبان رو کامل می خوندم اینجا حرفی واسه گفتن داشتم!(ناگفته نماند 2ماه بعد عضویت رفتم سربازی)
اگه شمام میخوای به روزگار من دچار شی همه زبانها رو با هم یاد بگیر!

اینی که بچه ها دارن می گن یه زبان رو بخون از سر تجربه ست، اونهام همین راه رو رفتن و دارن بهتون میگن.
اینو برا همیشه داشته باش:

اقیانوسی نباش به عمق گودال، گوادلی باش به عمق اقیانوس

makhdoosh
پنج شنبه 07 مرداد 1389, 11:07 صبح
شما اگر C را خوب یاد بگیرید، خیلی چیزهای جدید وجود دارد که باید در ++C بیاموزید و تفاوت‌های ناچیزی که بین این دو وجود دارد را فراگیرید


مگر چیزی بیشتر از مفاهیم شی گرایی هست؟

PC2st
پنج شنبه 07 مرداد 1389, 11:15 صبح
مگر چیزی بیشتر از مفاهیم شی گرایی هست؟
فقط OOP نیست. ++C بیش از شیئ‌گرائی به Generic Programming اهمیت می‌دهد. بطور مثال، توابع inline (که نه شیئ‌گرائی است نه برنامه‌نویسی Generic)

makhdoosh
پنج شنبه 07 مرداد 1389, 11:24 صبح
به نظر من، شما بیش از حد به هوش و نبوغتون تکیه کردید و یه کوچولو غرور دارید (البته این خصلت اکثر آدمای باهوشه).


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



بدترین اشتباه (در یادگیری کامپیوتر) شاخه به شاخه شدنه، دقیقا چیزی که شما گرفتارش شدید


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

مصطفی ساتکی
پنج شنبه 07 مرداد 1389, 11:31 صبح
. ++C بیش از شیئ‌گرائی به Generic Programming اهمیت می‌دهداكثر زبان generic رو پشتيباني مي كنند يعني چي اهميت مي دهد اونم مثل زبانهاي ديگه رفتار ميكنه.

بطور مثال، توابع inline (که نه شیئ‌گرائی است نه برنامه‌نویسی Generic)چرا شلوغش مي كنيد اينا كه معجزه نيست اون بنده خدا فكر ميكنه اينا چي هست.
مثلاً توابع inline چيز خاصي داره كه يادگيريش بخاد واسه يادگيرنده وقت گيره باشه.
به نظر من مهم خود زبان نيست بلكه چگونگي استفاده از opp كه بيشتر بايستي مورد توجه قرار بگيره.
شما كليات opp رو ياد مي گيريد ولي تو يك پروژه علمي چطور بكراش بگيره خيلي مهمه.
به نظر من تو گفتگوي فني كه تو سايت صورت گرفت نوشته هاي جناب موسوي رو به دقت بخونيد.
شايد در ابتدا براتون مهم نباشه ولي بعدها دقيقاً لمسش مي كنيد.اينكه طراحيتون به گونه نباشه كه دهها بار مجبور به refactoring كردن كلاس هاتون بشه.اينجا مشخص ميشه كه شما چقدر با مفاهيم آشنا هستيد