As a company owner, as soon as I read, "I've developed it on my own time but the product directly relates to what my employer does"
> "Directly relates to what my employer does"
You will face multiple charges. You have no IDEA - how brutal it can be in court.
In 99% case - You will fail mostly because - you built your company competitor while working in a company that is more likely to become your future competitor if court grants you your right. This will break 99.999% company of the world.
In many of the employee contracts - Some/Most of the Company has a clause that - you won't be working for the next 18 months or any X months in a company or product that is directly their competitor.
My Suggestion as a company, "Be Polite to your BOSS and tell them every truth on why you built", "what provoked you building something like this outside of the company", "How would you like to see yourself in next 10 year".
If your company is really "p* off", Max, they will do is, they will stop some future promotion and would most likely keep you away from most of their work, they will remain alert on your every step and would call a lawyer to inform you a certain thing, for which they don't have to bear the cost of fighting court case at the end, company saving money.
============= THINGS WOULD HAVE BEEN LITTLE DIFFERENT ########
If you would not have built anything related to what your employer does or what your company does.
###########
Imagine you have company and you hired some employee. Now all or some or one of them has build something related to exactly what your company does, how would you handle?
Do NOT talk to anyone at your company about this without legal counsel. Anything you try to do yourself will hurt you. Assume you do not understand the law or contracts, no matter how much you read up on it yourself.
Another "too many programming languages" comment. God! I have no idea - what's happening to the world?
Are people not skilled enough to evaluate new languages?
There are new type systems and static checks, integrated build systems and package managers, backwards-compatibility features, debugging tools...
What is the primary reason to complain about new programming languages?
C++ had a purpose though, to create object oriented C. A lot of these modern languages seem to be mainly made because someone could.
With so many there is also a very low chance of any of them actually picking up because the useless ones drown out the C++es.
I think people should do what they want though. If you want to make a programming language you should, just don’t expect everyone to view your endeavors as useful.
As far as your fifth point goes, new languages aren’t a good way to influence programming in general. Stuff like lambdas weren’t born in some hipster language, they came from JavaScript. Because if you want to influence, you have to make sure people actually see your stuff.
That being said. Making a PL language is a much better use of your time than whining on HN.
> Stuff like lambdas weren’t born in some hipster language, they came from JavaScript.
They did not come from JS. JS took them from Scheme. Scheme took them from ... lambda calculus? Anyways, not knocking on JS, but they did not invent lambdas by any stretch of the imagination. I do agree with the rest of your comment btw.
>Stuff like lambdas weren’t born in some hipster language, they came from JavaScript.
Lambdas predate JavaScript by decades. Basically according to your reasoning JS shouldn't exist. It was created by Netscape to compete in the web browser market with Microsoft script language the moment you had Python, Ruby, Pike etc. There were no afaik novel concepts to be found in JS.
Before JavaScript embraces lambdas, everyone thought they were a bad idea. You could say something similar about jit.
I know JS gets a lot of hate on hn, but if you look at the history of a lot of modern pl paradigms, many of them got traction after years of ridicule because JavaScript brought them to the masses.
JS didn’t invent lambdas, it made them popular. Or is it just a coincidence that every major language that didn’t have them, adopted them after they got real use in JS?
As far as I know, Lisp was the first language to actually implement the idea. I actually struggle to think of any language concepts that were introduced by Javascript.
I also tend to disagree with the overall sentiment that new languages aren't a good way to influence programming. Haskell, for example, is quite a departure from a language like C. I don't think we would've ended up with the great, proven options we have today if everything was just incremental changes on some base. Sometimes you need to rethink things from scratch. It's part of the reason we don't have one language that fits perfectly for all problem sets.
C++ initial purpose was for Bjarne never to write plain C code, after his experience rewriting his nice Simula code into BCPL, he swore never to use such low level languages again.
There are plenty of interviews where he tells how C with Classes came to be.
Suspect that in the majority of cases it's a bit like people inventing their own (human) constructed language - it's an interesting intellectual exercise in its own right and allows the inventor to indulge in a bit of wish fulfilment by emphasising features that they personally value.
As in the human conlang case, it would be alarming or bizarre if the inventor genuinely expected others to start coding in their language, especially if it has no compelling features that are not found elsewhere: although Perl, C++, Rust and others came primarily from motivated individuals "scratching an itch", those langs were able to flourish because they fill(ed) an empty evolutionary niche.
What I do find peculiar is other people then piling in with all sorts of suggestions for enhancements and tweaks that imply that the particular hobby language in question does have a legit future out in the field.
Rust, Go, Swift, etc... are like super-tankers compared to those small "better-C" languages. IMHO, having a number of small languages that can be learned in an afternoon is much better than yet another super-tanker designed by huge consensus-driven committees/communities that try to do everything for everybody.
Rust has safety and zero-cost abstractions at it's core, they provide a by now quite stable interface. You can't just move fast and break things. You need to stabilize at some point or it's impossible to use it in real world projects that are also commitments of a certain kind. And for that stability you need some kind of consensus of what to work on and what not to do.
I think the primary value of these new toy languages is they can explore aspects freely that can't just be explored in a more mature language. Sometimes after a concept has proven useful a mature language might be willing to incorporate it.
But I wouldn't use them on a serious project, because there will probably be few libraries and maybe no long term support for it.
These are valid concerns, particularly stability and long term support. Availability of libraries applies less to Kit or Zig thanks to first-class interoperability with C. I think this is the way forward for small new languages; you can avoid the challenge of creating an entire ecosystem for your language, and just fit it into an existing one.
I'm surprised that you would lump Go in as a "super-tanker" language. I find it incredibly small and simplistic when compared to something like Rust. I think it actually has fewer keywords than C.
>Are people not skilled enough to propose or send commits to an existing or alternative programming language?
I'll just comment on this part. I'm a contributor to Haxe (not so mainstream perhaps but more so than Kit.) Kit was a chance to try out some features that don't fit in well to Haxe (and in fact I did propose several of these features as additions to Haxe, and they were explicitly rejected.) Sometimes the answer really is to write a new language, because language simplicity is still important and one language can't be everything to everyone.
And of course, Haxe wouldn't exist if its creator hadn't been unsatisfied with existing languages at the time...
I also find the march of new languages a little exhausting. But I handle that by just taking a glance at them and moving on. Kit never has to trouble me again and I'll have already forgotten it by the time I hit reply here. And my life will go on.
> What is the primary reason to create a new programming language?
The reason is that creating a new programming language is easier than learning C++.
For this same reason none of these languages will ever amount to anything useful. If you have the patience and foresight to bring a new programming language to fruition, then you have the patience and foresight to learn C++. You grow up and start programming in a real language.
1. Once you go to log in - there is no menu to come back to the homepage or register page.
2. Once you go to forgot pass, there is no menu to come back to log in page or register page.