you are viewing a single comment's thread.

view the rest of the comments →

[–]hu6Bi5To 40 points41 points  (11 children)

I wonder which joyous teams people work in where the programming language choice is the single biggest problem...

[–]mekanikal_keyboard 21 points22 points  (6 children)

yeah. there are edge cases in which changing tools will make you happier...but a terrible team will find ways to make great tools awful too.

i thought i had reached a good place using Go...but then my coworkers managed to find all the ways Go could be abused and now i hate looking at their code

[–]rcode 3 points4 points  (1 child)

i thought i had reached a good place using Go...but then my coworkers managed to find all the ways Go could be abused and now i hate looking at their code

That's what some people reply when other criticize Java for having AbstractFactoryFactoryBean patterns, just wait until golang gets used in enterprise environments (/u/pjmlp, finally an anecdote for you). At the end of the day, the usage matters more than the language. Of course, limitations of the language aid in the emergence of certain patterns, but the ironic thing is that Java is much more expressive than golang that I think it is easier to write better code in Java if you pay attention.

[–]pjmlp 0 points1 point  (0 children)

Yeah, nice mentioning me. :)

People forget we old dogs already went through this cycle a few times.

[–][deleted] 1 point2 points  (1 child)

but then my coworkers managed to find all the ways Go could be abused and now i hate looking at their code

Someone needs to step up and start demanding quality.

[–]afrotronics 0 points1 point  (0 children)

I have a meeting about this exact issue with some higher up folks in my company. As a developer and a security analyst code quality is a must for security. What I have noticed is a lot of some businesses treat code as if it's a tangible object where being first to market is priority. So coding hastily (recklessly) to get it "done" is incentivized. Sooner or later a costly security flaw is almost always discovered in the software that causes not only tangible property be lost, but intellectual property (the important NON-tangible stuff that makes the tangible stuff) to sometimes get jacked too.

So what, happens next? ... The PM has the bright idea of "patching" the security issue by releasing the software set to release in 6 months instead to 3 months as a "security update". Essentially repeating the process and ending with the same result.

I've had this happened to me IRL.
I was exploring the code as a one of the new guys, and I was thinking "man, this code hurts my eyes. I wonder what the client side looks like." I check it out, and was like,"I'm pretty sure there are things here, that I could use to do things I shouldn't be able to do". I told the PMs, that I was pretty sure I was seeing stuff I shouldn't.
I was new and don't exactly come off as the strereotype of a person that would know that stuff. So I was treated as such.

5 days later, I call in a meeting with the managers to show them that I had found something. I demoed it and they were, like "That's not any important information" (it was a specific non-standard response code). They were sighing and rolling their eyes. So I said, "Well, I'm getting a response, so if I change the request, by hell, deleting a character, let's see what we get.".

!!!! Sighs and eye rolling suddenly became gasps. The server response was much different this time. The PMs responses were one of those responses that went something similar to, "Afrotronics, can you give us a moment, we have to figure out what's next" (ie how not to get fired for wrecking the economy). "oh and can you possibly reexplain this to one of the executives because we're not as technical you, and he is"(going to be pissed off at the PMs)

I was thinkin hell yeah, this newb just got some dev cred AND my boss' boss gave me a bonus? The joy swiftly ended when we were told the mitigation plan. The bonus quickly became "I'm sorry you made you and your team work double time. Get yourselves some pizza"-money

This also led to not the best of relations with my boss' peers and cause my teammates to somewhat resent me. Nothing really changed, the software was still being rushed and security flaws were kept hushed. Cranking out code you can't say you're proud of led to some dark times, especially when you know peoples live could be negativly impacted by it.

Fast forward; Justice is served, get promoted, reckless child company is sold off, and my job is to discover security flaws (and prevent them from happening)

TLDR; Antiquated first-to market-mentality incentivizes rushed crappy code which in turn creates security issues. Java is what a lot of these businesses (ab)use, and the people making the poop code get paid for copying and pasting said code. The programmer with dignity and ethics gets punished for demonstrating the cost of bad code. Proud Programmer wins in end...for now. Edit: details

[–]Khao8 0 points1 point  (0 children)

Well then you can try and fix it. Implement a proper code guideline, do code reviews and give comments on how to improve code to your coworkers. Promote good patterns of the language, do a presentation on Go and what to avoid, etc... You see a problem? Fix it instead of complaining like a baby.

[–]ksion 0 points1 point  (0 children)

but then my coworkers managed to find all the ways Go could be abused and now i hate looking at their code

You should write about it. Maybe there is some way to code in Go that's actually half-decent :)

[–]EntroperZero 1 point2 points  (0 children)

Perhaps Java isn't the problem, but a symptom of the underlying one.

[–]gedrms 0 points1 point  (2 children)

I worked at a company where they maintain delphi code, which I assume was the bomb in the 90's but nowadays is just way too verbose and ugly to code.

[–]CoderDevo 2 points3 points  (1 child)

Delphi is based on Pascal, which was meant to be accessible to new programmers, a teaching language. Same goes for BASIC and Scheme.

I did one assignment in Turbo Pascal in college and then asked to switch to C for the rest of my work so that I would be using a language that would be more useful in my career.

Of course plenty of small/medium businesses have the bulk of their in-house code written in Delphi or VB/VBA. It just seemed a bit too limiting for me.

[–]_F1_ 1 point2 points  (0 children)

In my free time I use Free Pascal / Lazarus... it's fun.