News for hackers. Stuff that matters.
Re:Fighting Complexity in Software Development by DecoPerson on Thursday July 04, 2019 @09:38PM (#20359278)
I strongly disagree. We use a strongly typed Lua-like language at my company and it has everything you need to build decent applications, but we hit so many bugs. It took me 12 hours over 5 days to make a simple modification to the business logic (half of that was figuring out and fixing bugs). It took me 4 hours to write something far more complex in Rust with virtually zero bugs; I attribute this almost entirely to sum types (Rust enums), a better type system, an unforgiving compiler, async/await, a better module system, lifetime checking, and an ecosystem of easy-to-grok libraries.

These things just make bugs disappear.

When it comes to IDE experience, the parts that I use often are mostly the same between Rust and our language.

Edit: I'd say it's both, in a multiplicative manner. You need experience and a good set of tools (the language itself being the most important tool) to write good code fast.

Re:Fighting Complexity in Software Development by gitgud on Friday July 05, 2019 @04:34AM (#20360835)
I attribute this almost entirely to sum types (Rust enums), a better type system, an unforgiving compiler, async/await, a better module system, lifetime checking...

This seems like an example of a language effectively abstracting common complexities and pain points, which were probably discovered in earlier languages...

Re:Fighting Complexity in Software Development by agumonkey on Friday July 05, 2019 @06:21AM (#20361342)
I think it's fair to say that rust is the first mainstream languages bringing these notions out of the woods. Who on earth knows about ML or cyclone ? 0.0001% of the programming crowd maybe.

World operates in spirals. We branch off trying things and then go back to old forgotten ideas, etc etc

Re:Fighting Complexity in Software Development by joe_fishfish on Friday July 05, 2019 @08:26AM (#20361981)
Kotlin has sealed classes which are basically the same as Rust's enums. It also has async / await in the form of coroutines and a decent module system. It also doesn't need manual memory management, which while unsuitable for many applications does remove another potential class of bugs.
Re:Fighting Complexity in Software Development by lifthrasiir on Friday July 05, 2019 @03:33AM (#20360562)
> We use a strongly typed Lua-like language at my company [...]

Is this homegrown? In my experience this alone has a major impact in productivity because it is generally hard to create a good implementation and a new language and/or implementation only pays when the existing solution is too bad. (Source: I have made a Lua type checker at work. It worked, but fell into disuse as I moved on and the entire org abandoned Lua in spite of my work.)