Bytes: There are lot of misconceptions about programming and programmers. Though terms like “software engineer,” “web developer,” and “programmer” get thrown around, there are some key differences about their work that you should know. Let’s examine what makes programming and web development so vastly different.
While both types of professionals type lines of code to make things happen on a computer, their focuses are vastly different. Programmers vary in what they make, but typically create brand-new computer applications or add on to existing software. Web developers, on the other hand, deal specifically with building and maintaining websites.
Web developers bridge the gap between these web designers and programmers. While a web designer comes up with an idea for the website, the web developer builds it to their specifications. In this project, a programmer’s role might be creating a new tool to help process the website visitor’s requests. In the long run, a programmer would move on after his app was completed, while the web developer would probably be responsible for updating and maintaining the site.
Another important point is the scope of each professional’s work. In a business environment, a programmer might be tasked with expanding proprietary software that a company has used for years.
Thus, they might spend a lot of time figuring out the code for older applications and trying to add new features to them, since a company doesn’t want to throw away software essential to its business. When it comes to website design, it’s rare to surgically add new parts when a company wants a new website. For websites, it’s more efficient to start from scratch.
They Use Different Languages
As you probably know, there are dozens of different programming languages, all with different strengths and purposes. Someone building mobile apps will use a different language than someone building a web application.
On the other hand, a programmer could use any number of languages to build the application that he or she needs. Depending on the situation, a programmer could use C#, Java, C++, Python, C, or any other number of choices to build an application.
In contrast, a textbook written on C in 1985 could still be fairly effective in teaching students that language, because it hasn’t changed much in decades. Of course, there are some stylistic standards and best practices that an old resource might miss, but nowhere near the level of web development.
Differences in Implementation
You might not think it, but the languages discussed above actually perform very different functions behind the scenes.
Programming languages like Java and C++ are high-level languages, which means that typing a line of C++ code is heavily abstracted from the actual machine instructions that it turns into when you compile it. Writing in low-level languages, like assembly code, would be extremely tedious and difficult. These lower levels of code closely deal with hardware, so you must specify moving data in and out of specific memory registers.
For instance, have a look at this example assembly code to print “Hello, World” from LMU’s computer science website:
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
In C++, typing this simple line would perform the same function:
std::cout << "Hello, World";
We can see that when the code programmers type actually compiles, the machine processes it into a computer-readable form to create a working application. This contrasts significantly with most web development work, which doesn’t need to be compiled. There is the exception of some “web based applications” which compile and run on the web server but display on the client machine — but this is where the area between application programmers and web developers gets gray.
Web Language Processing
<h2>This demonstrates why <i>HTML is not a programming language</i>, but rather a <u>markup</u> language.</h2>
Save it and open it in your browser of choice, and you’ll see that the HTML you specified already took effect inside your browser. No code compiled; your browser just knows how to interpret HTML. Compare this with a short C++ program that outputs “Hi!” to the screen — you can’t make that code do anything without a compiler like you’d find in Visual Studio or online.