Hacker News new | past | comments | ask | show | jobs | submit login

I want to write a "software style guide" for journalists and their editors.

Software and Code are both mass nouns in technical language.

"Code" can be in programs (aka, things that run), libraries (things that other programmers can use to make programs), or in samples to show people how to do things in their programs or libraries. Some people call short programs scripts.

When you feel you should pluralize "software", you're doing something wrong. You might want to use the word programs, you might want to use the word products, you might want to just use it like a mass noun "It turns out, thieves broke into the facility and stole some of the water", etc when talking about a theft of software "It turns out, thieves broken into the facility and stole some of the software".




"he attempted to correct a code analysing weather-station data from Mexico."

This annoys me, and it is everywhere. It indicates the writer has no idea what they're writing about and presumes that it's not a process but a matter of getting the right answer. "Hold on a sec, let me get out my Little Orphan Annie's Secret Decoder Ring."

(sibling deleted and moved here)


The biggest howler I saw was "The SSI unites trained software developers with scientists to help them add new lines to existing codes, allowing them to tackle extra tasks without the programs turning into monsters."


Ah, well - we /do/ come from different worlds. My initial reaction to the word "codes" is to look for the "plz send me the" somewhere before it.

That said, at least (some kinds of) EEs seem to have it better - the basic Spice simulator was released under a permissive license a really long time ago, and there are people like Fabio Somenzi who make available things like CUDD (it's also used commercially.) Mind you, these have a significant overlap with CS, where the culture is different. I would be very happy to see a good open-source EM field solver, for example.


Actually it's a science thing. In a scientific context "code" is understood to mean "program". For example: http://scholar.google.com/scholar?q=%22population+synthesis+...

I'm not sure why this is though.


What an excellent idea: Generate new jargon that's incompatible with the jargon used from the field you suck at.

Perhaps concerned scientists and editors should reject the bifurcation here and take on the lingo of the field that creates the tool they have to use and need to learn better as a first step in learning to program in a more responsible manner?


That attitude seems a bit provincial: the usage may be uncommon in industry software development, but it's not rare in some areas of computer science. For example,

http://scholar.google.com/scholar?hl=en&q=%22linear+alge...

"Code" also has connotations (self-contained, numerical, etc.) that make it distinct from "program" or even "library". A routine in ATLAS is a code, but Microsoft Word is not.


I think you have the chronology backwards. The use of "code" as a mass noun dates to the 1960s at the earliest (actually, I can't find a good example before the 1970s in brief searching), while the use of "code" as a singular noun to mean "implemented algorithm", and "codes" as the plural, dates back at least to the 1950s.

As one of many examples, here's a 1955 survey article compiling a list of "available digital computer codes for nuclear reactor problems": http://www.osti.gov/energycitations/product.biblio.jsp?osti_...


My Chronology may still be backwards, but they still should swap over to the language of the mature field of software development's language to better allow themselves to integrate in good practices.

The bifurcation is still harmful to them even if the software usage originated later than the science term.


We probably do the same thing with terms originating in physics every day, and I'll wager they hate it.


Context matters. e.g. misusing physics terminology in a political metaphor over drinks is annoying but inconsequential. Misusing physics terminology in papers where the bulk of the work was physics, or in an article for ACM about why computer scientists are bad at physics moves from eye-roll to WTF territory.


It's probably not intentional, or even recent. Scientists have been using computers to help solve their problems as long as computers have existed.


I agree about the intentional. Not sure about the recent part. Still incites alarm bells/nails on the chalkboard response every time I see it


It seems to be a long-standing shibboleth of scientific computing/Fortran culture. (It's in the third-ed. Jargon File: http://www.catb.org/jargon/html/C/codes.html ) Cray, for example, uses it - http://docs.cray.com/books/004-2179-005/html-004-2179-005/cg... - and here's Guy Steele using it in relation to Fortress - https://labs.oracle.com/sunlabsday/docs.2007/Talks/Track4/St... So it's by no means an infallible sign that the user lacks any kind of high expertise in computing.


Yes, I hear this all the time. I know that the fancy course 6 kids here on HN would poo-poo it, but it's a very common usage in scientific computing. I can imagine the origins and can hypothesize about why it persists (the festering petri dishes of programming culture that is "grad school"), but don't have a definitive answer.

John Tukey is widely credited with coining the term "software" in print in 1958, but I'll wager that "codes" actually predates that.


And even `programming' has lots of uses. Like in linear or dynamic programming. Or even in strength training.


Scientists say "code" because "machine code" is a bit of a mouthful. They say "machine" because their computers used to be people, and an interrupt meant running excitedly into Sir George Everest's tent. If entrepreneurs had invented the machines, we'd call them "electronic clerks".

When the manual is titled "Theoria combinationis observationum erroribus minimis obnoxiae", you know you're dealing with legacy code. In that case it's a pretty cool legacy, though.


Because most scientists write code in Fortran '77, which is interpreted, meaning that "code" == "program".


From my experience, the most used languages in scientific programming are Fortran 90, C/C++, and Matlab with a considerable number of legacy codes written in FORTRAN 77.

Also, FORTRAN 77 is most definitely not an interpreted language.


I would have sworn that Fortran was compiled.


It is.


Whoops, you're right, I'm talking utter crap!


I believe "code" meaning "program" is a relic of early military software development, and as such is probably older than your terminology.


However, science should modernize to modern computing's terms, so as to allow for easier cross training in modern techniques to make their uses of programming go smoother.


Is this not simply a British English thing? I assumed it was, like "maths", since Nature is a British publication. HN users from the UK, can you confirm? gte is speaking about constructions in the article like:

"As a general rule, researchers do not test or document their programs rigorously, and they rarely release their codes, making it almost impossible to reproduce and verify published results generated by scientific software, say computer scientists."

"As recognition of these issues has grown, software experts and scientists have started exploring ways to improve the codes used in science."


Definitely not. Queen's English here, and "Maths" is a simple concatenation of Mathematics, meaning "Codes" would make no lexical sense. Therefore, we say "Code", just like you.


>concatenation

Contraction.


Quite right.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: