بازگشت   پی سی سیتی > کامپیوتر اینترنت و شبکه Computer internet > زبان های برنامه نویسی Programming

زبان های برنامه نویسی Programming بحث در مورد زبانهای مختلف برنامه نویسی

پاسخ
 
ابزارهای موضوع نحوه نمایش
  #1  
قدیمی 06-14-2013
bigbang آواتار ها
bigbang bigbang آنلاین نیست.
مدیر بخش مکانیک - ویندوز و رفع اشکال

 
تاریخ عضویت: Sep 2009
نوشته ها: 2,586
سپاسها: : 5,427

6,159 سپاس در 1,794 نوشته ایشان در یکماه اخیر
پیش فرض چگونه برنامه نویسی را شروع کنیم

چگونه برنامه نویسی را شروع کنیم


چه زبانی را برای برنامه نویسی انتخاب کنیم؟

بهترین زبان برنامه نویسی چیست؟

چگونه برنامه نویسی را یاد بگیریم؟

دلفی بهتر است یا C++ ؟

دات نت بهتر است یا جاوا ؟

php بهتر است یا ASP.net یا JSP؟

C# بهتر است یا C++ ؟

ویژوال بیسیک بهتر است یا دلفی؟

و بالاخره J# بهتر است یا C# ؟

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

  • زبانهای برنامه نویسی وب
زبانهای برنامه نویسی وب خود به دو دسته سمت خدمتگزار (یا سرور) و سمت کاربر (یا کلاینت) تقسیم می‌شوند. زبانهای HTML، CSS و جاوا اسکریپت زبانهایی هستند که برای طراحی صفحات وب استفاده می شوند و تمام کدها در سمت کاربر اجرا می شود. از سوی دیگر زبانهایی مثل ASP.net، PHP و JSP برای پویا ساختن صفحات وب (مثلا تعامل با کاربر) استفاده شده و به منظور امنیت و سرعت بهتر، در سمت سرور اجرا می‌شوند. برای کسی که قصد دارد برنامه نویسی وب را یاد بگیرد، یاد داشتنCSS و HTML الزامی است ، جاوا اسکریپت مستحب موکد است و یاد داشتن یکی از زبانهای سمت سرور واجب عینی است. از میان زبانهای سمت سرور، مشهورترین، محبوب ترین و امن ترین آنها PHP است، آسانترین آنها ASP.net میکروسافت است و JSP هم که مبتنی بر جاوا است جزء زبانهای حرفه ای به حساب می‌آید! فعلا قصد پرداختن به زبانهای تحت وب نداریم.
  • زبانهای برنامه نویسی دسک تاپ
در زمینه برنامه نویسی دسکتاپ، زبانهای ++C، دلفی، #C (سی شارپ)، ویژوال بیسیک، جاوا و زبان جدید التاسیس #J مهمترین زبانهای قابل ذکر هستند. در این میان زبانی مثل ویژوال بیسیک شاید از همه ساده تر باشد و برای بسیاری از برنامه های کاربردی مناسب است. لیکن اگر برنامه شما نیاز به سرعت و کارایی بالایی دارد گزینه مناسبی نیست.
دلفی نیز که بر پایه زبان پاسکال شیءگرا بنا شده است، ساده و در عین حال کارآمد است. مهمترین ویژگی دلفی وجود کامپوننتهای متعددی است که روند برنامه نویسی را تسریع و تسهیل می کند. لیکن دلفی محدودیتهایی برای کار با پوینترها دارد که اگر نیاز به انجام کارهای پردازشی سنگین و کار زیاد با حافظه دارید کارتان را با مشکل روبه رو می کند. مشکل دیگر دلفی عدم پشتیبانی از یونیکد است که برای ما فارسی زبانان از نان شب هم واجبتر است.
جاوا یک زبان قدرتمند و کاملا شیءگراست. معمولا نرم افزاریها سراغ این زبان می روند (شاید به دلیل اینکه جزء دروس دانشگاهی آنهاست). مهمترین ویژگی این زبان این است که مستقل از سیستم عامل است و فایلهای خروجی آن روی لینوکس و ویندوز کار می کند. امروزه بسیاری از نرم افزارهای موبایل نیز با J2ME نوشته می شود. فایلهای خروجی جاوا برای اجرا نیازمند سکوی J2RE هستند.
#C و سکوی دات نت: می توان گفت تقلید بزرگی از جاوا است، چرا که همانند جاوا کاملا شیءگرا بوده و فایلهای خروجی آنها برای اجرا نیازمند سکوی دات نت هستند. #C که امروزه گل سرسبد زبانهای تحت دات نت است در تولید برنامه های تحت ویندوز و ارتباط با پایگاههای داده جزء زبانهای پیشرو است.
و اما C++: فرزند خلف C، زبانی شیءگرا، سریع، حرفه‌ای و سخت. بیشتر برای کارهای پردازشی استفاده می‌شود و غالبا سیستم عاملها توسط C و ++C نوشته می‌شوند، چرا که بر خلاف سی شارپ و جاوا نیازمند سکوی خاصی نیستند و خروجی آنها کد ماشین خالص است. ++C تقریبا قابل حمل (پرتابل) است! یعنی از آنجا که در تمام سیستم عاملها پشتیبانی می‌شود کدهای ++C را می توانیم با اندک تغییراتی (البته گاهی وقتها بیش از اندکی) در هر سیستم عاملی کامپایل کنیم.

__________________

احد،صمد، قاهر، صادق ...
عاشقشم

لا تقنطوا من رحمة الله

هیچ چیز تجربه نمیشه اینو یادت باشه !!
ترفند هایی براي ويندوز 7


عیب یابی سخت افزاری سیستم در کسری از دقیقه


ویرایش توسط bigbang : 06-14-2013 در ساعت 12:46 AM
پاسخ با نقل قول
2 کاربر زیر از bigbang سپاسگزاری کرده اند برای پست مفیدش:
جای تبلیغات شما اینجا خالیست با ما تماس بگیرید




  #2  
قدیمی 06-14-2013
bigbang آواتار ها
bigbang bigbang آنلاین نیست.
مدیر بخش مکانیک - ویندوز و رفع اشکال

 
تاریخ عضویت: Sep 2009
نوشته ها: 2,586
سپاسها: : 5,427

