PDA

View Full Version : گم شدن بین این همه تکنولوژی..



ricky22
دوشنبه 25 مرداد 1389, 20:37 عصر
سلام.
آیا شما بین این همه تکنولوژی و مفهوم گم نمی شوید؟(منظور تحلیل و طراحی و توسعه هست.)
عمدتا منظورم تکنولوژی های ماکروسافتی هست
ولع یادگیری خوب هست یا بد؟
اولیت ها رو چطوری بزاریم؟
از چه مسیری پیش بریم؟
Web Development
Win Development
analyse
Design
و .....
Win Form و WPF
Silverlight , ASP.NET
Database Design
LINQ
RUP
UMl
Entity Framework
.NET Framework
Object Oriented
Design Patterns
CSS
JQUERY
Reporting service and tools
BI
WCF
web services
WorkFlow
Javascript
و............
تازه اینا فقط فنی بودند مباحث IT به کنار...

salehbagheri
دوشنبه 25 مرداد 1389, 21:16 عصر
ببین دوست عزیز، 1000 سال هم عمر کنی باز وقت برای یادگیری این همه تکنولوژی کم میاد!

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

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

Asad.Safari
چهارشنبه 27 مرداد 1389, 18:24 عصر
اولیت ها رو چطوری بزاریم؟

هر کدوم رو هر وقت لازم داشتی یادبگیر ... یاد گیری اضافی و بیخودی اصلا خوب نیست بخصوص در مبحاث فنی و تکنیکی : شما فرضا برو Jquery رو 100% یاد بگیر ولی اصلا لازمت نیست : 6 روز بعد کلش از یادت میره . کلیت مباحث رو بدونی بد نیست ولی تو ریزشون وارد بشی فکر کنم ... .

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

موفق باشید

eshpilen
پنج شنبه 28 مرداد 1389, 10:15 صبح
اینا که گفتی بعضیاش چیز حجیم و پیچیده ای نیست، و اغلب جزیی از چیزای دیگه هستن. اما شما اونا رو بصورت مجزا لیست کردید.
مثلا LINQ چیه؟ یه جزیی از دات نت. جزیی از سی شارپ.
شما میخوای دات نت یاد بگیری اما LINQ یاد نگیری؟
اصلا یادگیریش مگه چقدر حجم و پیچیدگی داره؟
بعدم بله اگر آدم توی هرچیزی بخواد همینطوری تئوری وار تا هر جزییات و سطحی پیش بره و هرچی میتونه تمرین و پروژه و مثال بخونه/حل کنه، وقت و انرژی کفاف نمیده. اما واقعا نیاز هست در هرچیزی اینطور عمل کرد؟
معمولا شما پایه رو باید یاد بگیری که آمادگی و دید کلی داشته باشی.
هرچی هم جزییات رو یادت بره اما بیشتر کلیات رو یادته و دید کلی داری و بینش و مهارت و آمادگی کسب کردی که موقعی که کار عملی در اون وادی لازمت بشه خیلی کمک میکنه. رفرنس هم که همیشه دم دسته اونم بصورت الکترونیک و اینترنت و غیره که کلی سرعت و متدهای جستجوی کارا دارن. خلاصه تمام اینا خیلی هم وقت و انرژی نمیبره. یادگیری و مطالعهء اولیه از همه بیشتر وقت و انرژی میبره. ولی بنظر من باید مطالعه کرد (اگر آدم میتونه).

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

یه زمانی مثلا احساس کردم باید پایتون رو یاد بگیرم، چون خیلی ازش تعریف میکردن و شواهد عملی هم برای مهم بودنش بود. رفتم خوندم و فهمیدم. اما حتی یه پروژه هم ننوشتم.
الانم خیلی از جزییاتش رو یادم رفته. اما کلیاتش رو فهمیدم، فهمیدم میتونم، فهمیدم چیه و مناسب کجاهاست، اعتماد بنفس و مهارت دارم و اگر فردا روزی جایی لازم شد یا برای استخدام خواستن، احتمالا میتونم بگم بلدم یا زود مرور میکنم و یادم میاد و از پسش هم برمیام. فکر نکنید اینا رو کس دیگه میتونه به شما بده، حداقل بخش مهمی از اینها رو باید خودتون عملا یاد گرفته باشید تا واقعا بدونید و درک کنید. دیگران اغلب نمیتونن تمام چیزهای اساسی لازم رو به شمایی که خودتون اون مسئله رو بلد نیستید انتقال بدن، تازه اشتباه و نقص هم در نظرات و گفتار دیگران کم نیست.
یه جاهایی هم ممکنه نیاز به جزیی کاری باشه که از پسش براحتی بربیام. مثلا یه برنامه ای نوشتید و بسیار مناسبه که قابلیت Scripting رو بصورت پیشرفته و قوی و کامل بهش اضافه کنید، اگر تاحالا با پایتون کار نکرده باشید احتمالا نمیدونید که میشه پایتون رو در این نقش بکار برد یا بخاطر ترس و بلد نبودن و هزینهء استارت اولیه، از این کار صرفنظر میکنید، اما من میرم سراغ بررسی و پیاده کردن این گزینه. یعنی چیزایی که شما قبلا کار کردید در آینده ممکنه بدردتون بخوره، گرچه بیشترش رو یادتون رفته باشه ولی این به این معنی نیست لزوما که مطالعهء شما هدر رفته. دوباره هم بخواید یادتون بیاد، فکر میکنم از یادگیری اولیه خیلی راحتتر و سریعتر باشه.

