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

به يك كتاب فروشي برويد و خودتان متوجه خواهيد شد! احتمالاً با كتاب هايي مانند : جاوا در ٧ روز ؛ چگونه در ٢٤ ساعت كامپيوترمان را بشناسيم؟ سي در ٣ ساعت (؟!) روبرو خواهيد شد.كه به اينجا ختم نميشه و شما در مورد ويندوز لينوكس مك و يا حتي اينترنت كتاب هايي پيدا خواهيد كرد!آن هم در زمان هايي شگفت آور!من متن زير رو تو سايت آمازون جست و جو كردم:

pubdate: after 1992 and title: days and
(title: learn or title: teach yourself)
و ٢٤٨ كتاب پيدا شد!!!!٧٨ تاي اول مربوط به كامپيوتر بودند و شماره ٧٩ يادگيري روسي در ٣٠ روز بود.بعد days رو با hours جا به جا كردم و ... ٢٥٣ مورد ديگر!!! ٧٧ مورد اول كامپيوتري بود و شماره ٧٨ م يادگيري قالب ها در ٢٤ ساعت بود. از ٢٠٠ كتاب اول ٩٦٪ كامپيوتري بودند!!!اين يعني چي؟ يعني مردم يا خيلي عجله دارند يا اينكه كامپيوتر ها خيلي راحت تر از موارد ديگر هستند.هيچ كتابي در مورد موسيقي يا فيزيك كوانتوم و يا حتي سگ ها در اين زمان ها نيست!Felleisen يك مقدمه جالب در كتاب طراحي برنامه هايش داده و آن اين است" برنامه نويسي بد راحت است ، احمق ها هم مي توانند آن را در ٢١ روز يادبگيرند، حتي اگر ابله باشند".(منظور اين است كه با تلاش مي توان برنامه نويسي رو تو حداكثر ٢١ روز يادگرفت ولي به درد ... هم نميخوره!)




بيايد بررسي كنيم تيتر يادگرفتن C++ در سه روز به چه معناست:

يادگيري:در ٣ روز شما وقت كافي براي نوشتن برنامه هاي اساسي نداريد و هم چنين قدرت آزمون و خطا از شما گرفته مي شود. شما حتي وقت صحبت با يك حرفه اي را نداريد تا درك كنيد زندگي در C++ چيست. حتي زمان تست كردن همه اديتور ها و كامپايلر ها براي انتخاب بهترينشان را نداريد. در كوتاه مدت، شما خيلي ياد نمي گيريد. پس كتاب در مورد يك سري كليات است، و نه جزئياتي عميق و مفهومي. به قول Alexander Pope" يادگيري كم خطرناك است!"