6,159 سپاس در 1,794 نوشته ایشان در یکماه اخیر
پیش فرض بررسي زبان هاي برنامه نويسي و مقايسه آنها با يكديگر و ارائه راهكار براي انتخاب زبان برنامه نويسي مناسب

همچنین به شما مطالعه این مقاله رو هم بسیار توصیه میکنم ، مقاله مفیدی به نظرم اومد فایل رو پیوست کردم
(روی عکس کلیک کنید )


فایلهای پیوست شده : متاسفانه تمامی فایلهای ضمیمه شده تا مرداد 91 یعنی July, 2012 به خاطر بی دقتی شرکت سرویس دهنده خدمات سرور ما از بین رفته است بنابراین به تاریخ ضمیمه شدن فایلهایی که میخواهید دانلود کنید دقت بفرمایید که ما شرمسار بازدید کنندگان گرامی خود نشویم . فایلهای ضمیمه شده بعد از این تاریخ هیچ گونه مشکلی ندارند .

در فرصت مقتضی سعی خواهد شد فایلهای پرطرفردار تر که توسط خود بازدید کنندگان گرامی درخواست داده میشود به مرور اپلود و جایگزین شود. با تشکر
نوع فایل: pdf motahedin.pdf‏ (290.0 کیلو بایت, 3 نمایش)
__________________

احد،صمد، قاهر، صادق ...
عاشقشم

لا تقنطوا من رحمة الله

هیچ چیز تجربه نمیشه اینو یادت باشه !!
ترفند هایی براي ويندوز 7


عیب یابی سخت افزاری سیستم در کسری از دقیقه

پاسخ با نقل قول
کاربران زیر از bigbang به خاطر پست مفیدش تشکر کرده اند :
  #3  
قدیمی 06-14-2013
bigbang آواتار ها
bigbang bigbang آنلاین نیست.
مدیر بخش مکانیک - ویندوز و رفع اشکال

 
تاریخ عضویت: Sep 2009
نوشته ها: 2,586
سپاسها: : 5,427

6,159 سپاس در 1,794 نوشته ایشان در یکماه اخیر
پیش فرض نکات مهم برای یک برنامه نویس تازه کار

برای یک برنامه نویس تازه کار فراگیری نکات مهم زیر سرلوحه شروع کارها باید باشد:
۱- پیاده کردن مفاهیم اصلی و بنیادی:
تشخیص این که پشت سر تقریبا همه زبان های برنامه نویسی یک منطق یکسان قرار گرفته خیلی مهمه. بنابراین فراگرفتن مباحث متغیرها، حلقه ها و توابع ، مقدم تر خواهند بود. همان طور که Kyle Neath توضیح داده است، یادگیری زبان های گوناگون مشابه یادگیری ترجمه یک لهجه جدید است. مثل ترجمه یک لهجه جدید، فقط یکبار نیاز خواهیم داشت که اصول زبان های برنامه نویسی را بدانیم. بهترین راه برای آموختن این مهارت های اصولی اینست که قبل از اینکه به قواعد دستوری برسید بر روی مفاهیم بنیادی موجود در آموزش های برنامه نویسی تمرکز کنید.

۲- یک کتاب خوب بخرید:
یافتن یک کتاب خوب که بتواند شما را از میان یکسری مراحل تدریجی و گام به گام جلو ببرد، اهمیت زیادی دارد. سعی کنید با یک کتاب “برای مبتدی یا تازه کار” شروع کنید چرا که این ها معمولا فرض را بر این می گیرند که شما دست کم، اندکی با محتوایی که در پیش رو دارید آشنا هستید. همچنین دقت کنید یک جفت از این جلدهای مقدمه ای مشتمل بر بخش های مهم کتاب را که نویسندگان این نوع از کتاب ها اغلب به اجبار برای کاهش حجم کتاب آماده می کنند، انتخاب کنید. چرا که ممکن است به عناوین مهمی در یک کتاب برخورد کنید که به طور کامل و دست نخورده به جلد دیگر رفته است. بعلاوه اینکه دوباره خوانی این مفاهیم اصلی همیشه مفید است.

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

۴- استفاده از شیوه های قدیمی و منسوخ:
زمانیکه شما در ابتدای فراگرفتن زبان برنامه نویسی هستید، غرق در تفکر شدن با قواعد نسبتا کم و ساده، آسان است. چرا که مشکلات مفهومی، یادآوری آنچه راکه در رسیدن به آن تلاش کرده اید دشوار می کند. با طرح ریزی کلی توابع و طرح نهایی برنامه ها بر روی کاغذ (یا تجهیزات مشابه الکترونیکی)، به سرعت می توانید بخاطر بیاورید که برای رسیدن به چه مقصودی تلاش کرده اید.

۵- مشارکت در تالارهای گفتگو :
بخش بزرگی از فراگیری یک زبان برنامه نویسی جدید، ملحق شدن به تالارهای گفتگو است. چرا که یک تالار گفتگو به منزله یک همکار است. Forum ها (اجتماعات اینترنتی) و mailing list ها (لیست کاربرانی که ایمیلی را با یک موضوع مشخص ازیک منبع دریافت می کنند) شما را با افراد ماهر آشنا می کنند، از این رو می توانید آنچه نیاز دارید مطرح کنید.
کتاب ها برای آماده کردن شما مناسب هستند اما خیلی اوقات با مشکلاتی به ظاهر برطرف نشدنی برخورد خواهید کرد. گاه گاهی شبیه این موارد تمرینات عملی یک برنامه نویس باتجربه ضروری است، نه فقط برای اینکه مشکلتان حل شود بلکه برای اینکه بدانید چگونه مشکلتان حل شد.

__________________

احد،صمد، قاهر، صادق ...
عاشقشم

لا تقنطوا من رحمة الله

هیچ چیز تجربه نمیشه اینو یادت باشه !!
ترفند هایی براي ويندوز 7


عیب یابی سخت افزاری سیستم در کسری از دقیقه

پاسخ با نقل قول
کاربران زیر از bigbang به خاطر پست مفیدش تشکر کرده اند :
  #4  
قدیمی 06-14-2013
bigbang آواتار ها
bigbang bigbang آنلاین نیست.
مدیر بخش مکانیک - ویندوز و رفع اشکال

 
تاریخ عضویت: Sep 2009
نوشته ها: 2,586
سپاسها: : 5,427

6,159 سپاس در 1,794 نوشته ایشان در یکماه اخیر
پیش فرض مقاله : ۱۰ اشتباه برنامه نویسان مبتدی





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

۱- ترس و عدم اعتماد به نفس

اولین اشتباهی که ممکنه به عنوان یک برنامه نویس مبتدی مرتکب بشید اینه که فکر کنید به قدر کافی خوب و باهوش نیستید و اینکه تفکر غلطی نسبت به برنامه نویسی دارید و نمیتونید هیچ موقع برنامه نویسی رو یاد بگیرید.من باور دارم که هر کسی میتونه حداقل در سطح مبتدی برنامه نویس باشه ، اگر یه مدت برنامه نویسی رو به صورت جدی دنبال کنه. در ابتدا کدها برای شما مثل زبان فضایی ها غیرقابل فهمه، این یک چیز طبعیه! اما قدم به قدم ( bit-by-bit ) با همه قسمتها و کدها آشنا میشید ،سپس وقتی که معنی کدها رو بفهمید میبینید که واقعا همه چیز منطقیه و دیگه ترسی وجود نداره.
قطعا برای منطقی فکر کردن و برنامه نویسی یک استعداد ذاتی لازمه ، اما با تلاش زیاد ، تمرین و خواندن آموزشها میتونید یک برنامه نویس خوب باشید. میتونید
بر ترس خود غلبه کنید یا ترس بر شما غلبه میکنه!!
پیشنهاد من به برنامه نویسان مبتدی اینه که از ابزار Visual برای کدنویسی استفاده کنن.این کار کمک میکنه که شما از خطاهای تایپی در امان باشید و بتونید مفهوم حلقه ها ، شرط ها و متغیر هارو به خوبی درک کنید. از اینکار برای معرفی برنامه نویسی در مدارس زیاد استفاده میشه.
(مترجم : با این پاراگراف آخرش مخالفم.به نظرم باید برنامه نویسای مبتدی از اول شروع کنن به تایپ کردن و چیزی که خیلی در برنامه نویسی مهمه اینه که یک برنامه نویس باید تایپ ۱۰ انگشتی بلد باشه.به نظرم ابزارهایی مثل Visual studio برای برنامه نویسهای مبتدی خیلی خطرناکه چون تمام ابزارهارو دم دست داره و فقط کافیه drag and drop بشه تا کد مربوطه رو خودش بنویسیه که اینکار به نظرم تفکر برنامه نویسی رو به برنامه نویس مبتدی نمیده و اون رو تنبل بار میاره.)

۲- کد نویسی کثیف

یکی از راههایی که برنامه نویس های با تجربه میتونن به سرعت تشخیص بدن که این کد توسط یک مبتدی نوشته شده همین کد نویسیه کثیفه! کدهایی بدون دندانه گذاری (Indentation ) و استفاده نادرست از خطوط جدید و فضاهای خالی.بعضی از زبانهای برنامه نویسی مثل جاوااسریپت محدودیت زیادی برای چطور نوشتن کدها ندارن.این میتونه برنامه نویس های مبتدی رو به بی نظم نوشتن کدها عادت بده.اینکار یک اشتباهه چون یکی از راههای که ما میتونیم منطق کدهامون نشون بدیم استفاده از دندانه گذاری کدهاست.با استفاده از tab و space میتونیم بفهمیم که یک تابع ، شرط یا حلقه کجا شروع میشه و کجا تموم میشه، برای همین میتونیم تشخیص بدیم که کدهامون در جای درست قرار گرفتن.مثلا جاوااسکریپت اجازه میده یک تابع رو داخل تابع دیگه ایجاد کنیم ،با این قابلیت اگر شما جای بازو بسته کردن آکولاد هارو نمیبینید خیلی راحت میتونه شمارو در محدوده عملکرد توابع و متفغیرها به اشتباه بندازه. قوانینی وجود داره که چطور کدهاتون رو قالب بندی کنید.مهم نیست که از کدوم یکی از این قوانین استفاده میکنید.یکی دیگه از کارهای بد اینه که توضیحات یا comment های زیاد و بی استفاده که هیچ نیازی بهش ندارید رو مینویسید.این کارو همه ما انجام میدیم اما سعی کنید به کدهاتون برگردید و کامنتهای اضافه رو پاک کنید و فقط کامنتهایی رو نگه دارید که لازمه.

۳- استفاده ناهماهنگ از حروف بزرگ و کوچک

بعضی از زبانهای برنامه نویسی به حروف بزرگ و کوچک حساسن یا به اصطلاح case-sensitive هستند و بعضی از زبانها چنین خاصیتی ندارن.به هرحال با هر زبان برنامه نویسی که کار میکنید در استفاده از حروف بزرگ و کوچک در نام متغیرها و توابع ثابت قدم باشید! (یک روش رو پیش بگیرید ). برنامه نویس های مبتدی معمولا یک متغیربا یک حرف بزرگ مثلا :
var Score = 5;تعریف میکنن اما در بقیه جاهای برنامه به صورت زیر ازش استفاده میکنن :
if(score > 5)و اعصابشون به هم میریزه که چرا کدشون اجرا نمیشه!به اضافه بعضی از برنامه نویسا وقتی به یک زبان جدید مهاجرت میکنن ،به جای استفاده از قوانین زبان جدید ، قوانین قبلی رو به زبان جدید وارد میکنن.

۴- نام های بی معنی برای توابع و متغیرها

ممکنه به برنامه نویسای جاوا بخندیم که از نامهای طولانی مثل : AbstractSingleton*****FactoryBean استفاده میکنن.اما به جای نوشتن نامهای کوتاه و بی معنی ، بهتره که از نامهای بلند و قابل توصیف استفاده کنیم.منظور اینکه ، کدهامون واضح تر میشن ، و احتمال اینکه متغیرها و توابع همنام به وجود بیان و باعث گیج شدن شما یا درست کار نکردن کدتون بشن.علاوه بر این که از نامهای بی معنی برای متغیر ها استفاده میکنید ، بدترش اینکه هنگام نوشتن اسم متغیر اشتباه تایپی داشته باشید، هنگامی که کدتون به مشکل برمیخوره نمیتونید به راحتی مشکل تایپی رو پیداکنید و رفعش کنید.یکی دیگه از اشتباهاتی که زیاد از برنامه نویسای مبتدی سر میزنه اینه که از اصطلاحات عامیانه برای نامگذاری متغیرها استفاده میکنن.وقتی که من به کدهای ۸ سال پیشم برمیگردم میبینیم که از این دسته از اشتباهات زیاد کردم.مثلا به جای “numPlayers” از نام “numPlayaz” و به جای “pause” از “pawz” استفاده کردم.(منظورش همینجوری که تلفظ میشه نوشته اسمش رو!!).این روزها من برای خودم قوانین کدنویسی خودم رو استفاده میکنم.مثلا برای نگه داشتن تعدادی از یک چیز داخل یک متغیر از اسم numThings استفاده میکنم.با استفاده از این روشهای نامگذاری وقتی در آینده به سراغ کدهاتون برمیگردید به راحتی میتونید کدهاتون رو بخونید و دیگه نگرانی ندارید.

