Which languages are not owned or created by big corporations but by the community/people and that represents freedom (not tied to any corporations)?
I have created a list of programming languages (some of these might be considered more as scripting but forgive me) that are either created or owned by big corporations: Microsoft:
C#, Visual basic, F#, Typescript, Powershell Oracle:
Java Meta:
hack, HHVM, react Google:
Goland, Dart Ericsson:
Erlang
I have not fully read what happened with Ruby but how I understand is that the community ran out of money and shopify was pushing them to becoming their own entity/company and attempting to steal the community created stuff (related to ruby central and rubygems)?
Rust was influenced heavily (server-side at least) by meta but it seems like its community created mainly.
What else are we left with? And please correct me if I did any mistakes in my post
So, I just want to filter out those programming languages that these big corporations have heavily influenced/maintained/created/etc
The most successful ones will have some corporate backing to fund development.
There are some less widely used ones like Racket, which has a lot of development by academics, Julia which seems to have a lot of “I added this so I could use it for my own scientific computing work” style development, etc.
This is going to mean worse documentation, more bugs, fewer libraries, etc. Rust might make sense if you are okay with it. There seem to be a lot of good things being done with Rust now.
Disclaimer: I am in my early stages of learning, mainly have done C and Javascript. C itself feels more “pure” but is not suitable to as many applications.
Could you explain how beeing backed by a corporation is reducing the freedom that you have with the programming language, if the language is released under a license that grants you all FOSS rights under copyright and patent law?
What, exactly, is it that you’re trying to achieve with this? That kinda depends on what a good approach would be
This would indeed be helpful information.
If it’s a hobby or educational then they can just pick one they’re interested in. Core skills learned will carry over if they need to learn a particular language for practical purposes later on.
For general learning, Racket / Scheme are known to be pretty good, with How to Design Programs being a well regarded introductory text. I started with a different Racket book and it did a good job preparing me for other areas of programming.
I’m answering this way because “language comparison” tends to appeal to people with minimal knowledge. In that case, this is one good way to get started. If they have some particular goals they be able to get more specific advise.
I’m not really a programmer, so I ain’t quite intimate with all that, but I’m not entirely certain how much it matters what corporation is backing or just contributing to a programming language. Though, I suppose I can understand where you coming from.
C# is most certainly a Microsoft thing, but it’s not really a closed garden in the strictest sense, at least not quite. In its current state, C# has open source compilers, and the .NET framework has been effectively succeeded by the now open source and cross-platform .NET Core. Which, although is primarily maintained and managed through the .NET foundation, is open sourced under the MIT license. And other frameworks exists that can be used instead of the .NET Core, like Mono, which currently is under WineHQ. The CLR is also an open standard and spec. Of course, things get murkier when looking into Microsoft’s Open Specification Promise, which is a Non-assert Covenant that essentially states a promise not to sue with regards to their patents and other’s implementations of these specs. I am not entirely sure how legally substantial or binding that is, and I’m not going to pretend I’m a lawyer.
Anyway, the rough point I was trying to make there is that the language and its runtime is fairly open and permissible for developers and others. Kryptor’s code, for example, is entirely C#, but I personally have no reason to doubt its robustness on solely the language itself.
I suppose if you wanted a “community-oriented” programming language, there is perhaps the Hare Programming Language (https://harelang.org/). Though, do note it is not and will not be available in an officialy capacity for proprietary operating systems like Windows and MacOS. I am not familiar with this language beyond the fact I discovered while exploring sourcehut.
So this might be far fetched but I started to think that if these big corporations are allowed to scrape and train on these various licensed data (arts, programs, code, literature), then what prevents them doing something in the future to these programming languages.
I’m just interested to find out if there’s any programming language that is mainly by the people for the people and that libre communities prefer over these
Generally speaking the programming language does not matter to me but I’m just curious to find out that if there’s any programming languages that libre software developers/communities would prefer over to these (maybe regarding moral questions or so)
Racket seems to be very similar to lisp and I think I have heard it before, thanks for sharing it!
Your answer made me to think that it might not be just the programming language I’m looking for but code community (similar to what github was before microsoft acquisition) and that would protect against AI scraping.
The codes I have created over the years and the projects I have participated into, have been scraped and used (this can be confirmed in the multiple sources) to train AI. I always thought that the licenses would protect against this kind of behavior, but also the companies that are using these AI tools are getting the benefit they wouldn’t have otherwise and they can’t take responsibility for copyright claims as AI has “created” the code that might be under the copyright permissions.
This has shocked me pretty badly and I’m just thinking different paths.
Like if these corporations are allowed to scrape and train the data without any repercussions then what would prevent them doing something similar with these programming languages they have created or funded heavily?
I think ruby central and rubygems is good example in a way because they were pushed by the shopify (I will write more about it here once I have researched it better and read more about it)
Under US copyright law, I believe they are able to train on any open source projects regardless. Some open source projects may be for non-commercial use, in which case copying them exactly could be a violation, but using it to make something similar is allowed. Note that whether an AI is doing it under someone’s instructions doesn’t make a difference, as the copyright law predates AI. There isn’t a way to stop AI scraping other than closed source or legal reform.
Racket is indeed a Lisp and therefore, is said to retain its potent psychedelic effects, but I didn’t stick with it long enough to verify it. If you have some experience, Common Lisp could be better depending on what you want to do.
I think most people use whatever language allows them to best accomplish their goals and, if that changes, switch language.
Would you mind elaborating on this? This is the first I’ve heard of this, but it wouldn’t surprise me to be missing some history. That said…
me rambling about Rust
I say all of this as an individual based on my own opinions, experiences, and knowledge.
It is my opinion that “community” is basically entirely running the show. But bear in mind “community” doesn’t necessarily mean “popular opinion”. Most if not all language design discussion is done publicly on the rust-lang Zulip, the Rust Programming Language Internals Forum, or somewhere on GitHub, usually the Rust RFCs repository[1], all of which anyone can join and participate in. I’ve seen team members having private discussions which veered off into discussions that didn’t need to be private, and when they realize, they break it up so that the public discussion can be had publicly. And people certainly aren’t afraid of expressing their dislike of corporate sponsors.
The extent to which I think big companies have influence over the language is likely limited to the extent to which they can influence other related projects (if Microsoft throws a bajillion dollars at LLVM or C to change the C ABI or something, Rust would probably have to adapt since language interoperability is an explicit goal), their ability to propose changes the same way anyone else can, and their ability to fund work. A lot of what companies want out of Rust is what everyone else wants out of Rust too, which is why we get fun things like the collaborative initiative with Amazon Web Services to formally verify the Rust standard library.
Also, to be clear, Rust has corporate sponsors. Funding goes through joining the Rust Foundation, which is a separate nonprofit. The Rust project makes decisions independently, as was clarified after OpenAI became a member.
…and with THAT all said: I don’t think there’s much you can do about AI companies scraping your code if you post it publicly. They’ve been doing blatant theft the whole time, so being open source or not makes very little difference in my opinion (I still personally prefer open-sourcing my code, though). If they can reach your code, they will use it.
Use the languages that you like, that fit the work you need to get done. If they are open-source and reasonably popular, I wouldn’t worry too much about companies ruining everything. The people who have the knowledge to maintain the languages are probably also the people who care about them very deeply.
You are almost certainly confusing Meta with Mozilla. Rust was a Mozilla project until it was spun off to be completely independent. I am not aware of any significant interest by Meta in Rust, let alone influence.
Being a java developer myself, I’m pretty biased, but I have to say Oracle has done a (suprisingly) good job so far as a steward of java. This might change at any given moment, but fortunately FOSS java runtimes are available as well: Adoptium - Wikipedia.
I don’t even understand what this whole topic is about. All of these languages allow you to develop software for anything you want. That’s freedom. Simply choose the language that’s fitted best for your use case and go for it.
This seems to be a misunderstanding of where the moat is. The moat is not the language, it’s the compiler and runtime, which largely isn’t an issue nowadays.
When C was made, the spec was an open standard, and I believe at some point the version got defined by a committee. However, compilers were proprietary and cost money. In this transition time, people still hand crafted some assembly code as well. This is a very abridged summary.
Everything changed with the GNU C compiler was released, being FOSS, and then allowed any developer compile code. Largely at this point moving forward, it became standard that the compiler was free as in money, and eventually most are open source. For example, all of C# is open source including the runtime on their GitHub afaik, and that solves the criteria of being an open platform.
Arguably the most unfree languages are x86 and ARM assembly, solely defined by corporations, which all languages eventually compile to or execute as. At which the best open stack would be running on RISC-V machines, but they are very much lacking outside the embedded systems market at this time.
And even further, how do you know the hardware you are running if open and verified and not tampered, even if running on an ISA that is considered libre? It’s turtles all the way down.