In Slack, most messages are a single line, and are very real-time. E.g. if a channel is getting 100 messages a day, and a conversation starts in the morning, you're not going to try to engage with that conversation even that afternoon.
In Zulip, communication is asynchronous by default. This has a lot of secondary implications; e.g. it means that by default you can assume people will see your message, rather than just the people that check in the next few hours. This means you can have substantive discussions on the platform, and the medium correspondingly encourages more multi-line, thoughtful posts. So we've currently decided that having to type an extra letter to compose is worth the tradeoff.
As an example, not having compose open by default allows us to use single letter keyboard shortcuts for navigation.
In any case,
* You can enable "Enter to send": https://zulipchat.com/help/enable-enter-to-send
* Private Messages (called DMs in Slack) in Zulip work the same way they do in Slack, with an open-by-default compose box.