۵ – کامنت گذاری بیش از حد

من یکی از بزرگترین طرفدارهای مستندسازی شخصی هستم.این مستند سازی شامل توضیحاتی برای کلاس ، متغیرها ، توابع و به طور کلی معماری و نحوه کارکرد برنامه میشه بدون گذاشتن کامنتهای طولانی.این مستند سازی ( کامنت گذاری) برای بقیه کسانیه که بعدا کد شمارو میخوان بخونن و تغییرش بدن.همچنین میتونه برای خودتون هم مفید باشه که در آینده وقتی به کدهاتون که نگاهی میندازید بدونید چی نوشتید.این توضیحات مخصوصا جاهایی به درد میخوره که کدها برای یک کار خاص نوشته شدن و زیاد واضح نیستن.شما نیازی نیست برای همه چیز کامنت بذارید.مثلا :
کد:
score += 5; // adds 5 onto the score
نیازی نیست همه کدهایی که نوشتین رو کامنت گذاری کنید بلکه بهتره عملکرد یک تابع یا کلاس رو به شرح بدید و اینکه برنامه ای که نوشتید چجوری کار میکنه.

۶ – قدرت واقعی زبان برنامه نویسی تون رو نمیدونید

برای این مورد نمیشه مبتدی هارو سرزنش کرد، دونستن اینکه یک زبان برنامه نویسی چه قدرتهایی داره نیاز به تجربه داره.اما اگر یک یا دوساله دارید برنامه نویسی میکنید دیگه زمان این رسیده که تعدادی از عملگرهایی رو که کمتر استفاده میشه رو یاد بگیرید، بعضی از این عملگرها واقعا مفیدن.مثلا برای نمونه :
! : این عملگر به معنای NOT یا نقیض.اگر مقدار false بهش بدید برعکسش میکنه :
x = !x;در بالا اگر در x مقدار false باشه بعد از این عملیات مقدار true داخلش قرار میگیره.
% – این عملگر به معنای درصد نیست و دربیشتر زبانهای برنامه نویسی باقیمانده تقسیم رو بر میگردونه.
عملگر سه تایی با ternary operator : این عملگر شامل یک علامت ” ؟ ” و یک علامت ” : ” است که به ما اجازه میده شرط رو در یک خط چک کنیم :
کد:
 $lives = isEasy() ? 5 : 3 ;


7 – گیج شدن بین اصطلاحاتی مثل : زبان ، فریم ورک ، پلتفرم و IDE


وقتی شما شروع به یادگیری برنامه نویسی میکنید، مخصوصا برنامه نویسی وب ، زیر بمبارانی از زبانهای مختلف ، فریم ورکها و IDE ها گیر می افتید و در ابتدا سخته که بدونید اینها چی هستن و به سرعت یک سری تصورات غلط به ذهنتون میاد.در مرحله اول بدونید که HTML و CSS یک زبان برنامه نویسی نیستن.HTML یک زبان نشانه گذاریه و CSS زبانی برای استایل دهی.این دو زبان مهارت های زیادی برای یاد گرفتن دارن اما وقتی باهاشون کار میکنین در واقع در حال برنامه نویسی نیستید. یکی از زبانهای برنامه نویسی سمت کاربر برای وب زبان جاوااسکریپته که در مبتدی ها در ابتدای کار جاوااسکریپت بهش جاوا میگن که اشتباهه.جاوا یک زبان برنامه نویسی برای همه پلتفرم هاست که کلا با جاوااسکریپت فرق داره.یکی دیگه از چیزهایی که ممکنه با دیدنش گیج بشید
$('#things')که مربوط به فریم ورک (کتابخانه) jQuery ـه که کار با جاوااسکریپت رو خیلی خیلی راحت تر میکنه، اما حتمن یادتون باشه که jQuery یک زبان نیست و فقط یک کتابخانه است.یکی دیگه از تصورات غلط اینه که هنگامی که دارید با HTML , CSS , Javascript کار میکنید فکر میکنید این همون IDE هست ، که در واقع IDE به نرم افزاری مثل Dreamweaver ـه که کدهاتون رو میتونید توش ویرایش کنید و …

۸ – با مزایای ابزارهای دیباگ حال نمیکنید (!!)

اگر با یکی از زبانهای برنامه نویسی جاوا ، سی شارپ یا اکشن اسکریپت کار میکنید بهتره که از دیباگر استفاده کنید.این زبانها خطاهای ریزی میدن که با استفاده از دیباگر میتونید به راحتی اشکالات یا باگهای کدتون رو پیدا کنید.اگه با زبانی مثل جاوااسکریپت کار میکنید تا وقتی که یک دیباگر خوب نداشته باشید مجبورید از alert() برای حالات مختلف استفاده کنید.مرورگر کروم یک ابزار به نام Developer Tools داره که میتونید خطاهای کدتون رو ببینید.

۹ – از کارهاتون نسخه پشتیبان تهیه نمیکنید

در لغت نامه برنامه نویسا نباید اصطلاح ” من فقط [x] ساعت از کاری که کردم رو از دست دادم”.تعدادی ابزار خوب برای پشتیبان گیری خود کار و version-control وجود داره ، که دیگه بهانه ای برای از دست دادن اطلاعاتتون ندارید، حتی اگر کامپیوتر شما دارای نقص سخت افزاری بشه یا منفجر بشه!!من از Dropbox استفاده میکنم که به صورت خودکار از تمام فایلها و فولدرهام پشتیبان میگیره ، همچنین از subversion یا GitHub استفاده کنید.همه این ابزارها بعضی از امکاناتشون رایگانه.

