برنامه نویسی از جهاتی شبیه مترجمی است.البته نه مترجم های زبان هایی که انسان ها با آن ها صحبت می کنند،بلکه مترجم منطق و مقصود خواسته های انسان؛یعنی برای حل مسائل کاربران ،بایدمنطق درخواست آن ها را به زبان رایانه ترجمه کند و نه دقیقا واژه های ایشان را.

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

معمولا اصلی ترین بخش در مسابقات برنامه نویسی ،پخش پرسش های الگوریتمی است.پرسش هایی که در این بخش مطرح می شود را کسانی میتوانند درست و کامل پاسخ دهند که «نحوه تفکر و نگرش منطقی»را خوب درک کرده باشند.برنامه نویس های الگوریتمی،حرفه ای ترین نوع برنامه نویس ها هستند.

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