News for hackers. Stuff that matters.
Re:We need less powerful languages (2015) by Jensson on Wednesday February 01, 2023 @05:48PM (#34619152)
Most programmers aren't metaprogramming, to them expressiveness isn't a big issue like it is for programmers making frameworks or languages. Making languages less expressive to make the life of framework programmers easier but at the cost of all the other programmers isn't a good trade-off most of the time.
Re:We need less powerful languages (2015) by nine_k on Wednesday February 01, 2023 @05:56PM (#34619266)
No lack of powerful tools on a language is not limited to library authors.

If authors can not use powerful tools, they cannot create powerful libraries for other developers to use. Everybody is then pushed down to the low expressiveness level. Case in point: Golang until recently, Java before version 5. Copy-paste programming is as prone to bugs as stringly-typed programming.

If there needs to be a strict separation between powerful tools and easy tools, using two different languages works well enough. Many game engines allow level designers write small Lua scripts, for instance. Or the whole Visual Basic thing which allows to glue together powerful COM components. Also, nearly every templating language allows for simple data manipulation (iteration, filters) while not being Turing-complete.

(That works until the users of the simple glue language require enough features for the glue language to become a principal tools for developing increasingly complex things, and we're in square one. Could have started with a proper language...)

Re:We need less powerful languages (2015) by Jensson on Wednesday February 01, 2023 @06:09PM (#34619444)
Static types for example, it is one of the few things where the trade-off seems to be worth it, so I agree there are times where the improvement of tools can improve productivity more than expressability of the core language.

But those things are already widely popular, someone saying "we need less powerful languages" means they want even more than that, I'm not aware of any things that aren't currently popular that would improve these things by a lot.

Re:We need less powerful languages (2015) by nine_k on Wednesday February 01, 2023 @06:50PM (#34619946)
A language that plays with types fast and loose is strictly more "powerful" in the sense that it accepts an attempts to execute more programs than a language with a stringent type system.

Natural language is the most powerful (kind of) language we have, because using it we can generate narrower and stricter languages (mathematics, for instance) and communicate their semantics to fellow humans.

But natural language can express a lot of things that are imprecise, like "huh?" or "well, you know...", or, say, profanities. So a somehow less powerful language, with some restrictions requiring politeness and clarity, is easier to understand. That's the point of the original article, broadly.

That's what I mean by "harnessing" the power. Restricting the language by simplifying it, switching to baby-speak, is what I'd like to avoid: while less powerful and not allowing for many potentially dangerous constructs, it remains imprecise, but loses the ability to express complex things concisely.

Re:We need less powerful languages (2015) by wtetzner on Wednesday February 01, 2023 @11:24PM (#34622043)
> A language that plays with types fast and loose is strictly more "powerful" in the sense that it accepts an attempts to execute more programs than a language with a stringent type system.

Not really though. “Dynamic typing” is really just having a single type for everything. Is quite easy to express in a language with variants. Of course, you don’t usually write code like that in a typed language because then your giving up the value of the type system.

Re:We need less powerful languages (2015) by tosihakkeri on Thursday February 02, 2023 @12:56AM (#34622668)
> Golang until recently

But some of the most powerful cloud tooling out there was and is written in Go, and not just recently.

I think Go is a perfect example of the simplicity that can make some very complex software happen.

Re:We need less powerful languages (2015) by pjmlp on Thursday February 02, 2023 @01:38AM (#34622986)
Mostly because it is what the ecosystem expects, not due to Go by itself.

Just like some other ecosystems expect C, JavaScript or PHP, and they aren't getting any design prices.

Go is a perfect example of how a not so great language, with the right killer use case and corporate sponsorship, gets wide adoption.

Re:We need less powerful languages (2015) by tosihakkeri on Thursday February 02, 2023 @02:00AM (#34623129)
Well, that “not so great language” is very much an opinion.
Re:We need less powerful languages (2015) by pjmlp on Thursday February 02, 2023 @02:19AM (#34623276)
An opinion shared by plenty of people.
Re:We need less powerful languages (2015) by k0k0r0 on Thursday February 02, 2023 @02:22AM (#34623294)
Before Go I used to program mainly in C++ which is kind of the worst language in terms of simplicity, so I might be biased. I simply don't know any other simple languages. I have only C C++, Go, Matlab/Octave and Python to compare to (if one wouldn't count Bash and awk). I mainly develop HPC Code.

Based on my expirience I must completely disagree. The language go itself together with its tooling, i.e. compiler , debugger and module system makes it very appealing to write well-written and well-maintaned programs of large size in go. It is the combination of the simplicity of go together with gos property of being a "batteries included" language.

In particular, I have noticed it is much easier for inexpirienced programmers to write high-qhality Code in go than in C.

Re:We need less powerful languages (2015) by pjmlp on Thursday February 02, 2023 @03:44AM (#34623892)
They would have the same experience with Modula-2, Object Pascal, Delphi, or even Go's predecessors Oberon-2 and Limbo, with the difference that all of them had better tooling for GUI development 20+ years ago.

Faster compile times, debugger, IDE, code formating on save, proper modules, choice of static or dynamic loading,... all there.

Go ties to Google made it have better fortune in the market than those languages.

Re:We need less powerful languages (2015) by jagged-chisel on Wednesday February 01, 2023 @06:58PM (#34620038)
> … to [most programmers] expressiveness isn't a big issue…

> Making languages less expressive […] at the cost of all the other programmers

Apologies, I’m reading a contradiction here. Help me out?

Re:We need less powerful languages (2015) by Jensson on Wednesday February 01, 2023 @07:29PM (#34620298)
I meant issue as in problem. They enjoy having an expressive language since it makes it easier for them to work. They don't get much benefits from having a less expressive language where metaprogramming is easier.
Re:We need less powerful languages (2015) by jagged-chisel on Wednesday February 01, 2023 @11:44PM (#34622169)
Ah - I read “not an issue” as “they are not concerned with.” Thanks for setting me right. :-)