プリンキピア

第9章ソフトウェア工学

TECHNOLOGY IN EVERYDAY LIFE日常生活の中の技術
Programming Languages: A Software Engineer’s Toolkitプログラミング言語:ソフトウェアエンジニアの道具箱
Imagine a toolbox with specialized tools—a hammer for carpentry, or a paintbrush for art. Software engineers also use various tools, and some of their tools are programming languages! Just as the right tool makes a job more accessible, the correct programming language helps engineers build different software applications.
英語のヒント
大工仕事の金づちや、美術で使う筆など、用途に合った道具が入っている道具箱を想像してみよう。ソフトウェアエンジニアもさまざまな道具を使う。その一部がプログラミング言語である。適切な道具を選べば仕事を進めやすくなるのと同様に、適切な言語を使うことで、さまざまなソフトウェアアプリケーションを作りやすくなる。
Can You Guess the Language?
どの言語か分かるだろうか
Identify the programming languages commonly used to build the following types of applications:
次の種類のアプリケーションを作る際に、一般に使われるプログラミング言語を挙げてみよう。
• Mobile app (like Instagram)
• モバイルアプリ(Instagramなど)。
• Website (like Wikipedia)
• Webサイト(Wikipediaなど)。
• Video game
• ビデオゲーム。
Possible answers include JavaScript, Python, C++, Java.
考えられる答えには、JavaScript、Python、C++、Javaなどがある。
Why So Many Languages?
なぜこんなに多くの言語があるのか
Each programming language has its strengths. Some languages are great for building an application’s core functionality (like C++ or Java), while others are better suited for adding interactivity (like JavaScript). Understanding different languages allows software engineers to choose the right tool for the job.
英語のヒント
どの言語にも得意なことがある。アプリケーションの中核となる機能の構築に向く言語もあれば(C++やJavaなど)、対話性を加えるのにより適した言語もある(JavaScriptなど)。さまざまな言語を理解していれば、その仕事に合った道具を選べる。
How Many Languages Should a Software Engineer Know?
エンジニアは何種類の言語を知るべきか
There is no right or wrong answer to this question. It is possible, though not common, to be employed as a software engineer knowing only a single programming language. Typically, however, successful software engineers understand the different categories of programming languages and the common structure and design features of each.
英語のヒント
この問いには、正解も不正解もない。一つの言語しか知らなくてもエンジニアとして雇われることは可能だが、一般的ではない。通常、有能なエンジニアは、言語のさまざまな分類と、それぞれに共通する構造や設計上の特徴を理解している。
It is often recommended that a software engineer learn a primary programming language that can be used for system-level programming such as C, C#, or C++. Additionally, in today’s world, a software engineer should understand object-oriented programming, which is done in languages like Python, C++, and Java. Because web development often is a part of solutions, knowing a scripting language, such as JavaScript, Python, PHP, Perl, or Ruby, is also beneficial. Finally, understanding markup languages such as HTML and XML is also important.
英語のヒント
C、C#、C++のように、システム水準のプログラミングに使える主要な言語を習得することが、エンジニアにはよく勧められる。また、現在では、Python、C++、Javaなどで行うオブジェクト指向プログラミングも理解しておくべきである。Web開発は仕組みの一部になることが多いため、JavaScript、Python、PHP、Perl、Rubyなどのスクリプト言語を知っていることも有益である。最後に、HTMLやXMLなどのマークアップ言語の理解も重要である。
Of course, the best languages to know are dependent on the projects that are worked on. If a software engineer is creating embedded solutions, then the programming language is likely going to be much different than if they are doing high-end gaming solutions or web-based solutions. Chapter 7 High-Level Programming Languages delves deeper into programming languages.
もちろん、どの言語を知っているのが最善かは、担当するプロジェクトによる。組み込み型の仕組みを作る場合、使う言語は、高度なゲームやWebを基盤とする仕組みを作る場合とは大きく異なるだろう。プログラミング言語は、第7章「高水準プログラミング言語」でさらに詳しく扱っている。