This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-05-12
Channels
- # admin-announcements (1)
- # aleph (1)
- # arachne (10)
- # beginners (6)
- # boot (81)
- # braveandtrue (3)
- # cider (42)
- # cljs-dev (1)
- # cljs-edn (52)
- # cljsjs (9)
- # cljsrn (9)
- # clojure (62)
- # clojure-austin (1)
- # clojure-belgium (11)
- # clojure-berlin (2)
- # clojure-gamedev (2)
- # clojure-greece (1)
- # clojure-russia (73)
- # clojure-uk (98)
- # clojurescript (156)
- # community-development (4)
- # component (3)
- # cursive (30)
- # datascript (10)
- # datomic (17)
- # emacs (5)
- # events (1)
- # hoplon (315)
- # jobs (1)
- # jobs-discuss (3)
- # lein-figwheel (6)
- # luminus (18)
- # off-topic (13)
- # om (130)
- # other-languages (122)
- # re-frame (32)
- # reagent (27)
- # rethinkdb (6)
- # ring (2)
- # ring-swagger (31)
- # spacemacs (4)
- # untangled (6)
- # yada (30)
I'm probably more or less forced to leave my current job (which involves Scala) due to highway air pollution.
I keep getting recruiters approaching me about senior Java positions… Good to know there are plenty of jobs in that space I guess, but I couldn’t go back to Java...
…besides, I last did hardcore Java about a decade ago! I went to Groovy, then Scala, then Clojure.
I could go back to Scala if someone "forced" me, but I’d rather stay with Clojure.
I chose this job not because of Scala, but because of the team, products and proximity from my home
I need to take the time and chug through haskellbook. I watched an ekemmet talk on typeclasses which was awesome. Really been chafing in my hobby work of late at how few tools Clojure gives me to build and reason about record structures. I understand the appeal of the "bag of k/vs" approach, but it makes exploring a new domain that much harder because you can't build up constraints.
I know Java is not Haskell and I never gave myself the time (like 5 years to explore it), but when I see how much pain we have with a REST API in our Java backend and how to enhance it, and only because of the classes / inheritance structure I really doubt that types do so much good, at least in this area. Sure, you can awesome stuff with a type system and sometimes I enjoy it, but then again, it so often hurts me and brings no benefit at all.
@sveri: I was just thinking of an example from work. We needed to import some files into an H2 database. The amount of type safe code that was written (with Slick) could be done in less code in Clojure and would probably read much clearer.
The only thing with that type of code is you get type conversions more or less for free I guess
@borkdude: Yea, I get more and more a feeling that there is a difference between 1. DTOs or whatever you want to call them, namely objects that just hold data and that you have to type and inherit and compose and 2. Some business logic where you can declare additional constraints with types For number two they may make sense, but for 1. its just PITA.
Well in the development of that program, a lot of things went wrong at runtime despite the types. Restarting sbt/scala all the time takes you out of the flow
Clojure REPL definitely improves my productivity working on these kinds of apps with file in/out and a conversion in the middle which you can easily verify with some small functions from the REPL
@sveri: I agree that types in Java are horrible. There are better typed languages. Types don’t have to be painful.
Because it allows for fungible developers.
Lots of ceremony and "standards" and hand-holding means you can use lower-skilled developers more safely. A lot of (enterprise) Java shops have armies of low-to-mid skill bodies churning out boilerplate code. It’s "safe" and mechanical as far as scaling development is concerned.
(and, yes, I’m extremely cynical about how many (most?) companies use Java these days!)
Nothing prevented Guy Steele etc to invent something more like Kotlin back in the 90ies?
I mean, you have to be cynical being comfortable in Common Lisp and then inventing something like this?
I guess Java took off because it was much easier and safer to work with than with C / C++ back in the times
And they made a lot of advertisements with "Write once, run anywhere" which they fullfilled to a very large degree
So all in all, back in the 90-ies, they did a lot of things better than existing languages
Yeah, I think if people go back to the 1996 Java whitepaper, it says what Java (as a UI) is supposed to provide the companies which adopt it: > Primary characteristics of the Java programming language include a simple language that can be programmed without extensive programmer training while being attuned to current software practices. The fundamental concepts of Java technology are grasped quickly; programmers can be productive from the very beginning. http://www.oracle.com/technetwork/java/intro-141325.html#349
yes, maybe it was like what Go tries to do: offer a simple language (in terms of not too many features so you don't have a steep learning curve) that is safer than other languages in that area
For example I had to add some functionality to an existing app. It took me a while to overcome the barrier of: really, do I need to change all of this boilerplate?
@seancorfield: it's funny because I'd largely level the same criticism against go, especially with regards to the design decision of not incorporating a powerful or remotely modern type system.
Abstraction patterns have changed a lot, there are things that could be interfaces or have interfaces and don't, etc.
You can build something atop Java and the JVM which is less awful.... but you're constructing your own crazy land.
The funny thing is, that, while Java is aging in a negative way, the JVM is aging in a positive way
Java 1.0 / 1.1 was a small, simple language with a small, simple library. And it wasn’t the choice of "enterprise" back then.
I switched from C++ to Java in ’97 primarily to work with a cleaner, simpler — but still powerful — language.
I parted ways with Java around Java 5.
Java pushed me into Lisp. I was like, “Why can’t I easily automate repetitive things in this programming language, from within the language? Am I weird, or isn’t that the point of programming?” (Common Lisp is all about that; invites you to modify your system.)
But maybe that is like saying: I always avoided gardening, because I wasn't interested in this shovel.
Common Lisp was the first language in my entire CS education that sparked joy (and it wasn't even in the program)
After I graduated I had to more or less choose between Java (J2EE, wtf did this mean) and C# .NET (net, is this a network programming language)?
Instead I chose a third way: work in a product company and deal with implementations for customers. About 50% tech, 50% social skills. It seemed more fun at the time.
Well, after 6 months I told them I wanted to do more tech. But in hindsight it was ok.
You were kind of restricted in what you could do, how much you could deviate from the standard product. But we all know that limitations ignite creativity right? 😉
Its super interesting to be part of a big international company that has customers like the spanish parliament, Cocal Cola, Apple, Google and see how we work with them, but slowly I am getting bored
I still find that when I'm on the phone with a customer and he/she is happy with what I made, I get the most satisfaction, direct feedback. It's what I liked most from my first job. Also what you get in lecturing for example.
Yea, thats what I love about teaching people, but when, when I think about becoming a teacher I think of all the stories my mom tells me and instantly got, nope 😄
I went there after I got a job at the national tax service, which was very dissatisfying.
It was a university of applied science. I liked it, because it was very applied in contrast to my own education which was theoretical and didn't prepare you for real life.
My first job after university was like 9 months implementing features 8 hrs per day, no unit tests, hardly manual tests, just writing code all time long. In the end it was more than 100k lines of spagetthi PHP code mixed with some wanna be objects, because, hey, it was PHP 5
In my years at university programming was considered dirty work, not some fun activity. A lot of fellow students did PHP/MySQL on the side, but I never felt like doing that.
I was taught Miranda at university, a predecessor of Haskell. Closed source, paid license, only ran on the unix boxes.
I wish they had taught Haskell, because then maybe I would have picked it up then and built some practical stuff with it.
Well, for me it has been mixed, we actually had haskell for one semester, but, I totally did not understand anything, it was just way beyond my reach. I got deep into C at that time and later PHP and haskell, was like, not even a "programming language" for me.
Today I wish I would have spent more time learning it, but, it was just not the right time for me
Haskell is one of those languages that I try to learn during vacations but never really get to a point where it's addicting like Clojure.
well that, but also the 'get all the types/monads' etc. right before you see a single result...
that is the whole idea of a type checker, I know, but sometimes it helps me to see a wrong result instead of nothing
Also, while doing PHP I learned a valuable lesson. I wrote some code generator that created DTOs for all the database stuff and wrote the business logic in objects too. Then our inhouse customers came and wanted one page where they could see all our customers (over 700) listed plus a lot of metrics like revenue, total buys, averages over year / month and some more stuff and it was painfully slow. It took more than a minute to render it all (while the database needed a few milliseconds). Well, rewrite all the stuff to use arrays and go down to a few seconds render time...yea
I mean people like to believe very complex things about food (like the need for exotic food supplements) instead of the idea that you can eat very simply and need not to worry about nutrients too much.
Yea...well, thats what I think too. Industry needs to sell something, so you cannot go and say, stop eating all that bullshit, just a bit of the good stuff is enough, because, you dont earn money like that
The trade of complexity, it works two ways: people who like to sell it and people who like to buy it.
My girlfriend is making a training as an alternative mediciner and while she is not into the hardcore stuff like homeopathy, still, a lot of what they learn is which food supplements they can tell the people to buy. So they get trained to "heal" like that, among other things.
I like the website http://nutritionfacts.org - it has a lot of good advice and also debunks a whole bunch of stuff, all citations are available for you to check
Also there is a common belief that the pharma industry is just bad and tries to make as much money of the people as they can in whatever way they can. Which I share mostly. But then, they dont see that the alternative industry medicine is just doing the same
I think it's good that people look to alternatives for traditional medicine. A lot of medicines are oversold, while lifestyle changes are probably a better solution.
@sveri: I believe my own experience. https://medium.com/@borkdude/tl-dr-of-my-long-term-weight-loss-and-maintenance-success-49cb43f62a1a
Funny, I am similar, moving between 85 and 93 kg by 178. I am addicted to sugar, as soon as I leave that out I get less, as soon as I consume it again, I get more
By removing sugar from the diet, you remove a lot more crap that is in junk food like oils
Miranda… There’s a blast from the past!
I worked with Miranda (and its predecessor, SASL) back at university. And a bunch of other created-for-academia FP languages. Prof Turner, who created Miranda (and SASL and KRC), would have been my external examiner if I’d actually written up my PhD...
Back then, Miranda was very, very slow and tended to crash a lot.
Didn’t put me off FP tho’… just made me want to create a robust FP language