\r\n\r\n

プログラミングとWeb開発:何が違うの?

アプリケーションプログラマーとWebデベロッパーは同じ仕事をしていると思われるかもしれませんが、実はそうではありません。ここでは、プログラマーとWebデベロッパーの主な違いについて説明します...

プログラミングの世界は、部外者にとってはとっつきにくいものです。例えば、プログラミングの経験がない場合、初心者はどの言語を学ぶのが良いのか分からないかもしれません。

しかし、プログラミングに対する誤解はさらに進んでいる。ソフトウェアエンジニア」「Webデベロッパー」「プログラマー」といった言葉は頻繁に出てきますが、その仕事内容には、注意すべき重要な違いがあります。では、プログラミングとWeb制作は何が違うのか、見ていきましょう。

異なる焦点

どちらもコンピュータ上で物事を実現するためにコードを入力するプロフェッショナルですが、その焦点は大きく異なります。プログラマーはさまざまなことをしますが、通常はまったく新しいコンピュータ・アプリケーションを作ったり、既存のソフトウェアに手を加えたりします。一方、Web開発者は、Webサイトの構築と保守を専門としています。

この違いを理解するために、Webデザイナーの役割について考えてみましょう。デザイナーは、ウェブサイトのモデルを作成し、その機能セットを計画することがあります。ただし、この人はコードを書く必要はない。Adobe Dreamweaverのようなプログラムでサイトのデザインをブロック化したり、Photoshopでモデルを構築したりすることもあります。

ウェブデベロッパーは、こうしたウェブデザイナーとプログラマーの橋渡しをする存在です。ウェブデザイナーがウェブサイトのアイデアを出すと、ウェブデベロッパーがその仕様に合わせて構築する。このプロジェクトにおけるプログラマーの役割は、サイト訪問者からのリクエストに対応するための新しいツールを作ることかもしれません。長い目で見れば、プログラマーはアプリケーションの完成後も作業を続け、ウェブ開発者はサイトの更新や保守を担当することもあります。

また、各プロフェッショナルの業務範囲も重要な問題です。商業的な環境では、プログラマーは、会社が長年使ってきた独自のソフトウェアを拡張する仕事を任されるかもしれません。

その結果、企業にとって重要なソフトウェアを捨てたくないという思いから、古いアプリケーションのコードを把握し、新しい機能を追加しようと多くの時間を費やすこともある。ウェブサイトのデザインに関して言えば、企業が新しいウェブサイトを作りたいと思ったとき、外科的に新しいパーツを追加することはほとんどありません。Webサイトの場合は、ゼロからスタートするのが効率的です。

異なる言語を話す

ご存知のように、プログラミング言語には何十種類もの種類があり、そのどれもが異なる利点と用途を持っています。モバイルアプリケーションを作る人は、ウェブアプリケーションを作る人とは異なる言語を使うでしょう。正しいウェブプログラミング言語を選択する方法については、すでに説明しました。

ウェブ開発者は、HTML(プログラミング言語ではない)を使ってテキストを整理し、CSS(これもプログラミング言語ではない)を使ってテキストの表示方法をカスタマイズしています。そして、クライアントサイドの動作(ログイン時にパスワード欄が空白であることを確認するなど)にはJavaScriptを、サーバーサイドの動作(ユーザーが入力した単語を検索するなど)にはPHPを使用します。もちろん、Web開発ではRubyなど他の言語も使われます。

一方、プログラマーは必要なアプリケーションを構築するために、いくつもの言語を使うことができます。状況に応じて、プログラマーはC++、java、C++、Python、Cや他の選択肢を使ってアプリケーションを構築することができます。

このような違いから、Webプログラマーは使用する言語の変更に定期的に対応しなければならないという重要な意味があります。これらの言語は急速に発展しているため、2015年に書かれたWebプログラミングの教科書は、すでに深刻な時代遅れに陥っている可能性があります。そのため、Webプログラミングの授業は、書籍ではなく、オンライン教材で行われることが多い。

一方、1985年にC言語で書かれた教科書は、数十年前からほとんど変わっていないため、学生に言語を教えるのに極めて効果的です。もちろん、古いリソースでは見逃してしまうようなスタイルスタンダードやベストプラクティスはありますが、Web開発のレベルには到底及ばないものです。

実装の違い

まさかと思うかもしれないが、上記の言語は、実は裏ではまったく異なる機能を担っている。

javaやC++などのプログラミング言語は高水準言語であり、C++コードの入力は、コンパイルされる実際のマシン命令から抽象化されている。アセンブリコードのような低レベルの言語で書くと、非常に面倒で大変なことになります。この低レベルのコードは、ハードウェアと密接に関係しているため、特定のメモリ・レジスタへのデータの出し入れを指定する必要があります。

例えば、LMUのComputer Scienceのウェブサイトにある "Hello, World "を表示するアセンブリコードのサンプルをご覧ください。

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 exitmessage: db "Hello, World", 10 ; note the newline at the end

C++では、この単純な行をタイプすることで同じ機能を実行します。

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

プログラマーが入力したコードが実際にコンパイルされると、機械がそれをコンピュータで読める形に加工して、動くアプリケーションを作るということがわかる。これは、コンパイルを必要としないほとんどのWeb開発業務とは著しく対照的です。ウェブベースアプリケーション」の中には、ウェブサーバー上でコンパイル・実行されながら、クライアントコンピュータ上に表示されるものもありますが、これはアプリケーションプログラマーとウェブ開発者の間のグレー**な領域で、例外的なことなのです。

Web言語処理

先ほど、HTMLやCSSはプログラミング言語ではない、と述べました。その代わり、HTMLはマークアップ言語、CSSはスタイルシート言語です。その構文は、ページ上に何があるか、どのように構成されているか(HTML)、どのように見えるか(CSS)を記述するものです。プログラミング言語が関数型であるのに対し、表現型である。あなたのコンピュータに test.html というテストを作成し、基本的な HTML コードを記述してください。

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

保存して任意のブラウザで開くと、指定したHTMLがすでにブラウザで有効になっていることが確認できます。コンパイルされたコードはなく、ブラウザはHTMLの解釈方法を知っているだけです。短いC++プログラムと比較して、"Hi!"と出力してください。を画面に表示させることができます。コンパイラがなければ、オンラインツールやVisualStudioができるようなコードを実行させることはできません。

要するに

ウェブデベロッパーはプログラマーのサブセットであると言えるかもしれません。なぜなら、両者は同じようなアプローチとスキルを共有しているからです。ウェブデベロッパーは、グラフィックデザインユーティリティやビデオ編集ソフトウェアなど、プログラマーが使いたがらないスキルやツールを使用します。また、Web制作者はプログラマーよりもお客様と接する機会が多いのが普通です。プログラマーがMozilla Firefoxを作るが、WebデベロッパーがMozilla.comを作る。

プログラミングを始めるなら、マイクロソフトが提供する無料の開発ツールが便利です。ウェブ開発に傾倒している場合、フロントエンドとバックエンドのウェブ開発のどちらを選択するかは、私たちにお任せください。

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