Ch.10.4 Helpdesk: A Variety of Programming Language

Ace your homework & exams now with Quizwiz!

Mobile Application Development

Often, programmers begin with a prototype, created quickly with drag-and-drop elements using products like Proto.io or Interface Builder. Proto.io (proto.io) is a browser-based tool that lets you construct a working simulation of your application. Interface Builder is part of the Apple Xcode development tool; it requires a bit more expertise to use than Proto.io but can also rapidly create a prototype. When it's time to begin writing the code for an iOS app, programmers turn to Objective C and use the Apple Xcode development toolset. Xcode lets designers code and debug the behavior of the application and simulate the application in a software version of the target device. After the program is running, its performance can be profiled for speed, memory usage, and other possible problems.

Mobile Application Development

The Android software development kit (SDK) is required to build apps targeting Android smartphones and tablets. Programmers work with the Android SDK in many ways, including using well-known IDEs like Eclipse with special plug-ins or using the Android Studio. Information on the latest version of the Android SDK, as well as tutorials, guides, and other resources, is available at the Android Developers page at developer.android.com.

Programming Language Popularity

A wide range of programming languages are in use in the workplace today, because a wide variety of purposes for programming exist. A good first step is to identify the industry you're interested in (banking, multimedia, etc.) and the kind of projects you want to be involved in (web applications, interactive media, mobile applications). Professional programmers can be fluent in many different languages because the basic components of each are similar.

Android mobile app development is often performed in which of the following environments?

Android Studio using Java

C and C++

C provides higher-level programming language features (such as if statements and for loops) but still allows programmers to manipulate the system memory and CPU registers directly. This mix of high- and low-level access makes C attractive to "power" programmers. Most modern operating systems were written in C. The C++ uses all the same symbols and keywords as C, but extends the language with additional keywords, better security, and more support for the reuse of existing code through object-oriented design.

What are the critical issues to consider when selecting the best language for a specific problem?

The speed, the space requirements, and the amount of staffing on hand

Mobile Application Development

If you're looking to get started with simpler apps, tools like Corona and App Inventor produce amazing games and apps quickly. Millions of apps constructed using Corona have been downloaded, including the overnight sensation Bubble Ball created by 14-year-old Robert Nay (see naygames.com). If your goal is to make a mobile app that's specific to one occasion, like a wedding, web-based products make that quick and easy. Magmito supports developing a simple app with text and graphics and requires no programming knowledge.

Objective C is a language commonly used to create what kind of software?

iOS applications

Java and C#

Java's object-oriented model enables programmers to benefit from its large set of existing classes. For example, a programmer could begin to use Java's existing "network connection" class with little attention to the details of how that code was implemented. Classes exist for many graphical objects, such as windows and scroll bars, and for network objects such as connections to remote machines. An attractive feature of Java is that it is architecture neutral. This means that Java code needs to be compiled only once, after which it can run on many CPUs. Observing Java's success, Microsoft released a language named C# (pronounced "see sharp") that competes with Java.

Gathering Information

JavaScript Object Notation (JSON) is a standard for exchanging information between a server computer process and a client. The information is delivered as a series of names and their values, making it easy for programs to parse and easy for humans to read. As you can see, many technologies are involved in modern web app development.

Web Application Development

Many websites feature animations that interact with visitors. They may reach out to several other web resources to gather information or request services like translation. The collection of technologies referred to as AJAX (Asynchronous JavaScript and XML) and the continued evolution of HTML5 allow such web applications to update information on a page without requiring the user to do a page refresh or leave the page. By using existing technologies to do more processing in the browser, users have a more responsive experience.

Why should programmers be prepared to learn many different languages?

Different problems have different needs.

Choosing the Right Programming Language

In production, team managers need to make the decision of which programming language is the best fit for their task. They consider several factors: - Space available: Not all languages produce code that takes up the same amount of space. Therefore, the target language should be well matched to the amount of space available for the final program. For example, if the program will be embedded in a chip for use in a cell phone, it's important for the language to create space-efficient programs. - Speed required: Although poorly written code executes inefficiently in any language, some languages can execute more quickly than others. Some projects require a focus on speed rather than size. These projects require a language that produces code that executes in the fastest possible time. - Organizational resources available: Another consideration is the resources available in a manager's group or organization. Selecting a language that's easy to use and that will be easy to maintain if there's a turnover in programmers is an important consideration. - Type of target application: Certain languages are customized to support a specific environment (UNIX or Windows, for instance). Knowing which languages are most commonly used for which environments can be helpful.

Why is Java is considered an architecture-neutral language?

It can run on many different CPUs with only one compilation.

Which of the following best describes HTML?

It is used to tag elements of web pages and give them structure and formatting.

Scripting Behavior in a Web App

To build websites with interactive capabilities, programmers use Active Server Pages (ASP), JavaServer Pages (JSP), or the scripting language PHP (PHP: Hypertext Preprocessor) to adapt the HTML page to the user's selections. The user supplies information that's translated into a request by the main computer at the company that owns the website, often using a database query language such as SQL. Scripting code in ASP, JSP, or PHP controls the automatic writing of the custom HTML page that's returned to the user's computer.

Web Application Development

Web Page Design A document presented on the web must be written using special symbols called tags. Tags control how a web browser displays the text, images, and other content tagged in Hypertext Markup Language (HTML). Although knowledge of HTML is required to program for the web, HTML itself isn't a programming language. Many good HTML tutorials are available on the web. Programs are available to assist in generating HTML. With Adobe Dreamweaver, you can quickly insert text, images, and hyperlinks and the program inserts the corresponding HTML tags. Online services like Squarespace and Wix allow you to design a website with no direct programming required.


Related study sets

INTB chapter 8 Foreign Direct Investment

View Set

Moroney LSU Biology 1201 Final Exam ALL TESTS

View Set

CompTIA IT Fundamentals Study Guide: FCO-U61

View Set