DEV Community

oOosys
oOosys

Posted on

What is the best and easiest-to-learn programming language in 2024?

There are so many out there ... even if the list of the really big players is limited to JavaScript, Python, Java, C#, C/C++ and PHP.

In spite of really rapid growth of the number of programming languages the amount of them used by larger communities is still by far lower than the number of various worldwide spoken languages.

Why are there so many languages? The actual reason for this a newbie overwhelming amount leading to the question asked in the title is rooted in the very, very deep past and related to what happened at the "Tower of Babel".

Is there an answer to the question taking only one sentence and being at the same time also a very simple, true and straightforward answer to this question? Here it is:

"The best programming language is the one you already know and understand."

If you succeeded to read down to THIS sentence I am assuming that you already know and understand the English language, so ... why not use it as programming language? According to the motto of the oOo project on github

"Teaching the system to understand what you say is a much better investment than learning the language the system can understand."

I invite you herewith to dedicate the year 2024 to shifting your mindset up to thinking the oOo way and start to customize your private computer system towards understanding what you say.

May the power of oOo be with you!

Top comments (16)

Collapse
 
asitachi profile image
Danijel Ritan

Best programming language

You're right, it's 2024 and there are many languages, but in development you often use one of the big languages like Java, Python, C# ...

I think it's a question of what you want to do in programming, because each language has a specific purpose (of course, many overlap in use), but decide what you want to do and then see which language would be best for your goals.

Collapse
 
efpage profile image
Eckehard

Maybe this could be an interesting aspect. We have to recognise that different code in different language finally DOES the same and probably compiles down to the same machine code. So, maybe you skip the computer language / compile completely?

Collapse
 
ooosys profile image
oOosys • Edited

Thank you for sharing this — it saves me time expressing this thought myself, and I can refer to your article regarding the motivation behind the rough plan of how to generally approach this issue in oOo. What you have noticed and detected is a very important observation that is part of the mindset shift required to understand the oOo way.

The current oOo notion is to generally allow, due to the guideline "Less options result in fewer problems" only a dictionary of values as the oOo text variable type. This idea is inspired by Lua, where a table data type replaces the list, dictionary, and set data types used in Python. It is capable of getting a name with a single value as a special case of a list with one item. Computers are generally extremely good at repetitions, so running repetitions over a list of values is the most natural thing here.

In other words, the rough guideline is there, but the details — which may be different in each spoken language because of language specifics — still need to be developed. Focusing on English as the first spoken language for providing a demonstration of the usefulness of the oOo way of doing things, what about joining our efforts and letting ChatGPT check the possible options for language expressiveness?

In your opinion, what would be the most common and well-understood way of expressing what needs to be done using the English language? Imagine marking a block of executable "words" which, in its code, uses, once for all, a default defined concept of "valueToLoopOverWhileRunningRepetitionsOfCodeBlock," writing to a file with the same name the values for: [start], [stop], [step, [step, step, ...]], and giving this block a name to be able to use it to execute all the required repetitions of this block.

The oOo orchestrator script interpreter will then "see" that this block uses a "valueToLoopOverWhileRunningRepetitionsOfCodeBlock" and transpile it to a programming language of choice for execution. Notice that the idea is to have the step generally as a list of values to allow looping over different step values in each step — you need to program in other languages if you want this functionality.

Collapse
 
efpage profile image
Eckehard

This could be your bible to think about programming languages...

What we do with programming languages is pretty stupid. Get a value, count from 1 to 10, print the string I have given and so on. That is what a programming language expresses.

Above this levels, we find algorithms. Calculate the fibonacci-numbers, compress an image, send an e-mail and so on.

Above this level we find content. All images of the last party, a nice poem, don´t forget to call your grandma.

Which level do you want to address with your approach?

Thread Thread
 
ooosys profile image
oOosys • Edited

Sorry, but having fun out of giving in and playing around with the outcome rooted in influence of forces which since Tower Of Babel up to modern times are busy with distracting you from what all people around the world have in common is against the spirit of oOo and from the oOo perspective not worth to spend thoughts upon. If you consider such contribution a kind of a bible for thinking about programming languages I encourage you to switch to another religion first before shifting your mind towards the oOo way of thinking. oOo has its roots in a very deep spiritual components playing a vital role in making up the mind and choices leading to necessary decisions and actions. This is why you may need to make some unusual experiences as for example this one with Alexander Technique in order to get yourself into a state of making it possible to see where oOo comes from.

I am addressing, if I have got the right idea what you are asking about, the mechanism of choice which leads from the desire rooted in the "individual meta language" (more about it at github ) striving to achieve an effect to making out of the own private computer system a kind of a butler providing this effect for you just by listening to what you request from it using the language you use anyway in your day to day communication with the outer world. This means I am addressing the level of content, trying to simplify the way to get at it to farthest possible level.

--- Below the ChatGPT version of the above, which I see as evidence of mastering the English language at a level I am not (yet) capable of myself:

