Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

I'm with you. I'll even go a step further, since I haven't heard anybody else say this:

My hot take -- There are already too many programming languages in use and every engineers life would be easier and productivity would be higher if we standardized.

There is almost no situation where making an entirely new language is the optimal solution. And the worst reason of all to make a language is anything aesthetic (e.g. spacing, parentheses, notations) -- all of those cases should be handled via native transpiling in the IDE.



sort by: page size:

Given what we know today, yes a new language is warranted.

The reason I've stuck with C/C++ is because everything I've ever written still works. Meanwhile my friends are playing with new languages every year (and all the books, classes, and conferences to go along with them). All the new syntax's seemed driven by corporations vying for mindshare (money), not the betterment of our industry.

Give us a real alternative that is community driven and standardized. It needs to compile everywhere, have the option of a great IDE, and have libraries that make sense. We don't need another cute or toy language (JavaScript's 10 day incubation that I'm stuck living with now). Until then ... C++ is what we have.


I don't understand the urge to create a new language to make a statement instead of trying to improve on what already exists.

It's a rational decision, to standardize on programming languages and paradigms.

Having more than two programming languages is honestly a nightmare to deal with


We have too many programming languages as is. The last thing the world needs is more of them.

Programming languages are often not standards in any official capacity. They are created by and for a cummunity who is expected to learn on a constant basis. IMO the proliferation of new programming is a good thing, potentially creating new ways of approaching problems, or at least iterating on existing proven languages.

I often feel sorry people are shy about inventing new languages and using them in production nowadays. I'd rather have a reasonably different language for every class of problems which would eliminate boilerplate code.

Nothing against this particular language, but... I feel like there is a new language at least every day. It would seem that this does more harm than good to the developer community's progress. Of course, languages need to be iterated on in addition to the programs they compose. But, there is now such a large spread of similar languages that it necessarily slows the development of the most productive ones by blurring/resetting the focus constantly. Many technical problems can be solved with existing languages, rather than eliciting the distraction of a brand new language. Though, in this case, there is perhaps a clear purpose for the specialization of the language. There is certainly a benefit to new languages that offer truly new concepts or optimizations.

My most contoversial programming opinion ... there are too fucking many programming languages already. Proposing a new one should be grounds for immediate dismissal.

Personally, I don't believe that a proliferation of programming languages is really required. Most languages do the same sort of thing with slightly different syntax and degrees of efficiency. If you're really unhappy and frustrated about the current state of programming languages my advice is to go and develop your own.

We need less languages, more IDEs.

I'd rather see people try to improve our tools than not. And yes, the academic argument against it is "we're hampered by our languages".

So we are. Nobody proposed not working on new languages. But even if there was an entirely new language that made for fantastic IDEs (cough Smalltalk ;), we have an insanely large existing code base in "legacy" languages.

Until those are ported to those new languages (and I have a few piles of FORTRAN and COBOL code to say "that ain't gonna happen, ever"), any improvement in our tooling is progress.

Yes, we'd all like a silver bullet that makes us 2x more productive. Until we have that, I propose we tackle our problems on all fronts, not just a single one.

