هر وقت کسی از من می پرسه که برای یادگیری برنامه نویسی از چه زبونی شروع کنم، تا اونجایی که می تونم سعی می کنم بهش توضیح بدم که برنامه نویسی فقط نوشتن تعدادی کاراکتر کنار هم نیست، که بخوای نحوه چیدن این کاراکتر ها رو یاد بگیری، یک نفر وقتی می تونه به خودش بگه برنامه نویس که مفاهیم برنامه نویسی رو درک کنه، اگه شما بدونید حلقه `for` چه کاری انجام میده دیگه مهم نیست توی چه زبونی و با چه سینتکسی ازش استفاده می کنید، میدونید که چی می خواید

چند ساعت پیش Chris Coyier توی CSS-Tricks یک مطلب با عنوان The Syntax vs The Spirit منتشر کرد که خواستم اینجا با شما به اشتراک بزارم.

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

گاهی اوقات دقیقا نمی توانم بخاطر بیاورم که حلقه for چگونه نوشته می شد ولی در چند ثانیه می توانم این مشکل رو حل کنم. برای مثال سری به گوگل زده و عبارت "for loop PHP" را جست جو کنم روی آن لینک امید بخش کلیک کرده و کد را کپی پیست کرده و آن را تغییر دهم.

حلقه `for` در زبان های مختلف

` // ****** RUBY for i in 1..5 puts i end

// ****** JAVASCRIPT
for (i = 0; i < 5; i++) {
console.log(i);
}

// ****** PHP
for ($i = 1; $i < 5; $i++) {
echo $i;
}

// ****** SCSS
@for $i from 1 through 5 {
.n-#{$i} { color: red; }
}

// ****** HAML

  • (1..16).each do |i|
    %div #{i}

// ****** COFEESCRIPT
for i in [1...16]
console.log(i)
`

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

  • میدانیم حلقه `for` واقعا چیست
  • می دانیم کی به حلقه `for` نیاز داریم
  • تفاوت حلقه `for` را با بقیه حلقه ها می دانیم
  • از مشکلات استفاده از این حلقه آگاهیم
سینتکس هر چه می خواهد باشد، این روح عمل است که اهمیت دارد