Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×

Comment Ah Yes (Score 1, Informative) 404

The old "If you're doing nothing wrong you have nothing to fear" argument. Except in the same week, it was demonstrated that if you said things the current administration didn't like, the power of an arm of the government would be brought to bear on you. We have a constitution that ostensibly limits the power of government to prevent just such abuses. In an ideal world we have a rule of law, are protected from government retaliation against the opinions we have and no person (including the executive branch) is above the law. In the world actually have, the safeguards against these things have been subverted and the most egregious offenses against law abiding citizens go unpunished.

So, I suppose, the question is, "What are we going to do about it?"

Comment Another Captain Obvious Thread (Score 1) 90

But really, since it's the UN and Captain Obvious, I really can't resist. Ok, for those of you who grew up with the Justice League, you should read the following in the voice of the announcer who always said stuff like "Meanwhile, back at the Justice League..."

Meanwhile, back at the UN, Captain Obvious finally makes an appearance! He has a lot of work to catch up on! First, he needs to stop by the security council and tell them Mahmoud Ahmadinead and Kim Jong Il seem to be big jerks! He might also say something about Syria, but I'm not certain what! He might also swing by the Japanese and tell them that killing whales for food is bad! Thank you, Captain Obvious! After that, he'll make a speech and mention that monitoring the internet seems to chill free speech! His work done, he returns to the Justice League, where everyone thanks him!

Eeh. I feel like I could have done better, but I want to get to sleep sometime tonight.

Comment Yes Yes (Score 1) 358

Blah blah digital dark age blah blah gay sex. Anything worth preserving is still written in books. Do we really need to preserve every byte of information on the internet for posterity? Most of us dildos just aren't that interesting. I'm pretty sure the future will survive just fine if every cat video on youtube doesn't last to be reviewed by future generations. If every movie for the past couple-three decades went up in smoke, anything of value lost? Really? Granted, I like to imagine some future-NPR blathering on about how that all-digital rendition of Snoop Dog's "All my Bitches" in D minor was one of the greatest works of the era, but it probably wouldn't really be all that funny. The world doesn't need to remember you or me or that guy over there. Hell we can't even learn from our history from few decades ago, much less from some guy who got nailed to a cross a couple thousand years ago (Probably not the one you were thinking of.)

Sure I am sometimes saddened at the thought of the video games of my youth being lost forever, but even if they weren't it wouldn't recapture the joy I felt upon encountering them at the time. Do you think you are more important than that? Think of the current year and then start going back a decade at a time and name one person you know of from that time. How long before you run out of people you know personally? Before you run out of people you have even heard of? I bet most people can't even make it a century. Millions of men fought in the world wars, many of their stories are still recorded. How many people bother to look at even one? My grandfather recounted a story of seeing the first automobiles in his town, how many people even think of a time when they didn't exist, or the time when they were new to the world? Precious few I reckon.

If you want to worry about what history will think of THIS time, perhaps you should be a more careful custodian of previous ones.

Comment Microsoft Can't Port Their Software (Score 0, Troll) 497

They'd be completely lost without the modal dialog box, an invention they must hold the patent to because I've never seen it on any other operating system. Tell their programmers they can't use a modal dialog and the Star Trek fight music would cue up immediately. A couple hours later, the entire city of Redmond would be in flames. Software engineers would attempt to construct post-apocalyptic vehicles to roam the barren cityscape but being software engineers they'd all be destroyed in their first encounter with a Nissan Stanza. The few survivors would have to go on to work at Accenture, giving lectures on why you should pay them six digits to come into your organization and convert all your dev teams to Agile.

Coincidentally this was also to be the plot of Titan. Whoops. Sorry. Gave it away.

Comment Re:Do they have tail-recursion or lazy evaluation? (Score 1) 404