I apologize, but deriving enjoyment from yielding to and experimenting with outcomes influenced by forces that, from the Tower of Babel to modern times, are actively engaged in diverting attention from our shared human commonalities goes against the spirit of oOo. From the oOo perspective, it's not considered worthwhile to dwell on such matters. If you view this contribution as a kind of guide for contemplating programming languages, I suggest exploring another mindset before embracing the oOo way of thinking. oOo is deeply rooted in spiritual components that play a vital role in shaping one's mind, choices, and, consequently, the necessary decisions and actions. This is why you may find it beneficial to undergo unique experiences, such as exploring the Alexander Technique, to attune yourself to the origins of oOo.

If I understand your inquiry correctly, I am addressing the mechanism of choice stemming from the desire rooted in the "individual meta language" (more details at GitHub), aiming to produce an effect. The goal is to transform your personal computer system into a sort of butler that effortlessly provides the desired effect by simply listening to your requests expressed in the language you naturally use in your daily communication with the external world. In essence, I am delving into the content level, endeavoring to streamline the approach to its most accessible form.

Thread Thread
 
efpage profile image
Eckehard

I did not want to make fun, just Dylan Beattie gives you a very uniqe perspective on what a programming language could be.

Thread Thread
 
ooosys profile image
oOosys • Edited

Yes, it's interesting. Thank you for sharing it. With my old mindset prior to being aware of the oOo way I would be sure fascinated by the lecture enjoying bending my mind around the various language variants. From the perspective of the oOo mindset it is a waste of time and waste of efforts and therefore not worth the attention. There is always an infinite number of ways to go wrong you can waste your time on and then even die without ever becoming aware of, or just because of rejecting of becoming aware, of the fact that there is a much better and clearly superior way there.
Currently it seems that the oOo way is that far from the mainstream that it has only a little up to no chance at all to gain traction. If my motivation were to be successful ... I would sure focus on other things ... Somehow for an even to me myself unknown reason I have got the motivation to try it anyway. It's a shame that a stupid header of a post can result in high attention and a post with extremely powerful information will remain without it. But this is the way things are ... no idea what actually learn out of it ... no idea if it is really worth to learn out of it.
P.S. it is extremely hard also for me myself to make the turn towards the oOo way -- so deep ingrained the past thought patterns -- it is an enormous effort to look up the guidelines again and again and then stick to them without branching away into how it was before ...

Collapse
 
githubcoder369 profile image
GitHub User

It depends on your needs and what you are good at, for example:

C/C++ is for creating performance critical applications, interacting with the hardware
While Javascript is for creating the web and nodejs applications(including servers)
While Python is for creating machine learning and AI applications or applications that require a lot of math
And C# is mostly for creating games, desktop applications, usually being done in Unity or DotNet

So yeah, the "best and easiest-to-learn" programming really depends on what type of application you want to create

Collapse
 
devcanovas profile image
Matheus Canovas

In my opinion, it depends of what's your focus to develop skills to apply a job, if you're focusing in Front-end you'll must learn Javascript or PHP or othe language used by frameworks and frontend libraries. Now, if you want a backend language, its a good option to study the top languages of the moment, like Java, C# and your frameworks like SpringFramework and ASP.NET. When you get the concept, the programming language doesn't matter.

Collapse
 
ooosys profile image
oOosys • Edited

Yes, with the goal of applying for a job your choice of a programming language is heavily constrained by the requirements of the job market, If you look for a way to gain control over the computer hardware at your private disposition the is no such constraint anymore and you are free to shift your mind towards the oOo way and programming using the own spoken language which mastering is taken to a level making it capable of very precise description of what a program has to do.

Collapse
 
proteusiq profile image
Prayson Wilfred Daniel • Edited

A brilliant concept. I am excited to see the progress of oOo. 👏

Would future article also share teaser code snippets?

Collapse
 
ooosys profile image
oOosys • Edited

I hope to provide some examples of what I have came up with already along with some general rules allowing to orchestrate created infrastructure of executable files into natural English language sentences capable of being executed soon ... stay tuned ... best try yourself to achieve this effect and report faced issues. This would sure speed up the process ... It is no more the question if it would be possible ... it is only a question of time to arrive at same fascinating results as these observed while talking to LLMs.

Check out whichf
It won't be as it is part of oOo, but it sure helps to see the "insane madness" of current mainstream in order to get motivated to do something about it.

The best part is ... that it should be possible to come up with a system working also (with appropriate corrections provided by native speakers) with any other spoken language.

Collapse
 
lymah profile image
Lymah

Nice. Thanks for sharing.

Collapse
 
bwca profile image
Volodymyr Yepishev

The easiest would be JavaScript, you already have its interpreter pre-installed 😀

Collapse
 
ooosys profile image
oOosys • Edited

Hmmm ... the "spirit" of oOo is to animate you to a shift of mind making it possible to clearly see that you don't really need to cope with the choice of programming language. Enhancing own skills in using English and in well structured thinking should be enough ... you can then delegate the task of coding to ChatGPT or other LLM or ask for help with getting hands on an executable which does what you need to get done. A precise description of what needs to be done in English is from the perspective of oOo already as good as a ready to use code ...

Collapse
 
hiteshchawla profile image
Hitesh Chawla

I will recommend to learn JavaScript.