C++:در ٣ روز شما ممكنه بعضي از دستورات c++ را ياد بگيريد(اگر قبلاً زباني را بلد باشيد)، ولي شما ياد نمي گيريد چگونه از زبان استفاده كنيد.در كوتاه مدت ، اگر شما -تازه كار- باشيد شما مي توانيد برنامه هاي ساده اي با c++ بنويسيد ولي شما نمي توانيد درك كنيد c++ چرا خوب يا بد است. پس هدف چيست؟ يكبار از Alan Perlis شنيدم :"زباني كه به نحوه تفكر شما درباره برنامه نويسي تاثير نمي گذارد، ارزش يادگيري ندارد".يك دليل قابل دسترسي اينه كه شما مي خواهيد قسمتي از C++ (يا flash's flex يا JavaScript) را ياد بگيريد ، براي رسيدن به هدفي خاص(مانند امتحان!!!) اما آن وقت شما ياد نمي گيريد چگونه برنامه نويسي كنيد؛ شما ياد مي گيريد آن هدف را به پايان برسانيد.

در ٣ روز:متاسفانه، اين كافي نيست، همانطوري كه در ادامه خواهيد ديد.


به خودتان برنامه نويسي را در ١٠ سال ياد دهيد.

محققان(Bloom(1985), Bryan & Harter (1899), Hayes(1989), Simmon & Chase(1973)) نشان داده اند حدود ١٠ سال طول مي كشد تا به درجه حرفه اي در هر موضوع وسيعي برسيد. مانند شطرنج، موسيقي، تلگراف، نقاشي، شنا، تنيس، نانو و حتي برنامه نويسي!كليد يادگيري اين است: تلاش ، نه هزار بار نوشتن برنامه Hello World بلكه تمرين كردن برنامه هاي جديد، كه بيشتر از دانش و توانايي شما نياز به دانش و توانايي دارند! تلاش كنيد، پيشرفت و عملكرد خود را بعد و زمان انجام كار بسنجيد، اشتباهات را جبران كنيد. سپس تكرار كنيد. دوباره تكرار كنيد. به نظر ميرسه هيچ راه كوتاه تري نيست: حتي موتزارت، كه در ٤ سالگي نابغه اي در موسيقي بود، ١٣ سال تمرين كرد تا اولين موسيقي جهاني اش را عرضه كند.در ژانري ديگر بيتلز كه به نظر ميرسد رتبه اول گروه هاي موسيقي را از اول داشته اند، براي اولين بار در سال١٩٦٤ (اولين اجراي معروفشان) ساز به دست نگرفتند، بلكه از سال ١٩٥٧ در رستوران هاي كوچك مي نواختند.و حتي پس از آن اولين آلبوم معروف آن ها (Sgt. peppers) در سال ١٩٦٧ عرضه شد.


Malcolm Gladwell گزارش مي كند كه در يك تحقيق از دانش آموزان در آكادمي موسيقي برلين از بين ضعيفان و متوسطان و قويان پرسيده شد چقدر تمرين مي كنيد:


همه از هر ٣ گروه از حدود ٥ سالگي شروع به نواختن كردند.در چند ساله اول همه به يك اندازه تمرين مي كردند-٢ يا ٣ ساعت در هفته. نزديك به ٨ سالگي تفاوت آغاز مي شود: بهترين ها بيشتر از بقيه تمرين مي كردند:٦ ساعت در هفته در ٩ سالگي. ٨ در ١٢ سالگي . ١٦ در ١٤ سالگي و بيشتر و بيشتر و بيشتر تا در ٢٠ سالگي بيش از ٣٠ ساعت در هفته .بهترين ها در ٢٠ سالگي حدود ١٠هزار ساعت تمرين كرده بودند، متوسط ها ٨ هزار و ضعيف ها ٤ هزار.

پس اين ١٠ سال نيست، ١٠هزار ساعت است.Cartier-Bresson گفته "١٠ هزار عكس اول شما افتضاح ترين هايتان است".Samuel Johnson حتي بيش از اين فكر مي كند"حرفه اي شدن در هر زمينه يك عمر طول مي كشد، تخفيفي در كار نيست"و Chaucer گفته"زندگي كوتاه است، سازه بلند"

و يا كاملتر بگويم "زندگي كوتاه است، سازه بلند، شانس زودگذر است، تجربه آموزنده است،قضاوت سخت"



پس مي خواهيد برنامه نويس شويد



دستور پخت يك برنامه نويس:

به برنامه نويسي علافه مند شويد، تا برايتان جالب شود.مطمئن شويد آنقدري جالب است كه در ١٠ سالتان ١٠ هزار ساعت قرار دهيد.

برنامه نويسي كنيد. بهترين روش يادگيري انجام دادن آن است.

با بقيه برنامه نويسان صحبت كنيد، كد هايشان را بخوانيد.اين از هر كتابي مهم تر است.

كلاس برداريد.كتاب لازمه يادگيري است اما كافي نيست. اين مرحله ضروري نيست اما بهتر است انجام شود زيرا انسان ها دوست هاي بهتري نسبت به كتاب ها هستند.Eric Raymond نويسنده ديكشنري جديد هكر ها مي گويد "تحصيل cs(computer science)همانند يك قلم مو و جوهر عمل مي كنند، براي حرفه اي كردن"(تاثير چنداني ندارد!!). بهترين برنامه نويسي كه ديده ام ديپلم هم نداشت(!) اما آنقدر درآمد داشت كه در ٢٠ سالگي مي توانست كلوپ شبانه خودش را افتتاح كند.

روي پروژه ها با بقيه كار كنيد.در بعضي از پروژه ها بهترين برنامه نويس باشيد، براي يادگيري مديريت. در بعضي بدترين باشيد براي يادگيري برنامه نويسي!

روي پروژه هاي تكراري دوباره كار كنيد.برنامه اي كه توسط كسي ديگر نوشته شده را درك كنيد.كد هاي قبلي را تغيير دهيد تا بيشتر ياد بگيريد.

حداقل نيم جين زبان يادبگيريد!شامل يك زبان كه class را پشتيباني كند(c++,java,...) يك زبان كه از تابع پشتيباني كند (Lisp,Ml,...) زباني كه از ساختار ها استفاده كند(prolog,C++template,...) زباني كه از تقارن استفاده كند(sisal,...).

به ياد داشته باشيد در cs يك كامپيوتر وجود دارد، بدانيد چقدر طول مي كشد تا يك كلمه از حافظه خوانده شود، يك برنامه اجرا شودو... .


استاندارد برنامه نويسي كنيد تا راحت تر جواب مشكلاتتان را بگيريد.

ادامه نوشته

عمليات نجات يك لپ‌تاپ خيس شده با آب و مایعات رسانا

گاهي لوازم و مدارهاي الکترونيکي با مايعات تماس پيدا مي‌کنند. تماس مايعات رسانا با مدارهاي الکترونيکي، صدمات جبران‌ناپذيري به آنها وارد مي‌كند.امروز تصمیم گرفتم این ترفند را برای کامپیوترهای همراه یا لپ تاپ ارایه کنیم تا در صورتي که چنين اتفاقي براي لپ‌تاپ شما رخ داد، بتوانید هر چه سريع‌تر براي نجات آن دست به‌کار شويد و با این کار بتوانید لپ تاپ خود را همچنان زنده نگه دارید. ترفند۲۲۰ خواندن این ترفند را اکیدا به دارندگان لپ تاپ توصیه می کند.

1- بلافاصله سيم برق لپ‌تاپ را از کشيده و باتري آن ‌را خارج کنيد. توجه داشته باشيد که در چنين موقعيتي ديگر زمان آن نيست که برنامه‌ها را ببنديد، داده‌ها را ذخيره کرده يا لپ‌تاپ را به‌صورت نرم‌افزاري خاموش کنيد.

 

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

 

3- مراقب باشيد که مايعات به ال‌سي‌دي نرسد (ترفند۲۲۰) و هيچ تماسي با صفحه نمايش لپ‌تاپ پيدا نکند. به هر حال اگر مايعي را روي صفحه نمايش ديديد بدون فوت وقت آن‌را با يک حوله خشک کنيد.

 

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

 

5- هنگام انجام اين كارها، تا جايي پيش برويد که به اشکال برنخوريد و به زحمت و دردسر نيفتيد. مي‌توانيد پس از اين به نمايندگي‌ها و تعميرگاه‌هاي مجاز لپ‌تاپ مراجعه کنيد. اما مطمئن باشيد، همان اقدامات اوليه شما نيز به اندازه کافي در نجات لپ‌تاپ‌تان مؤثر بوده است.

 

6- توجه داشته باشيد که عمل شستشوي بردهاي الکترونيکي داخلي لپ‌تاپ به‌وسيله مايعات و اسپري‌هاي مخصوص مدارهاي الکترونيکي را فراموش نکنيد. اين کار در مورد آب آسانتر بوده و در مورد نوشيدني‌هاي ديگر که خاصيت رسانايي بيشتري دارند (ترفند۲۲۰) و داراي جرم و حالت چسبندگي هستند، به‌مراتب مشکل‌تر است. در اين موارد حتما يک دستکش لاستيکي دست‌تان كنيد و يک حوله را کاملا آغشته به مايعات تميزکننده مدار الکترونيکي کرده و همه قطعات و بردهاي داخلي را به اين وسيله تميز کنيد.

 

7- خب، حالا زمان آن رسيده تا لپ‌تاپ و قطعات آن‌را به حال خود رها کنيد تا خشک شوند. لپ‌تاپ را به حالت پشت و رو قرار داده و براي چند روز در يک اتاق گرم و خشک رها کنيد. هر چه اين زمان طولاني‌تر باشد براي قطعات لپ‌تاپ بهتر است. از به‌کار بردن سشوار براي تسريع در امر خشک شدن اجتناب کنيد.

 

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

ادامه نوشته