1 (edited by sagaracharya 2022-05-01 07:05:50)

Topic: Properties of a great programming language

1. It should have good grammer which specifies inputs and outputs.

#language A
a = "foobar"
out("foobar.txt")
#fails to mention input for foobar.txt
#language B
a = "foobar"
out("foobar.txt", a)
#shows clearly what is the input for output file foobar.txt

An even better way in language B would be to mention complete filepath in the filesystem wrt root.

2. It should have a small and easy to read compiler created by a reputable community (prevent to be ethical in past wrt actions).
3. It should be easy to learn with very few easily understandable logical concepts which you can remember.

Haskell fails miserably on this. Veterans cannot even explain the concepts of monads and functors easily and they want to teach Haskell. Make things simple, not complex. Language is just a tool to convert human language to binary.

For me, functions and data is a complete set. You have data as input and output, and you have functions which process data.

4. It should force the programmer to write clear, concise and beautiful code.

I've not found such a language today. I tried to  Multiple ways to write a program should be removed. Things should be strict so that all people are on the same page and don't struggle with different representations.

Bad

int a = 0;

int b;
b = 0;

Good

int a = 0;

Above code is still simple to understand but it gets more and more complex for more multiple representations.

5. Prevention of corruption.

Once the language is complete and mature, the urge to do something with it should be suppressed and the language should be left as it is without adding additional features. Maintainers of the language should make sure that all the higher level modules made by the devs are consistent with above principles and only then add them to the packages. This might suppress freedom a bit but it maintains the beauty of the language and the ease of understanding. If some base working of computer hardware changes, only then should the language be changed.

Law is a much wider and general thing than copyleft which is enforced by copyright under law. If we correct law clauses to ensure that evil are separated away from group and penalized and the righteous get support and increase in number atleast till critical mass, we'll have corrected the issues.

Let us adopt systems which allow us as well as others maximum freedom.

2 (edited by auanta 2022-08-30 17:25:41)

Re: Properties of a great programming language

I enjoy this analysis a lot, I like reading a lot **about** programming languages but still have never properly learned one.

I just wonder what it feels like to be having to know like 5 different programming languages when 4 of them are bad for xyz reasons and yet you have to know them for work because work demands it. How dizzying..

I think the most important factor for me to learn a programming language would be point #1: that the syntax is logically, mathematically sound.  I prefer Python3 over Python2.7 solely because I do not want 7 divided by 2 to equal 3. It's 3.5!!!! The only correct answer!

Is there at least one in existence that is close to points #1, 4, and 5?

for general troubleshooting: I'm running Hyperbola on a GPD MicroPC, my deblobbed firmwares are iwlwifi (I use a USB wifi adapter instead) and Bluetooth (which I don't miss because it is a security hazard) as well as i915 DMC firmware (which I can safely ignore) and the r8169 but my ethernet works perfectly (maybe even improved)

3

Re: Properties of a great programming language

C fills them all except #4. But it still is pretty close to #4. The only issue I find with C is lack of easy module/package manager. But I'm not that experienced to conclude it.

I've found that human languages too have some very difficult words. Some language aspects are made for making it more difficult to understand. Similarly, there are auto-code-generators which deliberately obfuscate code and enlarge it so much that a new programmer who comes to manage cannot understand and replace the original programmer.

I confine mostly to 2 languages, Python and C. They solve everything for me. I also don't like pointers in C.

There's tcc, a minimal compiler by suckless.

Law is a much wider and general thing than copyleft which is enforced by copyright under law. If we correct law clauses to ensure that evil are separated away from group and penalized and the righteous get support and increase in number atleast till critical mass, we'll have corrected the issues.

Let us adopt systems which allow us as well as others maximum freedom.

4

Re: Properties of a great programming language

Noted! I think I'll stick to Python and C then.

for general troubleshooting: I'm running Hyperbola on a GPD MicroPC, my deblobbed firmwares are iwlwifi (I use a USB wifi adapter instead) and Bluetooth (which I don't miss because it is a security hazard) as well as i915 DMC firmware (which I can safely ignore) and the r8169 but my ethernet works perfectly (maybe even improved)

5

Re: Properties of a great programming language

This one any good?

https://en.wikipedia.org/wiki/D_(programming_language)

HyperbolaBSD: The Future of Secure Libre Lightweight Operating Systems!

6 (edited by sagaracharya 2022-10-13 11:46:34)

Re: Properties of a great programming language

D is object oriented. This in turn introduces classes and multiple ways to program same thing. I don't like it. I delved a bit into C and it seems installing packages of C should be directly into repositories which would be fetched by OS itself. There doesn't need to be a package manager. A coder will be aware of where to place o files within the OS itself. Pretty amazing! It essentially connects with minimalism of UNIX.

Law is a much wider and general thing than copyleft which is enforced by copyright under law. If we correct law clauses to ensure that evil are separated away from group and penalized and the righteous get support and increase in number atleast till critical mass, we'll have corrected the issues.

Let us adopt systems which allow us as well as others maximum freedom.

7

Re: Properties of a great programming language

Folks, check out V. It looks pretty amazing!

Law is a much wider and general thing than copyleft which is enforced by copyright under law. If we correct law clauses to ensure that evil are separated away from group and penalized and the righteous get support and increase in number atleast till critical mass, we'll have corrected the issues.

Let us adopt systems which allow us as well as others maximum freedom.

8

Re: Properties of a great programming language

sagaracharya wrote:

Folks, check out V. It looks pretty amazing!

Wow, this looks really exciting to learn! I'm into it.

Please keep us updated with any further findings, I am bookmarking and taking notes!

for general troubleshooting: I'm running Hyperbola on a GPD MicroPC, my deblobbed firmwares are iwlwifi (I use a USB wifi adapter instead) and Bluetooth (which I don't miss because it is a security hazard) as well as i915 DMC firmware (which I can safely ignore) and the r8169 but my ethernet works perfectly (maybe even improved)