If you need to get began or get forward in your programming profession, studying a brand new language is a brilliant thought. But the large variety of languages in lively use invitations the query: Which programming language is the perfect one to know? To reply that, let’s begin with a simplifying query: What form of programming do you need to do?
If you need to do net programming on the shopper facet, then the specialised languages HTML, CSS, and JavaScript—in one among its seemingly infinite dialects—are de rigueur.
If you need to do net programming on the server facet, the choices embrace the entire acquainted general-purpose languages: C++, Golang, Java, C#, Node.js, Perl, Python, Ruby, and so forth. As a matter after all, server-side packages work together with datastores, resembling relational and different databases, which suggests question languages resembling SQL might come into play.
If you are writing native apps for cell units, realizing the goal platform is essential. For Apple units, Swift has supplanted Objective C because the language of selection. For Android units, Java (with devoted libraries and toolsets) stays the dominant language. There are particular languages resembling Xamarin, used with C#, that may generate platform-specific code for Apple, Android, and Windows units.
What about general-purpose languages? There are numerous selections throughout the normal pigeonholes. Among the dynamic or scripting languages (e.g., Perl, Python, and Ruby), there are newer choices resembling Node.js. Java and C#, that are extra alike than their followers wish to admit, stay the dominant statically compiled languages focused at a digital machine (the JVM and CLR, respectively). Among languages that compile into native executables, C++ continues to be within the combine, together with later arrivals resembling Golang and Rust. General-purpose useful languages abound (e.g., Clojure, Haskell, Erlang, F#, Lisp, and Scala), usually with passionately devoted communities. It’s price noting that object-oriented languages resembling Java and C# have added useful constructs (specifically, lambdas), and the dynamic languages have had useful constructs from the beginning.
Let me finish with a pitch for C, which is a small, elegant, and extensible language to not be confused with C++. Modern working techniques are written principally in C, with the remaining in meeting language. The normal libraries on any platform are likewise principally in C. For instance, any program that points the Hello, world! greeting does so by a name to the C library perform named write.
C serves as a transportable meeting language, exposing particulars concerning the underlying system that different high-level languages intentionally disguise. To perceive C is thus to realize a greater grasp of how packages contend for the shared system assets (processors, reminiscence, and I/O units) required for execution. C is directly high-level and close-to-the-metal, so unequalled in efficiency—besides, after all, for meeting language. Finally, C is the lingua franca amongst programming languages, and nearly each general-purpose language helps C calls in a single kind or one other.
For a contemporary introduction to C, take into account my e book C Programming: Introducing Portable Assembler. No matter the way you go about it, be taught C and you may be taught much more than simply one other programming language.
What programming languages do you suppose are essential to know? Do you agree or disagree with these suggestions? Let us know within the feedback!