zlacker

[parent] [thread] 3 comments
1. seanhu+(OP)[view] [source] 2024-01-23 12:54:50
There isn’t one technique that works all the time. Life is unfortunately about tradeoffs whenever you do something complex.
replies(1): >>ameliu+22
2. ameliu+22[view] [source] 2024-01-23 13:09:42
>>seanhu+(OP)
So choose a technique and language that least limits your design freedom.

Choosing performance as your #1 priority is often a bad idea as it gets you into a straight-jacket from the start, making everything else much more difficult and slows down development to a crawl. Unless you're developing an OS kernel perhaps. Computers are fast enough these days, let them do part of the work for you! And you can always write a faster version of your software when there is a demand for it.

replies(1): >>sshine+y8
◧◩
3. sshine+y8[view] [source] [discussion] 2024-01-23 13:52:14
>>ameliu+22
> Choosing performance as your #1 priority is often a bad idea

You can write inefficient code and optimize it later.

> it gets you into a straight-jacket from the start, making everything else much more difficult and slows down development time to a crawl. Unless you're developing an OS kernel perhaps

The argument seems to break down: Surely you don't want to be in a strait-jacket if you're developing an OS kernel. Somehow Rust is equated with always being in a strait jacket.

The cost of writing highly concurrent programs is pretty much the same in every language except ones that have concurrency at the core (Erlang). I don't see much difference between starting with Java or Rust in terms of avoiding complexity caused by having to build things that a concurrent runtime could give to you for free.

replies(1): >>ameliu+th
◧◩◪
4. ameliu+th[view] [source] [discussion] 2024-01-23 14:35:06
>>sshine+y8
> The argument seems to break down: Surely you don't want to be in a strait-jacket if you're developing an OS kernel.

If you're developing an OS, there is no escaping from the straight-jacket. Your design freedom is severely limited by the fact that your constraints include all applications that will run on your OS.

[go to top]