(For the record, I'm extremely skeptical about those new IDEs and their success. We'll see what happens. I'll still throw a bit of money at it, just because I think any kind of work on new tooling will result in new insights)


I think you are getting down voted because you voiced a very controversial opinion without much explanation to to back it. Still, I think there is some merit to it (although I wouldn't go as far as saying we're ready for the "one language to rule them all" yet).

The paradox of choice and duplication of effort are very real problems. Let's take web app development for example. We have PHP, Python, Ruby, Java, C#, etc. Each language has their own set of libraries/frameworks and it takes a lot of time and effort for a programmer to learn all of them. I've been developing web apps for 10 years and yet, I couldn't contribute to a web app written in Java. What if instead of having X libraries in Y languages, we had X*Y libraries for a single language or X libraries of Y higher quality for a single language?

Standardisation has lots of benefits.

The web standardised on HTTP/HTML/CSS/Javascript and it enabled the creation of a massive ecosystem of tools, libraries and pool of developers. Front-end developers can easily switch jobs and contribute to other projects. I personally dislike languages that compile to HTML/CSS/Javascript because I think standardisation trumps their benefits. C is a de facto standard in the embedded world.

In my opinion, sometimes the hammers are so similar (e.g. Python/Ruby) that we should just collectively agree to only use one.


It's interesting to hear the standardization perspective, because it's pretty much the opposite of my perspective as a user.

I see the classic path of any programming language -- regardless of standardization -- is to continuously add features until it's too big and complex that nobody wants to deal with it any more. Then it's replaced by a newer, simpler language that takes the important bits and drops the unnecessary complexities. At that point, everybody sees that the older language was barking up the wrong tree, and they stop wasting time on it.

It's not the cessation of language change that causes language death -- that's merely a symptom. You can't keep a language alive simply by changing it every year. Some people sure have tried.

Alternatively, until it's evolved so much that there is so much diversity of implementation that simply knowing a library is written in "language X" doesn't tell me much about how it's written, or whether I can use it in my program which is also written in "language X".

Then again, C is the exception to every rule, so maybe we can keep piling on features indefinitely, and people will have to use it (even if they don't like it), for the same reason they started using it decades ago (even if we didn't like it).


But there are so many benefits to standardizing on one language (to take the extreme case). You create the business rules, APIs, and utilities in whatever language you choose and that can be shared by everyone. That becomes the core of your business. If you need something new, you create it and submit it for review, and then everyone can use it, not just the folks who choose what was your preferred language at the time of writing.

I've been in organizations where you have the Language/Platform X people over here and the Language/Platform Y people over there, and they duplicate work, don't collaborate, and their libraries don't interoperate. They have different hiring needs, and developers can't easily move between them. Ultimately, everybody with their pet languages moves on, and new people come into a very fractured environment and ask themselves WTF is this? Over the years, developers (especially new ones) are only a fraction as effective as they would be if the company had just paid the relatively small up-front price of nudging everyone into the same ecosystem.

And BTW, I have yet to encounter a problem that is hard to solve in my preferred language, but is way easier to solve in another. I think the key to that is to choose carefully what you're going to commit to.


I'm probably cynical but I dont think the world need more languages. A clean and simple language turns ugly and complex given enough time. The programming world is fragmented enough as it is. I think we need more libraries and tools for the languages that already exist.

For me, it is communities that make or break a language. By starting from scratch, with a new language, you are starting with 0 users. You have to win hearts and minds, rewrite the libraries and get market share. Even then there will be places where this new language will not be allowed. I think a new language it's rarely a good solution, ideally we should have an assembly language, a procedural language, Oo language and a functional language, ideally syntactically consistent.

It's a nice idea, but I would contest the idea that it's even necessary. Maybe it's good for someone with the potential of being a 10x developer, but most people don't have that potential. Some of us don't even want to be a 10x developer.

With some exceptions, most language people were using a decade ago are still around and have paying jobs. There's no reason why everyone should go berserk trying to eat, breathe, and think in code. Life is more than just computers. Personally, I'd rather spend that time tinkering, hanging out with friends and family, working on my side business, making moonshine, traveling, etc. Programming languages suck and I don't want to use them more.

> The advanced programmer in other language can fall into many traps and produce non-idiomatic (usually overcomplicated) code.

Kind of reminds me of when I came to JavaScript from Ruby and overcomplicated the code by treating it like Ruby.


Why do we need yet another language instead of improving the existing ones?

I know this sounds a little coarse, but I really don't care about yet another new programming language. There are too many already with so many distinct use cases and niches.

I think a simple, general purpose programming language is good enough(1) for the web and I'd rather have one tool for all jobs versus another edge case language. In fact I'd rather have someone concentrate on one good "multi-tool" than provide me with a hundreds of cheap short-lived screwdrivers with different shaped heads.

Innovation should be about making the status-quo better, not introducing a new status-quo every 5 minutes with new promises.

(1) - "Good enough" is an under-used term these days.

next

Legal | privacy