۱۰- فکر میکنید همه چیزو میدونید!

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

۱۱- اشتباه جایزه !!! فکر میکنید که شرط “if” حتما نیاز به مقایسه داره

این تذکر رو در آخرین مرحله بیان کردم تا مطمئن شم این مورد از ذهنتون پاک میشه.حتی بعضی از برنامه نویسای با تجربه تر هم این اشتباه رو مرتکب میشن.کدی مثل کد زیر :
کد:
if(myBoolean == true)
یکی از اشتباهاتیه که ممکنه هیچ ضرری نرسونه ، اما این نشون میده که درک درستی از نحوه کارکرد زبانهای برنامه نویسی ندارید.بذارید روشنتون کنم : پرانتزی که بعد از کلمه if میاد باید شامل یک نوع boolean باشه (true یا false).ما در این پرانتز دو مقدار رو مقایسه میکنیم تا به مقدار Boolean برسیم.مثلا :
کد:
if(x < 200)
حالا اگر x کوچکتر از ۲۰۰ باشه مقدار true و اگر کوچکتر باشه مقدارش false میشه.حالا اگر ما از قبل یک مقدار از نوع boolean داشته باشیم مثلا myBoolean مبتونیم به تنهایی ازش در شرط if استفاده کنیم
کد:
if(myBoolean)
و نیازی نیست اینجوری بنویسیم :
کد:
if(myBoolean == true)
(این یه مقدار در PHP یا جاوااسکریپت پیچیده تر میشه وقتی از === استفاده میکنید.)
خودم : این مقاله یکی از بهترین مقالاتی بود که در مورد برنامه نویسی خونده بودم تصمیم گرفتم ترجمه کنم و بذارم اینجا تا شما هم بخونید.اولا به خاطر ترجمه دست و پاشکستم ببخشید.جایی اگر مشکل داشتم تذکر بدید و نظرتون رو هم بگید.متشکرم.
__________________

احد،صمد، قاهر، صادق ...
عاشقشم

لا تقنطوا من رحمة الله

هیچ چیز تجربه نمیشه اینو یادت باشه !!
ترفند هایی براي ويندوز 7


عیب یابی سخت افزاری سیستم در کسری از دقیقه


ویرایش توسط bigbang : 06-14-2013 در ساعت 07:15 PM
پاسخ با نقل قول
کاربران زیر از bigbang به خاطر پست مفیدش تشکر کرده اند :
  #5  
قدیمی 06-14-2013
bigbang آواتار ها
bigbang bigbang آنلاین نیست.
مدیر بخش مکانیک - ویندوز و رفع اشکال

 
تاریخ عضویت: Sep 2009
نوشته ها: 2,586
سپاسها: : 5,427

6,159 سپاس در 1,794 نوشته ایشان در یکماه اخیر
پیش فرض چگونه یک برنامه نویس ماهر شویم؟

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




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

احد،صمد، قاهر، صادق ...
عاشقشم

لا تقنطوا من رحمة الله

هیچ چیز تجربه نمیشه اینو یادت باشه !!
ترفند هایی براي ويندوز 7


عیب یابی سخت افزاری سیستم در کسری از دقیقه

پاسخ با نقل قول
کاربران زیر از bigbang به خاطر پست مفیدش تشکر کرده اند :
  #6  
قدیمی 06-14-2013
bigbang آواتار ها
bigbang bigbang آنلاین نیست.
مدیر بخش مکانیک - ویندوز و رفع اشکال

 
تاریخ عضویت: Sep 2009
نوشته ها: 2,586
سپاسها: : 5,427

6,159 سپاس در 1,794 نوشته ایشان در یکماه اخیر
پیش فرض پیش نیاز های مهم برای یادگیری برنامه نویسی: تایپ ده انگشتی و زبان انگلیسی




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

در حقیقت در کنار فراگیری زبان برنامه نویسی جاوا، می بایست تفکری انتقادی یا اصطلاحاً Critical Thinking و تفکر منطقی یا Logical Thinking داشته باشیم، با اصول و قواعد ریاضیات مثل الگوریتم آشنایی داشته باشیم، معانی رنگ ها و نحوه به کار گیری رنگ در اپلیکیشن را بدانیم و غیره. شاید بیان چنین مسئله ای تا حدودی نا امید کننده باشد که چه طور ممکن است فردی کلیه موارد فوق را به علاوه بسیاری موارد دیگر به طور هم زمان فرا گیرد.

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

ادامه مطلب را از دست ندهید.

در واقع همانطور که یک IDE به منزله یک ابزار برنامه نویسی است، نحوه صحیح تایپ نیز می تواند کمک شایانی در حرفه ای شدن ما به عنوان یک برنامه نویس کند. از دید بنده کسب مهارت تایپ صحیح (ده انگشتی) برای حرفه برنامه نویسی لازم و ضروری است. به عبارت دیگر برنامه نویسی صرفاً در نوشتن کد خلاصه نمی شود بلکه ما به عنوان یک برنامه نویس گاهی نیاز داریم تا پیرامون اپلیکیشن خود توضیحاتی بنویسیم و یا چنانچه عضو یک تیم برنامه نویسی باشیم نیاز داریم تا با مابقی برنامه نویسان در تعامل بوده و مکاتبه نماییم و یا از طریق Comment توضیحاتی را درون کد خود بنویسیم.

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

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

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

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

در حقیقت ما با مد نظر قرار دادن این نکته که دو انگشت اشاره ما می بایست روی دکمه های J و F قرار گیرند و نیز اینکه هر کدام از انگشتان دست ما صرفاً می تواند حروف خاصی از صفحه کلید را فشار دهد به راحتی خواهیم توانست تایپ ده انگشتی را فرا گیریم.

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

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

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

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

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

