Like a growing number of users in the SO and SE communities, I am no longer interested in the forums as they are currently being moderated. I will rarely, if ever, be checking this account, so if you need to contact me, send email to stackoverflow@techbuddy.us.

162 Comments

What constitutes a programming language and how does one copyright a programming language?But that wasn't the real point of my post. After the total debacle of Oracle's power-play with Java, no one in their right mind, and with any knowledge of history, will knowingly place this kind of noose around their company's or project's neck. If anything, the reversal by the Appellate Court only serves to give even greater weight to the argument for using only OSS tools and languages. It's amazing, and deeply ironic, that an a**hole like Larry Ellison should be the person to drive home the true value of Libre/Free software to even the most hard-headed capitalist or business person.

Best practices for introducing testing to a large, stable, legacy Java application?"Selling" is a key point here. To do this effectively, remember that you need to see the problem from the other person's point of view, and then show them how they benefit. BTW, convincing non-tech-savy management of anything that enhances long-term code maintenance is almost doomed from the start. They don't understand the "problem," so they can't understand the "benefit."

Re-gaining confidence of senior programmerRed Flag!® ...he was upset about having to learn something new. I've been in this game since 1973 and I figure I have had to learn, on average, a new technology and/or tool every month. I'm basically a server guy, but in the last 3 months I have had to completely rethink how I do JS frontends because of projects like Bootstrap, Enyo, and "single page app" frameworks, and that affects how I think about how the server supports them.

What *are* the programming concepts I should master to have a deep understanding of my craft (programming)?@MarjanVenema: Yes, I completely agree with him. Back in the 80's I was tasked with writing a spec for a new editor, to be approved before I started coding. I stared at that damn blank screen for more than a week trying to figure out how to describe something I didn't understand. My manager expressed his displeasure with my lack of progress. After a 3 day weekend he had a draft on his desk. He asked what had happened, and I said that I wrote the editor over the weekend, and then simply wrote a spec of what I had working. I did rewrite some of the code, but it was mostly refactor/cleanup.

hginit - #ifdefs ridiculous+1: In the 80's I had a debugger that ran on almost any UNIX system you can think of. Prior to version 4, the code was awash in #ifdefs. I swear it made my eyes bleed just looking at it. For version 4 I went to a pluggable architecture using separate files, and also started using RCS (or was it SCCS?). Life got massively better and new features were much easier to develop. (But boy do I ever wish we had git or hg in those days.)

Is it possible to use python as a shell replacement?@Izkata: verbose/cluttered is a relative thing. I find doing almost any type of serious programming in bash to be like getting a root canal without anesthesia. (And I say that having been at a shell prompt since 1980.) Bash still is forking subprocesses just like Python, so it doesn't seem to have any inherent advantage other than 3 decades of inertia.

How to understand and debug legacy software?+1 for "the big rewrite is never a good idea, until it is." This is such a hard concept to get across to developers, new or old. And quite frankly, it is a decision that your technical manager should be a part of -- because it may represent an opportunity to go in a new direction, or it may go down a road that no longer is part of the company's real future.