5 ms·
Whole heartedly agree. I was big into Go years ago, and some newer guys tried to make it a functional language. When they argued with me, I couldn't say 'its'
by silisili 5y ago
Whole heartedly agree. I was big into Go years ago, and some newer guys tried to make it a functional language. When they argued with me, I couldn't say 'its's just not right', but instead pointed them to std library code.
Protip: That doesn't change their mind, it just makes them hate Go.
- physicles 5y agoIf it drove them to write in another language, might that be a win? A code base full of non-idiomatic code, where devs think in the style of language A while using language B, isn’t a great place to hang out.
- silisili 5y agoIt absolutely would be, if our entire stack wasn't in Go. One was a JS guru who literally threatened 'I can walk across the street and get another job, you know.' And we let him, and both of us are happier for it. So I do agree, don't join a team writing a language you hate.
- pharmakom 5y agoI think I would have left too. Go has its advantages to be sure, but if you can write highly expressive functional code in a language like JS, Go is like wading through a swamp.
- physicles 5y agoAgreed. We're 100% Go in our back end, and in the process of hiring. We literally wrote in the job posting, "If you don't want to write Go, this job is not for you."
- ronenlh 5y agoWhy is that wrong? A language can be multi-paradigm while the “official” documents are written in a specific style. Like human languages, they evolve with their use (or fork into another language completely), while the high literature is the last one to change. Together with that, I agree that one should read the high literature before inventing a new writing style.
- nerdponx 5y agoWanting to explore that space as a hobby is not wrong, but insisting on it at work when it's clearly not typical or well-supported is pretty wrong in my opinion.
- silisili 5y agoI'm a big believer in 'when in Rome', not just in languages but life. If you don't like language X, don't take a job writing language X.
- TimTheTinker 5y agoOn the other hand, sometimes it really makes sense to strike out and define a new, higher standard for code style and paradigm in a given language, or at least to improve somewhat on the style and paradigm that's handed to you. JavaScript used to be a messy language "not fit for professional use" (see popular JS books from the year 2000 :shudder:), but it turns out most of the problem was how people were using it. JS code being written today looks like an entirely different language compared to early idiomatic "JavaScripts" one could use to make pages "more dynamic".
- zerocount 5y agoJavaScript was never a messy language, it was the different browsers that created a horrible situation for using JavaScript in web pages.
- TimTheTinker 5y agoActually it was very messy. People were encouraged to use it as a write-only imperative scripting language. People thought VBScript was more powerful. JavaScript was like that attention-seeking red-headed stepchild that you see at family reunions. There's a good reason Douglas Crockford re-introduced JavaScript as "the wwwrld's most misunderstood programming language." He saw beauty within that others didn't.
- jb1991 5y agoHm, by that measure no one would write OOP in C++.
- jcelerier 5y agowhich would be fine because C++ is not an OOP language ?
- broodbucket 5y agoC++ is a pretty-much-everything language and that includes OOP.
- jb1991 5y agoWhat do you mean? The entire premise behind the design and creation of the C++ language was to add object oriented features to C.
- jcelerier 5y agohttps://arne-mertz.de/2015/07/c-is-not-an-object-oriented-language/ https://arne-mertz.de/2015/07/c-is-not-an-object-oriented-la...
- jb1991 5y agoSorry mate, your argument doesn't make much sense. People can and do write OOP in C++, and just because it is multi-paradigm does not mean no one should write OOP. It's like saying, because an artist is using watercolors for this painting, they should therefore never do pencil drawings on other projects.
- jcelerier 5y ago> People can and do write OOP in C++, if that's "textbook java oop" with runtime polymorphism then that should definitely be avoided and is pretty much considered an anti-pattern nowadays
- nerdponx 5y agoWell that's just silly. Why take a job using hammers and nails when you really like screws and screwdrivers, but hate hammers and nails? I think the argument instead might have been, "Go is not designed for it, and kludging in a language paradigm that the language wasn't designed for is going to make for worse code." The fact that these engineers didn't understand this, suggest to me that perhaps they were not very good engineers as such, even if they might have been skilled software programmers.