اغلب بحثهایی پیرامون تفاوتهای برنامهنویس، توسعهدهنده و هکر [نفوذگر] در بین دانشآموختگان علوم رایانه دیده میشود. در ادامه سعی داریم تعاریفی غیررسمی اما تا حد ممکن دقیق از این سه دسته بیان کنیم.
۱- برنامهنویس شخصی است که میتواند مسائل را به کمک برنامهنویسی حل کند. برنامهنویس میتواند سطوح مختلفی داشته باشد، برخی از آنها فقط مسلط به یک زبان اسکریپتی ساده هستند و برخی مانند جادوگران میتوانند با همهی زبانهای موجود کد بزنند.
۲- نفوذگر یا به صورت دقیقتر هکر فردی است که میتواند چیزهایی خلق کند! هکر در مفاهیم رایانهای کسی است که میتواند به کمک برنامهنویسی چیزهایی را خلق کند. در واقع این خالصترین تعریف از اصطلاح «هک» است، یعنی فردی که ایدهای در کنار هم قرار دادن برخی چیزها دارد تا چیز جدیدی بسازد که کار میکند. البته اصطلاح هک در مورد افرادی که با اعمال برخی تغییرات منجر به تغییرِ عملکردِ یک وسیله میشوند، نیز به کار میرود.
۳-توسعهدهنده یک برنامهنویس است که به صورت رسمی آموزش دیده است. توسعهدهنده فقط یک مسئله را حل نمیکند یا هدف وی فقط ساختن چیز جدید نیست، حل مسئله یا ساختن چیز جدید با توجه به مجموعهای از اصول طراحی و پیادهسازی انجام میشود. این اصول شامل مواردی چون کارایی، قابلیت نگهداری، مقیاسپذیری، قابلیت پایداریی و در حالت ایدهآل امنیت میباشد.
به صورت خلاصه، هر سهبه کمک برنامهنویسی سعی در حل مسائل دارند. برنامهنویس اصطلاح کلیتری میباشد که به معنی فردی است که مسائل را حل میکند، نفوذگر یا هکر به معنی خالق یا متفکر است و در نهایت یک توسعهدهنده فردی است که به صورت رسمی آموزش دیده و مبتنی بر اصول خاصی برنامهنویسی میکند، توسعهدهنده این اصول را از آموزشهای رسمی فرا گرفته است.
ارتباطات این سه دسته چیست؟
افراد میتوانند در هر ترکیبی از این سه دسته جای بگیرند، در اینجا میخواهیم این ارتباطات را بررسی کنیم:
• همهی نفوذگران و توسعهدهندگان برنامهنویس هستند.
• بسیاری از برنامهنویسان و حتی توسعهدهندگان به اندازهی کافی خلاق نیستند تا بتوانیم آنها را در دستهی هکرها جای دهیم.
• بسیاری از برنامهنویسان و حتی هکرها به اندازهی کافی تجربه ندارند و آموزشهای لازم را ندیدهاند که به آنها توسعهدهنده بگوییم.
اگر یک توسعهدهنده به اندازهی کافی خلاق باشد که با کنار هم قرار دادن برخی برنامهها و اتفاقات منجر به موفقیت خاصی شود، یا اگر یک هکر به اندازهی کافی آموزش دیده باشد که یک نرمافزار را بر اساس اصول مشخصی طراحی کند، به صورت ایدهآل در هر سه دسته جای میگیرند.
به هر حال اگر شما به اندازهی کافی خلاق نیستید، یا به دلیل آموزشهای کم و تجربهی کم نمیتوانید یک نرمافزار در مقیاس بزرگ را طراحی و پیادهسازی کنید، باید به خودتان افتخار کنید که یک برنامهنویس هستید.
حل مسئله به کمک برنامهنویسی یک قدرت خارقالعاده است.
منبع:
ثبت نظر