الكتابة من الصفر تكون في حالة التعلم - إنشاء نظام تشغيل، لغة برمجية، إطار عمل، مكتبة برمجية- لصقل المهارات ومعرفة كيفية عمل تلك الأشياء.
ولكن الواقع العملي يتطلب الإعتماد على ما تم بناءه من قبل إلا أن يكون به تقصير ما يتطلب منك تطوير لهذه المكتبة أو البرمجية أو البدأ في إنشاء واحدة جديدة بخصائص معينة.
هذا بشكل عام ولكن المُتحكم في الأمر نوعية المشروع ومتطلباته هي ما سيحدد الأدوات والمُتطلبات.
عندما أريد السرعة في العمل ، مع الاداء العالي للنظام ، أبحث عما طوره عشرات ، أو حتى مئات الأفراد و ما قد تم بنائه بإتقان شديد ، بشرط أن يكون مفتوح المصدر . كمثال إطار العمل Laravel
أما إذا كنت أريد أن أطور شئ مع إمكانية تطوير هذا العمل للمستقبل ، فسوف أبدأه من الصفر . كمثال إطار العمل بدر الذي هو من تطويري ولم يرى النور بعد .
أعتقد أن الأمر يختلف بحسب الحال: مبتدئ أو متمرس، مشروع شخصي، مشروع لعميل، أيضا نوع إطار العمل هل هو لشخص وحيد احتكاري وله مجموعة تعينه، أم هو لمجتمع Community يحميه ويدعمه. لكن يمكن القول عموما لا تعد برمجة كل شيء من الصفر ابحث أولا -حتى وإن كنت تعرف كيف تقوم بذلك بمفردك- إن كان هناك عمل سابق حاول الاستفادة منه فربما تقتبس منه أفكار وتتعلم منه شيئا جديدا.
بشكل عام إن حاولت القيام بعمل شئ مشابه للمكتبة فسيستغرق الموضوع مني قرابة 6 ساعات ان كان الموضوع بسيط وقد تكون النتيجة أفضل وبعض الأحيان قد تكون أسوء من المكتبة الجاهزة
فلماذا اضيع وقتي في البناء من جديد وما سأقوم بعملة قام أحد غيري بعملة وقد يكون استغرق أياما به