Scratch เป็นสภาพแวดล้อมใหม่ของการเขียนโปรแกรม (new programming environment) ในรูปแบบที่ใช้งานง่าย เพียงลากแล้วปล่อยบล็อกคำสั่ง (as easy as dragging and dropping blocks) ไปยังส่วนที่กำหนดไว้ของโปรแกรม เราสามารถที่จะใช้ Scratch เพื่อโปรแกรม games, stories, and animation
การเรียนรู้ Scratch เป็นพื้นฐานสำคัญที่จะนำไปใช้ประโยชน์ (utilize to learn more advanced languages) ในการเรียนรู้ภาษาในระดับสูงขึ้น เช่น Ruby, PHP, and Python เป็นต้น นอกจากนี้การเรียนรู้หรือการจัดการเรียนรู้ด้วย Scratch ยังเป็นการพัฒนาทักษะการเรียนรู้ที่จำเป็นสำหรับศตวรรษที่ 21 (The 21st century learning skills) ด้วยการเรียนรู้ที่จะออกแบบงาน (how to design) การคิดวิเคราะห์ (think critically) การร่วมมือช่วยเหลือกัน (collaborate) การสื่อสาร (communicate) และการโปรแกรมภาษาคอมพิวเตอร์ (program in a computer language)
และในการเขียนโปรแกรม งาน(ใหญ่) ควรแบ่งเป็นงานย่อยๆ แต่ไม่ควรย่อยเกินไป เนื่องจากคอมพิวเตอร์มิได้ฉลาดสามารถคิดขั้นตอนการทำงานได้เอง (ในอนาคตก็ไม่แน่) อีกทั้งงานเดียวกันยังอาจทำได้หลายวิธีแตกต่างกัน ดังนั้นเป็นหน้าที่ของโปรแกรมเมอร์ที่ต้องออกแบบการทำงาน แบ่งงาน และลำดับขั้นตอนการทำงาน (algorithm) ให้กับคอมพิวเตอร์
โปรแกรม Scratch ยังเป็นโปรแกรมภาษาคอมพิวเตอร์ภาษาหนึ่งที่พัฒนาขึ้นมาเพื่อให้นักเรียนได้เรียนรู้ การเขียนโปรแกรมคอมพิวเตอร์ ในรูปแบบของกราฟิก ลากแล้ววาง อาจมีการกำหนดค่าบ้างเล็กน้อย นักเรียนสามารถเรียนรู้ได้ง่าย สนุกสนานกับการเรียนรู้
โปรแกรม Scratch มีลักษณะเป็นบล็อกโปรแกรม (Block) นำมาต่อกันเพื่อสร้างรหัสคำสั่ง (Code) เพื่อสั่งให้โปรแกรม Scratch ทำงานตามที่ได้เขียนโปรแกรมไว้
โปรแกรม Scratch สามารถนำมาใช้พัฒนาซอฟต์แวร์เชิงสร้างสรรค์ เช่น นิทานที่สามารถโต้ตอบกับผู้อ่านได้ ภาพเคลื่อนไหว เกม ดนตรี และศิลปะ และเมื่อสร้างเป็นชิ้นงานเสร็จ แล้ว สามารถนำชิ้นงานที่สร้างสรรค์นี้ แสดง และแลกเปลี่ยนความคิดเห็นร่วมกับผู้อื่นได้