به عبارت دیگر می‌توان گفت که برنامه نویسان عزیز می‌توانند با فراگیری صرفاً 2000 واژه پرکاربرد زبان انگلیسی بخش قابل توجهی از مکالمات و مکاتبات خود (حدوداً 85 درصد) را با دیگر برنامه نویسان دنیا انجام داده و یا به سهولت بتوانند کتاب های مرجعی که به زبان انگلیسی نوشته شده اند را مطالعه نمایند. حال 15 درصد مابقی واژگان که جزو آن 2000 واژه پرکاربرد نیستند هم مربوط به تخصصی است که افراد بر مبنای آن، واژگان خاصی را مورد استفاده قرار می‌دهند. به طور مثال یک برنامه نویس دامنه خاصی از واژگان را مورد استفاده قرار می دهد که معانی آن واژگان ممکن است برای افراد با حرفه های متفاوت نا آشنا باشد. به عنوان مثال می توان Keyword های زبان برنامه نویسی جاوا را جزو آن 15 درصد باقیمانده در نظر گرفت.

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

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


__________________

احد،صمد، قاهر، صادق ...
عاشقشم

لا تقنطوا من رحمة الله

هیچ چیز تجربه نمیشه اینو یادت باشه !!
ترفند هایی براي ويندوز 7


عیب یابی سخت افزاری سیستم در کسری از دقیقه

پاسخ با نقل قول
کاربران زیر از bigbang به خاطر پست مفیدش تشکر کرده اند :
  #7  
قدیمی 06-14-2013
bigbang آواتار ها
bigbang bigbang آنلاین نیست.
مدیر بخش مکانیک - ویندوز و رفع اشکال

 
تاریخ عضویت: Sep 2009
نوشته ها: 2,586
سپاسها: : 5,427

6,159 سپاس در 1,794 نوشته ایشان در یکماه اخیر
پیش فرض چگونه يک برنامه نويس موفق باشيد؟

اگر از آن دسته افرادى هستيد كه به دنبال آينده و كسب و كارى پر از انرژى و خلاقيت هستند و اگر شديداً از انجام كارهاى روتين و كارمند بانك بودن تنفر داريد(!) و اگر دوست داريد كسب و كارى را برگزينيد كه بدون شك در سال هاى آينده بازار پررونقى داشته باشد، حتماً به برنامه نويسى به عنوان يك شانس مهم توجه داشته باشيد.
همواره وقتى به صدر رده بندى پول دارترين مردان دنيا نگاه مي كرديم عادت كرده بوديم نام كسى جز بيل گيتس را نبينيم!

برنامه نويس نوجوان و جسور آنقدر در كار خودش پشتكار به خرج مى داد كه گاهى وقت ها به خاطر دستكارى زياد در كامپيوتر دبيرستان شان تهديد به اخراج مى شد و بعد از ورود به دانشگاه هاروارد، طولى نيانجاميد كه دانست آنجا هم نمي تواند يك برنامه نويس ماورايى را ارضا كند، پس به سمت بازار كار رفت و مايكروسافت را با همكلاسى سابقش (استيو بالمر) تاسيس كرد و شبانه روز در آنجا مشغول برنامه نويسى شد و حتى هفته ها خانه نمى رفت تا مايكروسافت، مايكروسافت شد و بيل جوان به بيل گيتس معروف و موفق تبديل شد!
سرگذشت بيل گيتس هميشه مي تواند بهترين الگو براى موفقيت برنامه نويسان جوان وآماتور باشد و در نگاهى كلي تر شايد الگويى براى همه جويندگان جوان موفقيت!
البته جز او، برنامه نويسان معروف ديگرى هم بودند كه مي توانستند در حد و اندازه هاى او به شهرت و دارايى برسند.

استيو جابز مديرعامل Apple که بسياري، دستاوردهاى Apple را مديون تخيل و نوآورى او مي دانند و يا چارلز سيمونى خالق نرم افزار Office كه كمى جستجو در دست آوردها و دارايي هايش هر انساني را به برنامه نويس شدن تهييج خواهد کرد!
موسسان Google معروف، لرى پيچ و سرگى برين ، نيز در واقع مهم ترين كارشان برنامه نويسى هسته اصلى موتور جستجوى Google بود و آنها را نيز مى توان برنامه نويسان جسور و موفقى دانست كه با پشتكار، يك پروژه دانشجويي دانشگاه استنفورد را به يك غول اينترنتى تبديل كردند.
و البته از اين دست برنامه نويسان موفق، كم نيست و جالب اينكه بسيارى از آنها همگام با موفقيت در برنامه نويسى در زمينه هاى ديگر از جمله تجارت، مديريت، خلاقيت، فضانوردى و غيره نيز موفق ظاهر شده اند.

برنامه نويسى را مي توان شغل قرن بيست و يكم ناميد. شغلى كه سراسر تخيل، نوآورى، ايده پردازى، تحقيق، خلاقيت و پشتكار را شامل مي شود. حال، با اين تعاريف، شايد دهان خيلي ها آب افتاده باشد كه از همين امروز سراغ برنامه نويسى بروند تا آينده شغلى خود را حسابى تضمين كنند. اما برنامه نويسى شايد در ظاهر شيك و با كلاس باشد اما در باطن گاو نر مي خواهد و مرد عمل(!)
قصد ندارم تازه كارها را (البته اگر بشود خودم را كهنه كار ناميد) از اين شغل هراسان كنم اما با بررسى چند توضيح ساده بر ما عيان مي شود كه برنامه نويسى بعد از كار كردن در معدن يكى از مشكل ترين و در عين حال، پيچيده ترين مشاغل است!!
پس از توضيحات بيشتر به چند جمله كوتاه توجه كنيد :
• برنامه نويسى كه پشتكار نداشته باشد، هيچ وقت نخواهد توانست از پس خطاهاى پى در پى بر آيد و ميدان را خالى خواهد كرد، پس هيچ گاه به موفقيت نخواهد رسيد.

