I wish I could be as good of a "writer" in my software, but I am always looking to others for the best practices. In this case, I am always in a constant state of doubt and "writers block", I need to figure out how to unleash my own creativity.
1,703 karma · joined April 2, 2014
I wish I could be as good of a "writer" in my software, but I am always looking to others for the best practices. In this case, I am always in a constant state of doubt and "writers block", I need to figure out how to unleash my own creativity.
If however I want recommendations for new Metal music, and my previous selection was Metallica then you play me some Megadeth, I am going to hate it and not be interested in it at all!
In football, at any given point and time there is one person with virtually a huge bullseye on them and it is sometimes a valid tactic to lay down a more punishing hit (cause a fumble, make a statement, scare your opponent to make a mistake or drop the ball next time, etc) at the expensive of not making a "secure, form tackle"
Ironically, if I am remembering correctly, the Seahawks and coach Pete Carroll teach more of a "rugby" style tackle, and that's why they consistently have one of the best tackling defenses.
Absolutely, not saying my experience doesn't translate. However directory structure doesn't exist like you think in go. Files are the primary organization, and the only thing that goes in subfolders are different packages. It's actually quite nice, now I don't need to dig into 4-6 folders to get to the important stuff like I did in my Java/RoR days.
> The "just use standard library" argument often seems a bit deceptive to me, though.
It is absolutely a mantra in the go community. No deception here.
> For example, how are you managing schema updates?
Use your favorite tool! So funny you mention, I have a RoR background and I loved active-record migration, so I use standalone active record migration https://github.com/thuss/standalone-migrations, but you can just as easily use any other schema migration tool like Liquibase.
But what I am learning more and more these days is to just write sql. Write your migrations in plain sql. It's always easier for everyone involved. SQL is a ubiquitous language.
What do you think I'm an amateur? Club soda with lime, in a highball glass.
I can answer this one. I could explain to you every aspect of go's net/http package and database/sql package. The interface is compact, and even the source is very legible and easy to digest. You don't need all the extra bullshit to build API and run CRUD operations. I am a former RoR developer. I have lost no speed in just using simple tools and simple packages.
Also, I can have a junior or associate developer from any background get up to speed in a matter of days. Where as when I was at the Rails shop, you specifically had to hire a "rails guy/gal" and even then still took them days to get started.
(Don't mean for this to be a "go is great" rant, I am sure there are equally simple tools out there - Dropwizard is another one that comes to mind -- just a bunch of jars glued together)
It's not my fault I don't want to pay 13 dollars+tip for a cocktail when I can make 20 of them at home for the same price.
The Crisis is a big debt snowball that shouldn't have been allowed to happen, kind of similar to the American housing crisis where people who should have never been getting $500,000 mortgages were given $500,000 dollar mortgages then the world was shocked when they somehow managed to default, and meanwhile you had corrupt Wall Street bankers betting that these people would default.
Similarly, you hand a country who has been in borderline poverty since the formation of their autonomous modern nation all this money, then are surprised when their corrupt politicians and banking institutions (as well as your corrupt Wall Street institutions like Goldman Sachs, who helped these corrupt bankers hide their debt) mishandle it.
Then of course the IMF took advantage of the situation, and it turned into basically one big, as Americans would call it "poor tax" where you take advantage of someone who is already down. (Hey this guy can barely pay for his bills at it is, lets fuck him over and charge him 25$ dollars to cash his 300 dollar paycheck -- like this, but on a country level. Somehow that moderate amount of debt turned into 137% of GDP after it snowballed and stupid ass Greek politicians kept accepting these stupid packages with stupid terms /endrant)
My suggestion about the Greek ethic was a sarcastic one, I put it in quotes, apologies if that didn't come through the text. Many people think just because you value work/life balance that you are somehow "lazy". I think Americans are seeing this now with millennials who demand they have adequate work/life balance (and good for them). It's always been a common adage that Americans live to work and (most European countries) work to live. I don't think this is necessary unique to Greeks, it just so happens we are in the crisis and it's an easy target to point the finger and just say "well if they just weren't so lazy!"
Therein lies the distinction. The government of course loves the money. That's why the people are fed up with the greedy politicians and bankers.
> It's funny how that distaste for money and accompanying virtue signaling only managed to manifest itself once it was time to pay back all the borrowed cash.
It's funny how this statement proves you have absolutely zero knowledge of the culture and are projecting your own pessimistic views on people and societies onto one you know very little about.
It's just a different cultural value -- not every culture values the green dollar as much as America or the UK or likewise. Is it the best for your GDP? Probably not, but it's honorable. "Cash is King" is not something you hear many Greeks say about one another
I am Greek
I would push back on this thinking that Globalization itself is inevitable. We have seen the reaction to this thinking in recent years -- you end up with Trumps, and Mays, and (almost) Le Pen's.
Greeks are a prime example -- despite the intense crisis and austerity measures, the country still values its lunch and coffee breaks, despite how much we here in the west criticize them for "being lazy"
intrinsically this is part of the problem -- we are reducing decisions down to basically a hard set fast of rules that I am sure AI will implement and arrive to the correct rules better than any human can -- but we aren't robots. There is no correct set of levers to pull, and you can't take emotion out of decisions that are made. Nobody likes strict legalism, and you can't possibly make rules for every single situation.
Loss of the human element. Kind of hard to describe, but very obvious when it is missing.
Prototypical inheritance is really not that hard to understand.
I would rather see JavaScript fix the existing functionality, such as sometimes the prototype chain not being correctly established when instantiating a new object.
It was at the same time I was reading more and more of Resig blogs and books (Secrets of the JavaScript ninja) and I really began to learn and grok just plain normal JavaScript. I said to myself, "you know, this really isn't that bad"
Haven't looked back since. I hate the direction ES is going.
Actually, you scratched the surface, but it goes so much further than that -- that sadly most of our modern universities have lost sight of. I've posted this in previous comments, but universities are actually suppose to help build more just societies -- an idea Plato describes as the purpose of university, and echoed by many chancellors across the country.
"The goal of university education is to help build a fairer, more just society" - Steven Schwartz. [0]
"Plato regards education as a means to achieve justice, both individual justice and social justice." [1]
[0]: https://www.timeshighereducation.com/comment/columnists/the-...
[1]: http://epublications.marquette.edu/dissertations/AAI9517932/
That's the cynical way of looking at it (also sounds like you haven't read or written much go code). As someone who has written go code full time for 2 years, here's another perspective.
It's not about "the programmer is too dumb", it's about people of varying skill levels working on really, really large code bases. A junior, mid, and senior can all work on the same business problems. Conversely, if you have a senior ruby dev, they will write these terse, elegant, functional-chained methods that require much time to digest and conceptualize. This leads to wasted programmer time. All the elegance and terseness I have seen in the wild, it has never once saved anyone time, minus the few 10's of seconds it saved the programmer who wrote it who thought they were being "clever" because they wrote that if statement in one line instead of three. Code is maintained and read more than it is written. Go encourages writing code for the reader.
Also, "piles of error handling" is preferred. Go treats errors as values that you can program around. It took a while for me to shed the bad habits of languages prior (ruby, python, javascript, java and c#) but afterwards I fell in love. Handle your errors -- right there where they happen. Never again do I have to deal PokeMon try/catching.
Go gets frequent updates as well.
If Go wants to be more sophisticated, there are other sophisticated languages I can use out there like Haskell, Rust, F#, Scala, etc. The problem I have learned in my career is "sophistication" usually gets in the way of getting things done because now you have all these clever developers full of hubris creating these novel implementations that nobody else in the world understands, and your project fails but hey -- at least you have a dope, terse, generic implementation -- totally rad.
Guess C is done for.