برنامه نویسی در مقابل توسعه ی وب: تفاوت این دو چیست؟
1396/09/26 16:24 , شایان مسلمی

برنامه نویسی در مقابل توسعه ی وب: تفاوت این دو چیست؟

درک دنیای برنامه نویسی میتواند برای کسانی که در این امر تجربه ندارند،دشوار باشد.شما باید بدانید که کدام زبان برای مبتدیان بهترین گزینه است.

با این حال، تصورات غلط درباره ی برنامه نویسی حتی بیشتر هم شده است.اگرچه عناوینی مثل "مهندس نرم افزار"،"توسعه دهنده ی وب" و "برنامه نویس" مفهوم نزدیکی به یکدیگر دارند،اما تفاوت هایی کلیدی درباره ی نحوه ی کار آن ها وجود دارد که شما باید بدانید.بیایید ببینیم چه چیزهایی برنامه نویسی و توسعه ی وب را اینقدر متفاوت کرده است.

اهداف مختلف

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

برای درک این تمایز، نقش یک طراح وب را در نظر بگیرید.این طراح مدل اولیه از یک وب سایت را می سازد و ویژگی های آن را برنامه ریزی می کند.این فرد برای انجام این کار، نیاز به هیچ کدی ندارد و از برنامه هایی مثل Adobe Dreamweaver برای طراحی وب سایت استفاده میکند و یا مدل سازی را در Photoshop انجام میدهد.

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

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

از آنجاییکه کمپانی ها نرم افزارهای حیاتی شان را هیچوقت دور نمیریزند،برنامه نویسان ممکن است زمان زیادی را برای شناخت کد برنامه های قدیمی تر و تلاش برای اضافه کردن ویژگی های جدید به آن ها، صرف کنند.در بحث طراحی سایت،زمانی که یک کمپانی به وب سایت جدید نیاز داشته باشد،امری نادر است که یک طراح بخش های جدیدی اضافه کند.

از زبان های مختلفی استفاده میکنند

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

یک توسعه دهنده ی وب از HTML برای ترتیب بندی متون و از CSS برای شخصی سازی نحوه ی نمایش دادن متون استفاده میکند.سپس آن ها جاوااسکریپت برای فعالیت های client-side (مانند بررسی اینکه شما محل ورود رمز عبور را در سایت خالی گذاشته اید) و PHP برای کارهای server-side (مانند جستجو برای عبارتی که کاربر وارد کرده است) را به کار میگیرند.البته،زبان های دیگری نیز وجود دارند که برای توسعه ی وب کاربردی هستند،مثل Ruby.

از طرفی دیگر،یک برنامه نویس میتواند از هر تعداد زبانی برای ساخت برنامه های مورد نیازش استفاده کند.بسته به موقعیت،یک برنامه نویس میتواند از C#،جاوا،C++،Python،C یا هر زبان دیگر استفاده کند.

یک مفهوم مهم درباره ی این تفاوت ها این است که برنامه نویسان وب باید به صورت مرتب تغییرات را در زبان مورد استفاده شان مدنظر داشته باشند.یک کتاب که بر اساس برنامه نویسی وب در سال 2015 نوشته شده، الان ممکن است با تغییرات ناشی از توسعه ی مکرر آن زبان ، قدیمی و منسوخ شده باشد.به همین خاطر،اغلب کلاس های برنامه نویسی وب به صورت منابع آنلاین هستند.

بر خلاف آن،یک کتاب که بر اساس زبان C در سال 1985 نوشته شده ممکن است نسبتاً در آموزش دادن این زبان به دانش آموزان مؤثر باشد،به این خاطر که تغییرات زیادی در این چند دهه تجربه نکرده است.البته،استانداردهای سبکی و تمرین های بهتری وجود دارند که منابع قدیمی از داشتنشان محروم هستند.

تفاوت های مربوط به پیاده سازی

ممکن است به این فکر نکرده باشید،اما زبان هایی که در بالا به آن ها اشاره شد،عملکردهای مختلفی در پشت پرده دارند.

زبانهای برنامه نویسی مثل جاوا و ++C زبان های سطح بالایی هستند،به این معنی که نوشتن یک سطر کد در ++C چشم انداز سنگینی از دستورالعمل های ماشینیدر زمان کامپایل کردن دارد.نوشتن در زبان های سطح پایین،مثل اَسِمبلی کد،میتواند خیلی دشوار و خسته کننده باشد.این سطح های پایینتر از کدها با سخت افزار مرتبط اند،بنابراین میتوانید جابجایی داده ها را در داخل و خارج رجیسترهای مموری مشخص کنید.

برای نمونه،نگاهی به اسمبلی کد زیر بیندازید:

global  _start

 

    section .text

_start:

    ; write(1, message, 13)

    mov rax, 1              ; system call 1 is write

    mov rdi, 1              ; file handle 1 is stdout

    mov rsi, message        ; address of string to output

    mov rdx, 13             ; number of bytes

    syscall                 ; invoke operating system to do the write

 

    ; exit(0)

    mov eax, 60             ; system call 60 is exit

    xor rdi, rdi            ; exit code 0

    syscall                 ; invoke operating system to exit

message:

    db  "Hello, World", 10  ; note the newline at the end

 

در C++، نوشتن این کد ساده ،عملکرد مشابه دستور بالا را دارد:

std::cout << "Hello, World";

میتوانیم ببینیم که زمانی که برنامه نویسان کامپایل هایی را تایپ میکنند،دستگاه این ها را به شکل خوانا برای کامپیوتر تبدیل میکند تا برنامه ها ساخته بشوند.این در تضاد با بیشتر کارهای مربوط به توسعه ی وب میباشد،که نیازی به کامپایل ندارند.یک مورد استثنا در "برنامه های بر اساس وب" وجود دارد که روی وب سرور کامپایل و اجرا میشود اما روی دستگاه شخص نمایش داده میشود.اما این جزو نواحی ای است که در بین برنامه نویسان و توسعه دهندگان تیره میشود.

پردازش زبان وب

قبل تر، ما اشاره کردیم که HTML و CSS جزو زبان های وب محسوب میشوند اما در واقعیت اینگونه نیست.HTML یک زبان مارک آپ است و CSS یک زبان استایل شیت.ترکیب آن ها نشان میدهد که چه چیزی روی صفحه است،چگونه مرتب شده(HTML) و چگونه به نظر می رسد(CSS).آن ها برای ارائه هستند،در حالی که یک زبان برنامه نویسی عملکردی است.شما میتوانید این را خودتان امتحان کنید.یک سند متنی بسازید و نام آن را test.html بگذارید و آن را با کمی کد HTMLهمراه کنید،مانند این:

<h2>This demonstrates why <i>HTML is not a programming language</i>, but rather a <u>markup</u> language.</h2>

آن را ذخیره کنید و در مرورگرتان باز کنید.حالا میبینید که HTML مشخص شده در داخل مرورگرتان اعمال شده است.هیچ کدی کامپایل نشده:فقط مرورگرتان میداند HTML را چگونه ترجمه کند.حالا این را با یک برنامه ی کوتاه C++ که خروجی “Hi!” روی صفحه داشته باشد مقایسه کنید.شما نمیتوانید آن کد را بدون کامپایل کردن استفاده کنید.

خلاصه

عادلانه است که بگوییم توسعه دهندگان وب،زیر مجموعه ای از برنامه نویسان هستند،به دلیل روش ها و مهارت های مشابه.توسعه دهندگان وب از مهارت ها و ابزارهایی استفاده میکنند که برنامه نویسان از آن ها استفاده نمیکنند،مثل ابزارهای طراحی گرافیکی و نرم افزارهای ویرایش ویدیو.همینطور، توسعه دهندگان وب به طور معمول بیشتر از برنامه نویسان با مشتریانشان در ارتباط هستند.یک برنامه نویس موزیلا فایرفاکس را خلق کرد،اما یک توسعه دهنده ی وب Mozilla.com را ساخت.

 

 

 

از آخرین دوره های آموزشی و تخفیف ها مطلع شوید

با تکمیل فرم زیر ، از اخبار و اطلاعات به روز برنامه نویسی و تکنولوژی عقب نمانید

آخرین مطالب

آموزش جامع SQL Server (جلسه ۱۲)
آموزش جامع SQL Server (جلسه ۱۲)

دستور UPDATE در SQL Server برای تغییر داده‌های موجود در یک جدول، از دستور UPDATE به شکل زیر استفاده ...

آموزش جامع SQL Server (جلسه ۱۵)
آموزش جامع SQL Server (جلسه ۱۵)

دستور DROP TABLE در SQL Server گاهی، لازم است یک جدول که دیگر استفاده‌ای ندارد را حذف کنید. برای ...

آموزش جامع SQL Server (جلسه ۳۵: Window Functionها – بخش ۲)
آموزش جامع SQL Server (جلسه ۳۵: Window Functionها – بخش ۲)

بخش اول از آخرین مبحث دوره جامع آموزش SQL Server در جلسه قبلی بررسی شد. این مبحث که ...

آخرین دیدگاه ها

دیدگاه خود را درباره این پست بنویسید

فرم ارسال نظرات