• برنامه نويسى كه به روز نباشد، با دانش پايه و آكادميك قبلي اش بدون شك پس از مدتى اندك متوقف خواهد شد.
• هيچ برنامه نويسى به صرف داشتن ليسانس يا فوق ليسانس سر كار نخواهد رفت!
• بسيارى از برنامه نويسان موفق پس از مدتى درخشش سمت هاي کلان مديريتي را در اکثر شرکت هاي IT صاحب مي شوند و اين خود گوياى اهميت شغلى آنهاست.
• گرو ه ها و برنامه نويسان كد باز پس از اينكه ما ه ها وقت خود را روى يك پروژه صرف مي كنند تا آن را به محصولى درخور و ارزشمند تبديل كنند، در پايان، نتيجه تمامى تلاش خود را به صورت كاملاً رايگان در اختيار ديگران قرار مي دهند!
• بسيارى از برنامه نويسان، پس از مدتى به علت ركود خلاقيت و دانش روز، کار خود را از دست مي دهند.
در جملات مطروحه، در مي يابيم برنامه نويسى شغلى خاص و در عين حال، متفاوت از مشاغل عادى است كه به صورت روزمره با آن سر و كار داريم.
يک بار در کتاب عادت هاي ميليون دلاري(Million Dollar Habits) برايان تريسى خواندم براى موفقيت در هر زمينه اى از صنعت گرفته تا دانش و هنر و تجارت شما بايد حداقل بين 5 تا 7 سال وقت خود را به صورت برنامه ريزى شده و مستمر صرف كنيد تا به حد کارشناسي (Expert) دست پيدا کنيد.
با توجه به تجربيات خودم نيز، اين زمان بسيار معقول و درعين حال دست يافتنى مي باشد و غالب اساتيد خودم نيز بعد از گذراندن حداقل اين زمان به جايگاه و درآمد ايده آل خود دست پيدا كرده اند.
متاسفانه، معمولاً افراد در مواجهه با علوم كامپيوتر و علي الخصوص برنامه نويسى بسيار عجول هستند و شايد رونق كتاب هاى آموزشى تحت عنوان هاى آموزش برنامه نويسى در 24 ساعت و غيره از همين جا نشات گرفته است. پتر نورويج يكى از مدرسان معروف علوم كامپيوتر در همين مورد، جملات معروفى دارد:
« مردم خيلي عجله دارند كه در مورد كامپيوترها چيز ياد بگيرند خيال هم مي کنند كه يادگيري كامپيوتر خيلي آسان تر از يادگيري مسائل ديگر است. وگرنه هيچ كتابي در مورد بتهوون، يا فيزيك كوانتوم يا حتي تربيت سگ، در چند روز وجود ندارد»

براى اينكه ما بتوانيم يك برنامه نويس موفق شويم و به درآمد بالا دست پيدا كنيم، بايد بدانيم كه با خواندن چند كتاب و مقايسه و بررسى چند نمونه كد نمي شود ظرف چند ماه به يك برنامه نويس موفق كه درآمد خوبى هم دارد و صاحب شغل و پست مطمئن در شرکت در خوري هم هست تبديل شد.
يك برنامه نويس موفق هميشه بايد خود را عقب بداند و در كسب تجربيات ديگران و تكنيك هاى روز كوشا باشد. از زبان و به نقل قول بسيارى از برنامه نويسان حرفه اى شنيده و خوانده ام كه به روزترين و سريع ترين دانش و كسب و كار دنيا برنامه نويسى است. پس يك برنامه نويس موفق هيچ گاه نبايد به داشته هاى هر چند پربارش قره شود و از تكاپوى روزانه باز ايستد.
يك مشكل ديگر كه غالباً برنامه نويسان نوجوان و يا كم تجربه تر را درگير مي کند، اين است كه آنها بعد از اينكه در توسعه يك نر مافزار، وب سايت و غيره به خطايي برخورد كردند، پس از چند بار تلاش و كوشش از كوره درمي روند و عطاى موفقيت را به لقايش مي بخشند و كلاً يا پروژه را بي خيال مي شوند يا در صورت امكان، بخش مورد نظر را از پروژه حذف مي كنند و غالباً فكر مي كنند گذاشتن زمان هاى بسيار براى حل يك مشكل اتلاف وقت است، در صورتي كه به نظر من نتيجه شكست تا هميشه در ذهن شما خواهد ماند و در روند و زمان كلى انجام پروژه باز هم تاثير خود را خواهد گذاشت.
نكته عملى اينكه يك برنامه نويس براى موفقيت بايد حداقل روزانه بيش از يك ساعت از وقت خود را در وب براى جستجو در مورد تازه هاى زمينه تخصصى خود صرف كند.
يك فرق نامحسوس ديگر كه بين برنامه نويسى حرفه اى و موفق با شكست خوردگان اين راه وجود دارد اين است كه دسته موفق معمولاً از خلاقيت و نوآورى زيادى در كارشان استفاده مي كنند و اين در حالى است كه دسته ديگر با آنكه شايد از بار دانش بيشترى نيز برخوردار باشند، اما به دليل نداشتن تفكر خلاقانه هيچ وقت نمي توانند نمونه محصولات جديدتر، متنوع تر و با كيفيت ترى خلق كنند.

بسيارى از برنامه نويسان از حل مسائل الگو ريتمى و رياضيات گريزانند و احساس مي كنند حل مسائل رياضى و الگوريتمى هيچ كمكى به پيشرفت و كسب درآمد بيشتر آنها در آينده نخواهد كرد اما نبايد فراموش كنيم كه يكى از مهم ترين صفات يك برنامه نويس موفق توانايى او در حل مسئله مي باشد و در واقع، اگر برنامه نويسى از حل مسائل گريزان باشد، عملاً نمي توان نام برنامه نويس بر او گذاشت.
البته براى فرا گرفتن تمامى اين تكنيك ها يك كليد اصلى و ساده وجود دارد و آن چيزى نيست جز علاقه! اگر سعى كنيد با علاقه كد بزنيد، مطمئن باشيد هيچ گاه دغدغه سختي هاى بالا را نخواهيد داشت. به برنامه نويسي علاقه داشته باشيد. اطمينان حاصل كنيد كه آن قدر از برنامه نويسي لذت مي بريد كه حاضر باشيد 10 سال از عمرتان را صرفش كنيد.
در پايان، مي توان گفت عليرغم اينكه برنامه نويسى يك شغل پر درآمد، خلاقانه، پر تنوع و باثباتى است اما نبايد فراموش كرد در اين عرصه تنها كسانى موفق هستند كه تكنيك هاى مطروحه را خوب كسب كرده و به كار گيرند و الباقى متاسفانه در كمال صرف هزينه هاى مالى و زمانى بسيار بايد به داشتن شغل هاى نامربوط و غيرمستقيم و يا پست هاى پايين تر بسنده كنند.

__________________

احد،صمد، قاهر، صادق ...
عاشقشم

لا تقنطوا من رحمة الله

هیچ چیز تجربه نمیشه اینو یادت باشه !!
ترفند هایی براي ويندوز 7


عیب یابی سخت افزاری سیستم در کسری از دقیقه

