Why Programmers Favor High-Level Languages Over Low-Level Ones
Written on
Chapter 1: Language Selection in Programming
When it comes to programming, the inclination towards high-level languages often stems from their overall efficiency, particularly regarding writing, maintenance, and testing. This choice, while generally accepted, can be nuanced. Here are three key insights:
Limited Language Options
In most projects, the programming language is not chosen freely. Developers typically work within established frameworks that dictate preferred languages. For instance, if tasked with creating a batch process for a PostgreSQL database hosted on a Linux server, the context often necessitates using specific languages or scripts, such as:
A shell script to handle the processing calls.
- Java, if the rest of the project is built in that language (e.g., UI on Tomcat or JBoss).
- Python, if it’s the designated choice for batch operations.
- Perl, in cases where that is the project’s culture.
The language selection is usually shaped by the project architecture rather than personal developer preference.
Section 1.1: The Role of Experience
The preferred architectures and languages are typically informed by past experiences and best practices identified in prior projects.
Consider the case of using bash versus Groovy:
While scripting languages like Python, Perl, and Ruby are becoming more popular for Unix scripting, the requirement often remains to initiate batch processing through a shell script. This ensures a consistent interface for maintainability, avoiding unnecessary complications like installing various interpreters on servers, which can also reduce security vulnerabilities.
Subsection 1.1.1: Groovy’s Integration
Groovy is favored for projects predominantly using Java because it offers compatibility while simplifying coding tasks. However, adopting Groovy also brings operational implications that need careful consideration at the project level.
Section 1.2: Developer's Influence
Many might find it surprising that developers do not have the final say in language selection. The determination is often driven by project requirements and the broader business context. This conservatism in technology choices helps prevent a chaotic mix of languages that can complicate IT solutions.
In large organizations with existing IT infrastructures, it is usually more cost-effective to continue using familiar languages rather than introducing new ones. This is why older languages like COBOL persist, and why Java/J2EE remains a dominant choice, despite the appeal of newer languages like Go or Python.
Chapter 2: Contextual Choices in Programming
In the video "Low level vs high level languages in programming," we explore the distinctions between various programming languages and why high-level languages are often preferred in software development.
The second video, "The Programming Language Guide," provides an overview of different programming languages, helping developers understand which language might best suit their project needs.
In conclusion, while developers may sometimes select from a limited set of languages, the overarching decisions are influenced by project constraints and organizational needs, ensuring that the language choice aligns with both technical and business objectives.