There was a question at LangNext 2014 conference: what is a systems
programming language in 2014? https://youtu.be/BBbv1ej0fFo?t=3m43s

On Wed, Sep 16, 2015 at 2:31 PM, Brian Hurt <[email protected]> wrote:

> I have no flipping clue what "system-level programming" means these days,
> and I'm hoping someone could spell it out.  I used to think (back when I
> was doing that sort of stuff) that it mean operating systems level stuff-
> device drivers, embedded, real time, stuff like that.  But no language with
> a GC or non-trivial run time is a good fit for that.  From usage, I now
> think it means "we refuse to use Java".
>
> On Tue, Sep 15, 2015 at 11:45 PM, Mikera <[email protected]>
> wrote:
>
>> Go is fine for system-level programming, but I personally wouldn't use it
>> as a web application programming language. Ten reasons to consider.:
>>
>> 1. There isn't really much speed difference on micro-benchmarks between
>> JVM code and Go. See e.g.:
>> http://benchmarksgame.alioth.debian.org/u64q/go.html
>>
>> 2. In many real-world cases JVM code will outperform Go, see e.g.
>> http://zhen.org/blog/go-vs-java-decoding-billions-of-integers-per-second/
>>
>> 3. The JVM GC is superior to the GC in Go. This makes a big difference
>> for complex applications with a lot of live objects on the heap, especially
>> when dealing with stuff like immutable persistent data structures (and you
>> want to use those, right?). Overall, I'd expect Clojure to easily
>> outperform Go for these types of applications.
>>
>> 4. The JVM startup time / memory overhead is irrelevant for long running
>> server applications. If you are restarting the JVM regularly, you are
>> definitely doing something wrong. The JVM is well tuned for long-running
>> server side web applications in general, rather than the lightweight
>> processes / scripts that are more suited to Go.
>>
>> 5. Functional programming is natural in Clojure and is IMHO the future
>> for building modern applications
>>
>> 6. If you like the CSP stuff (goroutines, channels etc.), Clojure has the
>> excellent core.async, which basically lets you do all the nice CSP type
>> things in Clojure you can do in Go. However that isn't forced on you:
>> Clojure supports a lot of other paradigms for concurrent programming.
>> Choose what works best for you.
>>
>> 7. The open source library ecosystem on the JVM is awesome. There's
>> nothing like it for any other language. Even if nobody has written a
>> Clojure library that wraps up the functionality you need yet, using Java
>> libraries from Clojure is very painless (often easier than using Java
>> libraries from Java!)
>>
>> 8. Virtually all the key big data stuff depends on the JVM. Spark, Hadoop
>> ecosystem etc. Being on the JVM is a valuable strategic choice if you are
>> into data processing. / analytics.
>>
>> 9. Clojure has an compelling full stack development story with
>> ClojureScript on the browser and Clojure on the server. It's pretty useful
>> to be able to share code between the server and the client.
>>
>> 10. Once you've experienced interactive REPL driven web application
>> development with stuff like Figwheel, you probably won't want to go back to
>> anything else
>>
>> On Monday, 14 September 2015 03:44:48 UTC+8, Alan Thompson wrote:
>>>
>>> Hi,
>>>
>>> I'm about to start a new web project and they are thinking about using
>>> Go (golang) instead of a JVM (preferably Clojure) based approach.  The idea
>>> is "BARE METAL SPEED!!!", but I really think the network and DB will be the
>>> bottlenecks, not Clojure vs Go.
>>>
>>> Is anybody out there aware of any speed comparisons using
>>> Clojure/Pedestal and/or Go?  I'm thinking basic measurements like
>>> connections/sec, latency, simultaneous users, etc.
>>>
>>> Thanks,
>>> Alan
>>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to [email protected]
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> To unsubscribe from this group, send email to
>> [email protected]
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> For more options, visit https://groups.google.com/d/optout.
>>
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to [email protected]
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to