This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-05-19
Channels
- # ai (3)
- # aws (1)
- # beginners (94)
- # boot (26)
- # cider (3)
- # cljs-dev (99)
- # cljsrn (86)
- # clojure (263)
- # clojure-dusseldorf (4)
- # clojure-greece (22)
- # clojure-italy (2)
- # clojure-quebec (1)
- # clojure-russia (12)
- # clojure-spec (71)
- # clojure-uk (123)
- # clojurescript (92)
- # core-async (4)
- # cursive (13)
- # data-science (2)
- # datomic (123)
- # docker (2)
- # emacs (15)
- # events (1)
- # graphql (2)
- # hoplon (71)
- # jobs-discuss (7)
- # lumo (5)
- # off-topic (12)
- # om (6)
- # onyx (97)
- # other-languages (4)
- # overtone (2)
- # pedestal (1)
- # re-frame (20)
- # reagent (33)
- # remote-jobs (1)
- # ring-swagger (1)
- # rum (5)
- # slack-help (6)
- # uncomplicate (1)
- # unrepl (33)
- # untangled (48)
- # vim (23)
- # yada (21)
@maleghast I have been known to think about thinks for years before finally starting on it (partly because I had no clue where to start).
Morning
>extended-hammock time I like that. Sounds very similar to parenthood.
@thomas although if you start on it you will very quickly acquire a comprehensive appreciation of how not to start on it !
@mccraigmccraig good point... maybe I just love to procrastinate
morning
@peterwestmacott - Good morning, Sir 🙂
@thomas @mccraigmccraig the trick is to get comfortable with the fact that you will disabuse yourself of your assumptions while implementing and be happy with chucking stuff away having learned.
yep, i love killing code 🔨 :dagger_knife:
i had to debug and write some java last week. didn't feel so good. fortunately it only turned out to require 4 lines, but yuck
@jasonbell any language which doesn't have lexical closures and macros can go burn imuo (and i know java has lexical closures now, 20 years after it's inception, but it's way too little way too late)
@mccraigmccraig that’s just splitting hairs…. LOL
Java's not my favourite language but you can't fault the utility it brought or the ecosystem it spawned. Remember ppl see it through the lens of history...in 95/96 it was pretty cool. Contentiously, I don't think Java would have been so successful if it hadn't been quite restrictive and a bit formulaic. It's what enable millions of people to be somewhat effective writing it... although we all know there are more powerful and pleasant languages!
PHP gave me my start in software dev, I can complain about it very articulately - and also list some pros
to be fair, java brought garbage collection to the world, and i should add garbage collection to my list [lexical-closures, macros, garbage-collection]
Java being a great step forward in the mid 90s and a weight around your neck in 2017 can both be true
@glenjamin I agree, but Java's not the devils spawn...and I complain about Clojure!
@glenjamin - Me too! PHP is a steaming pile of foetid dingos' kidneys and I am pleased to say that in the short term at least I can ignore it completely!
@glenjamin - ...but yes, there are some pros even to PHP... 😞
PHP as a language has gained lots of good features and libraries. But all the existing horrible code, libraries and features still exist
My biggest worry is that we (as an industry) don't learn the lessons of the past...we seem to keep repeating mistakes from 20 years ago!
@agile_geek cf. homeopathy, astrology and the advancement of science in funereal increments
I think that's all fair comment, for sure, but I have to say that I've had some positive experiences of Java and while they are few in number I think that it's hard not to recognise Java's contribution to the "now" or indeed write it off completely
plus those smalltalk peeps really knew what they were doing, and the jvm platform is still awesome
That having been said, I am pleased that the only code I am writing at the moment is Clojure, and that is notwithstanding my own difficulties with it and the issues I face as a keen amateur who is trying to become a pro in this wonderful language
@glenjamin - Absolutely true, and also true to a lesser degree of almost all programming languages, but you are right; Java suffers from being easy to use badly. The only language that is easier to use badly is PHP 😉
I would say that Java is no more prone to being written badly than C++ and C#. Why do you think it's worse @glenjamin ?
@glenjamin true - I made an assumption!
"if C gives you enough rope to hang yourself with then C++ gives you enough rope to rig a tea-clipper and then hang yourself from one of the yardarms"
Is there a theme there?
i.e. if it's 'easy' in a 'familiar' sense it's easy to write badly?
Languages with more modern features and/or strong abstractions make it hard*er* to write badly imo
Has Clojure got more modern features? Most date back to early Lisps?
It has some more modern features
@glenjamin - nested loops are one of my big gripes with so-called "professional" PHP developers who don't even see what they are doing wrong...
features from early lisps are unfortunately modern by comparison to popular languages
I think what @glenjamin is alluding to is similar to my comments in the past that "more restrictions" can be good (if they're the right restrictions!). I.e. they make it hard to write code badly.
That leads me to posit if static typing (done well) is better than dynamic?
Even just really strong community conventions that drive good decisions in code, like the ones that I have encountered in the Python community, can be more helpful than the "everyone does it their way" that I have encountered in PHP and Java devs...
Static typing is more restrictive
@agile_geek i find it hard to argue against the assertion that the compiler should be checking more stuff automatically so that you don't have to
I had a play with Haskell last year and I did enjoy the certainty, but even "at play" I was aware that it was hampering my ability to experiment in some cases.
static typing is not entirely more restrictive @agile_geek - the type annotations are also data which gives you additional processing possibilities which are not present in dynamically typed languages
There is a part of me that wants to be all for static typing, but I get so much out of Clojure not being...
I don’t think many people would argue with “static typing (done well) is better than dynamic”, they’d just debate what it means to be done well
I think my ambivalence comes from this...when exploring a problem I want dynamic typing but once I begin to understand it and/or there's more than me working on the problem I want static.
I guess spec is a compromise...not sure how reasonable it is yet as my experience isn't extensive enough.
@agile_geek - Does that just translate to "I don't trust other developers"?
sounds like you just want an easy to hack statically checked type-system @agile_geek - have you tried kotlin ?
I've looked (briefly) at Kotlin
@maleghast not at all. It's true of me working on other ppls code
having a fast-feedback check which tells you your functions don’t actually compose like you thought they did is really useful
@agile_geek - I was being facetious, and I do get it really - apologies.
@maleghast It's fine it was a very valid challenge .I meant that I like having something that allows me to codify data 'shapes' in a way that both acts as documentation and catches mistaken assumptions early (at compile time is good)
@mccraigmccraig re JVM... the JVM is a good piece of technology, but at the same time failed one of its objectives-> write once, run everywhere. in reality it is write once, test everywhere.
Once more that one person works on the same code you have more than one set of asumptions
I can see the benefits of that, indeed - I even quite like the idea of what you are describing
and the more than one person can be the future me
I also tend to see JVM apps be very RAM heavy, I have no idea if this is down to the platform, libraries or coding practices
all 3?
I was trying out the Rancher server the other day, and it was using 4GB of RAM in a demo install with no data in it
@thomas write-once->test-everywhere is >> write-many-times->still-test-many-times
@glenjamin try and install an average IBM product that runs on the JVM 😉
It's still the closest we've come to write-once->run everywhere
@mccraigmccraig but that isn't what was promised... so in that sense one can say it failed.
I don't think JS in different environments is much better?
@glenjamin my API processes are using about 70MB of heap as an un-collectable base, while my onyx processes are all the way up to 80MB... all of them obviously use a load more memory for servicing requests, but they can all quite comfortably run with 1GB heap
yeah, I’m pretty sure that these things can be lightweight, but rarely seem to be in practice
Maybe that suggests it's platforms? too many features?
they can be... WebSphere uses loads of memory, the so called Liberty profile from WebSphere uses a lot less.
Liberty is still pretty bloaty
Just nothing compared with WAS!
@thomas true - but what was promised was either hopelessly naive or insane marketing fluff
Websphere Application Server
my enterprise roots are showing!
mmm. application servers... what do those do again ?
(apart from make IBM a load of cash)
Great question....nothing anyone really needed!
I’m watching https://www.youtube.com/watch?v=w93if_VtTag&feature=youtu.be this morning
just learned that Ulysses S. Grant was the youngest president ever when he was inaugurated, yet he had already been the commanding general of he US army at that time. quite an accomplishment if I may say so.
and an alcoholic and terrible president (tho not as bad as some of the other post Lincoln ones)
quick question guys - does anyone have any boilerplate for reading bytea
type from Postgres in Clojure?
@otfrom - USG definitely liked a drink (isn't there an apochryphal story about Lincoln sending him a case of whisky..? I may be misremembering), and yeah he was not a good President, but still an impressive figure in history.
Lots of 'impressive figures in history' were not nice people. Churchill was arguably a good war time Prime Minister (although he was a bit of a disaster as First Sea Lord in WWI) but he wasn't great in his second term (after WWII - 1951-55)
He was also a drunk of course
Trump doesn't drink...perhaps he should?
@agile_geek - A lot more people are alleging that Trump's "tipple" is the old Columbian Marching Powder these days, and I don't find it hard to believe...