Skip to main content
Advertisement
Browse Subject Areas
?

Click through the PLOS taxonomy to find articles in your field.

For more information about PLOS Subject Areas, click here.

< Back to Article

Table 1.

Percentage of leading FPLs taught.

More »

Table 1 Expand

Figure 1.

Genealogy of Programming Languages.

More »

Figure 1 Expand

Table 2.

Evaluation Framework.

More »

Table 2 Expand

Table 3.

No. of assembly language instructions for one instruction of the considered FPLs.

More »

Table 3 Expand

Figure 2.

(Code Listing 1) Keywords in Fortran. (Code Listing 2) Different syntax for stack and heap memory objects.

More »

Figure 2 Expand

Figure 3.

Default initialization rules in Java.

More »

Figure 3 Expand

Table 4.

Orthogonality of FPLs.

More »

Table 4 Expand

Figure 4.

(Code Listing 4) Dynamic type binding. (Code Listing 5) Accidently converting integer to list type in Python.

More »

Figure 4 Expand

Figure 5.

Free and discriminant union.

More »

Figure 5 Expand

Figure 6.

Autoboxing and unboxing.

More »

Figure 6 Expand

Table 5.

Strongly Typed.

More »

Table 5 Expand

Figure 7.

(Code Listing 10)Coercion with demotion in C++. (Code Listing 11) Referential transparency and side effects.

More »

Figure 7 Expand

Figure 8.

Functional side effects.

More »

Figure 8 Expand

Figure 9.

(Code Listing 13) Mixing of operators in boolean expressions. (Code Listing 14) Division operator in C++.

More »

Figure 9 Expand

Figure 10.

Scope overriding and short-circuit evaluation.

More »

Figure 10 Expand

Table 6.

Enforceability of Good Habits.

More »

Table 6 Expand

Figure 11.

Memory leakage and dangling reference.

More »

Figure 11 Expand

Figure 12.

Array index-out-of- bounds, and pointer arithmetic problems.

More »

Figure 12 Expand

Table 7.

Security issues in FPLs.

More »

Table 7 Expand

Figure 13.

Swap function in C++.

More »

Figure 13 Expand

Figure 14.

Feature multiplicity.

More »

Figure 14 Expand

Table 8.

Feature Uniformity for FPLs.

More »

Table 8 Expand

Figure 15.

“Hello World” program in Pascal and Ada.

More »

Figure 15 Expand

Figure 16.

“Hello World” program in Modula-2 and Java.

More »

Figure 16 Expand

Figure 17.

“Hello World” program in C# and Fortran.

More »

Figure 17 Expand

Figure 18.

“Hello World” program in C and C++.

More »

Figure 18 Expand

Figure 19.

“Hello World” program in Python.

More »

Figure 19 Expand

Table 9.

Console Input and Output.

More »

Table 9 Expand

Table 10.

Effort required for writing simple program.

More »

Table 10 Expand

Table 11.

Demand in Industry.

More »

Table 11 Expand

Figure 20.

Multithreading in Python and Java.

More »

Figure 20 Expand

Figure 21.

Exception propagation and cascade aborts.

More »

Figure 21 Expand

Figure 22.

Packages in Java and C#.

More »

Figure 22 Expand

Figure 23.

Generics in Java and C++.

More »

Figure 23 Expand

Table 12.

Contemporary Features.

More »

Table 12 Expand

Table 13.

Criteria for transition cost (‘N’ is total considered languages).

More »

Table 13 Expand

Table 14.

Easy Transition (each comparison cell shows the costs paradigm shift/static-dynamic type shift/hop count).

More »

Table 14 Expand

Figure 24.

If statement in Ada.

More »

Figure 24 Expand

Figure 25.

Ambiguous semantics of unary operators.

More »

Figure 25 Expand

Table 15.

Readability of syntax in FPLs.

More »

Table 15 Expand

Figure 26.

Run-away comment.

More »

Figure 26 Expand

Table 16.

Supported comments and their types.

More »

Table 16 Expand

Figure 27.

(Code Listing 43) Comment syntax vs. Pointer syntax clash. (Code Listing 44) Significance of space in C++.

More »

Figure 27 Expand

Figure 28.

The usage of if instruction with and without compound statement.

More »

Figure 28 Expand

Figure 29.

Dangling Else problem.

More »

Figure 29 Expand

Figure 30.

Matching of else keyword with outer if keyword using indentation in Python.

More »

Figure 30 Expand

Figure 31.

Naming conventions in Java.

More »

Figure 31 Expand

Figure 32.

Use of parenthesis in expressions.

More »

Figure 32 Expand

Table 17.

Coding standards that can or cannot be implemented by programming language.

More »

Table 17 Expand

Table 18.

Quality coding standards enforced by considered FPLs.

More »

Table 18 Expand

Table 19.

Support of user friendly integrated environment.

More »

Table 19 Expand

Table 20.

Mapping of the qualitative measure onto the quantitative score.

More »

Table 20 Expand

Table 21.

Unbounded and bounded (normalized) technical and environmental scores of languages.

More »

Table 21 Expand

Table 22.

Score based on technical features (sorted based on LsTECH).

More »

Table 22 Expand

Table 23.

Score based on environmental features (sorted based on LsENV).

More »

Table 23 Expand

Table 24.

Overall score for widely used programming languages (sorted based on score with default weights).

More »

Table 24 Expand

Table 25.

Overall score for widely used programming languages (sorted based on score with customized weights).

More »

Table 25 Expand