یه زمانی رفتم گنو/لینوکس و چیزایی مثل برنامه های خط فرمان و BASH رو یاد گرفتم. اینا هم یه جایی خوب بدردم خورد. مثلا روی هاست لینوکس تونستم از این دانشها و مهارتها استفاده های جالبی بکنم. هرچند اینا زیاد پیش نمیان و شاید ازشون پولی درنیاد، اما مگه همه چیز پول و امور روزمره هست؟ آدم از بعضی توانایی ها کلی لذت میبره (ما برای لذت بردن چقدر کار میکنیم و بعد پولش رو خرج تفریح و چیزای لذت بخش مثل غذای خوشمزه و غیره میکنیم؟) و بهش اعتماد بنفس میده و غیره.

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

بعدشم مردم برنامه نویسی رو محدود فرض میکنن، اما برنامه نویسی در اصل همینه. یه علم و فن گسترده و پیچیده هست که پیش نیازهای زیادی داره. باید کلی مطالعه کرد. سالها. و کلی چیز یاد گرفت. و مقدار لازم کار عملی و تمرین.
شما اگر فقط یک Win App Developer هم باشید، نیاز دارید کلی از این چیزها رو بلد باشید. غیر از اینه؟
یعنی ما اگر سیستم عامل رو محدود بکنیم، و برنامه ها رو هم فقط به اپلیکیشن های دسکتاپ محدود بکنیم، خودش کلی هست! یه عالمه پیش نیاز و چیز برای یاد گرفتن!! مگه همهء این مفاهیم در Win App ها وجود ندارن و نیاز نیستن؟
البته شما میتونید بنا به اولویت نیازها/شغل و علاقهء خودتون از اونایی که میخواید و مهمتر و پرکاربردتر هستن براتون شروع کنید. و شاید هم هیچوقت نیازی نداشته باشید بعضی چیزا رو یاد بگیرید، اما به اینصورت محدود شدید و پیشرفتی نکردید و فرصتهای ارتقا پیدا نکردید و غیره.
در این رشته تغییرات زیاد و سریع هست و شما باید همیشه در فکر ارتقا و گسترده شدن دانش و مهارت خودتون و آپدیت کردن باشید.

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

eshpilen
پنج شنبه 28 مرداد 1389, 10:33 صبح
من هنوزم که هنوزه سالها بعد از دانشگاه دارم پیوسته مطالعه میکنم. تا 40 سالگی برآورد خودم بود (حتی در بچگی این برآورد رو داشتم برای دانشمند واقعی شدن!!).
الان تازه رسیدم به یه جایی که بگم یه چیزایی بلدم و کارهایی از دستم برمیاد.
و هنوزم درحال یادگیری هستم و یادگیری بعضیا چیزا رو توی برنامه برای آینده دارم.
اما بیشتر چیزایی رو که فکر میکردم اساسا نیاز دارم و برای اینکه آدم بگه چیزی میدونه و میتونه ضروری هستن، حداقل در حد پایه مطالعه کردم و مقداری هم جاهایی که خیلی مهم بوده کار عملی انجام دادم (تمرین و پروژه های کوچک). البته باید دات نت رو هم تموم کنم تا بگم برنامم تقریبا کامل شده. الان شاید در یک سوم راه دات نت باشم (از نظر تئوریک پایه البته).
البته بعضی چیزا رو که شما لیست کردید ضروری نمیبینم (مثلا UML)، و تاحالا به کاربرد و اهمیت اساسی و گستردهء اونا برنخوردم. اما بگم که این با توجه به هدف و علاقهء شخصی من هست و ممکنه برای هرکس با توجه به خصوصیات و شرایط شخصی اون تفاوت بکنه.
من دنبال این بودم که چیزهایی رو که اساسی هستن و کاربرد گسترده در توانایی های مهم و عمومی دارن یاد بگیرم. اینکه بتونم تقریبا هر برنامه ای رو که میخوام در هر زمینه ای بنویسم (دیدگاهم اولویت تجاری نداشت، بلکه هدفم توانایی انجام هر کاری بود که خودم میخواستم انجام بدم). حالا ممکنه یوقت یه فناوری ای برای یک کاربردی بهتر باشه و من اونو بلد نباشم، اما این به این معنا نیست که من با چیزهایی که بلدم نمیتونم اون کار رو انجام بدم؛ و احتمالا میتونم با صرف وقت و انرژی مناسبی هم اون کار رو با چیزهایی که بلدم انجام بدم (اما مسلما با دانش و مهارت بیشتر در فناوریهای خاص تر میتونستم اون کار رو سریعتر و راحتتر و احتمالا بهتر/کاملتر انجام بدم).