What is the best programming language to learn

We will have to agree to disagree on this one :laughing:

I have more or less given up hope that they will ever stop being referred to as C/C++.

One thing I think you might want to consider is what you are planning to do with the language. Different languages are used in different places.

For example:

  • The kernel, device drivers and some older software are mostly written in C
  • GUI applications are frequently written in C++, Python, Vala and, unfortunately, Javascript. Java apps were once very common here but it seems like they declined quite a bit.
  • Server applications are commonly written in Java, Go, Ruby and surprisingly people still seem to be developing in PHP.
  • That just scratches the surface, there are also languages used in academia, scientific applications, text processing, etc, etc, etc.

Interestingly, rust is increasingly being used in all those spaces. Someone just this morning asked me what language they should learn to add a compiled, more efficient language to their repertoire and I recommended rust.

Of course, those are just broad generalities and all the technologies are used in most of the other areas plus many more I didn’t list. One of the great things about the proliferation of open source is that people tend to use whatever they want.

1 Like

I think you would enjoy Whitespace, the programming language:

Whitespace, designed in 2003 by Edwin Brady and Chris Morris, is an imperative, stack-based, esoteric programming language that uses only whitespace characters—space, tab, and linefeed—as syntax. All other characters are ignored.


Yeah, me too. :slight_smile:

1 Like

If anyone is a fan of the Terminator movies (at least the first two!), it’s more than likely that SkyNet was written in COBOL and/or PROLOG, if you stick with the technology available at the time in the 1980’s of course. So if you want a programming language that will eventually evolve into an AI that becomes self-aware enough to realize humans are it’s greatest threat, then by all means start there! :wink:

To be fair, that’s the main draw for Rust. It’s meant to be memory secure and therefore ensures that it is. After all memory leaks and the likes are often the biggest problems.

Just remember, if you can type it into a terminal window, you can do it with bash. bash is simply an automated way to run linux commands with some logic thrown in.

Sometimes the best way to learn coding or scripting is to look at existing examples and figure out what they are doing.
Here is an example of a bash script you can look at.

This has the added benefit of the author’s availability to answer questions about the code.

Pudge

3 Likes

Aaaaaaand a little bit of fun on top :cherries:

:upside_down_face:

3 Likes

It is interesting that a few people mentioned COBOL. Here’s what I can personally tell you about it: 1) COBOL was widely used in business and commercial software, primarily applications dealing with “relatively” straightforward arithmetic, but potentially complex business logic. For a long time people considered it obsolete, yet there are many programs with millions of lines of code. If you’d like a job maintaining, or maybe even REPLACING that code, knowing COBOL could actually have value. 2) There are STILL a LOT of programs written in COBOL; they may not be NEW programs, but they are business critical programs, and therefore any job involving the language is likely to be critical and well-paying.

Regarding the use of Bash: it is an excellent shell for interactive use, and it can be used as a script tool to handle simple tasks. Note that as a shell it is interpretive. Therefore any complex logic, especially something with a loop and complex arithmetic, while it MAY actually work, this is not the best use of the language. There are far too many Bash programs that would work far better with something else.

A friend of mine wrote a tool a long time ago that grew and grew. It was very useful, handy for many tasks. It was originally written in Bash. As it grew, and especially as it performed more complex functions, many of them became difficult to program and even more difficult to manage in Bash. I believe that he refactored the entire effort and did it in Perl. The Perl language is interesting because it began as an interpretive language. The pattern handling and function capabilities are extensive, and there are now optimizations available for many things. It’s not an easy language to understand if you take full advantage of the features, but it can also do things not many languages do well, so if you know people who can program in it, there certainly is value; just make sure that it can be maintained.

C is a classic language. It’s one of the best for writing operating systems and core utilities. You may be better served using another language for general purpose programming, though a well-written, well documented program could also be written in C. C++ has better memory management; for certain applications Java could be even better, particularly in interacting with on-line, data intensive applications.
Many of the other languages have their worth and their purpose; these are the ones I can speak to with experience. By the way, FORTRAN does have some useful applications - number crunching programs in certain instances can benefit from FORTRAN, but not the usual business apps; those are much better suited to COBOL. I’ve supported both FORTRAN and COBOL programs, written and maintained C programs and I’ve maintained a few Java and C++ programs. I’ve used Perl and Python for specific purposes, but I’ve usually consulted with others more familiar with them to assist me with complex logic.

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.