Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

there is no confusing; only ignorance

Bill Dog (726542) writes | about 4 months ago

User Journal 12

Regarding this subthread:

http://slashdot.org/comments.pl?sid=5159777&cid=47006419

my sentiment boils down to:

Learn the language; don't be a lazy ass and whine about it.

If something's part of the language, but you're not familiar with it, that does not constitute it being "confusing".

Regarding this subthread:

http://slashdot.org/comments.pl?sid=5159777&cid=47006419

my sentiment boils down to:

Learn the language; don't be a lazy ass and whine about it.

If something's part of the language, but you're not familiar with it, that does not constitute it being "confusing".

Americans these days can't cognitively separate their perspective and the more general one. If I find something hard, then it just must be hard, right? I mean, a whole host of other people couldn't possibly have a completely different experience. That's unfathomable to today's human beings.

I've decided that I don't need to live in a big house. Therefore no one does. Therefore there's no moral problem with passing a law that forbids anyone from living in more than a 1032 sq ft abode (like mine). My experience must the universal one.

I should fucking market a line of t-shirts and baseball caps with "YMMV" with a red circle and slash over it. Because no one is capable of the concept donning on them anymore.

cancel ×

12 comments

Sorry! There are no comments related to the filter you selected.

Argh... Architect / Dev Mgr Here... (1)

RailGunner (554645) | about 4 months ago | (#47019987)

If you were on my team, and I saw this in code review:

if (C | D == A && B)

I'd make you rewrite it as this:

if ((C | D) == (A && B))

Yes, I *know* the parens don't do anything. But it makes it simpler for Joe Justouttacollege, our Junior Dev, to understand it, and also Samir Naeeninijhad who barely speaks English but graduated from some third rate college in Hyderabad...

Of course... this is why almost all software sucks ass.

Re:Argh... Architect / Dev Mgr Here... (1)

Red4man (1347635) | about 4 months ago | (#47020675)

You're qualified to be put in charge of anything?

A dumbass like you in charge is why the software sucks bro.

Re:Argh... Architect / Dev Mgr Here... (1)

rk (6314) | about 3 months ago | (#47021625)

Also, some languages have subtly different operator precedences, and in a house where many languages are used, it avoids confusion because not everyone is at the same level in every language.

English and code don't compare on other grounds. One can communicate with metaphor and simile in English. Your options are less in code. You are not just communicating to the computer with your code, you are communicating with your fellow programmers. You have to draw a line somewhere, but being explicit is usually the safer course.

OTOH, complex boolean logic should probably be accompanied by a comment explaining your intent.

Re:Argh... Architect / Dev Mgr Here... (1)

Bill Dog (726542) | about 3 months ago | (#47028499)

I agree that some languages can have subtly different operator precedences. But the basics should be learned.

And complex boolean logic of the type that involves a bunch of different facets should probably be refactored. That is, I don't have a problem seeing:

if (state == proposed || state == opened || state == active || state == resolved)

but the following kind of thing is more worrisome:

if (state == opened || status == foo && flag == bar || result == baz)

I.e. that one example expression involving A through D would be hard to scan even having extraneous parens.

Re:Argh... Architect / Dev Mgr Here... (1)

Bill Dog (726542) | about 3 months ago | (#47028405)

You're being purely arbitrary. I've heard all kinds of stupid recommendations like superfluous breaks in case statements and extraneous parens around a single statement controlled by a loop, and even swapping the order of operands in comparisons in case the equality operator is accidently typed. Unfortunately for people who think things like these are a good idea, the facts are:

1) You cannot make a sound case for drawing the line at some point between all possible stupidisms to protect against dummies and doing none of them, and

2) You cannot enumerate all possible ways dummies can screw up to even scope the number of choices of places to draw your line.

So, the only position that really makes sense is to insist on basic literacy and proficiency, instead of excuses and trying to fight a war that can't be won.

p.s. And if you're one of those "well doing something, anything, is better than nothing" types, then who says the subset that you pick out is the majority of the cases of screwups, when maybe someone else's ideas of what should be protected against, possibly including things that you find ridiculous, might occur more often?

p.p.s. With all this said/despite my strong position on it, I'm not an asshole on a team and I recognize when I'm getting paid to do a job, so of course if parenthesizing expressions a certain way was an organization's coding standards, I'd follow it. In an official capacity, there's a time for arguing for what you think is right and/or most sensible, and then once it's decided, whichever way it goes, you're getting paid to do it that organization's way, so that's what you do. And then I can do it my own way on my own personal projects; I consider being able to switch back and forth including from previous jobs' ways to be part of being a professional programmer.

Re:Argh... Architect / Dev Mgr Here... (1)

Bill Dog (726542) | about 3 months ago | (#47028505)

s/equality operator/assignment operator/

Re:Argh... Architect / Dev Mgr Here... (1)

Bill Dog (726542) | about 3 months ago | (#47034773)

s/extraneous parens around a single statement/extraneous brackets around a single statement/

(See, there's no cure for stupid.)

Not just with coding (1)

chill (34294) | about 3 months ago | (#47034341)

In reviewing the security configs for a bunch of Red Hat and Solaris servers, I noticed that they had full desktop installs. When I asked the senior admin about it he said the junior admins couldn't manage the servers without a GUI. None of them had the experience to do command line based management via remote SSH. They couldn't even do remote X sessions. I about cried. These are people making $80,000+ annually and had multiple degrees and certifications.

Re:Not just with coding (1)

Bill Dog (726542) | about 3 months ago | (#47034727)

Are you just being curmudgeonly or is there more surface area to attack with the GUI tools installed? Okay, just a little devil's advocacy there, but yeah, if you call yourself a UNIX admin, you shouldn't be ignorant of whole swaths of normal ways to do that job. Maybe like programmers who are only familiar with the if-else statement for conditional logic and are too lazy to adopt additionally the ternary operator for it. And then declare that usages of it is "too confusing".

Re:Not just with coding (1)

chill (34294) | about 3 months ago | (#47037115)

The problem is, if it is installed it must be maintained. On servers, they have a tendency to ignore the browser, Java and flash installs and let the sit. Then, one day, some admin browses the web while logged in because it is convenient and gets owned thru a malicious ad or something because they didn't patch. We've had this happen a couple of times.

We have regular patching metrics, with machines scanned weekly to ensure the software on them is kept up-to-date. Having a bunch of unmaintained crap on there skews the metrics horribly.

Re:Not just with coding (1)

Bill Dog (726542) | about 3 months ago | (#47045577)

On servers, they have a tendency to ignore [keeping up with patches for certain GUI tools]

If only things like that could be automated...

Check for New Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>