پاسخ با نقل قول
کاربران زیر از bigbang به خاطر پست مفیدش تشکر کرده اند :
  #8  
قدیمی 06-14-2013
bigbang آواتار ها
bigbang bigbang آنلاین نیست.
مدیر بخش مکانیک - ویندوز و رفع اشکال

 
تاریخ عضویت: Sep 2009
نوشته ها: 2,586
سپاسها: : 5,427

6,159 سپاس در 1,794 نوشته ایشان در یکماه اخیر
پیش فرض یک برنامه نویس خوب چه کسی است !

1- یک برنامه نویس، حدود ده الی بیست درصد زمان خود را به کد نویسی مشغول است و بیشتر برنامه نویس ها بدون توجه به تجربه و مهارت، در هر روز حدود ده الی دوازده خط کد برنامه که در محصول نهایی به کار گرفته خواهد شد، می ­نویسند.

برنامه نویس های حرفه ای نود درصد زمان خود را صرف فکر کردن، تحقیق و آزمایش برای پیدا کردن بهترین طراحی می کنند، اما برنامه نویسان بد، نود درصد زمان خود را صرف تغییر تصادفی کد، مشاهده نتیجه و اشکال زدایی آن می كنند. بیل گیتس در این باره می گوید : «یک تراشکار ماهر و شایسته حقوقی چندین برابر یک تراشکار معمولی دریافت می كند، اما ارزش یک برنامه نویس خیلی خوب و ماهر ده هزار برابر یک برنامه نویس معمولی است.»

2- یک برنامه نویس خوب، ده برابر بیشتر از یک برنامه نویس ساده تولید کننده، مولد و مفید است و یک برنامه نویس حرفه ای و ماهر بیست تا صد برابر بیشتر از یک برنامه نویس ساده مفید خواهد بود. این یک اغراق نیست. مطالعات از دهه 1960 تاکنون بدون تناقض مؤید این امر است. یک برنامه نویس بد، تنها بی فایده نیست. او نه تنها هیچ کاری را انجام نمی دهد، بلکه کارهای بسیاری ایجاد کرده و برای حل آن ها برای دیگران دردسر
ایجاد می كند!

3- برنامه نویسان حرفه ای زمان خیلی کمی را به کد نویسی (کدی که در محصول نهایی به کار خواهد رفت) اختصاص می دهند. افرادی که بیشتر زمان خود را صرف کد نویسی می کنند بسیار تنبل، سهل انگار و متکبر هستند و زمانی برای پیدا کردن راه حل قدیمی برای مسئله پیش روی خود اختصاص نمی دهند. برنامه نویسان حرفه ای استاد تشخیص و استفاده دوباره از الگوهای برنامه نویسی هستند.

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

4- نرم افزارها نیز مانند مفاهیم دیگر از قوانین بی نظمی (Entropy) پیروی می کنند. تغییرات پی در پی به خرابی و فرسایش کد منجر شده و در نهایت یکپارچگی طراحی اصلی را از بین می برند. با این که تغییرات و به تبع آن فرسایش کد امری اجتناب ناپذیر است، اما برنامه نویسی که در به کارگیری یکپارچگی مفهومی طرح خود خوب عمل نمی كند، نرم افزاری تولید می کند که خیلی خیلی سریع دچار فرسایش کد شده و قبل از اتمام، از ارزش و اعتبار مناسب ساقط می شود.

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

5- براساس تحقیقی كه در سال 2004 انجام شده حدود 51 درصد از پروژه های نرم افزاری در وضعیت حیاتی خود دچار شکست شده و حدود پانزده درصد از آن ها به طور کلی به شکست منتهی می شوند. با این حال، این آمار حکایت از پیشرفت شرکت ها و توسعه دهندگان در رابطه با برنامه ریزی و طراحی نسبت به ده سال قبل از آن دارد. در سال 1994 آمار گویای آن بودند که 31 درصد پروژه های نرم افزار به شکست منجر شده اند.

6- برنامه نویسی یک کار بسیار دشوار، تمام وقت و یک فعالیت ذهنی سنگین است. برنامه نویسان حرفه ای در تمام مدت روز و هفت روز هفته به کار خود فکر می کنند. آن ها به طور معمول حجم بسیاری از کد برنامه خود را در حمام یا در تخت خواب می نویسند و به این دلیل که حجم بسیاری از کار برنامه نویسی جایی غیر از روبه روی صفحه كلید انجام می شود، افزایش ساعت کاری افراد در دفتر اداری یا افزایش افراد پروژه کمکی به افزایش سرعت پیشرفت پروژه نخواهد كرد

__________________

احد،صمد، قاهر، صادق ...
عاشقشم

لا تقنطوا من رحمة الله

هیچ چیز تجربه نمیشه اینو یادت باشه !!
ترفند هایی براي ويندوز 7


عیب یابی سخت افزاری سیستم در کسری از دقیقه

پاسخ با نقل قول
کاربران زیر از bigbang به خاطر پست مفیدش تشکر کرده اند :
پاسخ

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


کاربران در حال دیدن موضوع: 1 نفر (0 عضو و 1 مهمان)
 
ابزارهای موضوع
نحوه نمایش

مجوز های ارسال و ویرایش
شما نمیتوانید موضوع جدیدی ارسال کنید
شما امکان ارسال پاسخ را ندارید
شما نمیتوانید فایل پیوست در پست خود ضمیمه کنید
شما نمیتوانید پست های خود را ویرایش کنید

BB code is فعال
شکلک ها فعال است
کد [IMG] فعال است
اچ تی ام ال غیر فعال می باشد



اکنون ساعت 09:03 AM برپایه ساعت جهانی (GMT - گرینویچ) +3.5 می باشد.



Powered by vBulletin® Version 3.8.4 Copyright , Jelsoft Enterprices مدیریت توسط کورش نعلینی
استفاده از مطالب پی سی سیتی بدون ذکر منبع هم پیگرد قانونی ندارد!! (این دیگه به انصاف خودتونه !!)
(اگر مطلبی از شما در سایت ما بدون ذکر نامتان استفاده شده مارا خبر کنید تا آنرا اصلاح کنیم)


سایت دبیرستان وابسته به دانشگاه رازی کرمانشاه: کلیک کنید




  پیدا کردن مطالب قبلی سایت توسط گوگل برای جلوگیری از ارسال تکراری آنها