Possible. I wrote a resume generator in it, which stored my resume as a giant list with regularly occurring structures. I wrote some code to break this structure down and output chunks of text encoded within. It was very easy to change the output type to any markup language I cared to write an emitter for. I also wrote a database analyzer which read a database and looked columns with the same name in different tables. It would recursively find all the relationships between one table and another one, with a top bound on recursion so it didn't get out of hand. I didn't really use the language to its fullest, but I am pretty comfortable with how it stores its data, how to build useful lists and how to break lists down to process them.

I go through these phases where I look at LISP and think to myself that it's a wonderfully elegant language and I should try to write something in it. Then I realize I'd have to write all my libraries for sockets and low level machine access myself, which doesn't sound like much fun.

Comment Re: Hah! (Score 1) 91

It's a flavor of kool aid they want you to drink. It's composed od several other very bad flavors, most distinct of which are active record and magic. Active record is also very magic-flavored, which one might find confusing until they figure out what this is all about. If you read about it, it sounds delicious. Once you actually find out how it's made, you might change your mind. And you have to find out how it's made if you actually want to do anything useful with it.

Comment Re:Do they have tail-recursion or lazy evaluation? (Score 1) 404

It tried to be, but it largely failed. People who don't program are't that great at breaking instructions down to that level. Not that they didn't try. There are still billions of lines of craptastic COBOL code out there. The difference in COBOL is that after it's written, trying to read it makes your eyes bleed whether it was written by a fantastic structural programmer or some manager somewhere.

Comment Re:Do they have tail-recursion or lazy evaluation? (Score 1) 404

Learning Lisp is really what changed my thinking in this regard. Lisp is another one of those languages where you can store arbitrary objects (more parentheses) in lists. Objects in Lisp don't have a type, they're just lists. If you want to store different types of data in the lists you're storing, you have to write some code to look at the list and figure out what type of data each component of the list is. You can further break those components down, if you're so inclined.

Doing all this really is a huge pain in the ass, kind of like maintaining your own objects in C using structs and pointers to functions. You can do it, but it takes a fair bit of discipline. And most of the programmers I know don't have that kind of discipline.

Comment Re:Do they have tail-recursion or lazy evaluation? (Score 5, Insightful) 404

Optional typing is not highly desirable. Everyone got all starry-eyed when they talked about how object oriented programming would allow you to have a container of objects and you could just put any arbitrary object into the container. Which is a great idea as long as you don't really think about it. Eventually you have to know what kind of object you're holding and you actually to use it to do some real work. The same thing goes for functional programming. Eventually you need to know what kind of data you're operating on, and you actually have to operate on it to do some real work. When the time comes to do some real work, you quickly realize just how much of a mess optional typing makes of your program.

I've looked at a lot of code over the years that pushes the actual work to be done around like a two-year-old pushes peas around a plate. I've gotten to the point where I can read the mind of the programmer through the code he's written. He's thinking "If I push this over here maybe it will magically go away and I won't have to deal with it." Most of the time this is because he doesn't actually understand the business logic behind the code he's writing. He's writing to a series of requirements but he has no understanding of why the requirements exist or how they drive the business. So he tries to keep his code abstract as possible and hopes that no one notices.

Sadly no one has yet written a language that forces you to actually understand the problem domain that you're coding. I'm sure it wouldn't be very popular if anyone ever did. Neither has anyone actually managed to write a language that allows you to write useful code without understanding the problem domain, and no one ever will. Now if someone could write a language that a non-programmer who understands why he needs code written to describe what needs to be done directly to the computer, that might fundamentally change my job description. Given that most of those people obviously can't even express this to another human being (Judging from their requirements docs,) I'm not losing any sleep over it.

What the people who flit from language to language or framework to framework like bees are looking for is a tool that allows them to write code without understanding a problem. Someone who actually understands the problem will always outperform them in any given language. In other words, just because your language has an expressive syntax or any specific feature doesn't mean you can hire chimpanzees to code your application.

Slashdot Top Deals

The next person to mention spaghetti stacks to me is going to have his head knocked off. -- Bill Conrad

Working...